I've just noticed Servet in the ipdps 2010 proceedings. There
are probably interesting things to do between Servet and hwloc
On one hand, servet could use hwloc to get binding implementations
on various OSes. Indeed, Servet version 1.0 actually doesn't even
build on Debian Linux systems: you need to #define _GNU_SOURCE
before including <sched.h>, and then use CPU_ZERO/CPU_SET instead of
__CPU_ZERO/__CPU_SET, and these are specific to Linux of course. Just
using hwloc for that part will provide you wide OS support.
On the other hand hwloc has the following TODO item: on OSes or systems
which don't know the cache size and sharing from the hardware itself,
just find out from measures, which is exactly what Servet just does :)
Ideally, Servet would be using the BSD licence but it's currently GPL.
Maybe a compromise would be to make Servet a library which some BSD
plugin of hwloc could be compiled against if the user already has Servet
installed. That would need Servet made a library.
What do you think?