Deploying a Non-NUMA Aligned Instance in RHEL OSP

amd_45nm_2.jpg

When you Nova boot an instance in an OSP Overcloud deployed using SR-IOV and CPU Pinning, that instance will be NUMA aligned, meaning that its vCPUs, memory, and SR-IOV VF (Virtual Function) will all be local to the same NUMA node.  Nova will not allow you to deploy a non-NUMA aligned instance in such an environment (which you might want to do when testing the cross-NUMA penalty of your hardware).

If you are looking to misalign an instance for the purpose of testing, you can use the following process.

First, ssh to the Compute node running your test instance.  In the example below, we can see that the libvirt shows VM three as being pinned to odd numbered cores. On this hardware that means, NUMA node 1.

In this example, our VM has 4 cores.

# virsh vcpupin 3
VCPU: CPU Affinity
——————————
   0: 11
   1: 35
   2: 17
   3: 41
Using virsh vcpupin you can move the pinned VM cores to the pCPUs local to numa node 0.
In the example below, we start my migrating vCPU 0 to pCPU 12.
# virsh vcpupin 3 0 12
Now we migrate vCPU 1 to pCPU 14.
# virsh vcpupin 3 1 14
Now we migrate vCPU 2 to pCPU 18.
# virsh vcpupin 3 2 18
Now we migrate vCPU 3 to pCPU 20.
# virsh vcpupin 3 3 20
Now, pinning now appears as follows.
# virsh vcpupin 3
VCPU: CPU Affinity
———————————-
   0: 12
   1: 14
   2: 18
   3: 20

Roxio Toast Titanium on Mac OS X opening / running very slow – hello DTrace!

ToastIf you find Toast is running very slow on your Mac and you've tried all the other fixes, check to make sure you don't have any mounts defined on your Mac as Toast will continue to try and mount them ad nauseum – thereby causing the slowness.  You can check Directory Utility to see if there are mounts you forgot about.

If that's not it, it is time to embrace the built-in DTrace tools Mac has for your computing pleasure.  This can help you track the calls Roxio makes when it's appears to be running dog slow.

Dtruss is very much like truss or strace – it will show you system calls made by whatever you are dtrussing.  If what you are trying to figure out is shortlived, execsnoop is also your friend as it will show you system calls for any new processes as they are spawned.

Dtruss and execsnoop show when Toast starts up that automountd is always called, thus stale NFS mounts could be causing you headaches.

RedHat Performance Tuning: The Man Pages

OTF365091S This my first post following my week long Redhat Monitoring and Performance Tuning Course (RH442). This course was rather intense and dealt mostly with concepts and theories rather and was not at all a how-to on performance tuning. I am going to do my best to document some of what I learned.  Lets start with the documentation…

Man Pages, are the extensive documentation that comes installed by default on a linux system. They are seperated into 9 books or sections.

  1. General Commands
  2. System Calls
  3. C Library Functions
  4. Special FIles and Drivers
  5. FIle Formats
  6. Games/Screensavers
  7. Protocols
  8. System Admin Commands and Daemons

To access a particular book you specify the book name after the man command. For example:

#man 1 printf

which is different than…

#man 3 printf

To find all the man pages related to printf, you run a the following

#man -k printf

Which gives you the output below listing all man pages related to printf. These specific ones are all on the the printf command specifically. Similarly you can use the apropos command and get the same output

To see only the man pages for printf run the command below

#man -f printf

Which will return only what you see below.

printf (1)           – format and print data
printf (1p)          – write formatted output
printf (3)           – formatted output conversion
printf (3p)          – print formatted output