论文部分内容阅读
为了解决生产环境下I/O性能监测以及I/O冲突干扰分析的困难,本文着重在目前Top500排名第一的超级计算机神威太湖之光上展开工作。我们在神威太湖之光超级计算机上设计并且实现和部署了一个端对端的I/O性能监测与分析诊断工具--Beacon。Beacon可以多层次的采集神威太湖之光上的全机全路径的数据,包括前端计算节点,代理节点,存储节点以及元数据服务器。此外,为了保证Beacon的低开销,可扩展性以及稳定性,我们对所有采集的数据都进行了预处理,包括数据的清洗与压缩。从应用层开始分析,按作业分类对各个作业给出详细的I/O性能分析报告,可以让用户更好的知道自身课题的性能;并且加上对系统其他数据的分析,可以把单个应用的性能与其他应用联系在一起,可以很准确的找到课题的瓶颈。通过一些优化方法,可以解决问题,提高系统利用率。根据我们部署Beacon几个月的经验来看,Beacon不仅在用户课题自身的分析优化上有所帮助,而且在提高系统整体利用率,发现系统问题,减轻系统中干扰冲突等方面,也带来了巨大帮助。例如:我们发现了冲突干扰并不是仅仅出现在I/O负载很重的应用间,某些情况下,低效的I/O模式也会对其他应用带来很大的干扰。我们也提出了好几种优化手段,包括修改源代码,改变I/O模式(N-1),对请求调度的优先级调整,代理节点资源的再分配,存储节点的异常检测及异常移除。并且都基于真实应用实现了上述优化。本文的主要贡献如下所示:●我们为当前世界排名第一的超级计算机设计,实现并且部署了一个轻量级的端到端的I/O性能监测与分析诊断工具,Beacon;它可以多层次的采集,包括了计算节点,代理节点,存储节点以及元数据服务器的数据。●我们设计了在线实时的数据清洗、处理与压缩机制,以便于在生产环境下可以具有良好的扩展性与稳定性。我们对每个应用额外获取了混合在一起的底层信息,以便于将系统整体情况和应用行为相联系。这实际上可以帮助应用程序开发人员和系统管理员来识别和定位在神威太湖之光上的具体性能问题的具体位置。●通过我们对Beacon的部署,我们观察到I/O的冲突与干扰并不一定来自I/O负载很高(带宽非常高)的应用(之前研究普遍把注意力放在高负载的应用上)。某些I/O操作十分低效的应用也会对其他应该造成很大干扰。●基于Beacon的观察,我们提出了许多切实可行的优化方法,包括修改源代码,改变I/O模式(N-1),对I/O Request调度的优先级调整,代理节点资源的再分配,存储节点的异常检测及异常移除,并且都基于真实应用实现了上述优化。