Premium
Balancing parallelization and asynchronization in event‐driven programs with OpenMP
Concurrency And Computation: Practice And ExperiencePeer ReviewedFan Xing +22018Journals
Summary OpenMP is a popular multiprocessing interface to parallelize different domains of applications. A previously proposed extension has made it possible for OpenMP to speedup event‐driven programs. There, a virtual target model extension is used to incrementally introduce asynchronous execution into an OpenMP program. At the same time it allows a mixture of nested parallelism with asynchronous processing. This new possibility raises the question how to use available processors/threads, for parallelism or for asynchronous execution? To investigate the best combination of asynchronization and parallelization, a performance model for measuring parallel event‐driven systems is proposed. Based on queue theory, the theoretical analysis discovers some interesting facts in an event‐driven system. Then, experiments are conducted to study the best practice of improving event‐driven programs and how to balance parallelism and asynchronous execution. By comparing it with the OpenMP tasking model, the evaluations demonstrate the effectiveness and flexibility of the virtual target model, which is able to achieve significantly better parallel event‐driven performance.
This content is not available in your region!
Continue researching from Zendy home
Having issues? Contact support