Graham mitchell wrote:
>
> Hi
>
> I am experimenting with the
> /usr/sbin/bindprocessor
> command on aix 4.1.5 to pin VP CPUs to real CPUs
> on an 8 CPU RS6000.
>
>
> What real benfits does this provide ?
> Does it ever screw anything up ?
> ( I had a down system today after changing
> too many things at once, this being one of them
> + PDQ PRIORITY + DATASKIP , duh )
>
> I am running Online 7.14 so it cannot do it
> for itself yet on this release.
>
> I suppose it stops mutexes and context switching
> but is it worth the effort? I have a system that is so
> swamped that if you added another 4 processors
> injected with smack one would hardly notice,
> but I have to try something
There can be great benefit. Sometimes, on some systems (especially
Numa architecture systems), there are performance gains above those
achieved by the ONINIT affinity parameters to be had be affining the
VPs yourself. I use a set of scripts that run onstat -g glo to a file
and scans the report for the pids of VPs one VP class at a time
affining each class, round robin, across the available processors.
Doing this and switching back to AIO VPs we achieved 50% better
performance than with ONINIT affinity and KAIO threads which Informix
reports is 50% faster than ONINIT affinity and AIO VPs. One trick is
to affine AIO VPs to the CPUs in the opposite order as the CPU VPs (ie
affine CPU VP#1 to CPU#1 but AIO VP#1 to CPU #12 etc). Since the
lowest numbered VPs of each class do most of the work this keeps the
busiest CPU VPs from interfering with the busiest AIO VPs.
Art S. Kagel