OpenVZ Forum


Home » General » Support » *SOLVED* IO scheduling
Re: IO scheduling [message #6668 is a reply to message #6610] Thu, 21 September 2006 06:43 Go to previous messageGo to previous message
Vasily Tarasov is currently offline  Vasily Tarasov
Messages: 1345
Registered: January 2006
Senior Member
Hi,

I'll try to explain you what is in Vserver concerning IO scheduling and why it isn't now in OpenVZ.

There is cfq scheduler in Linux kernel, that allows to assign IO priority to the process. It supports three classes:

real time (rt)
best effort (be)
idle class (i)

Within rt class and be class are 8 levels of priority. The more level is - more time for input/output particular process has. Additional information can be found for example at http://www.mjmwired.net/kernel/Documentation/block/ioprio.tx t

So what do they do in Vserver?
When user sets certain IO priority to the context, Vserver framework just sets this IO priority to all processes in context! And that's all that they do, but this isn't right. Just look at these example:

1st context: 3 processes - priority be:4
2nd context: 1 process - priority be:6

So user expects that 2nd context has more IO bandwidth, but this isn't true, 'cause 1st context has more processes! And the more processes 1st context has more IO bandwidth it has.

Some time ago there were patches to do the same in OpenVZ, but do we need such implementation? Rolling Eyes
To create more sophisticated and true IO scheduling more investigation is necessary. Also there is also a big problem, 'cause pages can be written to the block device, when information about process isn't available any more...

HTH,
vass.

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: *SOLVED* /proc/fairsched2 :: What does this report
Next Topic: *SOLVED* Centos 4.4 install
Goto Forum:
  


Current Time: Wed Aug 06 11:51:45 GMT 2025

Total time taken to generate the page: 2.15400 seconds