| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
« Coarsened at Random | Main | An Intoxicating Story »
9 May 2006
Jens Hainmueller
You just bought a state-of-the-art PC with dual processors and yet your model still runs forever? Well, your statistical software is probably not multi-threading, meaning that despite the fact that your computer actually has two processors, the whole computation runs only on one of them. Don’t believe me? Well check your CPU usage, it's probably stuck at 50 percent (or less).
You might ask why statistical software doesn't use both processors simultaneously. The fact is that splitting up computations to two or even more processors is a non-trivial issue that many software packages do not accomplish yet. This may change in the near future, however, as the advent of dual processors for regular PCs exhibits increasing pressure on statistical software producers to allow for multi-threading.
In fact, Stata Corp. has recently released Stata/MP, a new version of Stata/SE that runs on multiprocessor computers. Their website proclaims that: "Stata/MP provides the most extensive support for multiple-processor computers and dual-core computers of any statistics and data-management package." So this bodes well for Stata users.
What’s in it for Non-Stataists? People at S-PLUS told me yesterday that there is "currently an enhancement request to add functionality to S-PLUS that will allow it to use multiple processors. This request has been submitted to our developers for further review." Unfortunately no further information is available at this point.
In my favourite software R, there are efforts to get concurrency and potentially parallelism. Currently, the SNOW package allows for simple parallel computing.
It will be interesting to see how other statistical software producers like SAS, LIMDEP, etc. will react to this trend toward dual processing. Does anybody have more information about this issue?
Posted by Jens Hainmueller at May 9, 2006 6:00 AM
I don't know anything about it, but it seems there are a few people at Nuffield who are interested in this sort of thing: http://www.nuff.ox.ac.uk/Economics/Papers/2004/w16/JADDFHNSHandbook.pdf
Posted by: Tim Hicks at May 9, 2006 3:29 PM
Thanks for the link Tim, this looks very interesting. I also just got a response from the techical System's Engineer's at SAS on the issue of multithreading. They say that:
"When you install SAS9.1.3 (our latest release) it comes with the threads option turned on by default and the cpucount option listed as 1. If you want to take advantage of the cpu's you will need to change the cpucount option to the number of cpu's in the machine. This can be done in the SAS System Options, the configuration file, within an option statement, or SAS invocation, see the below link for the online documentation (at the bottom is additional info on the cpucount option).
http://support.sas.com/onlinedoc/913/getDoc/en/lrdict.hlp/a002197022.htm
Not all SAS procedures are currently multi-threaded, we continue to add new ones, in the link above it lists what BASE SAS procedures and SAS STAT procedures are multi-threaded.
There is additional overhead associated with running the multi-threads options, I have seen very significant gains running multi-threaded programs on 4 processors and above, not as much on a two way box, and have not seen any numbers on a PC Operating System."
Posted by: Jens at May 9, 2006 5:29 PM
There is another solution for R at LindaSpaces, called NetWorkSpaces. The documentation makes it seem a bit simpler than SNOW.
Posted by: Aleks
at May 10, 2006 4:51 PM
I just stumbled across SciPy, and found that the developers there are working on this issue as well. See http://svn.scipy.org/svn/scipy/trunk/Lib/sandbox/cow/cow.py. It looks like it's only in the testing sandbox at the moment, not in a release.
Disclaimer: I haven't tried SciPy yet, but as someone who finds that R and Stata to be almost impossible to make sense of, I can't wait to get back to the sane, truly object-oriented, world of Python. Hopefully SciPy offers enough features for me...
Posted by: Tim Hicks at May 14, 2006 6:10 PM