LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (January 2003, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 9 Jan 2003 14:52:40 -0500
Reply-To:   Scott Chapal <scott.chapal@JONESCTR.ORG>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   Scott Chapal <scott.chapal@JONESCTR.ORG>
Organization:   J.W. Jones Ecological Research Center
Subject:   Re: Hyperthreading?
Content-Type:   text/plain; charset=us-ascii

Paul,

paul_dorfman@HOTMAIL.COM (Paul Dorfman) writes:

> (My impression has been that this sort of thing has been available > on some commercial Unices, too, but here I am not sure. Someone who > knwos will surely chime in.)

This got me curious so I ran your test on a SUNFire 280R 2x~900Mhz, 4Gb, Solaris 9 :

NOTE: AUTOEXEC processing completed.

1 option cpucount = actual; 2 option msglevel = i ; 3 *libname user "h:\" ; 4 data a ; 5 array nn (100) ; do _n_ = 1 to 100 ; nn (_n_) = _n_ ; end ; 6 array cc (100) ; do _n_ = 1 to 100 ; cc (_n_) = _n_ ; end ; 7 do _n_ = 1 to 1e6 ; 8 key1 = ranuni (1) ; 9 key2 = ranuni (1) ; 10 key3 = ranuni (1) ; 11 output ; 12 end ; 13 run ;

NOTE: The data set WORK.A has 1000000 observations and 203 variables. NOTE: DATA statement used (Total process time): real time 47.82 seconds cpu time 13.91 seconds

14 15 option threads ; 16 proc sort data = a out = b ; 17 by key: ; 18 run ;

NOTE: SAS threaded sort was used. NOTE: There were 1000000 observations read from the data set WORK.A. NOTE: The data set WORK.B has 1000000 observations and 203 variables. NOTE: PROCEDURE SORT used (Total process time): real time 1:33.51 cpu time 1:04.64

19 20 option nothreads ; 21 proc sort data = a out = b ; 22 by key: ; 23 run ;

NOTE: SAS sort was used. NOTE: There were 1000000 observations read from the data set WORK.A. NOTE: The data set WORK.B has 1000000 observations and 203 variables. NOTE: PROCEDURE SORT used (Total process time): real time 1:34.86 cpu time 54.98 seconds

> As you see, when SAS uses 2 CPUs in the SMP mode, it (logically) uses twice > the CPU time, but how cares if the real time is 1/6 that of the non-threaded > sort. Impressed?

In neither case on the Solaris server was the process CPU-bound. Also as you can see, there is much less difference than on your system. What is going on here?

Also, in your example the ratio of real:cpu is 15:1 for nothreads. What causes that?

Interesting... thanks.

-- Scott Chapal


Back to: Top of message | Previous page | Main SAS-L page