| 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.
|