Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2723772.2723774acmotherconferencesArticle/Chapter ViewAbstractPublication PagescosmicConference Proceedingsconference-collections
research-article

A Roadmap for a Type Architecture Based Parallel Programming Language

Published: 08 February 2015 Publication History

Abstract

Ever since the end of the era of single processor performance improvement, we observe proliferation of multi and many-core architectures in almost all spheres of computing. Tablets, desktop PCs, workstation clusters, and supercomputers are ripe with multi-core CPUs and/or accelerators. Although there are considerable architectural heterogeneity and scale differences present among these machine architectures, there is also significant commonality in their multi-core building blocks. This situation revives the interest for possibility of parallel programming paradigms that are both efficient and portable across environments.
We have been investigating such a programming paradigm for over a year and half now. Two key aspects of our work are development of a common machine abstraction for diverse hardware platforms and a clear separation of different concerns embodied in parallel programming. This is our first paper describing the philosophy, abstraction mechanism, programming model, and early results of our ongoing project.

References

[1]
Fortress wrapping up. https://blogs.oracle.com/projectfortress/entry/fortress_wrapping_up. Accessed: 2014-10-24.
[2]
A. Alexandrov, M. F. Ionescu, K. E. Schauser, and C. Scheiman. Loggp: Incorporating long messages into the logp model - one step closer towards a realistic model for parallel computation, 1995.
[3]
B. Alpern, L. Carter, and J. Ferrante. Modeling parallel computers as memory hierarchies. In Programming Models for Massively Parallel Computers, 1993. Proceedings, pages 116--123, 1993.
[4]
B. Alpern, L. Carter, and J. Ferrante. Space-limited procedures: a methodology for portable high-performance. In Programming Models for Massively Parallel Computers, 1995, pages 10--17, 1995.
[5]
K. Asanovic, R. Bodik, B. C. Catanzaro, J. J. Gebis, K. Keutzer, D. A. Patterson, W. L. Plishker, J. Shalf, S. W. Williams, K. A. Yelick, M. J. Demmel, W. Plishker, J. Shalf, S. Williams, and K. Yelick. The landscape of parallel computing research: A view from berkeley. Technical report, TECHNICAL REPORT, UC BERKELEY, 2006.
[6]
M. Bauer, J. Clark, E. Schkufza, and A. Aiken. Programming the memory hierarchy revisited: Supporting irregular parallelism in sequoia. SIGPLAN Not., 46(8):13--24, Feb. 2011.
[7]
C. G. Bell, W. Broadley, W. Wulf, A. Newel, C. Pierson, R. Reddy, and S. Rege. Cmmp: The cmu multi-mini-processor computer. Technical report, 1971.
[8]
G. E. Blelloch. Programming parallel algorithms. Commun. ACM, 39(3):85--97, Mar. 1996.
[9]
B. Chamberlain, D. Callahan, and H. Zima. Parallel programmability and the chapel language. Int. J. High Perform. Comput. Appl., 21(3):291--312, Aug. 2007.
[10]
B. L. Chamberlain, S.-E. Choi, E. C. Lewis, C. Lin, L. Snyder, and W. D. Weathersby. Zpl: A machine independent programming language for parallel computers. IEEE Trans. Softw. Eng., 26(3):197--211, Mar. 2000.
[11]
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: An object-oriented approach to non-uniform cluster computing. SIGPLAN Not., 40(10):519--538, Oct. 2005.
[12]
D. Culler, R. Karp, D. Patterson, A. Sahay, K. E. Schauser, E. Santos, R. Subramonian, and T. von Eicken. Logp: Towards a realistic model of parallel computation. In Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP '93, pages 1--12, New York, NY, USA, 1993. ACM.
[13]
L. Dagum and R. Menon. Openmp: an industry standard api for shared-memory programming. Computational Science Engineering, IEEE, 5(1):46--55, 1998.
[14]
T. El-Ghazawi and L. Smith. Upc: Unified parallel c. In Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, SC '06, New York, NY, USA, 2006. ACM.
[15]
K. Fatahalian, T. Knight, M. Houston, M. Erez, D. Horn, L. Leem, J. Park, M. Ren, A. Aiken, W. Dally, and P. Hanrahan. Sequoia: Programming the memory hierarchy. In SC 2006 Conference, Proceedings of the ACM/IEEE, pages 4--4, 2006.
[16]
I. Foster. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995.
[17]
E. Lusk and K. Yelick. Languages for high-productivity computing: The darpa hpcs language project. Parallel Processing Letters, 17(01):89--102, 2007.
[18]
J. Nickolls, I. Buck, M. Garland, and K. Skadron. Scalable parallel programming with cuda. Queue, 6(2):40--53, Mar. 2008.
[19]
D. Notkin, L. Snyder, D. Socha, M. L. Bailey, B. Forstall, K. Gates, R. Greenlaw, W. G. Griswold, T. J. Holman, R. Korry, G. Lasswell, R. Mitchell, and P. A. Nelson. Experiences with poker. In Proceedings of the ACM/SIGPLAN Conference on Parallel Programming: Experience with Applications, Languages and Systems, PPEALS '88, pages 10--20, New York, NY, USA, 1988. ACM.
[20]
R. W. Numrich and J. Reid. Co-array fortran for parallel programming. SIGPLAN Fortran Forum, 17(2):1--31, Aug. 1998.
[21]
E. Photonics. CULA Programmer's Guide. EM Photonics, r17 edition, May 2013.
[22]
H. Shan, N. J. Wright, J. Shalf, K. Yelick, M. Wagner, and N. Wichmann. A preliminary evaluation of the hardware acceleration of the cray gemini interconnect for pgas languages and comparison with mpi. SIGMETRICS Perform. Eval. Rev., 40(2):92--98, Oct. 2012.
[23]
L. Snyder. Annual review of computer science vol. 1, 1986. chapter Type Architectures, Shared Memory, and the Corollary of Modest Potential, pages 289--317. Annual Reviews Inc., Palo Alto, CA, USA, 1986.
[24]
J. Steele, GuyL., E. Allen, D. Chase, C. Flood, V. Luchangco, J.-W. Maessen, and S. Ryu. Fortress (sun hpcs language). In D. Padua, editor, Encyclopedia of Parallel Computing, pages 718--735. Springer US, 2011.
[25]
D. W. Walker, D. W. Walker, J. J. Dongarra, and J. J. Dongarra. Mpi: A standard message passing interface. Supercomputer, 12:56--68, 1996.
[26]
G. V. Wilson and P. Lu, editors. Parallel Programming Using C++. Scientific and Engineering Computation. MIT Press, pub-MIT:adr, 1996. Foreword by Bjarne Stroustrup. Describes fifteen parallel programming systems based on C++.
[27]
M. N. Yanhaona and A. S. Grimshaw. It -- a simple parallel language for hierarchical parallel architectures. Technical report, Technical Report, UVA Computer Science, 2014.
[28]
M. N. Yanhaona and A. S. Grimshaw. The partitioned parallel processing spaces (pcubes) type architecture. Technical report, Technical Report, UVA Computer Science, 2014.
[29]
K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken. Titanium: A high-performance java dialect. In In ACM, pages 10--11, 1998.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
COSMIC '15: Proceedings of the 2015 International Workshop on Code Optimisation for Multi and Many Cores
February 2015
74 pages
ISBN:9781450333160
DOI:10.1145/2723772
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 the author(s) 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: 08 February 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Performance
  2. Portability
  3. Separation of Concerns
  4. Type Architecture

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

COSMIC '15

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 107
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

View Options

Get Access

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