并行程序性能故障的检测与规避

发布时间:2024-06-01 11:16
  在并行程序已广泛应用于各行各业的当代社会,保障并行程序的高效运行尤为重要。然而,系统软硬件故障和共享资源争抢等因素会导致并行程序出现性能故障,造成大量资源浪费,甚至带来无法估量的损失。因此,如何检测与规避并行程序的性能故障已成为亟待解决的重要问题。尽管国内外已有相关研究,但现有工作仍存在诸多不足,集中体现在:检测性能故障时,引入的性能开销过大,检测结果不易解读;规避性能故障时,对程序特征和系统特性的考虑不够全面。为更好地解决并行程序性能故障的检测与规避这一问题,本文研究如何低开销地在线检测性能故障并给出直观易读的检测结果,以及如何根据程序特征和系统特性进行针对性的性能故障规避。具体而言,本文的主要创新成果包括:(1)提出了利用并行程序源代码中的负载不变代码段进行性能故障在线检测的技术VSENSOR。VSENSOR通过编译器技术自动识别重复执行且各次执行时负载量不变的代码段,并将其视作并行程序内部的性能基准测试程序,从而利用并行程序的源代码进行性能故障检测,而不需要依赖外部测试程序。VSENSOR引入的运行时性能开销低于4%,平均为1.99%。(2)提出了可用于生产环境的轻量级性能故障在...

【文章页数】:131 页

【学位级别】:博士

【文章目录】:
摘要
Abstract
主要符号对照表
第1章 引言
    1.1 研究背景与意义
    1.2 并行程序性能故障的来源和变化趋势
        1.2.1 系统部件故障导致程序性能故障
        1.2.2 共享资源争抢导致程序性能故障
        1.2.3 性能故障问题日益严重
    1.3 检测与规避并行程序性能故障的主要挑战
    1.4 本文的主要贡献
    1.5 本文的主要内容与组织结构
第2章 相关工作
    2.1 性能故障的分析与检测
        2.1.1 性能故障来源分析
        2.1.2 系统噪声
        2.1.3 利用性能模型检测程序性能故障
        2.1.4 利用程序日志检测程序性能故障
        2.1.5 开发者引起的程序故障检测
        2.1.6 利用PMU分析程序
        2.1.7 程序结构分析
    2.2 多个并行程序间的资源共享与性能故障规避
        2.2.1 批处理作业的资源共享
        2.2.2 考虑服务质量(QoS)的资源共享
        2.2.3 获取并行程序的资源需求
        2.2.4 并行程序资源需求的差异
    2.3 单个程序内的线程同步优化与性能故障规避
        2.3.1 基于共享内存的互斥锁
        2.3.2 临界区任务委托
        2.3.3 新型体系结构上的锁和委托
        2.3.4 其他线程同步优化机制
第3章 VSENSOR: 基于源代码分析的性能故障在线检测技术
    3.1 本章概述
    3.2 整体架构
    3.3 编译期间识别探针代码段
        3.3.1 探针代码段的定义
        3.3.2 过程内分析
        3.3.3 过程间分析
        3.3.4 多进程分析
        3.3.5 并行程序的完整分析
    3.4 探针代码段的插桩
    3.5 运行时性能故障检测算法
        3.5.1 数据平滑
        3.5.2 性能归一化
        3.5.3 基于历史信息的性能比较
        3.5.4 多进程分析
        3.5.5 性能故障报告
    3.6 实验评估
        3.6.1 实验设计
        3.6.2 正确性验证与性能开销
        3.6.3 探针代码段的分布
        3.6.4 性能故障注入实验
        3.6.5 案例研究
    3.7 本章小结
第4章 VAPRO: 基于运行状态分析的性能故障在线检测技术
    4.1 本章概述
    4.2 整体设计
    4.3 程序结构分析
    4.4 程序负载推断
        4.4.1 计算负载推断
        4.4.2 通信负载推断
    4.5 性能故障检测
        4.5.1 负载聚类算法
        4.5.2 同类负载的性能比较
        4.5.3 跨进程分析与在线分析
    4.6 实验评估
        4.6.1 实验设计
        4.6.2 性能开销
        4.6.3 检测覆盖率
        4.6.4 案例研究
    4.7 本章小结
第5章 UBERUN: 基于差异化资源调度规避进程间资源争抢
    5.1 本章概述
    5.2 并行程序的资源争抢与需求差异
        5.2.1 分散放置进程后的性能变化
        5.2.2 内存带宽争抢
        5.2.3 末级缓存容量争抢
        5.2.4 处理器频率
        5.2.5 网络通信
    5.3 系统概览
        5.3.1 问题定义
        5.3.2 相关术语
        5.3.3 整体方案与系统整体架构
    5.4 系统设计
        5.4.1 程序性能数据采集
        5.4.2 单程序进程分散
        5.4.3 确定分散系数后的资源需求估计
        5.4.4 作业调度与资源分配
    5.5 系统实现
        5.5.1 原型系统实现细节
        5.5.2 生产环境实现需求
    5.6 实验评估
        5.6.1 实验设计
        5.6.2 整体性能
        5.6.3 宜分散作业比例的影响
        5.6.4 大规模集群的模拟分析
    5.7 本章小结
第6章 PLOCK: 基于显式核间通信规避互斥锁相关资源争抢
    6.1 本章概述
    6.2 背景介绍
        6.2.1 SW26010处理器的显式核间通信机制
        6.2.2 EMP互斥锁的工作原理
    6.3 设计与优化
        6.3.1 锁的链式传递
        6.3.2 锁服务器分层结构
        6.3.3 PLOCK的设计
    6.4 面向SW26010处理器的实现
    6.5 实验评估与讨论
        6.5.1 实验设计
        6.5.2 基础测试
        6.5.3 案例研究
        6.5.4 改进方向
    6.6 本章小结
第7章 总结与展望
    7.1 本文工作总结
    7.2 进一步研究方向
参考文献
致谢
个人简历、在学期间发表的学术论文与研究成果



本文编号:3985809

资料下载
论文发表

本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/3985809.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户8346f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com