Multiple processors and S-PLUS

Duncan Temple Lang (duncan@research.bell-labs.com)
Tue, 3 Feb 98 10:09 EST


On Sat, 31 Jan 1998, Badih.Ghattas wrote:

> > does any body have any experience using S+ on a Bi processor machine ??
> > Does this depend only on the system used ?
> > More precisely, is there a real gain if i add to my PC (266MHZ) a second
> > processor ??

My experience with multi-processor machines is that there is not a
significant gain in having a second processor and that more RAM would be
significantly more economical and advantageous. Additionally, as Brian
Ripley points out, Win95 doesn't support >1 processors. NT workstation
does, but not the basic NT.

The approach of using multiple S processes can sometimes help, but it
may absorb (or appear to absorb) large amounts of system resources due
to the multiple copies of the S process and this could degrade the
overall performance. Secondly, it requires management effort by the
user rather than by the software. There is no simple way to
synchronize the different "copies" of S-PLUS. Also, it only
applies to certain types of computations.

We (John Chambers, Mark Hansen, David James and I) are currently
involved in research here at Bell Labs in which we are developing
a multi-threaded version of S. Rather than simply making the internal
C routines that underly S be multi-threaded, we have created user-level
programming facilities for creating, managing and communicating
between S-level threads. It is this user-level thread mechanism
that makes this project unique in high-level statistical software (as
far as I am aware) and potentially beneficial.

We are also focusing our attention on a distributed version of S
in which subtasks would be performed on different machines in order
to attain a form of parallelism. We are confident that we can provide
an integrated framework for distributed and multi-threaded computing
in S that allows computations to be done on networked or
multi-processor computers (or both) without changing the code.
Some of the properties in version 4 of S (soon to be S-PLUS 5) allow
automated identification of potentially parallel operations and
provision of the synchronization mechanism which would greatly
simplify the deployment of parallel computing.

Some of this is work is in the early stages of development and none of
it will be available in S-PLUS for the foreseeable future.
We will present some of this material at the Interface meeting in May and
the Joint Statistical Meetings in August. Additionally, there
is a lengthy description of the S level functions and the
engineering approach we have used to implement a multi-threaded S
available at
http://cm.bell-labs.com/cm/ms/departments/sia/doc/multi-threaded-S.ps

If anyone is interested in discussing any aspect of these projects,
please contact me directly.

Duncan

_________________________________________________________________

Duncan Temple Lang duncan@research.bell-labs.com
Bell Labs, Lucent Technologies office: (908)582-3217
700 Mountain Avenue, Room 2C-259 fax: (908)582-3340
Murray Hill, NJ 07974-2070
http://cm.bell-labs.com/cm/ms/departments/sia/duncan/index.html