NIK2009 - Dependency-driven Parallel Programming
|Forfattere||Eva Burrows, Magne Haveraaen|
|Institusjon||University of Bergen|
|Publikasjon||Norsk informatikkonferanse (NIK)|
|ISSN/ISSN2||1892-0713 (trykk) / 1892-0721 (online)/|
|Utgiver||Tapir Akademisk Forlag|
|Adresse utgiver||Nardoveien 12 7005 Trondheim|
AbstraktWith the appearance of low-cost, highly parallel hardware architectures,
software portability between such architectures is in great demand. Software
design lacks programming models to keep up with the continually increasing
parallelism of today’s hardware. This setting calls for alternative thinking
in programming. When a computation has a static data-dependency pattern,
extracting this pattern as a separate entity in a programming language, one
can reformulate the computations. As a consequence, data-dependencies
become active participants in the problem solving code. This allows us to
deal with parallelism at a high-level. Data-dependency abstractions facilitate
the mapping of computations to different hardware architecture without the
need of rewriting the problem solving code. This in turn addresses portability
and reusability issues.
Referanser A. H. Bagge. Constructs & Concepts, Language Design for Flexibility and
Reliability. PhD thesis, Department of Informatics, University of Bergen, Norway,
 E. Burrows and M. Haveraaen. A hardware independent parallel programming
model. Journal of Logic and Algebraic Programming, 78:519–538, 2009.
 T. Chen, R. Raghavan, J. N. Dale, and E. Iwata. Cell Broadband Engine Architecture
and its first implementation – A performance view. IBM Journal of Research and
Development, 51(5):559–572, 2007.
 V. Cyras and M. Haveraaen. Programming with data dependencies: a comparison
of two approaches. In U. H. Engberg, K. G. Larsen, and P. D. Mosses, editors,
Proceedings of the 5th Nordic Workshop on program correctness, 1994., number
94-6 in BRICS notes series, pages 112–126, 1994.
 N. Govindaraju, J. Gray, R. Kumar, and D. Manocha. Gputerasort: high performance
graphics co-processor sorting for large database management. In SIGMOD ’06:
Proceedings of the 2006 ACM SIGMOD international conference on Management
of data, pages 325–336, New York, NY, USA, 2006. ACM.
 M. Haveraaen. Data dependencies and space time algebras in parallel programming.
Technical Report 45, Department of Informatics, University of Bergen, Norway,
 W. L. Miranker and A. Winkler. Spacetime representations of computational
structures. Computing, 32(2):93–114, 1984.
 NVIDIA. CUDA Programming Guide. Technical report, Nvidia, 2009.
 N. Satish, M. Harris, and M. Garland. Designing efficient sorting algorithms for
manycore gpus. In Parallel & Distributed Processing, 2009. IPDPS 2009. IEEE
International Symposium on, pages 1–10, 2009.
 E. Sintorn and U. Assarsson. Fast parallel gpu-sorting using a hybrid algorithm. J.
Parallel Distrib. Comput., 68(10):1381–1388, 2008.
 H. Stone. Parallel processing with the perfect shuffle. Computers, IEEE
Transactions on, C-20(2):153–161, Feb. 1971.
 M. Wolfe, editor. High Performance Compilers for Parallel Computing. Addison
Wesley; Reading, Mass., 1996.