For the software industry to take advantage of multicore processors, we must allow programmers to arbitrarily compose parallel libraries without sacrificing performance. We argue that high-level task or thread abstractions and a common global scheduler cannot provide effective library composition. Instead, the operating system should expose unvirtualized processing resources that can be shared cooperatively between parallel libraries within an application. Lithe is our system that standardizes and facilitates the exchange of these unvirtualized processing resources between libraries.


* ht-lithe-tbb.tar.gz (Released 9/22/09. Includes TBB and OpenMP ports to Lithe, which allow codes written using TBB and OpenMP to be combined into the same application without the performance penalty of resource oversubscription. Runs on unmodified x86 Linux.)


* Lithe: Enabling Efficient Composition of Parallel Libraries, Heidi Pan, Benjamin Hindman, Krste Asanović, First USENIX Workshop on Hot Topics in Parallelism (HotPar'09), Berkeley, CA, March 2009.

Heidi Pan
Benjamin Hindman
Krste Asanović

Mailing List:
Subscribe to the mailing list by sending an email with the subject "subscribe" (without quotes) to lithe-users [at] lists [dot] eecs [dot] berkeley [dot] edu.

lithe [at] lists [dot] eecs [dot] berkeley [dot] edu