Skip to main content
Top
Published in: International Journal of Parallel Programming 6/2021

15-07-2021

Fortress Abstractions in X10 Framework

Authors: Anshu S. Anand, Karthik Sayani, R. K. Shyamasundar

Published in: International Journal of Parallel Programming | Issue 6/2021

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Fortress provides a nice set of abstractions used widely in scientific computing. The use of such abstractions enhances the productivity of programmers/users. Also, in scientific computations, boilerplate code has extensive usage. Keeping this in view, we embed Fortress abstractions in an X10 environment so that we can get better productivity without losing performance. In this paper, we transform Fortress into X10 through a transcompilation system. We describe compilation strategies for a few important constructs and discuss the performance of the generated X10 code with respect to the original Fortress code. The translated X10 code outperforms the original Fortress code with a maximum of 206x speedup achieved in the best case. The system also supports the multiresolution language approach that simplifies parallel programming by allowing domain scientists to write programs in the Fortress syntax that is closer to the mathematical notation. The translated X10 code, which can further be compiled to either C++ or Java, implicitly assures performance and may further be optimized for performance by utilizing the low-level features of X10 (or C++/Java).

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Allen, E., Chase, D., Luchangco, V., Maessen, J.-W., Steele, G.L.: Object-oriented units of measurement. In: Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA ’04), pp. 384–403. ACM, New York (2004) Allen, E., Chase, D., Luchangco, V., Maessen, J.-W., Steele, G.L.: Object-oriented units of measurement. In: Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA ’04), pp. 384–403. ACM, New York (2004)
2.
go back to reference Allen, E., Culpepper, R., Nielsen, J.D., Rafkind, J., Ryu, S.: Growing a syntax. In: Proceedings of Workshop on Foundations of Object-Oriented Languages (2009) Allen, E., Culpepper, R., Nielsen, J.D., Rafkind, J., Ryu, S.: Growing a syntax. In: Proceedings of Workshop on Foundations of Object-Oriented Languages (2009)
3.
go back to reference Bettini, L.: Implementing DSL with Xtext and Xtend, 2nd edn. Packt Publishing, New York (2016) Bettini, L.: Implementing DSL with Xtext and Xtend, 2nd edn. Packt Publishing, New York (2016)
4.
go back to reference Birken, K.: Building code generators for DSLs using a partial evaluator for the Xtend Language. In: Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, Technologies for Mastering Change, Vol. 8802, pp. 407–424. Springer, New York (2014) Birken, K.: Building code generators for DSLs using a partial evaluator for the Xtend Language. In: Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, Technologies for Mastering Change, Vol. 8802, pp. 407–424. Springer, New York (2014)
5.
go back to reference Buckwalter, B.: Dimensional: statically checked physical dimensions for Haskell (2008) Buckwalter, B.: Dimensional: statically checked physical dimensions for Haskell (2008)
6.
go back to reference Callahan, D., Chamberlain, B.L., Zima, H.P.: The cascade high productivity language. In: 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2004), pp. 52–60. IEEE Computer Society (2004) Callahan, D., Chamberlain, B.L., Zima, H.P.: The cascade high productivity language. In: 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2004), pp. 52–60. IEEE Computer Society (2004)
7.
go back to reference Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. SIGPLAN Not. 40, 519–538 (2005)CrossRef Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. SIGPLAN Not. 40, 519–538 (2005)CrossRef
8.
go back to reference de Buffon, Georges-Louis Leclerc Comte: Essai da’rithme’tique morale, Histoire naturelle generale et particuliere, Supplement, 4, 685 (1777) de Buffon, Georges-Louis Leclerc Comte: Essai da’rithme’tique morale, Histoire naturelle generale et particuliere, Supplement, 4, 685 (1777)
9.
go back to reference Dunfield, J.: A unified system of type refinements, Ph.d thesis, Carnegie Mellon University (2007) Dunfield, J.: A unified system of type refinements, Ph.d thesis, Carnegie Mellon University (2007)
10.
go back to reference Ebcioglu, K., Saraswat, V., Sarkar, V.: X10: Programming for hierarchical parallelism and non-uniform data access. In: International Workshop on Language Runtimes OOPSLA (2004) Ebcioglu, K., Saraswat, V., Sarkar, V.: X10: Programming for hierarchical parallelism and non-uniform data access. In: International Workshop on Language Runtimes OOPSLA (2004)
12.
go back to reference Fowler, M.: Domain-Specific Languages. Addison-Wesley, London (2010) Fowler, M.: Domain-Specific Languages. Addison-Wesley, London (2010)
13.
go back to reference Jiang, L., Su, Z.: Osprey: a practical type system for validating dimensional unit correctness of C programs. In: 28th International Conference on Software Engineering (ICSE ’06), pp. 262–271. ACM, New York (2006) Jiang, L., Su, Z.: Osprey: a practical type system for validating dimensional unit correctness of C programs. In: 28th International Conference on Software Engineering (ICSE ’06), pp. 262–271. ACM, New York (2006)
14.
go back to reference Kennedy, A.: Programming Languages and Dimensions. Ph.d Thesis, St Catharines College (1995) Kennedy, A.: Programming Languages and Dimensions. Ph.d Thesis, St Catharines College (1995)
15.
go back to reference Kennedy, A.: Types for units-of-measure: theory and practice. In: Central European Functional Programming School, pp. 268–305. Springer, Berlin, Heidelberg (2009) Kennedy, A.: Types for units-of-measure: theory and practice. In: Central European Functional Programming School, pp. 268–305. Springer, Berlin, Heidelberg (2009)
17.
go back to reference Multiresolution Languages for Portable yet Efficient Parallel Programming, Bradford L. Chamberlain, whitepaper (2007) Multiresolution Languages for Portable yet Efficient Parallel Programming, Bradford L. Chamberlain, whitepaper (2007)
19.
go back to reference Nurkiewicz, T.: Scala traits implementation and interoperability (2013) Nurkiewicz, T.: Scala traits implementation and interoperability (2013)
20.
go back to reference Ryu, S.: Parsing fortress syntax, In: 7th International Conference on Principles and Practice of Programming in Java (PPPJ ’09), pp. 76–84. ACM, New York (2009) Ryu, S.: Parsing fortress syntax, In: 7th International Conference on Principles and Practice of Programming in Java (PPPJ ’09), pp. 76–84. ACM, New York (2009)
21.
go back to reference Steinberg, D., et al.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, ISBN: 0321331885 (2009) Steinberg, D., et al.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, ISBN: 0321331885 (2009)
22.
go back to reference Sun MicroSystems Inc.: The fortress language specification (2008) Sun MicroSystems Inc.: The fortress language specification (2008)
23.
go back to reference Voelter, M., et al.: DSL Engineering-Designing. Implementing and Using Domain-Specific Languages, 1–558 dslbook.org, ISBN: 978-1-4812-1858-0 (2013) Voelter, M., et al.: DSL Engineering-Designing. Implementing and Using Domain-Specific Languages, 1–558 dslbook.org, ISBN: 978-1-4812-1858-0 (2013)
Metadata
Title
Fortress Abstractions in X10 Framework
Authors
Anshu S. Anand
Karthik Sayani
R. K. Shyamasundar
Publication date
15-07-2021
Publisher
Springer US
Published in
International Journal of Parallel Programming / Issue 6/2021
Print ISSN: 0885-7458
Electronic ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-021-00719-w

Other articles of this Issue 6/2021

International Journal of Parallel Programming 6/2021 Go to the issue

Premium Partner