Skip to main content

Replicating Data for Better Performances in X10

  • Chapter
  • First Online:
Semantics, Logics, and Calculi

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

Abstract

Linguistic primitives for replica-aware coordination offer suitable solutions to the challenging problems of data distribution and locality in large-scale high-performance computing. The data replication mechanisms that had previously been designed to extend Klaim with replicated tuples are now used to experiment with X10, a parallel programming language primarily targeting clusters of multi-core processors linked in a large-scale system via high-performance networks. Our approach aims at allowing the programmer to specify and coordinate the replication of shared data items by taking into account the desired consistency properties. The programmer can hence exploit such flexible mechanisms to adapt data distribution and locality to the needs of the application, in order to improve performance in terms of concurrency and data access. We investigate issues related to replica consistency and provide a performance analysis, which includes scenarios where replica-based specifications and relaxed consistency provide significant performance gains.

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

References

  1. Andrić, M., De Nicola, R., Lluch Lafuente, A.: Replica-based high-performance tuple space computing. In: Holvoet, T., Viroli, M. (eds.) Coordination Models and Languages. LNCS, vol. 9037, pp. 3–18. Springer, Heidelberg (2015)

    Google Scholar 

  2. Bouajjani, A., Enea, C., Hamza, J.: Verifying eventual consistency of optimistic replication systems. In: Jagannathan, S., Sewell, P., (eds.) Proceedings of the 41st Annual ACM, POPL 2014, pp. 285–296. ACM (2014)

    Google Scholar 

  3. Cogumbreiro, T., Hu, R., Martins, F., Yoshida, N.: Dynamic deadlock verification for general barrier synchronisation. In: Cohen, A., Grove, D., (eds.) Proceedings of the 20th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP 2015, pp. 150–160. ACM (2015)

    Google Scholar 

  4. Crafa, S., Cunningham, D., Saraswat, V.A., Shinnar, A., Tardieu, O.: Semantics of (resilient) X10. CoRR, abs/1312.3739 (2013)

    Google Scholar 

  5. De Nicola, R., Ferrari, G., Pugliese, R.: KLAIM: a kernel language for agents interaction and mobility. IEEE Trans. Softw. Eng. 24(5), 315–330 (1998)

    Article  Google Scholar 

  6. Dobson, S.A., Wadsworth, C.P.: Towards a theory of shared data in distributed systems. In: Jelly, I., Gorton, I., Croll, P.R. (eds.) Software Engineering for Parallel and Distributed Systems, pp. 170–182. Chapman & Hall, Boca Raton (1996)

    Chapter  Google Scholar 

  7. Fekete, A.D., Ramamritham, K.: Consistency models for replicated data. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds.) Replication: Theory and Practice. LNCS, vol. 5959, pp. 1–17. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  8. Gligoric, M., Mehlitz, P.C., Marinov, D.: X10X: model checking a new programming language with an “old” model checker. In: Antoniol, G., Bertolino, A., Labiche, Y., (eds.) 2012 IEEE Fifth International Conference, pp. 11–20. IEEE Computer Society (2012)

    Google Scholar 

  9. Goodeve, D., Dobson, S., Nash, J., Davy, J., Dew, P., Kara, M., Wadsworth, C.P.: Towards a model for shared data abstraction with performance. J. Parallel Distrib. Comput. 49, 156–167 (1998)

    Article  MATH  Google Scholar 

  10. Google-Storage: (2015) Web site: https://cloud.google.com/storage/

  11. Gupta, S., Nandivada, V.K.: Imsuite: a benchmark suite for simulating distributed algorithms. J. Parallel Distrib. Comput. 75, 1–19 (2015)

    Article  Google Scholar 

  12. IBM: (2015) Web site for X10: http://x10-lang.org/x10-community/publications-using-x10.html

  13. Imam, S., Sarkar, V.: A case for cooperative scheduling in X10s managed runtime. In: The 2014 X10 Workshop, X10 2014, June 2014

    Google Scholar 

  14. Kumar, V., Hendren, L.J.: MIX10: compiling MATLAB to X10 for high performance. In: Black, A.P., Millstein, T.D., (eds.) Proceedings of the 2014 ACM International Conference, OOPSLA 2014, pp. 617–636. ACM (2014)

    Google Scholar 

  15. Lee, J.K., Palsberg, J.: Featherweight X10: a core calculus for async-finish parallelism. In: Govindarajan, R., Padua, D.A., Hall, M.W., (eds.) Proceedings of the 15th ACM SIGPLAN, pp. 25–36. ACM (2010)

    Google Scholar 

  16. Open-MPI: (2015) Web site for MPI: http://www.open-mpi.org/

  17. Saraswat, V.A., Jagadeesan, R.: Concurrent clustered programming. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 353–367. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  18. Yelick, K.A., Semenzato, L., Pike, G., Miyamot, C., Liblit, B., Krishnamurthy, A., Hilfinger, P.N., Graham, S.L., Gay, D., Colella, P., Aiken, A.: Titanium: a high-performance java dialect. Concurrency Pract. Experience 10(11–13), 825–836 (1998)

    Article  Google Scholar 

Download references

Acknowledgment

This research has been supported by the European projects IP 257414 ASCENS and STReP 600708 QUANTICOL, and by the Italian project PRIN 2010LHT4KM CINA. We are grateful to the managers of the (High Performance) Computing services of IMT and DTU for their support to our experimental investigations and we would like to thank the editors of this volume for giving us the possibility of contributing. Most of all, we would like to thank Hanne and Flemming for all the discussions we have had on many occasions and for believing in the usefulness of Klaim, sometimes even more than its inventors. Without their interest in that language this paper would have never been written.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rocco De Nicola .

Editor information

Editors and Affiliations

A Results for Eight-Places Scenario

A Results for Eight-Places Scenario

Fig. 5.
figure 5figure 5

Scenario with 8 places

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Andrić, M., De Nicola, R., Lluch Lafuente, A. (2016). Replicating Data for Better Performances in X10. In: Probst, C., Hankin, C., Hansen, R. (eds) Semantics, Logics, and Calculi. Lecture Notes in Computer Science(), vol 9560. Springer, Cham. https://doi.org/10.1007/978-3-319-27810-0_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-27810-0_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-27809-4

  • Online ISBN: 978-3-319-27810-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics