ON THE COMPILATION OF A LANGUAGE FOR GENERAL CONCURRENT TARGET ARCHITECTURES
Abstract
The challenge of programming many-core architectures efficiently and effectively requires models and methods to co-design chip architectures and their software tool chain, using an approach that is both vertical and general. In this paper, we present compilation schemes for a general model of concurrency captured in a parallel language designed for system-level programming and as a target for higher level compilers. We also expose the challenges of integrating these transformation rules into a sequential-oriented compiler. Moreover, we discuss resource mapping inherent to those challenges. Our aim has been to reuse as much of the existing sequential compiler technology as possible in order to harness decades of prior research in compiling sequential languages.
References
- Computer 38(5), 11 (2005), DOI: 10.1109/MC.2005.160. Crossref, ISI, Google Scholar
- Dr. Dobb's Journal 30(3), 292 (2005). Google Scholar
B. Chapman , The Multicore Programming Challenge, APPT '07: Proceedings of Advanced Parallel Processing Technologies4847 (2007) p. 3. Google ScholarE. Haritan , Multicore Design is the Challenge! What is the Solution?, DAC '08: Proceedings of the 45th annual conference on Design automation (2008) pp. 128–130. Google ScholarS. Amarasinghe , (How) Can Programmers Conquer the Multicore Menace?, PACT '08: Proceedings of the 17th international conference on Parallel Architectures and Compilation Techniques (2008) pp. 133–133. Google Scholar- Queue 3(7), 54 (2005), DOI: 10.1145/1095408.1095421. Crossref, Google Scholar
- Intel Software Insight Magazine 16, 24 (2009). Google Scholar
C. R. Jesshope and A. Shafarenko , Concurrency Engineering, ACSAC '08: Proceedings of 13th IEEE Asia-Pacific Computer Systems Architecture Conference (2008) pp. 1–8. Google ScholarT. Bernard , A General Model of Concurrency and its Implementation as Many-Core Dynamic RISC Processors, Proceedings of IC-SAMOS '08 (2008) pp. 1–9. Google Scholar- Journal of Systems Architecture 55(3), 149 (2009), DOI: 10.1016/j.sysarc.2008.07.001. Crossref, ISI, Google Scholar
- M. Lankamp, Developing a Reference Implementation for a Microgrid of Microthreaded Microprocessors, MSc thesis, University of Amsterdam, The Netherlands, Advisor: C. R. Jesshope, Aug. 2007 . Google Scholar
T. D Vu and C. R. Jesshope , Formalizing SANE Virtual Processor in Thread Algebra, ICFEM '07: Proceedings of 9th International Conference on Formal Engineering Methods (Springer-Verlag, 2007) pp. 345–365. Google Scholar- IEEE Transactions on Computers 49(8), 798 (2000), DOI: 10.1109/12.868026. Crossref, ISI, Google Scholar
- ACM Transactions on Programming Languages and Systems 11(4), 598 (1989), DOI: 10.1145/69558.69562. Crossref, ISI, Google Scholar
- The SPARC Architecture Manual Version 9, 2009 , http://www.sparc.org/standards/SPARCV9.pdf . Google Scholar
C. R. Jesshope , μTC - an Intermediate Language for Programming Chip Multiprocessors, ACSAC '06: Proceedings of Pacific Computer Systems Architecture Conference (2006) pp. 147–160. Google Scholar- Hans-J. Boehm, Threads Cannot be Implemented as a Library, in HP Internet Systems and Storage Laboratory, Nov. 2004 . Google Scholar
H. Kasim , Survey on Parallel Programming Model, NPC '08: Proceedings of the IFIP International Conference on Network and Parallel Computing (2008) pp. 266–275. Google Scholar-
F. McMahon , The Livermore FORTRAN Kernels: A Computer Test of the Numerical Performance Range , Technical Report UCRL-53745 ( Lawrence Livermore National Lab. , USA , 1986 ) . Google Scholar - OpenMP Architecture Review Board, The OpenMP Specification for Parallel Programming, version 3.0, 2008 , http://www.openmp.org/mp-documents/spec30.pdf . Google Scholar
- High Performance Computing for Computational Science 4395, 39 (2007). Google Scholar
- SIGPLAN Notices 30(8), 207 (1995), DOI: 10.1145/209937.209958. Crossref, ISI, Google Scholar
T. El-Ghazawi and L. Smith , UPC: Unified Parallel C, SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing (2006) p. 27. Google Scholar- ACM Computing Surveys 30(2), 123 (1998), DOI: 10.1145/280277.280278. Crossref, ISI, Google Scholar


