{"title":"Gossamer: A Lightweight Approach to Using Multicore Machines","authors":"J. Roback, G. Andrews","doi":"10.1109/ICPP.2010.12","DOIUrl":null,"url":null,"abstract":"The key to performance improvements in the multi-core era is for software to utilize the available concurrency. This paper presents a lightweight programming framework called Gossamer that is easy to use, enables the solution of a broad range of parallel programming problems, and produces efficient code. Gossamer contains (1) a set of high-level annotations that one adds to a sequential program to specify concurrency and synchronization, (2) a source-to-source translator that produces an optimized program that uses our threading library, and (3) a run-time system that provides efficient threads and synchronization. Gossamer supports iterative and recursive parallelism, pipelined computations, domain decomposition, and MapReduce computations.","PeriodicalId":180554,"journal":{"name":"2010 39th International Conference on Parallel Processing","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 39th International Conference on Parallel Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPP.2010.12","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
The key to performance improvements in the multi-core era is for software to utilize the available concurrency. This paper presents a lightweight programming framework called Gossamer that is easy to use, enables the solution of a broad range of parallel programming problems, and produces efficient code. Gossamer contains (1) a set of high-level annotations that one adds to a sequential program to specify concurrency and synchronization, (2) a source-to-source translator that produces an optimized program that uses our threading library, and (3) a run-time system that provides efficient threads and synchronization. Gossamer supports iterative and recursive parallelism, pipelined computations, domain decomposition, and MapReduce computations.