000889149 001__ 889149 000889149 005__ 20210127115259.0 000889149 0247_ $$2doi$$a10.1145/3394277.3401858 000889149 0247_ $$2Handle$$a2128/26687 000889149 037__ $$aFZJ-2021-00074 000889149 1001_ $$0P:(DE-Juel1)161429$$aHaensel, David$$b0$$eCorresponding author 000889149 1112_ $$aPASC '20: Platform for Advanced Scientific Computing Conference$$cGeneva$$d2020-06-29 - 2020-07-01$$wSwitzerland 000889149 245__ $$aEventify: Event-Based Task Parallelism for Strong Scaling 000889149 260__ $$bACM New York, NY, USA$$c2020 000889149 29510 $$aProceedings of the Platform for Advanced Scientific Computing Conference - ACM New York, NY, USA, 2020. - ISBN 9781450379939 - doi:10.1145/3394277.3401858 000889149 300__ $$a1-10 000889149 3367_ $$2ORCID$$aCONFERENCE_PAPER 000889149 3367_ $$033$$2EndNote$$aConference Paper 000889149 3367_ $$2BibTeX$$aINPROCEEDINGS 000889149 3367_ $$2DRIVER$$aconferenceObject 000889149 3367_ $$2DataCite$$aOutput Types/Conference Paper 000889149 3367_ $$0PUB:(DE-HGF)8$$2PUB:(DE-HGF)$$aContribution to a conference proceedings$$bcontrib$$mcontrib$$s1609945551_6559 000889149 3367_ $$0PUB:(DE-HGF)7$$2PUB:(DE-HGF)$$aContribution to a book$$mcontb 000889149 520__ $$aToday's processors become fatter, not faster. However, the exploitation of these massively parallel compute resources remains a challenge for many traditional HPC applications regarding scalability, portability and programmability. To tackle this challenge, several parallel programming approaches such as loop parallelism and task parallelism are researched in form of languages, libraries and frameworks. Task parallelism as provided by OpenMP, HPX, StarPU, Charm++ and Kokkos is the most promising approach to overcome the challenges of ever increasing parallelism. The aforementioned parallel programming technologies enable scalability for a broad range of algorithms with coarse-grained tasks, e. g. in linear algebra and classical N-body simulation. However, they do not fully address the performance bottlenecks of algorithms with fine-grained tasks and the resultant large task graphs. Additionally, we experienced the description of large task graphs to be cumbersome with the common approach of providing in-, out- and inout-dependencies. We introduce event-based task parallelism to solve the performance and programmability issues for algorithms that exhibit fine-grained task parallelism and contain repetitive task patterns. With user-defined event lists, the approach provides a more convenient and compact way to describe large task graphs. Furthermore, we show how these event lists are processed by a task engine that reuses user-defined, algorithmic data structures. As use case, we describe the implementation of a fast multipole method for molecular dynamics with event-based task parallelism. The performance analysis reveals that the event-based implementation is 52 % faster than a classical loop-parallel implementation with OpenMP. 000889149 536__ $$0G:(DE-HGF)POF3-511$$a511 - Computational Science and Mathematical Methods (POF3-511)$$cPOF3-511$$fPOF III$$x0 000889149 536__ $$0G:(DE-Juel1)PHD-NO-GRANT-20170405$$aPhD no Grant - Doktorand ohne besondere Förderung (PHD-NO-GRANT-20170405)$$cPHD-NO-GRANT-20170405$$x1 000889149 588__ $$aDataset connected to CrossRef Conference 000889149 7001_ $$0P:(DE-Juel1)169856$$aMorgenstern, Laura$$b1$$ufzj 000889149 7001_ $$0P:(DE-Juel1)157750$$aBeckmann, Andreas$$b2$$ufzj 000889149 7001_ $$0P:(DE-Juel1)132152$$aKabadshow, Ivo$$b3$$ufzj 000889149 7001_ $$0P:(DE-Juel1)132079$$aDachsel, Holger$$b4$$ufzj 000889149 773__ $$a10.1145/3394277.3401858 000889149 8564_ $$uhttps://dl.acm.org/doi/pdf/10.1145/3394277.3401858 000889149 8564_ $$uhttps://juser.fz-juelich.de/record/889149/files/3394277.3401858.pdf$$yOpenAccess 000889149 909CO $$ooai:juser.fz-juelich.de:889149$$pdnbdelivery$$pdriver$$pVDB$$popen_access$$popenaire 000889149 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)161429$$aForschungszentrum Jülich$$b0$$kFZJ 000889149 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)169856$$aForschungszentrum Jülich$$b1$$kFZJ 000889149 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)157750$$aForschungszentrum Jülich$$b2$$kFZJ 000889149 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)132152$$aForschungszentrum Jülich$$b3$$kFZJ 000889149 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)132079$$aForschungszentrum Jülich$$b4$$kFZJ 000889149 9131_ $$0G:(DE-HGF)POF3-511$$1G:(DE-HGF)POF3-510$$2G:(DE-HGF)POF3-500$$3G:(DE-HGF)POF3$$4G:(DE-HGF)POF$$aDE-HGF$$bKey Technologies$$lSupercomputing & Big Data$$vComputational Science and Mathematical Methods$$x0 000889149 9141_ $$y2020 000889149 915__ $$0StatID:(DE-HGF)0510$$2StatID$$aOpenAccess 000889149 920__ $$lyes 000889149 9201_ $$0I:(DE-Juel1)JSC-20090406$$kJSC$$lJülich Supercomputing Center$$x0 000889149 9201_ $$0I:(DE-Juel1)IAS-7-20180321$$kIAS-7$$lZivile Sicherheitsforschung$$x1 000889149 980__ $$acontrib 000889149 980__ $$aVDB 000889149 980__ $$aUNRESTRICTED 000889149 980__ $$acontb 000889149 980__ $$aI:(DE-Juel1)JSC-20090406 000889149 980__ $$aI:(DE-Juel1)IAS-7-20180321 000889149 9801_ $$aFullTexts