Design and implementation of a Parallel Pthread Library (PPL) with parallelism and portability
Chikara Sakamoto, Teruki Miyazaki, Masayuki Kuwayama, Keizo Saisho, Akira Fukuda
Abstract
Chikara Sakamoto, Teruki Miyazaki, Masayuki Kuwayama, Keizo Saisho, Akira Fukuda
Abstract
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
OpenAlex reports 7 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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
Key concepts: Software portability, Computer science, Thread (computing), Task parallelism, Parallel computing, Parallelism (grammar), Instruction-level parallelism, Data parallelism