Csound Csound-dev Csound-tekno Search About

Re: Csound Performance on Multiprocessor Intel Systems?

Date1999-03-15 20:16
FromSean Costello
SubjectRe: Csound Performance on Multiprocessor Intel Systems?
Richard Dobson wrote:
> 
> Long long ago, in a University in Durham, a massively parallel version
> of Csound was developed using 160 transputers. Each node implemented an
> opcode (or possibly a whole instrument), and each received a copy of the
> score (as I recall; I last read about this long long ago...). The
> Project was led by Peter Manning.

This was written up in Computer Music Journal Vol. 21:4 (Winter 1997).
I'll reread the article when I get home tonight.

> I am not even sure whether Transputers still exist, as such; but
> possibly the architecture is still valid. Arbitrating message-passing
> and data-passing between nodes would seem to be the tricky part.

I don't think that they are still made, but maybe the programming
techniques used would be useful for implementing Csound on a multinode
Beowulf-type "rendering" system. I don't think that such a system would
be useful for real-time work; my friends who know more about this than I
do feel that Beowulf-type distributed systems are great for batch number
crunching, but are not very good at the type of scheduling needed for
real-time music.  Still, it would be great to have a number of cheap
motherboards all working on the same composition, especially if phase
vocoding or sndwarp are being heavily used.  Having a minute of sound
generated in a minute or two, rather than 20 minutes, would greatly help
the creative and debugging process, even if the output is not generated
in real-time.

I am sure that there are other hardware configurations that allow
multiple processors to be used in real time.  The appeal of the Beowulf
system is that it uses commonly available components (each node would
consist of a motherboard with processor, memory, maybe a hard drive, and
an Ethernet card for connecting to the other nodes).  I don't know of
any commonly available motherboards that use more than 2 processors; I
haven't seen 4 processor motherboards for sale outside of Intel
workstations.  With Beowulf, a 160-node network is certainly attainable.
Check out http://www.beowulf.org for more info.

> There is a huge array of SHARC processors in a rack at Bristol
> University, nominally for video work, but I don't think they really
> budgeted for anyone to actually work with it, so it is mostly twiddling
> its thumbs, consuming 30amps, and the fan makes an almighty racket.
> Maybe I'll get a chance to burn my brain on it some time - but I get the
> impression that B.U would be glad for anyone to go in and use it for
> ...something!

Could you contact Analog Devices and see if they could give you XTCsound
implementation help?  I would think that getting something like this up
and running would be a nice advertisement for what the SHARC chips can
do in a musical environment.  Now the SHARC array should be able to do
real-time work.  That would be pretty darned nifty, to say the least.

Date1999-03-16 08:03
FromManning
SubjectRe: Csound Performance on Multiprocessor Intel Systems?
Richard and Sean are absolutely right on this one, so here is some
additional information which may be useful:-

The article in CMJ 21/4 describes more recent work (Itagaki, Manning,
Purvis) which tackled the central issue of how to distribute audio
synthesis across a massively parallel bank of processors. This did not
involve Csound using instead optimised code for oscillators written in
transputer code. The technology (transputers) is dead in the water, but
the principles are not. 

Of special and more immediate interest perhaps to csounders is earlier
work by Nick Bailey, now working at the University of Leeds (UK) - email
nick@polunious.demon.co.uk - which successfully created a three transputer
version of Csound in parallel mode (it still works!).  Since then basic
processor speeds have multiplied xxx times of course, but there is much
useful work here to be picked up since all the key scheduling algorithms
were written in C.  To this end I have copied this Email to Nick Bailey
and suggest those keen to know more contact him direct.. 

Peter Manning
University of Durham, UK

********************

On Mon, 15 Mar 1999, Sean Costello wrote:

> Richard Dobson wrote:
> > 
> > Long long ago, in a University in Durham, a massively parallel version
> > of Csound was developed using 160 transputers. Each node implemented an
> > opcode (or possibly a whole instrument), and each received a copy of the
> > score (as I recall; I last read about this long long ago...). The
> > Project was led by Peter Manning.
> 
> This was written up in Computer Music Journal Vol. 21:4 (Winter 1997).
> I'll reread the article when I get home tonight.
> 
> > I am not even sure whether Transputers still exist, as such; but
> > possibly the architecture is still valid. Arbitrating message-passing
> > and data-passing between nodes would seem to be the tricky part.
> 
> I don't think that they are still made, but maybe the programming
> techniques used would be useful for implementing Csound on a multinode
> Beowulf-type "rendering" system. I don't think that such a system would
> be useful for real-time work; my friends who know more about this than I
> do feel that Beowulf-type distributed systems are great for batch number
> crunching, but are not very good at the type of scheduling needed for
> real-time music.  Still, it would be great to have a number of cheap
> motherboards all working on the same composition, especially if phase
> vocoding or sndwarp are being heavily used.  Having a minute of sound
> generated in a minute or two, rather than 20 minutes, would greatly help
> the creative and debugging process, even if the output is not generated
> in real-time.
> 
> I am sure that there are other hardware configurations that allow
> multiple processors to be used in real time.  The appeal of the Beowulf
> system is that it uses commonly available components (each node would
> consist of a motherboard with processor, memory, maybe a hard drive, and
> an Ethernet card for connecting to the other nodes).  I don't know of
> any commonly available motherboards that use more than 2 processors; I
> haven't seen 4 processor motherboards for sale outside of Intel
> workstations.  With Beowulf, a 160-node network is certainly attainable.
> Check out http://www.beowulf.org for more info.
> 
> > There is a huge array of SHARC processors in a rack at Bristol
> > University, nominally for video work, but I don't think they really
> > budgeted for anyone to actually work with it, so it is mostly twiddling
> > its thumbs, consuming 30amps, and the fan makes an almighty racket.
> > Maybe I'll get a chance to burn my brain on it some time - but I get the
> > impression that B.U would be glad for anyone to go in and use it for
> > ...something!
> 
> Could you contact Analog Devices and see if they could give you XTCsound
> implementation help?  I would think that getting something like this up
> and running would be a nice advertisement for what the SHARC chips can
> do in a musical environment.  Now the SHARC array should be able to do
> real-time work.  That would be pretty darned nifty, to say the least.
> 
> Sean Costello
> 

Date1999-03-16 08:09
FromManning
SubjectRe: Csound Performance (correction)
Woops! the email address for Nick Bailey (see my previous message) is
nick@polonius.demon.co.uk   (not polonious !!)

apologies

Peter Manning