首页 | 本学科首页   官方微博 | 高级检索  
     


Adaptive execution techniques of parallel programs for multiprocessors
Authors:Jaejin Lee  Jung-Ho Park  Honggyu Kim  Changhee Jung  Daeseob Lim  SangYong Han
Affiliation:1. School of Computer Science and Engineering, Seoul National University, Seoul 151-744, Korea1;2. School of Computer Science, Georgia Tech, 801 Atlantic Drive, Atlanta, GA 30332-0280, USA
Abstract:In simultaneous multithreading (SMT) multiprocessors, using all the available threads (logical processors) to run a parallel loop is not always beneficial due to the interference between threads and parallel execution overhead. To maximize the performance of a parallel loop on an SMT multiprocessor, it is important to find an appropriate number of threads for executing the parallel loop. This article presents adaptive execution techniques that find a proper execution mode for each parallel loop in a conventional loop-level parallel program on SMT multiprocessors. A compiler preprocessor generates code that, based on dynamic feedbacks, automatically determines at run time the optimal number of threads for each parallel loop in the parallel application. We evaluate our technique using a set of standard numerical applications and running them on a real SMT multiprocessor machine with 8 hardware contexts. Our approach is general enough to work well with other SMT multiprocessor or multicore systems.
Keywords:Simultaneous multithreading  Adaptive execution  Multiprocessors  Multicores  Performance estimation  Performance counters  Compiler preprocessors
本文献已被 ScienceDirect 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号