Csound Csound-dev Csound-tekno Search About

Re: Csound Performance on Multiprocessor Intel Systems?

Date1999-03-13 14:40
FromMichael Gogins
SubjectRe: Csound Performance on Multiprocessor Intel Systems?
The Beowulf idea is pretty good. This would work, of course, only for
systems where threads do not interact but simply sum their results. It would
amount to parceling out a Csound score to separate Csounds and then mixing
the resulting soundfiles. In fact, that sort of approach would be only
moderately difficult to code.

This could work as follows. A master Csound parcels out its score.srt and
orc.srt files, and fires up sub-Csounds, each one on a separate processor or
computer. The sub-Csounds have soundfile output functions that use sockets
to send soundfile buffers back to the master Csound, which acts as a mix
server. The soundfile buffers could even be compressed so that the whole
scheme would be practical over dialup connections.

-----Original Message-----
From: Sean Costello 
To: Michael Gogins 
Cc: CSOUND 
Date: Friday, March 12, 1999 9:45 PM
Subject: Re: Csound Performance on Multiprocessor Intel Systems?


>Michael Gogins wrote:
>>
>> I don't have specific experience with double processor systems and
Csound,
>> but I am a long time Csound user and contributor, and I work as a
>> programmer. I think the story would be that you will not see large
>> improvements in performance using Csound on a multi-processing system
>> because Csound is a single-threaded application. You would see a slight
>> improvement because one processor could devote itself mostly to running
>> Csound, and the other could handle the other things happening on the
>> machine, but this would probably do nothing like double the speed, and
might
>> not even be noticeable.
>
>Bummer.  A dual processor system seemed so attractive - the price of two
>Pentium II 350's is considerably less than a single Pentium II 450.  Are
>there any multi-threaded computer music languages out there? I know
>Quasimodo is, but it doesn't seem to be fully functional as yet.  Is CLM
>multi-threaded? Are there any CLM users out there who can attest to the
>speed differences between CLM and Csound?
>
>> Csound could be rewritten to take advantage of multiprocessing, but the
>> rewrite would be difficult and at a low level; it would involve creating
a
>> pool of threads, from which new instrument instances would receive one.
This
>> would improve performance only if the number of instrument instances was
>> fairly large, because there would some additional processor overhead
>> incurred by requiring each thread to synchronize with the ksmps period,
and
>> to manage the threads.
>
>It sounds like the processing I was doing this week (sndwarp and fog,
>with lots of overlaps) wouldn't be helped by multithreading.  However, a
>pvadd orchestra, with Common Music generated score (i.e. calling a pvadd
>instrument for every bin, via a CM-generated score) would greatly
>benefit from a multithreaded system.
>
>Wishful thinking computer music idea of the day: A multithreaded Csound
>that can run on a Beowulf-type distributed system.  Get a bunch of cheap
>K6-2 motherboards, and have a home "audio supercomputer" for rendering
>sndwarp and pvoc files.
>
>Sean Costello