Page 1 of 2

Processor Scheduling

Posted: Thu Mar 31, 2005 6:17 am
by rastilin
I was wondering how ReactOS's processor scheduler worked. Windows' scheduler is not the most efficient thing on the planet and I think ReactOS could outstrip Windows in general application performance simply by altering how the scheduler operates. What I was thinking of is very long and fixed quanta to decrease the scheduler's overhead.

Posted: Thu Mar 31, 2005 8:52 am
by cyborg
oh yeah
please make ros scheduler better

additionally
what I always missed in windows was limiting a process with its maximum cpu usage, dunno if such thing is possible, but if yes, would be a point too

Posted: Thu Mar 31, 2005 8:54 am
by A-v-S
Yes, that would be great, limiting the max cpu usage ;)

Posted: Thu Mar 31, 2005 12:00 pm
by Crappish
Not to mention bandwith usage.

This should be defineable in network managing anyways. (general limits, program specific limits, user specific limits?) Like should the CPU usage, which could be located at task manager.

edit: FFS. "You cannot make another post so soon after your last; please try again in a short while." but what if you're editing you post...

How?

Posted: Thu Mar 31, 2005 5:19 pm
by chorns
What is wrong with the Windows scheduler and how can we improve it? Also, which version of Windows are you referring to? Not all Windows schedulers are the same.

Posted: Thu Mar 31, 2005 7:14 pm
by A-v-S
Yes, an integrated NetLimiter program.. sounds good !

Posted: Thu Mar 31, 2005 9:30 pm
by mjs
Max. CPU usage can be done (more or less) indirectly by changing the process/thread priority. The restriction of bandwith is call QOS :D .

Regards,
Mark

Posted: Thu Mar 31, 2005 9:41 pm
by mf
mjs, those are all "relative" limiters. Packet scheduling doesn't actually limit anything, it just gives other packets priority. Same with setting process priorities. Limiting CPU speed would be forcing the cpu to run idle every X cycles. And limiting network traffic would be what NetLimiter does.

Posted: Thu Mar 31, 2005 10:08 pm
by Crappish
Eh? Nobody wants to limit the CPU speed... Just to set the percentage, to certain process, that limits how much CPU-time it can hog..

Posted: Fri Apr 01, 2005 3:13 am
by rastilin
There is nothing wrong with the Windows scheduler in terms of operation. My idea was for an option to cut overhead by lengthening the quanta. This would improve overall speed because the processor spends less time deciding on or switching processes compared to working on a thread. Additionally, longer pipelined processors like the P4 would not have to purge their pipeline as often.

When I wrote the original one I was thinking in terms of the Windows NT 5.0 scheduler.

Posted: Fri Apr 01, 2005 7:04 am
by MadRat
Windows scheduker's weakest link is its dependency on the hard drive.

Posted: Fri Apr 01, 2005 7:26 am
by Floyd
how about AT.exe? there used to be a winat or at32 or whatnot too.
i used to just AT a .cmd script. pretty useful.

Posted: Fri Apr 01, 2005 9:39 am
by rastilin
I was talking about Processor Scheduling. That refers to how the OS allocates processor time to applications. The windows task scheduler and AT.exe are completely different.

Posted: Fri Apr 01, 2005 1:01 pm
by mf
crappish wrote:Eh? Nobody wants to limit the CPU speed...
I wonder what CPU Killer was made for, then...

Posted: Fri Apr 01, 2005 5:35 pm
by rastilin
On that note I know that SUSE already limits processor usage to conserve battery power on a laptop, that could be limited to specific programs and you have your throttle.