The Cilkview Scalability Analyzer

Yuxiong He,Charles E. Leiserson, William M. Leiserson

SPAA(2010)

引用 69|浏览79
暂无评分
摘要
The Cilkview scalability analyzer is a software tool for profiling, estimating scalability, and benchmarking multithreaded Cilk++ applications Cilkview monitors logical parallelism during an instrumented execution of the Cilk++ application on a single processing core. As Cilkview executes, it analyzes logical dependencies within the computation to determine its work and span (critical-path length) These metrics allow Cilkview to estimate parallelism and predict how the application will scale with the number of processing cores. In addition, Cilkview analyzes scheduling overhead using the concept of a "burdened dag," which allows it to diagnose performance problems in the application due to an insufficient grain size of parallel subcomputationsCilkview employs the Pin dynamic-instrumentation framework to collect metrics during a serial execution of the application code It operates directly on the optimized code rather than on a debug version Metadata embedded by the Cilk++ compiler in the binary executable identifies the parallel control constructs in the executing application This approach introduces little or no overhead to the program binary in normal runs.Cilkview can perform real-time scalability benchmarking automatically, producing gnuplot-compatible output that allows developers to compare an application's performance with the tool's predictions. If the program performs beneath the range of expectation, the programmer can be confident in seeking a cause such as insufficient memory bandwidth, false sharing, or contention, rather than inadequate parallelism or insufficient exam size.
更多
查看译文
关键词
Burdened parallelism,Cilk plus,Cilkview,dag model,multicore programming,multithreading,parallelism,parallel programming,performance,scalability,software tools,span,speedup,work
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要