Skip to main content

Exploring Object-Level Parallelism on Chip Multi-processors

  • Conference paper
Algorithms and Architectures for Parallel Processing (ICA3PP 2012)

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

  • 1394 Accesses

Abstract

Object-oriented programming languages are prevalent at present and the inherent parallelism of a wide range of applications can be expressed as groups of concurrent objects. This paper proposes a new object-level parallel programming model to meet the challenge of parallel programming on chip multi-processors. This object-based computation model maps multiple software objects onto different physical processor cores at runtime. Independent objects can run concurrently and communicate with each other by synchronous, asynchronous, future and broadcast messages. In order to verify the efficiency of this model, a library implementation CPPLib of this model based on C++ is presented. The library implementation of this model requires no extension to existing object-oriented programming languages and provides good salability and portability. The performance of CPPLib is evaluated on both a dual-core desktop computer and an 8-core server using standard benchmarks. Experimental results show that CPPLib achieves average speedup levels of 1.5 and 3.6 on the dual-core desktop computer and the 8-core server, respectively, compared with their serial version.

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. Philippsen, M.: A survey of concurrent object-oriented languages. Concurrency and Computation: Practice and Experience 12, 917–980 (2000)

    MATH  Google Scholar 

  2. Boehm, H.-J.: Threads cannot be implemented as a library. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, Chicago, IL, USA, pp. 261–268 (June 2005)

    Google Scholar 

  3. Wikipedia, Usage share of operating systems (2011), http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

  4. Bienia, C., Kumar, S., Singh, J.P., Li, K.: The PARSEC Benchmark Suite: Characterization and Architectural Implications. In: Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (October 2008)

    Google Scholar 

  5. Sun Microsystems Inc., The Fortress Language Specification, Version 1.0 (2008), http://research.sun.com/projects/plrg/fortress.pdf

  6. IBM Inc., The X10 Programming Language, http://domino.research.ibm.com/comm/research_projects.nsf/pages/x10.index.html

  7. Chamberlain, B.L., Callahan, D., Zima, H.P.: Parallel Programmability and the Chapel Language. International Journal of High Performance Computing Applications 21(3), 291–312 (2007)

    Article  Google Scholar 

  8. Stephen, S.: PROOF: a parallel object-oriented functional computation model. Journal of Parallel and Distributed Computing 12(3), 202–212 (1991)

    Article  MATH  Google Scholar 

  9. http://www.erlang.org

  10. Yu, M., Zang, W.Y., Xie, L., Guo, Y.M.: A Survey of Parallel Object-Oriented Language. Journal of Software 12(6), 822–829 (2001)

    Google Scholar 

  11. Grimshaw, A.S.: Easy-to-Use object-oriented parallel processing with Mentat. IEEE Computer 26(5), 39–51 (1993)

    Article  MathSciNet  Google Scholar 

  12. Gannon, D., Yang, S.X., Beckman, P.: User guide for a portable parallel C++ programming system: pC++. Technical Report, Indiann University (1994)

    Google Scholar 

  13. Carlin, P., Chundy, M., Kesselman, C.: The CC++ language definition, http://globus.isi.edu/ccpp/

  14. Diwan, S., Johnson, E., Gannon, D.: HPC++ and the Europa call reification model. ACM Applied Computing Review 4(1), 251–269 (1996)

    Google Scholar 

  15. Chien, A., Dolby, J., Ganguly, B., et al.: Supporting high level programming with high performance: the Illinois concert system. In: Proceedings of the 2nd International Workshop on High-Level Parallel Programming Models and Supportive Environments, pp. 147–162 (1997)

    Google Scholar 

  16. Bik, A.J.C., Gannon, D.B.: Automatic exploiting implicit parallelism in java. Concurrency, Practice and Experience 9(6), 576–619 (1997)

    Article  Google Scholar 

  17. Giacaman, N., Sinnen, O.: Task Parallelism for Object Oriented Programs. In: Proceeding of the International Symposium on Parallel Architectures, Algorithms and Networks, pp. 13–18 (2008)

    Google Scholar 

  18. Liu, X.: Exploiting Object-Based Parallelism on Multi-Core Multi-Processor Clusters. In: Eighth International Conference on Parallel and Distributed Computing (2007)

    Google Scholar 

  19. Yu, M., Chen, G.H., Yang, X.L., Xie, L., Guo, Y.M.: JAPS-II: a Parallelizing Compiler for Java. Journal of Software 13(4), 739–746 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ji, W., Wang, Y., Huang, Z., Zhao, J., Li, X. (2012). Exploring Object-Level Parallelism on Chip Multi-processors. In: Xiang, Y., Stojmenovic, I., Apduhan, B.O., Wang, G., Nakano, K., Zomaya, A. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2012. Lecture Notes in Computer Science, vol 7440. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33065-0_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33065-0_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33064-3

  • Online ISBN: 978-3-642-33065-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics