Skip to main content

Scheduling Light-Weight Parallelism in ArTCoP

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4902))

Included in the following conference series:

Abstract

We present the design and prototype implementation of the scheduling component in ArTCoP(architecture transparent control of parallelism), a novel run-time environment (RTE) for parallel execution of high-level languages. A key feature of ArTCoP is its support for deep process and memory hierarchies, shown in the scheduler by supporting light-weight threads. To realise a system with easily exchangeable components, the system defines a micro-kernel, providing basic infrastructure, such as garbage collection. All complex RTE operations, including the handling of parallelism, are implemented at a separate system level. By choosing Concurrent Haskell as high-level system language, we obtain a prototype in the form of an executable specification that is easier to maintain and more flexible than conventional RTEs. We demonstrate the flexibility of this approach by presenting implementations of a scheduler for light-weight threads in ArTCoP, based on GHC Version 6.6.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Al Zain, A.D., Trinder, P.W., Loidl, H-W., Michaelson, G.: Managing Heterogeneity in a Grid Parallel Haskell. Scalable Computing: Practice and Experience 7(3), 9–26 (2006)

    Google Scholar 

  2. Berthold, J.: Towards a Generalised Runtime Environment for Parallel Haskells. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds.) ICCS 2004. LNCS, vol. 3038, p. 297. Springer, Heidelberg (2004)

    Google Scholar 

  3. Berthold, J., Loogen, R.: Parallel coordination made explicit in a functional setting. In: IFL 2006. LNCS, vol. 4449, pp. 73–90. Springer, Heidelberg (2007)

    Google Scholar 

  4. Biagioni, E., Fu, G.: The Hello Operating System, http://www2.ics.hawaii.edu/~esb/prof/proj/hello/

  5. Fluet, M., Ford, N., Rainey, M., Reppy, J., Shaw, A., Xiao, Y.: Status Report: The Manticore Project. In: Proceedings of the ACM SIGPLAN Workshop on ML, Freiburg, Germany, pp. 15–24 (October 2007)

    Google Scholar 

  6. Foster, I., Kesselman, C., Tuecke, S.: The anatomy of the Grid: Enabling scalable virtual organizations. International Journal of High Performance Computing Applications 15(3), 200–222 (2001)

    Article  Google Scholar 

  7. Hallgren, T., Jones, M.P., Leslie, R., Tolmach, A.P.: A Principled Approach to Operating System Construction in Haskell. In: ICFP 2005. Conf. on Functional Programming, Tallinn, Estonia, September 26–28, pp. 116–128. ACM Press, New York (2005)

    Chapter  Google Scholar 

  8. Henderson, P.: Purely Functional Operating Systems. In: Functional Programming and its Applications, Cambridge University Press, Cambridge (1982)

    Google Scholar 

  9. Holyer, I., Davies, N., Dornan, C.: The Brisk Project: Concurrent and Distributed Functional Systems. In: Glasgow Workshop on Functional Programming, Electronic Workshops in Computing, Ullapool, Scotland, Springer, Heidelberg (1995)

    Google Scholar 

  10. Jagannathan, S., Philbin, J.: A Customizable Substrate for Concurrent Languages. In: PLDI 1992. Conf. on Programming Language Design and Implementation, pp. 55–67. ACM Press, New York (1992) (ACM SIGPLAN Notices 27(7))

    Google Scholar 

  11. Karlsson, K.: Nebula, a Functional Operating System. Technical report, Chalmers University (1981)

    Google Scholar 

  12. King, D.J., Wadler, P.: Combining Monads. Technical report, University of Glasgow (1993)

    Google Scholar 

  13. Peng Li, A.T., Marlow, S., Peyton Jones, S.: Lightweight Concurrency Primitives for GHC. In: Haskell Workshop, Freiburg, Germany, pp. 107–118 (2007)

    Google Scholar 

  14. Perry, N.: Towards a Functional Operating System. Technical report, Dept. of Computing, Imperial College, London, UK (1988)

    Google Scholar 

  15. Peyton Jones, S.L., Gordon, A., Finne, S.: Concurrent Haskell. In: POPL 1996. Symp on Principles of Programming Languages, ACM Press, New York (1996)

    Google Scholar 

  16. Rabhi, F.A., Gorlatch, S. (eds.): Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2002)

    Google Scholar 

  17. Shapiro, E.: Systems Programming in Concurrent Prolog. In: POPL 1984. Symp. on Principles of Programming Languages, Salt Lake City, Utah (1984)

    Google Scholar 

  18. Stoye, W.R.: A New Scheme for Writing Functional Operating Systems. Technical Report 56, Computer Lab, Cambridge University (1984)

    Google Scholar 

  19. Trinder, P.W., Hammond, K., Mattson, J.S., Partridge, A.S., Peyton Jones, S.L.: GUM: A Portable Parallel Implementation of Haskell. In: PLDI 1996. Conf. on Programming Language Design and Implementation, Philadelphia, pp. 79–88 (1996)

    Google Scholar 

  20. Turner, D.: Functional Programming and Communicating Processes. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds.) PARLE. LNCS, vol. 259, pp. 54–74. Springer, Heidelberg (1987)

    Google Scholar 

  21. van Weelden, A., Plasmeijer, R.: Towards a Strongly Typed Functional Operating System. In: Peña, R., Arts, T. (eds.) IFL 2002. LNCS, vol. 2670, pp. 45–72. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Paul Hudak David S. Warren

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Berthold, J., Al Zain, A., Loidl, HW. (2007). Scheduling Light-Weight Parallelism in ArTCoP . In: Hudak, P., Warren, D.S. (eds) Practical Aspects of Declarative Languages. PADL 2008. Lecture Notes in Computer Science, vol 4902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77442-6_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77442-6_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77441-9

  • Online ISBN: 978-3-540-77442-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics