[go: up one dir, main page]

Skip to main content

Experiences with Implementing Task Pools in Chapel and X10

  • Conference paper
  • First Online:
Parallel Processing and Applied Mathematics (PPAM 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8385))

  • 1386 Accesses

Abstract

The Partitioned Global Address Space (PGAS) model is a promising approach to combine programmability and performance in an architecture-independent way. Well-known representatives of PGAS languages include Chapel and X10. Both languages incorporate object orientation, but fundamentally differ in their way of accessing remote memory as well as in synchronization constructs and other issues of language design.

This paper reports on and compares experiences in using the languages. We concentrate on the interplay between object orientation and parallelism/distribution, and other issues of coding task parallelism. In particular, we discuss the realization of patterns such as objects that internally contain distributed arrays, and suggest improvements such as support for activity-local and place-local data, as well as scalar variable-based reduction. Our study is based on Unbalanced Tree Search (UTS), a well-known benchmark that uses task pools.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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 EPUB and 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

Similar content being viewed by others

References

  1. Agha, G., Wegner, P., Yonezawa, A. (eds.): Research Directions in Concurrent Object-Oriented Programming. MIT Press, Cambridge (1993)

    Google Scholar 

  2. Chapel Language Specification, Version 0.94. http://chapel.cray.com/papers.html (2013)

  3. Dinan, J., et al.: Unbalanced Tree Search (UTS) benchmark in Chapel. Program source https://chapel.svn.sourceforge.net/svnroot/chapel/trunk/test/studies/uts/ (2007)

  4. Khaldi, D., Jouvelot, P., Ancourt, C., Irigoin, F.: Task parallelism and data distribution: an overview of explicit parallel programming languages. In: Kasahara, H., Kimura, K. (eds.) LCPC 2012. LNCS, vol. 7760, pp. 174–189. Springer, Heidelberg (2013)

    Google Scholar 

  5. Kumar, V., et al.: Work-stealing by stealing states from live stack frames of a running application. In: Proceedings of the ACM SIGPLAN X10 Workshop (2011)

    Google Scholar 

  6. Olivier, S., Huan, J., Liu, J., Prins, J., Dinan, J., Sadayappan, P., Tseng, C.-W.: UTS: an unbalanced tree search benchmark. In: Almási, G., Caşcaval, C., Wu, P. (eds.) LCPC 2006. LNCS, vol. 4382, pp. 235–250. Springer, Heidelberg (2007)

    Google Scholar 

  7. OpenMP Application Program Interface, Version 3.1. http://www.openmp.org (2011)

  8. Philippsen, M.: A survey on concurrent object-oriented languages. Concurr. Pract. Exp. 12(10), 917–980 (2000)

    Article  MATH  Google Scholar 

  9. Publications Using X10. http://x10-lang.org (2013)

  10. Ravichandran, K., Lee, S., Pande, S.: Work stealing for multi-core HPC clusters. In: Jeannot, E., Namyst, R., Roman, J. (eds.) Euro-Par 2011, Part I. LNCS, vol. 6852, pp. 205–217. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  11. Saraswat, V., et al.: Lifeline-based global load balancing. In: Proceedings of the ACM Symposium on Principles and Practice of Parallel Programming, pp. 201–212 (2011)

    Google Scholar 

  12. Shet, A.G., et al.: Programmability of the HPCS languages: a case study with a quantum chemistry kernel. In: Proceedings of the International Parallel and Distributed Processing Symposium. IEEE (2007)

    Google Scholar 

  13. Tardieu, O., et al.: X10 for productivity and performance at scale: a submission to the 2012 HPC Class II challenge. In: Proceedings of the SC Conference on High Performance Computing, Networking, Storage and Analysis. http://x10-lang.org (2012)

  14. UTS. http://hpcrl.cse.ohio-state.edu/wiki/index.php/UTS

  15. X10 Code for UTS. http://x10.svn.sourceforge.net/viewvc/x10/benchmarks/trunk/UTS/

  16. Weiland, M.: Chapel, Fortress and X10: novel languages for HPC. Technical report, HPCx Consortium (2007)

    Google Scholar 

  17. X10 Language Specification, Version 2.4. http://x10-lang.org (2013)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Claudia Fohry .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fohry, C., Breitbart, J. (2014). Experiences with Implementing Task Pools in Chapel and X10. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2013. Lecture Notes in Computer Science(), vol 8385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-55195-6_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-55195-6_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-55194-9

  • Online ISBN: 978-3-642-55195-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics