Bitsum Community Forum

General Category => Process Lasso => Topic started by: RayJones on June 18, 2011, 01:03:27 PM

Title: Condition based Affinity/Priority change
Post by: RayJones on June 18, 2011, 01:03:27 PM
Hi, I am a new user to "Process Lasso". The reason why I chose this product was to isolate a CPU core to be used only by a single process albeit a highly CPU intensive one lets say process P. And no other process can execute on that core lets say Core C. So CPU core C will always be available for any incoming thread execution of process P instantaneously.

So far I have been able to perform this successfully thanks to "Process Lasso" by manually changing the affinity of every process other than process P to use every core other than Core C. Then again manually changing the affinity of process P to utilize only core C. (Process P is designed to work in a single core/processor environment only).

I was wondering if "Process Lasso" can further perform this operation autonomously by detecting Process P at the time of its starting and changing the affinity/priority of all or only specific processes. Then reverting it back to previous state as soon as it detects the termination of Process P. Once again thanks for creating a wonderful software  :D.
Title: Re: Condition based Affinity/Priority change
Post by: Jeremy Collake on June 19, 2011, 01:24:13 AM
Although not currently implemented, there are plans to allow this via a new feature I am working on. I will reveal more when I am closer to completion.
Title: Re: Condition based Affinity/Priority change
Post by: RayJones on June 19, 2011, 03:41:42 AM
Okay. Just to let everyone know that this method really works and boosts the performance of those program utilizing maximum CPU cycles many folds. If the process/program supports multiple cores, you simply isolate multiple cores and assign them to it.

Another bonus effect is your system doesn't hangup when the above said process is hogging up the CPU cycles cos they themselves have separate cores to continue running.

There have been lot of negative misconceptions about this method on the internet but they all fail as tested by me. I don't know whether anyone has named this method or not but if anyone knows please do reply to this thread.
Title: Re: Condition based Affinity/Priority change
Post by: Jeremy Collake on June 19, 2011, 04:17:53 AM
I agree that in some circumstances it could increase performance, particularly of primarily single threaded applications (which most still are, even if they utilize multiple threads). It would reduce core thrashing, and in systems with per-core frequency scaling, ensure the thread remains on a scaled up core. You are not the only one doing this, I have spoken to others who told me they are doing this, or something similar.

I doubt I will name this feature specifically, though who knows. Along with this, there will be a world of new possibilities.
Title: Re: Condition based Affinity/Priority change
Post by: DeadHead on June 19, 2011, 10:04:37 AM
This, as well as the function in PL to avoid non-physical cores are quite interesting. I'd like to hear more about the specific applications people have tested that actually benefits from this. I find it rather complicated to test this myself to be honest! :)
Title: Re: Condition based Affinity/Priority change
Post by: Keefa on December 30, 2012, 09:01:12 AM
Quote from: DeadHead on June 19, 2011, 10:04:37 AM
This, as well as the function in PL to avoid non-physical cores are quite interesting. I'd like to hear more about the specific applications people have tested that actually benefits from this. I find it rather complicated to test this myself to be honest! :)

I would've been very interested in this, too. Too bad it never got people interested, I suppose.
Title: Re: Condition based Affinity/Priority change
Post by: BenYeeHua on December 30, 2012, 11:48:53 AM
Quote from: Keefa on December 30, 2012, 09:01:12 AM
I would've been very interested in this, too. Too bad it never got people interested, I suppose.
I has try on a single thread game with CPU bound, and getting less performance.
This is because the game having other thread to process sound, I/O etc, so it getting less performance to let the main single thread waiting. ;)
But it will be difference for some converter software(like convert to mp3) as they are only has a unstop single thread. and difference CPU with a bigger delay L2, L3 cache.
Title: Re: Condition based Affinity/Priority change
Post by: Jeremy Collake on January 01, 2013, 05:21:38 AM
Here's the thing: The Windows Scheduler is aware of 'fake' (hyper-threaded) cores - also called logical cores, though logical cores also include physical cores, so that isn't as descriptive.

Since it is aware of hyper-threaded cores, it tries to avoid them.

Does it do a good job of this? Who knows. From what I've seen, improvements can be had.

For CERTAIN it doesn't know what the user knows, so there are definitely times when this option is desirable. You are basically saying, "Keep this process's threads only on my top performing cores!".

Do NOT over do it though. Don't use this on more than a handful of simultaneously running applications, else the lack of logical core availability may cause its own performance or responsiveness issues.
Title: Re: Condition based Affinity/Priority change
Post by: BenYeeHua on January 01, 2013, 07:14:00 AM
QuoteDoes it do a good job of this?
Maybe compare with linux, we will know the answer.
But we can only know which one is better for which software, not the best. :)
Title: Re: Condition based Affinity/Priority change
Post by: Jeremy Collake on January 01, 2013, 07:41:32 AM
Yes, each has their advantages and disadvantages. With linux, you can pick and choose which scheduler you want for specialized tasks. You have to recompile the kernel, but not that much trouble really.
Title: Re: Condition based Affinity/Priority change
Post by: BenYeeHua on January 01, 2013, 09:58:31 AM
But the problem is, normal user are using Windows. ;D
Title: Re: Condition based Affinity/Priority change
Post by: Jeremy Collake on January 02, 2013, 06:01:54 AM
Yea, and thus there is a market for scheduler refinements like Process Lasso ;p
Title: Re: Condition based Affinity/Priority change
Post by: BenYeeHua on January 02, 2013, 06:34:17 AM
And PL refinements ;)