skip to main content
10.1145/2093157.2093164acmotherconferencesArticle/Chapter ViewAbstractPublication PagespppjConference Proceedingsconference-collections
research-article

Space-based multi-core programming in Java

Authors Info & Claims
Published:24 August 2011Publication History

ABSTRACT

Multi-core processors require programmers to exploit concurrency in software as far as possible. Unfortunately, our current concurrency abstractions make multi-core programming harder than necessary because we have to reduce unintended non-determinism on a very low level of abstraction, for instance via synchronisation mechanisms. In this experience paper we analyse if space-based systems can mitigate multi-core programming in the Java programming language and present the Procol programming model that introduces the space-based choreography of active components, which internally orchestrate fine-grained workflow activities. The main contributions are (1) the Procol programming model, (2) benchmark results of the scalability of different tuple space implementation techniques that we evaluated on different multi-core architectures, (3) benchmark results of the scalability of two equivalent Mandelbrot applications for best-case measurements -- one implemented with the standard Java thread model, one with our Procol programming model. The conclusions drawn from these experiments are (1) tuple space data structures that scale reasonably well can be provided, (2) the performance overhead that Procol imposes is at least for the considered application a reasonable trade-off for the ease of programming provided for multi-core architectures.

References

  1. Marowka, A.: Parallel Computing on any Desktop. Commun. ACM 50, 74--78 (2007) Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sutter, H.: The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software. Dr. Dobb's Journal 30 (2005)Google ScholarGoogle Scholar
  3. Lee, E. A.: The Problem with Threads. IEEE Computer 39, 33--42 (2006) Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gudenkauf, S.: A Coordination-Based Model-Driven Method for Parallel Application Development. Models in Software Engineering, Workshops and Symposia at MODELS 2009, Denver, CO, USA, October 4-9, 2009, Reports and Revised Selected Papers. LNCS 6002, 21--35. Springer Heidelberg (2010) Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Basili, V. R., Caldiera, G., Rombach, H. D.: The Goal Question Metric Approach. Encyclopedia of Software Engineering, 528--532. Wiley (1994)Google ScholarGoogle Scholar
  6. Freisleben, B., Kielmann, T.: Object-Oriented Parallel Programming with Objective Linda. Journal of Systems Architecture (1997)Google ScholarGoogle Scholar
  7. Hasselbring, W.: The ProSet-Linda Approach to Prototyping Parallel Systems. Journal of Systems and Software 43(3), 187--196 (1998) Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gelernter, D.: Generative Communication in Linda. ACM Trans. Program. Lang. Syst. 7, 80--112 (1985) Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ciancarini, P.: Coordination Models and Languages as Software Integrators. ACM Computing Surveys 28, 300--302 (1996) Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Wegner, P.: Why interaction is more powerful than algorithms. Commun. ACM 40(5), 80--91 (1997) Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Scherp, G., Höing, A., Gudenkauf, S., Hasselbring, W., Kao, O.: Using UNICORE and WS-BPEL for Scientific Workflow Execution in Grid. Euro-Par 2009 Workshops - Parallel Processing. LNCS 6043, 335--344. Springer, Heidelberg (2009) Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Melzer, I.: Service-orientierte Architekturen mit Web Services. 2 edn. Elsevier, München (2007)Google ScholarGoogle Scholar
  13. Balzarotti, D., Costa, P., Picco, G. P.: The LighTS tuple space framework and its customization for context-aware applications. Web Intelligence and Agent Systems: An International Journal 5, 215--231. IOS Press (2007) Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Georges, A., Buytaert, D., Eeckhout, L.: Statistically Rigorous Java Performance Evaluation. ACM SIGPLAN Notices - Proceedings of the 2007 OOPSLA conference 42(10), 57--76 (2007) Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Fiedler, D., Walcott, K., Richardson, T., Kapfhammer, G. M., Amer, A.: Towards the Measurement of Tuple Space Performance. ACM SIGMETRICS Performance Evaluation Review 33(3) (2005) Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Goetz, B.: Java Concurrency in Practice. 7th Printing edn. Addison-Wesley, Pearson Education, Inc. (2009)Google ScholarGoogle Scholar
  17. Borkar, S.: Thousand Core Chips - A Technology Perspective. 44th ACM/IEEE Design Automation Conference, 746--749 (2007) Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Wells, G. C., Chalmers, a G., Clayton, P. G.: Linda implementations in Java for concurrent systems. Concurrency and Computation: Practice and Experience 16(10), 1005--1022 (2004) Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Heiser, G.: Many-Core Chips A Case for Virtual Shared Memory. Proceedings of the 2nd Workshop on Managed Many-Core Systems. Washington, DC, USA (2009)Google ScholarGoogle Scholar

Index Terms

  1. Space-based multi-core programming in Java

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        PPPJ '11: Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
        August 2011
        186 pages
        ISBN:9781450309356
        DOI:10.1145/2093157

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 24 August 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate29of58submissions,50%
      • Article Metrics

        • Downloads (Last 12 months)5
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader