Date: Tue, 19 May 2009 10:04:06 -0400
Reply-To: Michael Raithel <michaelraithel@WESTAT.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Michael Raithel <michaelraithel@WESTAT.COM>
Subject: Re: Threaded kernel documentation
In-Reply-To: <1242670294.17172.1316050933@webmail.messagingengine.com>
Content-Type: text/plain; charset="us-ascii"
Dear SAS-L-ers,
Jack Hamilton posted the following:
>
> The idea behind the Table Server Programming Language is that
> you tell SAS that your data can be processed in groups, and
> it runs the groups simultaneously.
>
> Suppose you had data step code that looked like this:
>
> data out;
> set in;
> by x;
> /* do stuff */
> output;
> run;
>
> The current data step executes each by group, one after
> another. But (provided that there is no interaction between
> groups, which is an important restriction), you could achieve
> the same result by splitting the input data set into groups,
> executing each group in parallel, and then joining the
> results back together again in the correct order after all
> the groups have been processed. It's similar to what the
> multi-threaded procs do, but it's under your control. You
> could achieve a similar effect with multi-processor connect,
> but it would be more work on your part (and TSPL can do
> things that a data step can't).
>
> The language is a bit like SCL, in that it has init and term
> sections. It also supports additional data types. It has the
> potential to completely change the way we think about and
> solve certain problems in SAS, just as hash objects and
> regular expressions did.
>
> See <http://support.sas.com/rnd/papers/sugi30/tkts_aug06.pdf>
> for a general discussion of threaded kernel capabilities, and
> <http://support.sas.com/documentation/cdl/en/tsref/59770/HTML/
> default/titlepage.htm#>
> for details.
>
Jack; well I guess that great minds really do think alike! Mike Rhoads--who is also always on the crest of the SAS technological wave--sent me an email with these two SAS Table Server links just last Wednesday:
http://support.sas.com/documentation/cdl/en/whatsnew/62435/HTML/default/tsagwhatsnew902.htm
http://support.sas.com/documentation/onlinedoc/tableserver/index.html
They might be of help to SAS-L-ers who are inspired by this thread and want to try something new and likely beneficial.
Jack, best of luck in all of your SAS endeavors!
I hope that this suggestion proves helpful now, and in the future!
Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates. All SAS code and/or methodologies specified in this posting are for illustrative purposes only and no warranty is stated or implied as to their accuracy or applicability. People deciding to use information in this posting do so at their own risk.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Michael A. Raithel
"The man who wrote the book on performance"
E-mail: MichaelRaithel@westat.com
Author: Tuning SAS Applications in the MVS Environment
Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second Edition
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172
Author: The Complete Guide to SAS Indexes
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Part of the inhumanity of the computer is that, once it is
competently programmed and working smoothly, it is completely
honest. - Isaac Asimov
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++