multi core management

Post your feature requests for future versions of Orion, Hydra, Scorpion or Plucked String. (Please do not expect a reply from the developers)

Moderators: Christophe, Mark

multi core management

Postby Eklectro » Mon Sep 21, 2009 9:09 pm

Hi everybody.

As I have already observe since I have a quad core, the multicore assignement isn't optimised .
here is some example on a project buiild @ 50%. (Q9550 @3.11Ghz)

Image

There is one single core that is over twice used than the others.
It means that this core will cause interruption first.

I suggest a manual way to move process from one core to another, in order to have the best use of all core.
Otherwise, an automatic adjustment, while the project is build could be convenient.

Of course this concerns only multicore user, and hards one !

dunno if this manual move would be eazy to programm.

ekl
Orion 8, Live 8Le, Cubase 4 LE, Cantana, APC40, UC16, Fostex PM1MKII, Q9550, 4G0, 1,5T, 22"+15"

http://soundcloud.com/eklectro/i-like-xylo-29-03-2011
Eklectro
Apprentice
 
Posts: 626
Joined: Thu May 01, 2008 10:39 pm

multi core management

Postby HYPNAGOGIA » Tue Sep 22, 2009 1:07 am

Eklectro, is the core usage noticable that much to pose an issue during the work?

You can manually move the process to specific cores by setting the affinity. However, I think that's not really what you had in mind.
Setting the affinity determines on which cores the process will be allowed to execute on, in your case, you can allow it to execute on 1 core, 2, 3 or all 4 cores.
Orion has only one process, so setting it manually doesn't change how it uses the cores, and it's not entirely up to Orion. Windows itself take its part in it by distributing the handles of the process to the cores. You can prohibit the proces to execute on core 3, but then the other cores will get more work.

If you started to feel dizzy already, just answer for yourself the question from the beginning of this post. If the answer is 'no', move on. Your CPU utilization is only 14%, be happy about it. And stop looking at the Performance tab. What you see there isn't all Orion's doing. Other processes should be taken into account there, and from the image you posted above, you have quite a load on your system (WHAT THE HELL did you spend 1.5 GB of your RAM on???)
User avatar
HYPNAGOGIA
Godlike
 
Posts: 4855
Joined: Tue Jun 21, 2005 1:17 am
Location: Serbia

multi core management

Postby suneel » Tue Sep 22, 2009 7:01 am

Eklectro wrote:I suggest a manual way to move process from one core to another, in order to have the best use of all core.
orion is multithreaded. meaning one process with many threads that will run across cores.

Eklectro wrote:There is one single core that is over twice used than the others.
It means that this core will cause interruption first.
that is OS + hardware dependent. The OS's internal scheduler will decide which thread should run on which core. The method of picking which thread on which core involves very advanced math like queuing theory and random probability distributions. this is build into the windows executive part of kernel and hardware(if avaliable). If you buy newer i7 processor, then you can use enable hyperthreading to make you quad core 8 cores, to take advantage of hardware cpu thread scheduler.

so dont worry about what is being shown in the task manager, only net cpu usage and cpu usage of orion process needs to be looked at if your audio is choking.
Last edited by suneel on Tue Sep 22, 2009 7:03 am, edited 1 time in total.
User avatar
suneel
Guru
 
Posts: 2388
Joined: Sun Feb 19, 2006 4:04 am

multi core management

Postby Muse » Tue Sep 22, 2009 7:38 am

I've yet to come across a task manager view of any multicore enabled app that has all 2 or 4 cpu meters exactly the same - surely there will always be some differences between how the cpu's are balanced depending on the tasks being performed - I would expect cpu balancing to be a dynamic process not some sort of "averaging".
Muse
Regular
 
Posts: 206
Joined: Wed Jan 05, 2005 2:21 am

multi core management

Postby Christophe » Tue Sep 22, 2009 8:17 am

IMHO, vst plugin dll run on one single core, so it's a correct behavior
Yamaha CS-30, Roland SH-1, Roland MKS70, Focusrite Scarlett 18i6, Yamaha FS1R, Oberheim Matrix 1000, Novation Remote 37SL, Korg Legacy, Alesis M1Active 520, Novation Launchpad Pro, Push2, Intel i7-7700HQ
User avatar
Christophe
Moderator
Moderator
 
Posts: 2787
Joined: Sat Jan 17, 2004 8:20 pm
Location: Saint Germain en Laye, France

multi core management

Postby suneel » Tue Sep 22, 2009 8:46 am

ccarrieres wrote:IMHO, vst plugin dll run on one single core, so it's a correct behavior
your opinion is wrong. a dll compiled as 'multi threaded dll or /MD switch' and if it is having more than one thread will run as multithreaded across multiple cores as desired fit by the OS and not on one single core as you claim
User avatar
suneel
Guru
 
Posts: 2388
Joined: Sun Feb 19, 2006 4:04 am

multi core management

Postby Christophe » Tue Sep 22, 2009 9:49 am

do you know a lot of plugin compiled with 'multi threaded dll or /MD switch' ?
Yamaha CS-30, Roland SH-1, Roland MKS70, Focusrite Scarlett 18i6, Yamaha FS1R, Oberheim Matrix 1000, Novation Remote 37SL, Korg Legacy, Alesis M1Active 520, Novation Launchpad Pro, Push2, Intel i7-7700HQ
User avatar
Christophe
Moderator
Moderator
 
Posts: 2787
Joined: Sat Jan 17, 2004 8:20 pm
Location: Saint Germain en Laye, France

multi core management

Postby Marcin » Tue Sep 22, 2009 10:20 am

Just some processes are not able to divide per few cores and runs on single core at some moments. This can be some vst plugin (regardless it is compiled with multi threaded) or this can be some Orion's process.
@Eklectro - please do something what takes more cpu and then check differences (Your provided usage is too less to check it).
User avatar
Marcin
Synapse Audio
 
Posts: 1345
Joined: Thu Apr 20, 2006 8:31 am
Location: Poland

multi core management

Postby suneel » Tue Sep 22, 2009 10:28 am

ccarrieres wrote:do you know a lot of plugin compiled with 'multi threaded dll or /MD switch' ?

vst plugins is complied as multi threaded by default http://www.gersic.com/vstsdk/ see the caption text in the box.

To run efficiently across cores, you need both
1. host to enable the vst to run across cpus
2. vst needs to be multi-threaded

If only point 1, then the vst can be put into any core even if it is not written as multithreaded. So another vst can be put into any other core. So you cannot look at the task manager and say since core 3 is showing more load that is the correct behavior for vst. It doesnt give any useful info.
User avatar
suneel
Guru
 
Posts: 2388
Joined: Sun Feb 19, 2006 4:04 am

multi core management

Postby Richard » Tue Sep 22, 2009 2:28 pm

/MT refers to the runtime library. It has nothing to do with the DSP code in a VST plugin.

Multithreaded plugins are not necessarily a good idea, the sync effort required on the plugins side might well spoil any theoretical performance gains. In general plugins should be 'minimalist' and not attempt to do the host work. Why should every plugin have 16 Midi channels, its own arpeggiator and sequencer, its own mixer and finally multithreading? Its reinventing the wheel and going to cost ressources, as well as potentially stability. And besides, the user has to learn how the same basic stuff works in every plugin over and over again.
User avatar
Richard
Synapse Audio
 
Posts: 3660
Joined: Sat Jul 12, 2003 11:22 pm

multi core management

Postby suneel » Tue Sep 22, 2009 3:03 pm

Richard wrote:/MT refers to the runtime library. It has nothing to do with the DSP code in a VST plugin.
yep. that what i meant to say here
If only point 1, then the vst can be put into any core even if it is not written as multithreaded
meaning it is not threaded.

Richard wrote:Multithreaded plugins are not necessarily a good idea
oh i was not debating for or against it. i was trying to say you cant look at the task manager and say "vst plugin dll run on one single core, so it's a correct behavior". because some vsts like gladiator, albino etc are threaded. that was the point :)
User avatar
suneel
Guru
 
Posts: 2388
Joined: Sun Feb 19, 2006 4:04 am

multi core management

Postby Christophe » Tue Sep 22, 2009 3:08 pm

i will stand my point, most of the vsti are processing audio without multithreading, but of course, use an other thread to manage the GUI
Yamaha CS-30, Roland SH-1, Roland MKS70, Focusrite Scarlett 18i6, Yamaha FS1R, Oberheim Matrix 1000, Novation Remote 37SL, Korg Legacy, Alesis M1Active 520, Novation Launchpad Pro, Push2, Intel i7-7700HQ
User avatar
Christophe
Moderator
Moderator
 
Posts: 2787
Joined: Sat Jan 17, 2004 8:20 pm
Location: Saint Germain en Laye, France

multi core management

Postby Eklectro » Thu Sep 24, 2009 7:46 pm

@Rich, I knew it was some difficult task, and its more an observation than a top1 wishlist.
however I don't think that I was asking for more functionality for plugs. actually I didn't know how Mcores are managed.

Concerning a serious project (I don"t have that much finished project) the average is about à 60%, but in Orion It can show 80, due to the fact that it shows the highest thred. (if I'm right).

anyway, overcloking rules with defaut fan :D
Orion 8, Live 8Le, Cubase 4 LE, Cantana, APC40, UC16, Fostex PM1MKII, Q9550, 4G0, 1,5T, 22"+15"

http://soundcloud.com/eklectro/i-like-xylo-29-03-2011
Eklectro
Apprentice
 
Posts: 626
Joined: Thu May 01, 2008 10:39 pm

multi core management

Postby Jouni » Sun Oct 04, 2009 12:23 pm

You can technically manage the used threads from the playlist.

The generators (+their inserts) are assigned into 8 separate threads (later probably will be depended on cpu number, right now it is fixed). It goes so that first generator goes to thread 1, second to second.. third to third.. and you get to the ninth, it goes again to thread 1.

So moving the generators in the playlist should move the generators from thread to another thread. This way you can group and/or avoid grouping problem generators together.

Very simple threading solution by letting OS do most of the work. Of course there's no internal balancing beside this round robin.
Jouni
Godlike
 
Posts: 3963
Joined: Sun Jan 11, 2004 10:21 pm
Location: Finland

multi core management

Postby HYPNAGOGIA » Sun Oct 04, 2009 1:40 pm

This is actually very good to know. Thanks Jouni :)
User avatar
HYPNAGOGIA
Godlike
 
Posts: 4855
Joined: Tue Jun 21, 2005 1:17 am
Location: Serbia

Next

Return to Wishlist

Who is online

Users browsing this forum: No registered users and 464 guests

© 2017 Synapse Audio Software. All Rights Reserved.