David Touzeau put forth on 12/23/2010 1:58 PM:
> Dear 
> 
> I have a server with 8 processors.
> I would like to create 8 postfix instances and each instance use a
> dedicated processor.
> 
> Is it possible to do that ?

If binding a Postfix instance to a physical CPU is really what you
want/need, say for customer SLAs, you may consider deploying a
virtualization platform such as VMWare ESX/i.  With it you can create a
*nix VM guest for each Postfix server and lock each VM guest OS instance
to a physical CPU, if you wish.  This may or may not be possible with
other virtualization platforms such as those available in the Linux
kernel or as patches to it.  I've not used them.

If you go the VMWare route, there is an option to de-duplicate redundant
memory contents called Transparent Page Sharing.  If you use the same OS
and application binary revs on each guest, the code footprint memory
consumption of OS+apps will be that of a single server instead of 8
servers.  If you have common data on each guest, that will be
consolidated as well (such as Postfix tables).  With Postfix being your
primary application you won't suffer memory hot spots as can happen with
CPU/memory intensive applications running on ESX/i with memory
de-duplication enabled.  The downside is that for these and other
advanced features, ESX/i are not free, but somewhat pricey.

If your request for information is unrelated to SLAs or similar, I'd
simply do as others have suggested, which is to let your OS kernel
schedule the Postfix processes and threads.

If your need is due to SLAs or similar, and you'd rather not go the
virtualization route due to cost or other reasons, Linux does have a cpu
affinity capability originally developed for HPC users, called cpusets,
which may accomplish your goals.

http://www.mjmwired.net/kernel/Documentation/cgroups/cpusets.txt

As Wietse mentioned, Solaris Containers may work for this, and if your
platform is an IBM pSeries, LPARs may suit your needs.

-- 
Stan

Reply via email to