Show simple item record

dc.contributor.authorIkarashi, Yuka
dc.contributor.authorQian, Kevin
dc.contributor.authorDroubi, Samir
dc.contributor.authorReinking, Alex
dc.contributor.authorBernstein, Gilbert
dc.contributor.authorRagan-Kelley, Jonathan
dc.date.accessioned2025-05-09T15:04:52Z
dc.date.available2025-05-09T15:04:52Z
dc.date.issued2025-02-03
dc.identifier.isbn979-8-4007-0698-1
dc.identifier.urihttps://hdl.handle.net/1721.1/159246
dc.descriptionASPLOS ’25, March 30-April 3, 2025, Rotterdam, Netherlandsen_US
dc.description.abstractUser-schedulable languages (USLs) help programmers productively optimize programs by providing safe means of transforming them. Current USLs are designed to give programmers exactly the control they want, while automating all other concerns. However, there is no universal answer for what performance-conscious programmers want to control, how they want to control it, and what they want to automate, even in relatively narrow domains. We claim that USLs should, instead, be designed to grow. We present Exo 2, a scheduling language that enables users to define new scheduling operations externally to the compiler. By composing a set of trusted, fine-grained primitives, users can safely write their own scheduling library to build up desired automation. We identify actions (ways of modifying code), inspection (ways of interrogating code), and references (ways of pointing to code) as essential for any user-extensible USL. We fuse these ideas into a new mechanism called Cursors that enables the creation of scheduling libraries in user code. We demonstrate libraries that amortize scheduling effort across more than 80 high-performance kernels, reducing total scheduling code by an order of magnitude and delivering performance competitive with state-of-the-art implementations on three different platforms.en_US
dc.publisherACM|Proceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1en_US
dc.relation.isversionofhttps://doi.org/10.1145/3669940.3707218en_US
dc.rightsCreative Commons Attributionen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleExo 2: Growing a Scheduling Languageen_US
dc.typeArticleen_US
dc.identifier.citationYuka Ikarashi, Kevin Qian, Samir Droubi, Alex Reinking, Gilbert Louis Bernstein, and Jonathan Ragan-Kelley. 2025. Exo 2: Growing a Scheduling Language. In Proceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1 (ASPLOS '25). Association for Computing Machinery, New York, NY, USA, 426–444.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2025-04-01T07:48:31Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2025-04-01T07:48:32Z
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record