Resource Centered Computing delivering high parallel performance
Résumé
Modern parallel programming requires a combination of differentparadigms, expertise and tuning, that correspond to the differentlevels in today's hierarchical architectures. To cope with theinherent difficulty, ORWL (ordered read-write locks) presents a newparadigm and toolbox centered around local or remote resources, suchas data, processors or accelerators. ORWL programmers describe theircomputation in terms of access to these resources during criticalsections. Exclusive or shared access to the resources is grantedthrough FIFOs and with read-write semantic. ORWL partially replaces aclassical runtime and offers a new API for resource centric parallelprogramming. We successfully ran an ORWL benchmark application ondifferent parallel architectures (a multicore CPU cluster, a NUMAmachine, a CPU+GPU cluster). When processing large data we achievedscalability and performance similar to a reference code built on topof MPI+OpenMP+CUDA. The integration of optimized kernels of scientificcomputing libraries (ATLAS and cuBLAS) has been almost effortless, andwe were able to increase performance using both CPU and GPU cores onour hybrid hierarchical cluster simultaneously. We aim to make ORWL anew easy-to-use and efficient programming model and toolbox forparallel developers.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...