Trasgo: a nested-parallel programming system
- 95 Downloads
Programming models of pure nested-parallelism are appealing due to their ease of programming and good analysis and debugging properties. Although their simple synchronization structure is appropriate to represent abstract parallel algorithms, it does not take into account many implementation issues. In this work we present Trasgo, a programming system based on high-level, nested-parallel specifications. We show how it allows to easily express complex combinations of data and task parallelism with a common scheme, hiding the layout and scheduling details. The approach allows the development of a modular compiler where automatic transformation techniques may exploit lower level and more complex synchronization structures, unlocking the limitations of pure nested-parallel programming. This article presents an overview of the features of Trasgo, and its architecture. We present some performance results using well-known parallel algorithms, and a roadmap of improvements and new features to be added to Trasgo.
Unable to display preview. Download preview PDF.
- 1.Bikshandi G, Guo J, Hoeflinger D, Almasi G, Fraguela BB, Garzarn MJ, Padua D, von Praun C (2006) Programming for parallelism and locality with hierarchical tiled arrays. In: PPoPP’06. ACM, New York, pp 48–57 Google Scholar
- 2.Blumofe RD, Leiserson CE (1994) Scheduling multithreaded computations by work-stealing. In: Proc annual symp on FoCS, pp 356–368 Google Scholar
- 4.Gorlatch S, (2001) Send-Recv considered harmful? Myths and truths about parallel programming. In: Malyshkin V (ed) PaCT’2001. LNCS, vol 2127. Springer, Berlin, pp 243–257 Google Scholar
- 5.Lodaya K, Weil P (1998) Series-parallel posets: Algebra, automata, and languages. In: Proc STACS’98, Paris, France. LNCS, vol 1373. Springer, Berlin, pp 555–565 Google Scholar
- 7.Reinders J (2007) Intel threading building blocks: outfitting C++ for multi-core processor parallelism. O’Reilly, Sebastopol Google Scholar
- 9.Skillicorn DB (1996) miniBSP: A BSP language and transformation system. Technical report, Dept of Computing and Information Sciences, Queen’s University, Kingston, Canada Google Scholar
- 12.van Gemund AJC (1997) The importance of synchronization structure in parallel program optimization. In: Proc 11th ACM ICS, Vienna, pp 164–171 Google Scholar
- 13.VanderWiel SP, Nathanson D, Lilja DJ (1997) Complexity and performance in parallel programming. In: Proc HIPS’97, Geneva, Switzerland. IEEE Comput. Soc, Los Alamitos Google Scholar