Portable Linux Processor Affinity 1.3.2

Portable Linux Processor Affinity is an attempt to solve the problem of multiple API's for processor affinity within Linux.
The Portable Linux Processor Affinity (PLPA) library does the following, regardless of your Linux distribution, kernel version, and GLibc version:

- Provide consistent behavior
- Provide binary compatibility of processor affinity
- Provide a common API and set of abstractions

PLPA is an attempt to solve the problem that there are multiple API's for processor affinity within Linux. Specifically, the functions sched_setaffinity() and sched_getaffinity() have numbers and types of parameters depending on your Linux vendor and/or version of GLibc. This is quite problematic for applications attempting to use processor affinity in Linux for compile-time, link-time, and run-time reasons.

The PLPA provides a single processor affinity API that developers can write to in order to get both consistent behavior and binary compatibility across different Linux installations (assuming that you have an executable that is otherwise binary Linux portable, of course).

Portable Linux Processor Affinity library was developed by the Open MPI team as a standalone project that can be used by the Linux community. Specifically: it is distributed independently of Open MPI and does not require any part of Open MPI for its compile-, link-, or run-time functionality.

last updated on:
January 6th, 2010, 23:59 GMT
license type:
BSD License 
developed by:
Jeff Squyres
ROOT \ System \ Clustering and Distributed Networks
Portable Linux Processor Affinity
Download Button

In a hurry? Add it to your Download Basket!

user rating 14



Rate it!
What's New in version 1.2
  • The major new feature of this release is the ability to bind processes to specific (core,socket) sets.
  • Specifically, PLPA allows the binding specification to be specified in terms of cores and sockets (vs. Linux virtual processor IDs).
  • Binding to (core,socket) tuples is available through both the C API and the "plpa-taskset" command-line executable.
read full changelog

Add your review!