*** Analogy: You're on a highway with a posted speed of 100 km/h. You want to operate your car and your car only 25 km/h only on the 100 km/h highway. ***
And for this happy privilege, you want to impose the attendant nuisance (highway analogy), read overhead (o/s analogy), on all the other cars to have to slow behind and pass around you. Generally, a time slice is a time slice. Regardless whether you get 1 sec of every 10 sec or 100 ms of every 1 s, you're going to execute your instructions at a rate of 100% of the cpu within your time slice allocation. Now you can impose scheduler and threading overhead and discipline to make your time slices very, very fine grained so that overall at a system level it looks like 25% of a resource, but your rate of execution within your context is going to be 100%. That said and for the cited examples, the workable answer that I know of is virtual machines. Be it VMWare, XEN, solaris containers (zones), freeBSD jails, qemu(*) or to a degree dragonflybsd (vkernel(*) -- "system-in-a-box" running as a userland process), each has a means to say that VM(1) gets 25% of the CPU resources and the vm-engine by whatever implement will effectively do so. And you will see that seti, for example, takes 100% of its VM(1) resource but only 25% of machine as a whole, less the overhead. (*)Not used personally. And, yes, we're aware of the opines herein and about re VM. /S -----Original Message----- From: Andreas Kahari <[EMAIL PROTECTED]> To: Alexander Schrijver <[EMAIL PROTECTED]> Cc: [email protected] Subject: Re: Limiting CPU to a process or process group? Date: Mon, 14 Jan 2008 14:27:33 +0000

