Using memory mapping to support cactus stacks in work-stealing runtime systems
Many multithreaded concurrency platforms that use a work-stealing runtime system incorporate a "cactus stack," wherein a function's accesses to stack variables properly respect the function's calling ancestry, even when many of the functions operate in parallel. Unfortunately, su...
Saved in:
| Published in: | PACT '10 : proceedings of the Nineteenth International Conference on Parallel Architectures and Compilation Techniques : September 11-15, 2010, Vienna, Austria pp. 411 - 420 |
|---|---|
| Main Authors: | , , , |
| Format: | Conference Proceeding |
| Language: | English |
| Published: |
ACM
01.09.2010
|
| Subjects: | |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Many multithreaded concurrency platforms that use a work-stealing runtime system incorporate a "cactus stack," wherein a function's accesses to stack variables properly respect the function's calling ancestry, even when many of the functions operate in parallel. Unfortunately, such existing concurrency platforms fail to satisfy at least one of the following three desirable criteria: † full interoperability with legacy or third-party serial binaries that have been compiled to use an ordinary linear stack, † a scheduler that provides near-perfect linear speedup on applications with sufficient parallelism, and † bounded and efficient use of memory for the cactus stack. We have addressed this cactus-stack problem by modifying the Linux operating system kernel to provide support for thread-local memory mapping (TLMM). We have used TLMM to reimplement the cactus stack in the open-source Cilk-5 runtime system. The Cilk-M runtime system removes the linguistic distinction imposed by Cilk-5 between serial code and parallel code, erases Cilk-5's limitation that serial code cannot call parallel code, and provides full compatibility with existing serial calling conventions. The Cilk-M runtime system provides strong guarantees on scheduler performance and stack space. Benchmark results indicate that the performance of the prototype Cilk-M 1.0 is comparable to the Cilk 5.4.6 system, and the consumption of stack space is modest. |
|---|---|
| AbstractList | Many multithreaded concurrency platforms that use a work-stealing runtime system incorporate a "cactus stack," wherein a function's accesses to stack variables properly respect the function's calling ancestry, even when many of the functions operate in parallel. Unfortunately, such existing concurrency platforms fail to satisfy at least one of the following three desirable criteria: † full interoperability with legacy or third-party serial binaries that have been compiled to use an ordinary linear stack, † a scheduler that provides near-perfect linear speedup on applications with sufficient parallelism, and † bounded and efficient use of memory for the cactus stack. We have addressed this cactus-stack problem by modifying the Linux operating system kernel to provide support for thread-local memory mapping (TLMM). We have used TLMM to reimplement the cactus stack in the open-source Cilk-5 runtime system. The Cilk-M runtime system removes the linguistic distinction imposed by Cilk-5 between serial code and parallel code, erases Cilk-5's limitation that serial code cannot call parallel code, and provides full compatibility with existing serial calling conventions. The Cilk-M runtime system provides strong guarantees on scheduler performance and stack space. Benchmark results indicate that the performance of the prototype Cilk-M 1.0 is comparable to the Cilk 5.4.6 system, and the consumption of stack space is modest. |
| Author | I-Ting Angelina Lee Leiserson, Charles E. Zhiyi Huang Boyd-Wickizer, Silas |
| Author_xml | – sequence: 1 surname: I-Ting Angelina Lee fullname: I-Ting Angelina Lee organization: MIT CSAIL, Cambridge, MA, USA – sequence: 2 givenname: Silas surname: Boyd-Wickizer fullname: Boyd-Wickizer, Silas organization: MIT CSAIL, Cambridge, MA, USA – sequence: 3 surname: Zhiyi Huang fullname: Zhiyi Huang organization: MIT CSAIL, Cambridge, MA, USA – sequence: 4 givenname: Charles E. surname: Leiserson fullname: Leiserson, Charles E. organization: MIT CSAIL, Cambridge, MA, USA |
| BookMark | eNotjDtPwzAUhY0EElAyM7D4D6T4fZ0RVUCRKljoXDnODQqtk8h2hPLvaQRn-XQeOrfksh96JOSeszXnSj9yq5UAuV4ohbogRQX2XDDJOFi4JkVK3-ws0JIpfUPe96nrv2jAMMSZBjeOi80DTdM4DjFT73yeEk3Z-WOiXU9_hngsU0Z3WpZx6nMXkKb5HIV0R65ad0pY_HNF9i_Pn5ttuft4fds87UonFOTS1hZtpRsDALWqlFJSCt3wxgiNXhlXV742nqEzFploXMuZxNY4XluAtpIr8vD32yHiYYxdcHE-gNVcy0r-AvgIT2k |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1145/1854273.1854324 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Xplore POP ALL IEEE Xplore All Conference Proceedings IEEE/IET Electronic Library (IEL) (UW System Shared) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE/IET Electronic Library (IEL) (UW System Shared) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 9781450301787 1450301789 |
| EndPage | 420 |
| ExternalDocumentID | 7851539 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IL ACM ALMA_UNASSIGNED_HOLDINGS APO CBEJK GUFHI LHSKQ RIE RIL |
| ID | FETCH-LOGICAL-a247t-8b8e895d6777b494443325d1d625ec46ab9cb6c0ea68e02daf103ef6a1b877f93 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 28 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000286903000039&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 02:40:10 EDT 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a247t-8b8e895d6777b494443325d1d625ec46ab9cb6c0ea68e02daf103ef6a1b877f93 |
| PageCount | 10 |
| ParticipantIDs | ieee_primary_7851539 |
| PublicationCentury | 2000 |
| PublicationDate | 2010-Sept. |
| PublicationDateYYYYMMDD | 2010-09-01 |
| PublicationDate_xml | – month: 09 year: 2010 text: 2010-Sept. |
| PublicationDecade | 2010 |
| PublicationTitle | PACT '10 : proceedings of the Nineteenth International Conference on Parallel Architectures and Compilation Techniques : September 11-15, 2010, Vienna, Austria |
| PublicationTitleAbbrev | PACT |
| PublicationYear | 2010 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| SSID | ssj0000753045 |
| Score | 1.949463 |
| Snippet | Many multithreaded concurrency platforms that use a work-stealing runtime system incorporate a "cactus stack," wherein a function's accesses to stack variables... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 411 |
| SubjectTerms | cactus stack Cilk Concurrent computing Instruction sets interoperability memory mapping Parallel processing Prototypes Runtime serial-parallel reciprocity Synchronization Work stealing |
| Title | Using memory mapping to support cactus stacks in work-stealing runtime systems |
| URI | https://ieeexplore.ieee.org/document/7851539 |
| WOSCitedRecordID | wos000286903000039&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV09T8MwELXaioGpQIv4lgdG3Mbx94yoGFDVAVC3yh9XVKGmVZMg8e-Jk1AYWJhsebF0lvXOvnvvIXTLRPCGW0qYMIFwwQKpQC8hVlDtPKUMam_A1yc1ner53Mw66G7PhQGAuvkMRnFa1_LDxpfxq2wcjeQFM13UVUo2XK39f0oFfbHo16r3UC7GFRLxCpxHcWSR0f7LPqVGj0n_f_seoeEPDQ_P9gBzjDqQnaD-tw8Dbq_lAE3ruj9ex6bZT7y2UXLhDRcbnJfbmF5jb31R5rhKBP17jlcZjt1YJJ5vJKPjKD6wWgNuVJ3zIXqZPDzfP5LWJ4HYlKuCaKdBGxGkUspxw3nUJBOBhuptA55L64x30idgpYYkDXZJEwZLaanTSi0NO0W9bJPBGcJMQiotSKOY4w6sqzKGRHpQVlmT6nCOBjE8i20jhbFoI3Px9_IlOmyK7bEl6wr1il0J1-jAfxSrfHdTn98X3gWdXw |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV27TsMwFLVKQYKpQIt444GRtHH8imdEVUSJOhTUrfLjFlWoDzUJEn9PnITCwMJky4ula1nn2veecxC6pdxZxTQJKFcuYJy6oAC9MNCcxMYSQqH0BnwdyiSJJxM1aqC7LRcGAMrmM-j6aVnLdyub-6-ynjeS51TtoF3OWBRWbK3tj0oBfr7sV-v3EMZ7BRaxAp67fqSe0_7LQKXEj37rfzsfos4PEQ-PthBzhBqwPEatbycGXF_MNkrKyj9e-LbZT7zQXnThDWcrnOZrn2Bjq22Wp7hIBe17iudL7PuxAn_Cno6OvfzAfAG40nVOO-il_zC-HwS1U0KgIyazIDYxxIo7IaU0TDHmVcm4I6543YBlQhtljbAhaBFDGDk9IyGFmdDExFLOFD1BzeVqCacIUwGR0CCUpIYZ0KbIGUJhQWqpVRS7M9T24ZmuKzGMaR2Z87-Xb9D-YPw8nA4fk6cLdFCV3n2D1iVqZpscrtCe_cjm6ea6PMsvOuCgpg |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=PACT+%2710+%3A+proceedings+of+the+Nineteenth+International+Conference+on+Parallel+Architectures+and+Compilation+Techniques+%3A+September+11-15%2C+2010%2C+Vienna%2C+Austria&rft.atitle=Using+memory+mapping+to+support+cactus+stacks+in+work-stealing+runtime+systems&rft.au=I-Ting+Angelina+Lee&rft.au=Boyd-Wickizer%2C+Silas&rft.au=Zhiyi+Huang&rft.au=Leiserson%2C+Charles+E.&rft.date=2010-09-01&rft.pub=ACM&rft.spage=411&rft.epage=420&rft_id=info:doi/10.1145%2F1854273.1854324&rft.externalDocID=7851539 |