全系统关键路径分析

A. Saidi, N. Binkert, S. Reinhardt, T. Mudge
{"title":"全系统关键路径分析","authors":"A. Saidi, N. Binkert, S. Reinhardt, T. Mudge","doi":"10.1109/ISPASS.2008.4510739","DOIUrl":null,"url":null,"abstract":"Many interesting workloads today are limited not by CPU processing power but by the interactions between the CPU, memory system, I/O devices, and the complex software that ties all the components together. Optimizing these workloads requires identifying performance bottlenecks across concurrent hardware components and across multiple layers of software. Common software profiling techniques cannot account for hardware bottlenecks or situations where software overheads are hidden due to overlap with hardware operations. Critical-path analysis is a powerful approach for identifying bottlenecks in highly concurrent systems, but typically requires detailed domain knowledge to construct the required event dependence graphs. As a result, to date it has been applied only to isolated system layers (e.g., processor microarchitectures or message-passing applications). In this paper we present a novel technique for applying critical-path analysis to complex systems composed of numerous interacting state machines. We avoid tedious up-front modeling by using control-flow tracing to expose implicit software state machines automatically, and iterative refinement to add necessary manual annotations with minimal effort. By applying our technique within a full-system simulator, we achieve an integrated trace of hardware and software events with minimal perturbation. As a result, we can perform this analysis across the user/kernel and hardware/software boundaries and even across multiple systems. We apply this technique to analyzing network performance, and show that we are able to find performance bottlenecks in both hardware and software, including some surprising bottlenecks in the Linux 2.6.13 kernel.","PeriodicalId":137239,"journal":{"name":"ISPASS 2008 - IEEE International Symposium on Performance Analysis of Systems and software","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2008-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"21","resultStr":"{\"title\":\"Full-System Critical Path Analysis\",\"authors\":\"A. Saidi, N. Binkert, S. Reinhardt, T. Mudge\",\"doi\":\"10.1109/ISPASS.2008.4510739\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Many interesting workloads today are limited not by CPU processing power but by the interactions between the CPU, memory system, I/O devices, and the complex software that ties all the components together. Optimizing these workloads requires identifying performance bottlenecks across concurrent hardware components and across multiple layers of software. Common software profiling techniques cannot account for hardware bottlenecks or situations where software overheads are hidden due to overlap with hardware operations. Critical-path analysis is a powerful approach for identifying bottlenecks in highly concurrent systems, but typically requires detailed domain knowledge to construct the required event dependence graphs. As a result, to date it has been applied only to isolated system layers (e.g., processor microarchitectures or message-passing applications). In this paper we present a novel technique for applying critical-path analysis to complex systems composed of numerous interacting state machines. We avoid tedious up-front modeling by using control-flow tracing to expose implicit software state machines automatically, and iterative refinement to add necessary manual annotations with minimal effort. By applying our technique within a full-system simulator, we achieve an integrated trace of hardware and software events with minimal perturbation. As a result, we can perform this analysis across the user/kernel and hardware/software boundaries and even across multiple systems. We apply this technique to analyzing network performance, and show that we are able to find performance bottlenecks in both hardware and software, including some surprising bottlenecks in the Linux 2.6.13 kernel.\",\"PeriodicalId\":137239,\"journal\":{\"name\":\"ISPASS 2008 - IEEE International Symposium on Performance Analysis of Systems and software\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-04-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"21\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ISPASS 2008 - IEEE International Symposium on Performance Analysis of Systems and software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISPASS.2008.4510739\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ISPASS 2008 - IEEE International Symposium on Performance Analysis of Systems and software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPASS.2008.4510739","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 21

摘要

今天,许多有趣的工作负载不是受到CPU处理能力的限制,而是受到CPU、内存系统、I/O设备和将所有组件连接在一起的复杂软件之间的交互的限制。优化这些工作负载需要识别跨并发硬件组件和跨多层软件的性能瓶颈。常见的软件分析技术无法解释硬件瓶颈或由于与硬件操作重叠而隐藏软件开销的情况。关键路径分析是在高度并发系统中识别瓶颈的一种强大方法,但通常需要详细的领域知识来构建所需的事件依赖图。因此,到目前为止,它只应用于隔离的系统层(例如,处理器微架构或消息传递应用程序)。本文提出了一种将关键路径分析应用于由许多相互作用的状态机组成的复杂系统的新技术。我们通过使用控制流跟踪来自动暴露隐式软件状态机,并通过迭代细化来以最小的努力添加必要的手动注释,从而避免了繁琐的前期建模。通过在全系统模拟器中应用我们的技术,我们以最小的扰动实现了硬件和软件事件的集成跟踪。因此,我们可以跨用户/内核和硬件/软件边界,甚至跨多个系统执行此分析。我们将此技术应用于分析网络性能,并证明我们能够在硬件和软件中找到性能瓶颈,包括Linux 2.6.13内核中的一些令人惊讶的瓶颈。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Full-System Critical Path Analysis
Many interesting workloads today are limited not by CPU processing power but by the interactions between the CPU, memory system, I/O devices, and the complex software that ties all the components together. Optimizing these workloads requires identifying performance bottlenecks across concurrent hardware components and across multiple layers of software. Common software profiling techniques cannot account for hardware bottlenecks or situations where software overheads are hidden due to overlap with hardware operations. Critical-path analysis is a powerful approach for identifying bottlenecks in highly concurrent systems, but typically requires detailed domain knowledge to construct the required event dependence graphs. As a result, to date it has been applied only to isolated system layers (e.g., processor microarchitectures or message-passing applications). In this paper we present a novel technique for applying critical-path analysis to complex systems composed of numerous interacting state machines. We avoid tedious up-front modeling by using control-flow tracing to expose implicit software state machines automatically, and iterative refinement to add necessary manual annotations with minimal effort. By applying our technique within a full-system simulator, we achieve an integrated trace of hardware and software events with minimal perturbation. As a result, we can perform this analysis across the user/kernel and hardware/software boundaries and even across multiple systems. We apply this technique to analyzing network performance, and show that we are able to find performance bottlenecks in both hardware and software, including some surprising bottlenecks in the Linux 2.6.13 kernel.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Scientific Computing Applications on a Stream Processor HMMer-Cell: High Performance Protein Profile Searching on the Cell/B.E. Processor Dynamic Thermal Management through Task Scheduling Program Phase Detection based on Critical Basic Block Transitions Trace-based Performance Analysis on Cell BE
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1