How to manage processes-to-CPU cores affinities ?

Posted by Philippe on Server Fault See other posts from Server Fault or by Philippe
Published on 2010-03-23T18:37:47Z Indexed on 2010/03/23 18:43 UTC
Read the original article Hit count: 322

Filed under:
|
|
|
|

I use a distributed user-space filesystem (GlusterFS) and I would like to be sure GlusterFS processes will always have the computing power they need.

Each execution node of my grid have 2 CPU, with 4 cores per CPU and 2 threads per core (16 "processors" are seen by Linux).

My goal is to guarantee that GlusterFS processes have enough processing power to be reliable, responsive and fast. (There is no marketing here, just the dreams of a sysadmin ;-)

I consider two main points :

  • GlusterFS processes
  • I/O for data access (on local disks, or remote disks)

I thought about binding the Linux Kernel and GlusterFS instances on a specific "processor".

I would like to be sure that :

  • No grid job will impact the kernel and the GlusterFS instances
  • Researchers jobs won't be affected by system processes (I'd like to reserve a pool of cores to job execution and be sure that no system process will use these CPUs)

But what about I/O ? As we handle a huge amount of data (several terabytes), we'll have a lot of interuptions.

How can I distribute these operations on my processors ? What are the "best practices" ?

Thanks for your comments!

© Server Fault or respective owner

Related posts about linux

Related posts about cpu