论文标题
GAPP:用于在平行Linux应用中检测序列化瓶颈的快速剖面
GAPP: A Fast Profiler for Detecting Serialization Bottlenecks in Parallel Linux Applications
论文作者
论文摘要
我们提出了一个并行分析工具GAPP,该工具标识了由负载不平衡或共享资源争夺引起的并行Linux应用程序中的序列化瓶颈。它通过使用扩展的Berkeley数据包过滤器(EBPF)框架管理的内核探针来追踪内核上下文开关事件。因此,开销非常低(探索应用程序的平均运行时间开销为4%),该工具不需要程序仪器,并且适用于各种序列化瓶颈。我们使用PARSEC3.0基准套件和两个大型开源项目评估GAPP:MySQL和Nektar ++(光谱/HP元素框架)。我们表明,GAPP能够揭示与瓶颈相关的各种性能问题,例如,由同步原语,繁忙的等待循环,内存操作,线程不平衡和资源争夺引起。
We present a parallel profiling tool, GAPP, that identifies serialization bottlenecks in parallel Linux applications arising from load imbalance or contention for shared resources . It works by tracing kernel context switch events using kernel probes managed by the extended Berkeley Packet Filter (eBPF) framework. The overhead is thus extremely low (an average 4% run time overhead for the applications explored), the tool requires no program instrumentation and works for a variety of serialization bottlenecks. We evaluate GAPP using the Parsec3.0 benchmark suite and two large open-source projects: MySQL and Nektar++ (a spectral/hp element framework). We show that GAPP is able to reveal a wide range of bottleneck-related performance issues, for example arising from synchronization primitives, busy-wait loops, memory operations, thread imbalance and resource contention.