Author:
SIVARAMAKRISHNAN K. C.,HARRIS TIM,MARLOW SIMON,PEYTON JONES SIMON
Abstract
AbstractThe runtime for a modern, concurrent, garbage collected language like Java or Haskell is like an operating system: sophisticated, complex, performant, but alas very hard to change. If more of the runtime system were in the high-level language, it would be far more modular and malleable. In this paper, we describe a novel concurrency substrate design for the Glasgow Haskell Compiler that allows multicore schedulers for concurrent and parallel Haskell programs to be safely and modularly described as libraries in Haskell. The approach relies on abstracting the interface to the user-implemented schedulers through scheduler activations, together with the use of Software Transactional Memory to promote safety in a multicore context.
Publisher
Cambridge University Press (CUP)
Reference40 articles.
1. STMLibrary. (2016) Control.Concurrent.STM. Available at: http://hackage.haskell.org/package/stm-2.1.1.0/docs/Control-Concurrent-STM.html. Last accessed 10th June 2016.
2. Shootout. (2016) The Computer Language Benchmarks Game. Available at: http://benchmarksgame.alioth.debian.org/. Last accessed 10th June 2016.
3. Baumann A. , Barham P. , Dagand P.-E. , Harris T. , Isaacs R. , Peter S. , Roscoe T. , Schüpbach A. & Singhania A. (2009) The multikernel: A new OS architecture for scalable multicore systems. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, SOSP '09. Big Sky, Montana, USA: ACM, New York, NY, USA, pp. 29–44.
4. Vouillon J. (2008) Lwt: A cooperative thread library. In Proceedings of the 2008 ACM SIGPLAN Workshop on ML, ML '08. New York, NY, USA: ACM, pp. 3–12.
5. Bruggeman C. , Waddell O. & Dybvig R. K. (1996) Representing control in the presence of one-shot continuations. In Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, PLDI '96. Philadelphia, Pennsylvania, USA: ACM, New York, NY, USA, pp. 99–107.
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Securing Asynchronous Exceptions;2020 IEEE 33rd Computer Security Foundations Symposium (CSF);2020-06
2. User-Level Transaction Scheduling in Haskell;2018 Symposium on High Performance Computing Systems (WSCAD);2018-10
3. Concurrent System Programming with Effect Handlers;Lecture Notes in Computer Science;2018