Design and implementation of a Parallel Pthread Library (PPL) with parallelism and portability

Although multi thread libraries have been implemented to provide threads—a unit of concurrent/parallel execution—at user level, there is no thread library that provides both parallelism and portability. We designed and implemented the PPL (Parallel Pthread Library) with the following two requirements in mind: (1) It should permit parallel execution according to the system, and (2) it should provide a common thread environment for many operating systems and be highly portable. We employed a multi-routine approach to realize parallelism, separating the internal structure of PPL into two parts to expedite portability: namely, a virtual processor dependent module and a virtual processor-independent module. We implemented PPL in several systems and compared its performance with other user-level threads. Furthermore, we evaluated parallelism in multi-processor systems. The results show that PPL has sufficient portability and parallelism. © 1998 Scripta Technica. Syst Comp Jpn, 29(2): 28–35, 1998