Forums > MaxMSP

Dual processors and maximum efficiency

September 14, 2007 | 5:09 pm

I am trying to understand the way program use the dual processors in Macs
that have them so I can squeeze out the maximum efficiency. If this has
been discussed and explained already, just send me a pointer with some key
words to search.

My basic question: If MSP and say, Supercollider or Reason, are running on
the same machine do they compete or does each one find a processor (or
thread) that gives the maximum wiggle room?

Cheers
Gary Lee Nelson
Oberlin College
http://www.timara.oberlin.edu/GaryLeeNelson


September 14, 2007 | 6:50 pm

My highly summarized version:

Applications consist of at least one separate thread. Separate threads are spread over all available processors by the operating system. So simply put, MSP and Reason will both occupy their own processor automatically.

Additionally, any application can have multiple threads. Max has two separate threads: basically 1) MSP and 2) the rest (including Jitter). One thread can’t use more than one processor. This means that as far as basic max and msp usage is concerned, a computer with more than two cores will not provide a real benefit.

But note that this is a very very short way to put it and that there are countless exceptions depending on what you’re doing exactly..

Cheers,
Mattijs

Quote: Gary Lee Nelson wrote on Fri, 14 September 2007 19:09
—————————————————-
> I am trying to understand the way program use the dual processors in Macs
> that have them so I can squeeze out the maximum efficiency. If this has
> been discussed and explained already, just send me a pointer with some key
> words to search.
>
> My basic question: If MSP and say, Supercollider or Reason, are running on
> the same machine do they compete or does each one find a processor (or
> thread) that gives the maximum wiggle room?
>
> Cheers
> Gary Lee Nelson
> Oberlin College
> http://www.timara.oberlin.edu/GaryLeeNelson
>
>
>
—————————————————-


September 14, 2007 | 10:26 pm

Very helpful! I admire such a clear summary of what is a difficult subject.

I’ll be more specific in hopes that you can tell me what is likely to
happen.

I making a render farm with three computers at the moment and perhaps more
later. The two slave machines are G5′s and the master is an intel MacBook
Pro. All have dual processors and speeds in excess of 2.2 GHz.

Communication among the three machines is via UDP and the three are wired to
an ethernet hub to assure maximum reliability of message transmission. This
is working great!

The audio outputs of the G5′s are brought into the MacBook through inputs of
a MOTU 828MKII. The MacBook is serving as a mixer/recorder with effects
including EQ, reverb and quad panning. The other synths in the the network
are SuperCollider, Csound, Kontakt 2, Reason and Reaktor. My intent is to
be able to call on these programs for things they do best according to the
goals of a specific project. With six processors, I am hoping to run the
daylights out of this network with various combinations of these synth
programs.

In a perfect world, each synth would grab a free processor and stay out of
the way of the others. I sense the answer is not this simple.

Cheers
Gary Lee Nelson
Oberlin College
http://www.timara.oberlin.edu/GaryLeeNelson

On 9/14/07 2:50 PM, "Mattijs Kneppers" wrote:

>
> My highly summarized version:
>
> Applications consist of at least one separate thread. Separate threads are
> spread over all available processors by the operating system. So simply put,
> MSP and Reason will both occupy their own processor automatically.
>
> Additionally, any application can have multiple threads. Max has two separate
> threads: basically 1) MSP and 2) the rest (including Jitter). One thread can’t
> use more than one processor. This means that as far as basic max and msp usage
> is concerned, a computer with more than two cores will not provide a real
> benefit.
>
> But note that this is a very very short way to put it and that there are
> countless exceptions depending on what you’re doing exactly..
>
> Cheers,
> Mattijs
>
>
> Quote: Gary Lee Nelson wrote on Fri, 14 September 2007 19:09
> —————————————————-
>> I am trying to understand the way program use the dual processors in Macs
>> that have them so I can squeeze out the maximum efficiency. If this has
>> been discussed and explained already, just send me a pointer with some key
>> words to search.
>>
>> My basic question: If MSP and say, Supercollider or Reason, are running on
>> the same machine do they compete or does each one find a processor (or
>> thread) that gives the maximum wiggle room?
>>
>> Cheers
>> Gary Lee Nelson
>> Oberlin College
>> http://www.timara.oberlin.edu/GaryLeeNelson
>>
>>
>>
> —————————————————-
>
>
> –
> SmadSteck – http://www.smadsteck.nl
> Hard- and software for interactive audiovisual sampling


September 15, 2007 | 5:46 am

Quote: Gary Lee Nelson wrote on Sat, 15 September 2007 00:26
—————————————————-
> Very helpful! I admire such a clear summary of what is a difficult subject.

Thanks!

>
> I’ll be more specific in hopes that you can tell me what is likely to
> happen.
>
> I making a render farm with three computers at the moment and perhaps more
> later. The two slave machines are G5′s and the master is an intel MacBook
> Pro. All have dual processors and speeds in excess of 2.2 GHz.
>
> Communication among the three machines is via UDP and the three are wired to
> an ethernet hub to assure maximum reliability of message transmission. This
> is working great!
>
> The audio outputs of the G5′s are brought into the MacBook through inputs of
> a MOTU 828MKII. The MacBook is serving as a mixer/recorder with effects
> including EQ, reverb and quad panning. The other synths in the the network
> are SuperCollider, Csound, Kontakt 2, Reason and Reaktor. My intent is to
> be able to call on these programs for things they do best according to the
> goals of a specific project. With six processors, I am hoping to run the
> daylights out of this network with various combinations of these synth
> programs.
>
> In a perfect world, each synth would grab a free processor and stay out of
> the way of the others. I sense the answer is not this simple.

In fact, the answer is that simple. The operating system takes care of this and spreads all separate threads equally on multiple processors. In other words, your plan should work perfectly, separate programs will run on separate processors.

I recommend installing MenuMeters (http://www.ragingmenace.com/software/menumeters/) for an indication of how every computer is doing.

A way to spot that multiple processors are not used efficiently is when an application starts to slow down but MenuMeters indicates that each of both processors are running at 50% (or four processors each at 25%). This seems confusing at first, since you’d expect one processor to be used maximally and the other to be idle. In practice this is slightly different (this is where things get a little tricky). More info about auto load balancing and the misleading avarage cpu load display for example here:

http://www.cycling74.com/forums/index.php?t=msg&goto=73877&rid=3579&S=822cc90092369ee466580fdd64ed2109#msg_73877
or here:
http://www.cycling74.com/forums/index.php?t=msg&goto=78171&rid=3579&S=266c595fbb6d78dcb5fdfea86037a9a2#msg_78171
or here:

http://www.cycling74.com/forums/index.php?t=msg&goto=85251&rid=3579&S=822cc90092369ee466580fdd64ed2109#msg_85251

Best,
Mattijs

>
> Cheers
> Gary Lee Nelson
> Oberlin College
> http://www.timara.oberlin.edu/GaryLeeNelson
>
>
> On 9/14/07 2:50 PM, "Mattijs Kneppers" wrote:
>
> >
> > My highly summarized version:
> >
> > Applications consist of at least one separate thread. Separate threads are
> > spread over all available processors by the operating system. So simply put,
> > MSP and Reason will both occupy their own processor automatically.
> >
> > Additionally, any application can have multiple threads. Max has two separate
> > threads: basically 1) MSP and 2) the rest (including Jitter). One thread can’t
> > use more than one processor. This means that as far as basic max and msp usage
> > is concerned, a computer with more than two cores will not provide a real
> > benefit.
> >
> > But note that this is a very very short way to put it and that there are
> > countless exceptions depending on what you’re doing exactly..
> >
> > Cheers,
> > Mattijs
> >
> >
> > Quote: Gary Lee Nelson wrote on Fri, 14 September 2007 19:09
> > —————————————————-
> >> I am trying to understand the way program use the dual processors in Macs
> >> that have them so I can squeeze out the maximum efficiency. If this has
> >> been discussed and explained already, just send me a pointer with some key
> >> words to search.
> >>
> >> My basic question: If MSP and say, Supercollider or Reason, are running on
> >> the same machine do they compete or does each one find a processor (or
> >> thread) that gives the maximum wiggle room?
> >>
> >> Cheers
> >> Gary Lee Nelson
> >> Oberlin College
> >> http://www.timara.oberlin.edu/GaryLeeNelson
> >>
> >>
> >>
> > —————————————————-
> >
> >
> > –
> > SmadSteck – http://www.smadsteck.nl
> > Hard- and software for interactive audiovisual sampling
>
>
>
>
—————————————————-


Viewing 4 posts - 1 through 4 (of 4 total)