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

Space-based multi-core programming in Java

Published: 24 August 2011 Publication 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)
[2]
Sutter, H.: The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software. Dr. Dobb's Journal 30 (2005)
[3]
Lee, E. A.: The Problem with Threads. IEEE Computer 39, 33--42 (2006)
[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)
[5]
Basili, V. R., Caldiera, G., Rombach, H. D.: The Goal Question Metric Approach. Encyclopedia of Software Engineering, 528--532. Wiley (1994)
[6]
Freisleben, B., Kielmann, T.: Object-Oriented Parallel Programming with Objective Linda. Journal of Systems Architecture (1997)
[7]
Hasselbring, W.: The ProSet-Linda Approach to Prototyping Parallel Systems. Journal of Systems and Software 43(3), 187--196 (1998)
[8]
Gelernter, D.: Generative Communication in Linda. ACM Trans. Program. Lang. Syst. 7, 80--112 (1985)
[9]
Ciancarini, P.: Coordination Models and Languages as Software Integrators. ACM Computing Surveys 28, 300--302 (1996)
[10]
Wegner, P.: Why interaction is more powerful than algorithms. Commun. ACM 40(5), 80--91 (1997)
[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)
[12]
Melzer, I.: Service-orientierte Architekturen mit Web Services. 2 edn. Elsevier, München (2007)
[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)
[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)
[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)
[16]
Goetz, B.: Java Concurrency in Practice. 7th Printing edn. Addison-Wesley, Pearson Education, Inc. (2009)
[17]
Borkar, S.: Thousand Core Chips - A Technology Perspective. 44th ACM/IEEE Design Automation Conference, 746--749 (2007)
[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)
[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)

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

  • DTU: Technical University of Denmark
  • ORACLE: ORACLE

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 August 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. multi-core
  3. multi-core programming
  4. space-based systems

Qualifiers

  • Research-article

Conference

PPPJ '11
Sponsor:
  • DTU
  • ORACLE
PPPJ '11: Principles and Practice of Programming in Java
August 24 - 26, 2011
Kongens Lyngby, Denmark

Acceptance Rates

Overall Acceptance Rate 29 of 58 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 168
    Total Downloads
  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media