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...

Full description

Saved in:
Bibliographic Details
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: I-Ting Angelina Lee, Boyd-Wickizer, Silas, Zhiyi Huang, Leiserson, Charles E.
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