{"title":"Parallel and distributed programming with Pthreads and Rthreads","authors":"Bernd Dreier, Markus Zahn, T. Ungerer","doi":"10.1109/HIPS.1998.665141","DOIUrl":null,"url":null,"abstract":"The paper describes Rthreads (Remote threads), a software distributed shared memory system that supports sharing of global variables on clusters of computers with physically distributed memory. Other DSM systems either use virtual memory to implement coherence on networks of workstations or require programmers to adopt a special programming model. Rthreads uses primitives to read and write remote data and to synchronize remote accesses similar to the DSM systems that are based on special programming models. Unique aspects of Rthreads are: the primitives are syntactically and semantically closely related to the POSIX thread model (Pthreads). A precompiler automatically transforms Pthreads (source) programs into Rthreads (source) programs. After the transformation the programmer is still able to alter the Rthreads code for optimizing run time. Moreover Pthreads and Rthreads can be mixed within a single program. We support heterogeneous workstation clusters by implementing the Rthreads system on top of PVM, MPI and DCE. We demonstrate that programmer based optimizations may reach a significant performance increase. Our performance results show that the Rthreads system introduces few overhead compared to equivalent programs in the baseline system PVM, and a superior performance compared to the DSM systems, Adsmith and CVM.","PeriodicalId":179985,"journal":{"name":"Proceedings Third International Workshop on High-Level Parallel Programming Models and Supportive Environments","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-03-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Third International Workshop on High-Level Parallel Programming Models and Supportive Environments","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HIPS.1998.665141","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11
Abstract
The paper describes Rthreads (Remote threads), a software distributed shared memory system that supports sharing of global variables on clusters of computers with physically distributed memory. Other DSM systems either use virtual memory to implement coherence on networks of workstations or require programmers to adopt a special programming model. Rthreads uses primitives to read and write remote data and to synchronize remote accesses similar to the DSM systems that are based on special programming models. Unique aspects of Rthreads are: the primitives are syntactically and semantically closely related to the POSIX thread model (Pthreads). A precompiler automatically transforms Pthreads (source) programs into Rthreads (source) programs. After the transformation the programmer is still able to alter the Rthreads code for optimizing run time. Moreover Pthreads and Rthreads can be mixed within a single program. We support heterogeneous workstation clusters by implementing the Rthreads system on top of PVM, MPI and DCE. We demonstrate that programmer based optimizations may reach a significant performance increase. Our performance results show that the Rthreads system introduces few overhead compared to equivalent programs in the baseline system PVM, and a superior performance compared to the DSM systems, Adsmith and CVM.