Quantcast
Channel: VMware Communities: Message List
Viewing all articles
Browse latest Browse all 246801

Re: Yet another question about CPU Scheduling

$
0
0

Ah, I think I see the confusion. There's no such thing as using a fraction of a core within a single cycle. You CAN use all of a core for a fraction of the total cycles over a period of time, but a physical core is either busy or idle. There is no in-between, especially since we're ignoring hyperthreading in this example.

 

Using all of a core for a fraction of the total time in a given sample period is what gives the illusion of using "part" of a core. Actually splitting a single core in that manner would require states and architecture that simply don't exist in the x86 world.

 

Notice that in Frank Denneman's article he specifically calls out the scheduler "shopping out" free cycles. In your example, there will only ever be 1 free cycle at any given time. There are 1000 cycles every second in your original example, and many of these cycles may be free, but there will never more than one at a time.

 

To put it another way, you can't use all 1000 MHz in the first millisecond.

 

The paragraph you quoted from the resource management guide assumes a 2 GHz pCPU. Bear in mind any measurement of requency REQUIRES a time interval. There is no literal "point in time" splitting implied here. What they're saying is that if over some period of time, let's say one second, VM1 only consumes 500 cycles, and does not ask for more, then VM2 is welcome to help itself to any of the unused 500 cycles originally entitled to VM1, as well as the 1000 cycles VM2 was already entitled to.

 

Let me know if there's still any ambiguity, or anything I didn't really clarify there.


Viewing all articles
Browse latest Browse all 246801

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>