一、并行软件性能监测与分析系统中运行时性能监控器的设计(论文文献综述)
叶玲玲[1](2019)在《基于运行时验证的监控器优化方法研究》文中提出随着计算机软件系统规模的不断扩大和复杂性的逐渐增加,验证软件系统正确性和可靠性的难度也越来越大,传统的验证技术已经无法满足需求。运行时验证是一种提高软件系统正确性和可靠性的轻量级验证技术,是传统验证技术的有效补充,它通过监控软件系统的实际运行状态来验证软件系统是否正确。然而,在运行时验证中,监控软件系统的运行状态通常会产生一些额外的运行时开销,这会对软件系统的性能造成一定的影响。因此,减少运行时验证的开销是运行时验证领域中一个重要的研究内容。本文围绕如何有效地减少运行时验证的开销问题进行研究,具体对运行时验证工具JavaMOP展开研究工作。对JavaMOP进行优化,降低JavaMOP运行时验证的时间和内存开销,提高运行时验证工具JavaMOP的验证效率。本文首先分析JavaMOP验证线性时态逻辑(Linear Temporal Logic,LTL)性质时监控器的构造过程,研究并提出了一种改进的监控器构造方法。该方法使用基于迁移的广义Büchi自动机(Transition-based Generalized Büchi Automaton,TGBA)作为中间的辅助自动机。将LTL性质直接转换为TGBA,并对TGBA进行冗余化简;然后将化简后的TGBA泛化成Büchi自动机;再由Büchi自动机得到确定型有穷自动机,即监控器的抽象表示。实验结果表明,该方法能够得到更小的Büchi自动机,加速JavaMOP中监控器的构造过程,减少JavaMOP生成监控器的时间和内存开销。针对参数属性的运行时验证,本文提出结合静态分析技术和垃圾回收机制,对验证参数属性的监控器实例进行分析,减少监控过程中一些不必要的监控器实例,进一步降低运行时验证的开销。参数属性能够很好描述面向对象系统的行为,JavaMOP验证系统参数属性时,参数对象被绑定到具体的对象实例,然后生成监控器实例,进行属性监控。本文结合静态分析技术定义一个Sufenable集合,用于收集参数监控过程中的监控器实例,分析出其中不必要的监控器实例并对它们进行回收释放。同时在验证系统之前,对系统程序进行预处理,减少系统的监控量和监控器插装,从而减少运行时监控的开销。
王鹏飞[2](2018)在《系统软件交界面缺陷检测技术研究》文中研究指明分层理论是计算机发展的基础,而层级间交互的部分通常是系统的薄弱环节,容易存在安全缺陷。本文基于计算机系统的分层现状,提出系统交界面的概念,并进一步抽象出了线程间的并行交界面,内核与用户间的权限交界面,以及操作系统与外围设备间的硬件交界面。针对系统交界面的安全性问题,本文具体对并行交界面中的原子性违例缺陷、权限交界面中的double fetch缺陷、以及硬件交界面中的硬件double fetch缺陷展开下列研究。(1)基于预测的高效原子性违例缺陷检测。线程间的原子性违例缺陷是最常见的一类并发缺陷。线程调度引入的不确定性使得同一原子性违例缺陷可能对应多个能够触发该缺陷的线程交织,因此难检测、难复现、难修复。本文提出了一种基于预测技术的高效检测和复现方法,基于所提形式化定义和候选交织理论,该方法能够暴露同一原子性违例缺陷的所有可能缺陷交织,从而帮助开发者彻底的修复缺陷。本文还实现了原型工具AVPredictor,实验评测证明,AVPredictor能够有效检测到测试用例中所有的已知缺陷以及一个未知缺陷。AVPredictor的运行时间开销适度(监控器为18x,线程控制器为31x),低于同类工作(AVIO,Maple等)。AVPredictor所采用的分组策略可以避免最多66.7%的无效执行。AVPredictor相比于现有工作Maple,效率平均提高了5.8x。(2)基于多污点并行追踪的double fetch缺陷检测。针对内核与用户空间之间的double fetch缺陷,本文提出了一种基于多污点并行追踪的检测方法。该方法首次将污点追踪技术应用到double fetch缺陷检测上。所提方法结合了double fetch缺陷特点,将访存顺序的时间维度映射到了污点传播的空间维度上,避免了线程调度对符号化执行中状态空间爆炸的加剧。本文基于所提方法实现了一个原型工具DFTracker。DFTracker具有路径覆盖率高、时间开销低等优点。实验评测证明,DFTracker能有效检测出测试集中的double fetch缺陷,没有漏报,只有少量误报,单文件测试的时间开销为2x左右。将DFTracker应用到Linux内核3.18分析,其发现了一个新的double fetch缺陷,全路径覆盖分析完整内核的时间开销为9x。(3)基于静态模式匹配的double fetch缺陷检测。针对驱动程序中缺陷的动态检测需要特定硬件支持、且路径覆盖率低的问题,本文提出了一种基于模式匹配的静态方法来检测double fetch缺陷。该方法能够在一次执行中覆盖完整Linux内核(包括所有驱动程序)。将所提方法应用到Linux,FreeBSD及Android,共发掘6个未知double fetch漏洞。此外,本文还抽象了三种double fetch情况容易发生的典型场景,基于CVE-2016-6516实现了double fetch漏洞利用的PoC,并提出了double fetch缺陷的预防策略。目前,所有发现的漏洞已经汇报给内核开发者团队并得到确认和修复。所提方法已经被Coccinelle团队采用并被集成到Linux内核补丁的审计中。(4)针对I/O内存中硬件double fetch缺陷的研究。操作系统通过读写映射到I/O内存中的设备寄存器和设备内存来控制外围设备。由于缺乏有效的验证机制,恶意硬件可能在两次操作系统读取之间篡改数据,对操作系统造成破坏。本文首次提出并定义了操作系统和外围设备之间存在的硬件double fetch缺陷,并基于静态模式匹配的方法从Linux内核中识别到361个硬件double fetch情况。然后根据I/O内存特性对匹配到的硬件double fetch情况进行分类,并分析了每一类引发缺陷的可能。最终从中发现了4个未知硬件double fetch漏洞,目前已被内核开发团队确认并修复。本工作将double fetch问题的范围扩展到操作系统与外围设备之间,为double fetch问题的研究开辟了新的视角。
陈刚,关楠,吕鸣松,王义[3](2018)在《实时多核嵌入式系统研究综述》文中进行了进一步梳理随着计算机系统与物理世界的结合越来越紧密,实时系统需要承担越来越复杂的运算任务.多核处理器的兴起为同时满足实时性约束和高性能这两方面的需求提供了可能.基于多核处理器的实时嵌入式系统的研究已成为近几年研究的热点.对现有的面向实时多核嵌入式系统的研究工作进行了综述,介绍了实时多核嵌入式系统的关键设计问题,从多核共享资源干扰及管理、多核实时调度、多核实时程序并行化、多核虚拟化技术、多核能耗管理和优化等几个方面对现有研究工作进行了分析和总结,并展望了实时多核系统领域进一步的研究方向.
张明[4](2017)在《面向众核处理器的硅后调试关键技术研究》文中研究指明高性能处理器的集成度和设计复杂度越来越高,硅前验证因其仿真速度慢和电气模型不够准确等原因,已经不足以在流片前找出全部故障,因此硅后验证技术受到了越来越多的重视,其中硅后调试作为硅后验证过程中最困难也最耗时的步骤,已经成为高性能处理器领域的研究热点之一。众核处理器作为高性能处理器系统结构的一个重要发展方向,在验证和调试领域面临着同样的困境,而且由于众核处理器的设计更加复杂,需要验证的状态边角和工作模式也呈爆炸式增长,给验证和调试带来了前所未有的挑战。本文针对处理器硅后调试中遇到的跨时钟域信号亚稳态、时钟停顿情况下的DRAM内容失效及访存延时变化等问题,提出了确定性单步可调硅后验证系统;以此为基础,设计了基于NoC(Network-on-Chip)的高带宽、低开销众核处理器调试系统架构,对支撑众核处理器中可调性设计的关键组件进行了详细设计;开发了支持单步调试功能的高速串行接口适配器以及硅后测试故障屏蔽等关键结构与技术,以增强处理器硅片的可观察性和可控制性。本文的主要工作和创新体现在:(1)提出了基于NoC的高带宽、低资源开销众核调试系统架构。硅后调试过程困难的根本原因在于硅片的可观察性和可控制性弱,通过片上踪迹捕获等DFD(Design For Debug)技术,可以提高对硅片内部状态的观察能力,但仍不能满足调试过程对于快速定位的需求,进一步提高观察能力则会占用过多的硬件资源。本文面向众核处理器,提出了一套基于NoC技术的高带宽、低资源开销的众核调试系统结构,并针对此结构的关键支撑技术进行了深入研究,提出了基于硬件队列的快速故障检测、基于分布式低硬件开销嵌入式逻辑分析仪的信号踪迹捕获、基于确定性执行和检查点机制的软件踪迹捕获、延迟均衡的交叉触发信号网络和高精度时标信号网络等设计技术。在某国产众核处理器基础上设计实现了本文提出的调试系统结构,实验结果表明,所提出系统结构能够有效改善处理器可调性,各支撑组件的功能均达到了预期效果,而调试系统资源占全芯片资源比例仅约为0.39%。(2)提出了一种确定性单步可调的众核处理器硅后验证系统设计技术。影响硅后验证系统确定性单步可调的关键因素有三个方面:亚稳态引起跨时钟域信号延迟不确定的传输、单步调试过程中时钟停顿过程引入非确定性、时钟停顿情况下存储控制器的DRAM内容丢失和访存延迟不确定。受近期跨时钟域信号确定性传输研究进展的启发,本文深入开展了针对后两个问题的研究,基于有限状态机理论推导了硅后芯片实现确定性单步可调的各项条件,提出了一种确定性单步可调的众核处理器硅后验证系统设计技术,包含两项创新技术:基于时钟抖动范围控制的确定性单步调试方法和基于延迟预测机制的确定性单步可调存储控制器的设计方法。FPGA平台上的实验结果表明,为实现上述方法而增加的资源面积,相对全芯片逻辑增加的比例不超过0.36%,对系统平均性能的降低仅1.60%。同时,基于本创新点构建的确定性单步可调硅后验证系统,也是本文众核调试系统架构设计的基础。(3)提出了支持单步调试功能的高速串行接口适配器设计方法。在硅后调试过程中,硬件仿真器是调试硅后故障的重要辅助工具。但是现有硬件仿真器在连接高速串行接口IO设备的情况下,不支持单步调试功能,导致在调试硅后芯片中的IO相关故障时,硬件仿真器的功能不能被有效利用。本文针对此问题提出了一种支持单步调试功能的高速串行接口适配器设计方法,并针对仿真器上高速IO通道延迟不准确的问题,提出了在适配器上进行补偿的方法。基于FPGA平台的实验结果表明,所设计的适配器能够在仿真器时钟停顿期间有效维护与真实设备的连接状态,在合适的延时补偿配置下,系统IO性能仿真的结果与真实设备更加接近。(4)提出了基于系统状态备份与恢复技术的故障屏蔽方法和基于数据流量控制的硅后故障在线屏蔽方法。已经定位的硅后故障会破坏部分验证激励的正常执行,这可能导致其他硅后故障被隐藏,逃逸到下一次流片阶段。针对此问题,本文首先设计实现了处理器的状态备份与恢复方法。基于此方法并依据硅后验证平台的确定性特征,本文提出了一种基于系统状态备份与恢复技术的故障屏蔽方法。首先利用硬件仿真器获取系统在故障修复后的正确状态,然后在硅片上的故障发生时刻,使用硬件仿真器的正确状态覆盖硅片的错误状态,消除故障带来的影响,进而实现屏蔽故障的目标。另外,针对实际应用环境,本文还提出了一种通过控制数据流量实现在线屏蔽部分硅后故障的方法,该方法主要适用于IO部件等处理器内核以外的逻辑部件中的故障。基于FPGA平台的实验结果表明,针对DMA控制器中的一处逻辑故障,上述两种方法均能够有效屏蔽该故障,并且流量控制方法引起的数据带宽损失不超过2.5%。
宋翔[5](2014)在《多核虚拟环境的性能及可伸缩性研究》文中研究表明云计算的出现为现代计算模式带来了革命性的变化。随着网络和虚拟化技术的发展,虚拟云已经成为一种全新的提供计算资源服务的方式。云服务提供商(诸如亚马逊、微软等)通过集中式管理虚拟云服务器并提供按需计算模型的方式,显着地降低了建设,维护和升级计算基础架构的成本。这也在很大程度上降低了用户租用和维护计算资源的成本。因此云计算服务也越来越受到来自公司、组织甚至个人用户的青睐。于此同时,多核技术也逐渐普及和发展,单块CPU芯片上的核数也逐年增加。目前Intel和AMD公司都早已在市场上发布了12核的CPU, AMD公司甚至以及发布了他们的16核CPU产品。同时随着对称多处理器技术的发展,单台物理服务器已经可以配备80个物理CPU核心。在可预见的未来,单台物理服务器配备上百个CPU核心也不足为奇。因此虚拟云中的客户虚拟机也很可能会配备丰富的资源(例如,CPU核心数)。事实上一部分云服务商已经开始提供32核虚拟机的租赁服务。随着客户虚拟机CPU核心数目的增加,如何在虚拟环境中提高并发程序的性能及可伸缩性也就变得越来越重要。然而,目前对虚拟化系统的性能及可伸缩性的研究工作依然非常有限,大多数研究工作集中于虚拟化系统的某个特殊子系统,例如网络系统的性能、虚拟机调度系统的性能等。目前仍然没有一套完整的工作来对虚拟化系统各方面的性能及可伸缩性进行研究和分析,并根据找到的问题提出有针对性的解决方案。本论文力图对虚拟化系统各个方面的性能及可伸缩性做详细的研究与分析,主要包括虚拟化系统软件、I/O虚拟化系统以及虚拟机管理软件三个方面。在这个研究工作的基础上我们提出了一套实用的、系统的解决方案在虚拟化系统的不同层面(软件层、硬件层)对虚拟化系统进行优化以提高系统的性能及可伸缩性。本文的主要内容和贡献包括以下几个方面:1.首个对虚拟化系统的性能及可伸缩性进行完整性测评和分析的工作。我们以Xen虚拟化系统和KVM虚拟化系统为基础对虚拟化系统的各个方面在多核平台上的性能及可伸缩性进行了研究,并将多核虚拟化环境的性能和可伸缩性问题归为以下三类:1)虚拟化系统软件的性能及可伸缩性问题,包括系统软件栈设计与实现和虚拟机调度机制造成的问题;2)硬盘等外设虚拟化的性能及可伸缩性问题;以及3)虚拟机管理软件的性能及可伸缩性问题。2.我们针对虚拟化系统软件的可伸缩性问题提出了三个性能优化系统:Cer-berus+系统、iXen系统和vCPU-Bal系统。Cerberus+系统通过在多核平台上聚集多个同构的虚拟机(每个虚拟机配备1至2个vCPU)为同一个并发程序提供多种计算服务的方式避免单个虚拟机因配置的vCPU数目增加而性能下降的问题,同时又能保证并发程序的运行。在48核的AMD服务器上对不同应用程序的测试结果显示Cerberus+系统的性能要比Xen-Linux系统的性能提升1.37倍至11.62倍,并且Cerberus+系统具有更好的可伸缩性。iXen系统根据造成系统软件栈性能及可伸缩性问题的原因入手,结合多种优化机制逐一解决或缓解了Xen虚拟化系统中存在的时间模拟器竞争问题、空闲时间问题、共享缓存问题以及指令TLB缓存缺失问题。在48核的AMD服务器上对不同应用程序的测试结果显示iXen系统的性能要比Xen-Linux系统的性能提升1.10倍至9.42倍vCPU-Bal系统通过动态调整虚拟机vCPU数目来尽量避免vCPU调度竞争的方法解决由于虚拟机调度造成的可伸缩性问题。在12核的Intel服务器上的测试结果显示vCPU-Bal系统能提升Xen系统13.6%的性能,KVM系统25.5%的性能。3.我们提出了首个硬盘I/O虚拟化的系统VFlash。我们通过对固态硬盘内部各部件进行虚拟化的改造并利用SR-IOV技术实现了高效的硬件固态硬盘虚拟化,并基于DFTL和FAST两种闪存转换层算法设计了两种适合于虚拟环境的闪存转换层算法。VFlash系统不但可以有效消除软件模拟虚拟硬盘设备所带来的开销,而且还能充分开发了固态磁盘内部的闪存并发访问特性。通过使用FlashSim模拟器的模拟测试结果显示从硬件性能开销上看VFlash系统对单个虚拟硬盘性能的影响很小,但是却能在多个虚拟机的环境下充分发挥固态硬盘的并发性能。4.我们通过对虚拟机动态迁移操作的可并行性研究发现虚拟机迁移操作中大多数子操作都可以通过数据并发技术和流水线并发技术进行并行化。在此技术上我们基于多线程技术设计了并行虚拟机迁移系统,PMigrate系统,并分别在Xen系统和KVM系统上进行了实现。测试结果显示的PMigrate系统可以将虚拟机迁移的时间缩短2.49倍至9.88倍,并将迁移过程中虚拟机宕机时间缩短1.9倍至279.89倍。
陈从江[6](2014)在《基于面向云服务的Python并行计算的研究》文中研究表明近些年来,随着科技不断的高速发展,对大数据的处理计算变得越来越常见,例如,科学计算、工程制造以及实验模拟等。这些领域对大数据的计算处理的要求非常的高,这样对进行计算处理的计算机性能要求也是变得很高。不仅仅在硬件方面进行研究,在软件方面也在进行研究,进行一些技术上的整合,出现了新的技术在不改变的硬件条件的情况下,最大程度的提供并行计算的服务。其中现在最好的是一种并行计算网格的体系结构,它将分散的计算机整合到一个网格上来协同的完成计算需求,这很好的满足了需求。根据现在出现的问题,以及现在存在技术,对并行计算进行一个深入的研究,进行一个并行计算平台的设计。本文以云计算、云服务、并行计算、面向服务体系结构、IronPython、以及虚拟化作为主要的研究内容。本文通过考虑到用户在使用并行计算的过程中,可能要遇到自身计算机性能有限以及安装并且进行运算库升级的问题。因为现在研究的方向是云计算,考虑到云计算方面存在的这些优点,想到了将云计算技术和并行计算技术进行相关的结合会很好的解决现在遇到的很多的难题,为用户提供很多的方便,不用考虑外部环境带来的难题,可以将更多的精力放在并行计算算法的编写上来。并且将计算节点的并行计算服务以云服务的形式在平台进行提供。通过对面向服务体系体系结构的研究,了解到这个体系结构中提供了接口,这些接口可以进行跨平台的计算数据的接受。并且使用Python进行了客户端,服务节点以及计算节点模块的设计,Python有自反和自观察的能力,能够调用库函数实现很多其他语言没法实现的功能。这些并行计算功能都是发布在云计算平台上的虚拟机上,并且在服务节点上还进行计算节点的检测的设计,达到智能化进行计算请求的分发。
曾令将[7](2012)在《基于VxWorks的可视化并行性能剖析器的设计与实现》文中指出随着高性能并行计算的飞速发展和在军用、工业技术等领域的广泛应用,越来越多的用户开始应用并行处理技术解决问题,针对嵌入式多核多处理器平台的并行程序开发也更加普及。并行调试技术是并行程序开发过程中的一个重要环节,调试并行实时应用程序的过程十分复杂,但是并行调试环境却相对比较薄弱。并行程序性能分析已经成为并行程序调试、并行算法研究的一种重要辅助手段,通过性能分析工具,开发人员可以更容易地了解程序行为、发现性能瓶颈、给出优化方案。本文首先介绍并行计算的相关背景知识,分析了并行调试中几个常见的问题,包括并行程序执行过程中的不确定性和并行调试器的可移植性等,然后分别介绍了并行正确性调试和并行性能调试的概念和基本原理,并对目前主流的并行调试器进行了分析和比较。本文的主要研究工作包括以下三个方面:1)在基于事件模型的并行程序性能分析技术的基础上,针对PowerPC处理器构成的并行嵌入式系统,设计和实现了一个基于VxWorks的并行程序性能监测函数库TFTrace,能够完成程序性能数据的产生和采集。2)根据并行程序执行特性,建立并行程序图形化抽象,设计和实现了一个可视化性能分析工具TATL,能通过形象、直观、易于理解的图形来对性能数据进行性能剖析,从而重放出并行程序进程间的行为。3)设计了一个并行Mandelbrot Set画图程序,对性能分析函数库和可视化性能分析工具进行了可用性测试和功能验证,结果证明该工具占用系统资源少,性能较高,能精确测量多处理器事件时间,分析效果较好。
杨帆[8](2011)在《基于多核平台的网络流量监测研究与优化》文中研究指明网络流量监测是互联网发展到一定阶段的必然产物,一方面可以更好地了解互联网、监管互联网,另一方面也可以更好地服务互联网。伴随着链路带宽的不断增长、新兴业务的不断涌现,用于网络流量监测的软件系统面临着前所未有的压力。每一个流量监测系统的使用者,都希望监测结果既快又准,这便给系统性能提出了很高的要求。当监测系统的处理能力不能应对快速到达的网络流量时,便会出现协议状态丢失、关键信息遗漏、程序非正常终止等性能问题,导致流量监测系统不可用。于是人们开始寻找计算能力更为强大、成本开支易于接受的新型硬件平台,希望能够以此给软件系统提速。通用多核处理器的发展,集聚了许多渴望改善软件性能的研究者的目光,因为它不但能够提供强大的并行计算能力,而且具有价格上的优势。多核处理器通过在同一芯片上集成多个核心,同时保持或降低整体能耗,提供了真正意义上的高速并发运算引擎。从多核处理器角度而言,也希望能够找到一种计算密集型的应用,来充分发挥自身的性能优势,避免计算资源的浪费。可以说,多核处理器提供了计算能力方面的保证,让研究者看到了软件性能提升的发展方向,也让更多的人相信在这个逐渐普及的平台上,能够真正倍增软件性能。本课题来自于以上两方面技术发展的交汇与碰撞,将网络流量监测与多核处理器相结合,研究流量监测系统在多核平台上的性能优化问题。这是一个刚兴起不久的研究方向,也是一个涉及了流量监测技术、计算机体系结构、计算机操作系统等方面的学科内交叉领域。本文在此基点上,对一些典型的流量监测系统,进行了多核平台性能优化,并归纳总结了多核优化过程中的方法和特点。本文主要的研究内容如下。(1)研究了当前常用的多核平台软件并行优化技术。本文汲取了并行计算、处理器指令、多核平台性能优化等多方面知识,结合对大量文献的总结,归纳出了多核平台软件性能优化常用的八种方法。该八种方法分别从不同角度实现了软件性能多核优化,可以应用于不同类型的系统优化过程中。这八种优化方法的总结,对研究流量监测系统在多核平台上的性能优化,有很好的学习和参考价值。(2)研究了流量监测系统的通用架构,并提出一套用于流量监测系统多核平台性能优化的评价指标。本文总结了流量监测系统的通用架构,并通过该架构展示了流量监测系统的一般性功能组成。在此基础上,本文提出了一套流量监测系统的多核优化评价指标。该套指标分为核心指标和辅助指标,核心指标只有一个,即系统吞吐量。辅助指标细分为三类,分别用来评估系统开销分配、调度方式和优化效果。利用多核平台性能优化评价指标可以指导和帮助完成系统性能优化。(3)以具体系统为实例,研究了网络协议解析类系统多核优化的特点和方法。本文在给出流量监测系统通用架构和评价指标的基础上,选取了通用架构中应用较为广泛的一类——网络协议解析类系统,进行多核优化研究。在该类系统中,选用了自主研发的GTPAS (GPRS Tunnel Protocol Analysis System)作为具体实例进行优化,分析了GTPAS的基本性能,锁定了性能瓶颈,并结合通用多核处理器特点,提出多核性能优化策略。通过实验验证,在投入7个核心进行计算的情况下,优化后系统的吞吐量达到了优化前的391.73%,有效提高了系统处理能力。随后本文以此过程为依据,总结了网络协议解析类系统在多核平台上进行性能优化的独有特点。(4)以具体系统为实例,研究了网络内容监测类系统多核优化的特点和方法。本文在研究了网络协议解析类系统的多核优化过程后,选取了通用架构中又一类具有代表性的系统——网络内容监测类系统,进行多核优化研究。研究的实例系统,是自主研发的典型网络内容监测系统ITCMS (Internet Traffic Content Monitoring System)。经过对ITCMS进行基本性能评定、性能瓶颈分析等工作,提出了适合ITCMS的多核性能优化策略。实验结果表明,在投入7个核心进行计算的情况下,优化后系统的吞吐性能达到了优化前的436.10%。之后本文以此过程为依据,总结了网络内容监测类系统多核性能优化的特点,并将其与网络协议解析类系统的多核优化研究进行了对比。(5)完成了多核平台报文接收性能研究和报文重组性能优化。本文最后研究了该领域中两个较为常见的问题。对于多核平台报文接收性能的研究,主要分析了Linux下的两种报文接收方式——PFPACKET Socket方式和Libpcap方式,在多核平台上的最大接收性能。文中分别对比了单、双接收进程的最大吞吐量和报文速率,之后又对单、双接收进程在最大接收能力下的处理器负载情况进行了分析。对于报文重组的多核平台性能优化,主要实现了对HTTP分片报文重组的吞吐量提升。研究借用开源程序Libnids中的报文重组部分作为待优化的目标,这是因为Libnids重组程序中所采用的重组机制是当前报文重组的主流,具有典型性。通过分析性能瓶颈,结合HTTP报文特点和多核平台特点,提出多核并行优化策略。最终经过实验验证,在投入2个计算核心的条件下,优化后的报文重组吞吐量达到了优化前的145.37%,满足了常见网络应用的基本需求。
隋秀峰[9](2010)在《高性能微处理器中自适应高速缓存管理策略研究》文中研究指明对主存储器的访问是制约高性能微处理器系统性能的主要因素之一。存储器的访问速度通常会比处理器速度慢两个数量级,为了缩小这一差距,当代处理器设计已经将一半以上的片上晶体管资源用于最后一级高速缓存。然而,针对小容量一级高速缓存的传统管理策略并不能有效地管理大容量最后一级高速缓存,由此引发了大量的高速缓存缺失,从而导致频繁的片外内存访问和处理器性能的严重下降。增加的访存延迟、有限的片外带宽、破坏性的线程间干扰、多样化的负载特性、扩大化的新兴应用工作集规模,单一芯片内所集成处理器核数目的增加,以及由此导致的每个处理器核所占有高速缓存空间的减少等诸多方面的因素都给高速缓存的设计带来了极大的挑战,也使得高速缓存管理策略的重要性变得越发关键。本文重点分析了高性能微处理器尤其是多核处理器中最后一级高速缓存管理的若干热点问题,并提出相应的开销合理的解决方案来提高系统性能。论文的主要研究内容与创新之处包括:1.同时多线程处理器中高速缓存公平划分技术研究。传统的LRU替换策略会根据线程的需要隐式地对共享高速缓存进行划分,不同负载时间重用行为的差异导致它们对高速缓存资源的竞争能力存在差别,这会对并发调度线程的推进速度造成不一致的影响。不公平高速缓存共享问题使得操作系统线程调度的效率遭到丧失,线程饿死、优先级反转等问题呈现。针对这一情况本文实现了一种自适应、运行时划分机制(ARP)来管理共享高速缓存,该机制以提高公平性为优化目标,在每个周期内使用基于动态组采样的硬件监控器电路来收集栈距离剖析信息,从而精确地估计每个线程公平性度量的数值,并利用划分与回滚相结合的贪心算法来确定最优的划分方案。实验结果表明,相比于LRU策略,ARP可以将一个2-路同时多线程处理器的公平性提高2.26倍,同时将吞吐量平均提高14.75%。2.多核处理器中高速缓存颠簸避免技术研究。随着最后一级高速缓存容量和相联度的增长,LRU策略和理论最优替换算法之间的性能差距日趋增大,引起这一问题的主要原因是LRU策略会导致大工作集访存密集型负载发生高速缓存颠簸,并且在选择替换块时仅仅考虑了高速缓存访问的临近信息而忽视了数据的访问频率。本文指出访存密集型负载的性能可以通过无用数据的及早替换和改变低使用频率数据的插入和提升位置而得到显着提升,基于这一思想本文提出无用块消除和低使用频率块过滤高速缓存管理策略,该策略利用活动时间预测器来预测数据块的使用频率,根据预测结果将无用数据提早替换,将低使用频率数据插入到低优先级位置以降低其驻留在缓存空间的时间,从而成功地避免工作集规模大于共享高速缓存容量的访存密集型负载发生颠簸,并考虑了程序中数据的临近性和使用频率信息。与LRU相比将4-路多核处理器的加权加速比平均提升14.5%。3.多核处理器中高速缓存混合管理策略研究。目前传统的单一高速缓存管理策略已经无法满足不同局部性特征负载的性能需要,当并发执行的线程间存在破坏性干扰或者负载的工作集超过可用高速缓存容量时,最后一级高速缓存的性能以及由此关联到的多核处理器的性能都会严重下降。针对这一问题,本文提出划分感知淘汰线程感知插入/提升(PAE-TIP)混合高速缓存管理策略,该策略采用低开销的锦标赛机制来确定每个线程缺失数据块的插入位置和命中数据块的提升位置,并且根据基于效用的高速缓存划分算法所提供的目标分配方案来选择被淘汰的数据块。能够同时对共享高速缓存实施包括容量管理、自适应插入和自适应提升在内的混合管理,在多种具有不同数据局部性特征的访存行为之间进行必要的折衷。实验表明,相比于传统的LRU策略, PAE-TIP能够将4-路多核处理器的加权加速比平均提高19.3%。
张晶[10](2009)在《面向钢铁质量过程控制的分布式并行软件框架模型研究》文中研究表明分布式实时软件强调信息流的实时交互和并行处理,支持实时并行的质量过程,适用于钢铁行业的生产过程质量控制。软件主要特征是完成不同功能的软件构件分布在网络的不同节点上,节点之间包含实时交互的并行信号流,设计时不但要求系统的功能正确性,而且要求计算这些功能结果的时间要及时。现代钢铁企业质量过程控制系统以质量信息流的跟踪控制为中心,具有实时性、分布性、并行性等复杂行为特征,需要分布式实时软件设计理论和方法的支持。在影响分布式实时软件的诸多因素中,基于实时交互规约的框架模型是软件运行过程执行效能的关键。传统软件框架模型多侧重于利用面向对象技术的对象调用和状态转换传送控制作用,不能实现从系统建模到软件设计的一致性实时并行约束。而面向执行体模型通过变换数据相互作用,更适应于框架模型的实时并行处理。本论文基于云南省自然科学基金项目,针对钢铁质量过程控制领域,在模型架构定义中,由面向对象转向面向执行体;通过分离以数据为中心的功能构件和以时序为中心的交互机制,建立面向执行体结构的框架模型来支持分布式实时软件的设计和开发。面向执行体结构的设计机制强调构件间的并行处理和时序调度,是一种适应实时模型关系的可行技术。在分布式实时软件的框架模型中,引入这种机制,将其具体应用到框架模型研究涉及的各项关键技术中,能够较好地规约软件所要求的各类行为特征,尤其是对功能性业务逻辑和时间约束特征的关注分离,并最终实现可构造的、易于动态适应的分布式实时软件框架模型。面向钢铁质量过程控制的分布式实时软件框架模型研究,主要围绕实时交互框架、构件设计模型和构件组装规约三个研究点展开,具体为面向执行体的框架模型建立、执行体结构的构件语义设计、执行体构件的组装规约分析以及应用实例验证:1.面向执行体的框架模型研究主要建立一类面向钢铁质量过程控制,适应分布式实时应用环境的执行体交互机制,其能分离执行体之间的逻辑交互关系,支持实时并行的质量过程控制。在框架模型中,借鉴构件和连接子思想,将执行体设计为参数化行为封装,提高执行体的重用性;独立的监控器机制控制执行体之间的逻辑交互,支持并行信号流的跟踪控制;执行体端口行为优先级可配置,提供对实时性的灵活支持。这种框架模型使得以数据流为中心的执行体功能逻辑和以时序调度为中心的交互逻辑相分离,增强框架的灵活性与适应性。2.执行体结构的构件语义设计主要研究基于谓词逻辑的执行体语义模型,其能规约执行体的静态结构和动态行为;封装执行体内部逻辑,抽象质量过程的操作规范和质量要求;建立执行体端口间行为连接,保障执行体的动态特性;提供执行体包含机制,支持执行体的任意嵌套。该设计模型不仅能够描述执行体质量过程参数的属性规约,还能满足实时并行的端口行为建模。3.执行体构件的组装规约分析主要研究小粒度、低层次内部执行体分层递阶组合为大粒度、高层次复合执行体的组装理论,其具体分为复合执行体属性规约推导、复合执行体端口规约推导、和复合执行体行为规约推导三个部分,用于执行体模型组装时的语义行为描述和层次化抽象。同时从规约层面支持执行体的演化,降低执行体组装的不稳定性。4.基于上面的相关研究成果,面向昆明钢铁集团有限公司质量过程控制实际,构建了执行体结构的分布式实时软件框架模型,实现对复杂钢材形成过程的有效质量控制。基于该模型开发的软件系统配置灵活、易于组装,通过实践证明了面向执行体的软件框架建模方法可以为钢铁企业质量过程控制的应用起到很好的促进作用。本文的关键问题包括:1.构建可构造的、易于动态适应的执行体框架模型。解决构件间的并行处理和时序调度问题,动态灵活地表示交互逻辑,支持实时并行的质量过程;并要求框架可定制,能动态优化、插入和升级,不损害平台独立。2.设计完备的执行体语义模型。重点解决实时执行体的静态属性和动态行为建模;进而定义端口行为连接,描述执行体间的通信过程,确定复杂实时交互行为,适应更广泛意义上的时间并行模型。3.分析执行体的组装规约推导规则。重点解决大粒度复合执行体的属性、端口和行为规约推导,从语义层面减少实时并行的质量过程建模复杂性。
二、并行软件性能监测与分析系统中运行时性能监控器的设计(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、并行软件性能监测与分析系统中运行时性能监控器的设计(论文提纲范文)
(1)基于运行时验证的监控器优化方法研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
§1.1 课题的研究背景与研究意义 |
§1.2 国内外研究现状 |
§1.3 研究内容及主要贡献 |
§1.4 论文的组织结构 |
第二章 基础知识介绍 |
§2.1 性质描述语言与自动机理论 |
§2.1.1 性质描述语言 |
§2.1.2 自动机理论 |
§2.2 运行时验证技术 |
§2.2.1 运行时验证 |
§2.2.2 监控器 |
§2.2.3 Java MOP |
§2.3 基于自动机的监控器构造过程 |
§2.4 本章小结 |
第三章 基于Büchi自动机的监控器优化方法 |
§3.1 LTL公式重写 |
§3.2 LTL公式到Büchi自动机的高效转化 |
§3.2.1 LTL公式到TGBA的转化 |
§3.2.2 TGBA的化简 |
§3.2.3 TGBA到Büchi自动机的转化 |
§3.3 实验分析 |
§3.4 本章小结 |
第四章 基于Java MOP的参数监控开销控制方法 |
§4.1 参数属性与监控 |
§4.2 监控系统的预处理 |
§4.3 监控器实例的分析和管理 |
§4.3.1 收集不必要的监控器 |
§4.3.2 索引树 |
§4.4 本章小结 |
第五章 运行时验证实例分析 |
§5.1 总体结构设计与功能实现 |
§5.2 运行时验证Has Next属性 |
§5.3 本章小结 |
第六章 总结与展望 |
§6.1 总结 |
§6.2 展望 |
参考文献 |
致谢 |
作者在攻读硕士期间的主要研究成果 |
(2)系统软件交界面缺陷检测技术研究(论文提纲范文)
摘要 |
ABSTRACT |
术语和符号使用说明 |
第一章 绪论 |
1.1 研究背景 |
1.1.1 并发缺陷 |
1.1.2 隔离缺陷 |
1.1.3 驱动缺陷 |
1.2 研究重点 |
1.2.1 系统交界面的定义 |
1.2.2 并行交界面中的原子性违例缺陷研究 |
1.2.3 权限交界面中的double fetch缺陷研究 |
1.2.4 硬件交界面中的硬件double fetch缺陷研究 |
1.3 研究贡献 |
1.4 文章结构 |
第二章 相关研究介绍 |
2.1 研究方法介绍 |
2.2 相关技术介绍 |
2.2.1 符号化执行技术 |
2.2.2 模糊测试技术 |
2.3 相关工作介绍 |
2.3.1 原子性违例缺陷研究 |
2.3.2 竞争研究 |
2.3.3 Double fetch缺陷研究 |
第三章 基于预测的高效原子性违例缺陷检测 |
3.1 原子性违例缺陷介绍 |
3.2 候选交织介绍 |
3.3 原子性违例的形式化定义 |
3.4 基于预测的原子性违例缺陷检测 |
3.4.1 方法介绍 |
3.4.2 候选交织的识别技术 |
3.4.3 不可转换交织的剔除技术 |
3.4.4 待测候选交织的分组技术 |
3.4.5 线程调度的动态控制技术 |
3.5 原型工具AVPredictor的实现 |
3.6 实验评价 |
3.6.1 有效性测试 |
3.6.2 运行时开销测试 |
3.6.3 对比分析 |
3.7 讨论 |
3.7.1 优势 |
3.7.2 不足 |
3.8 本章小结 |
第四章 基于多污点并行追踪的double fetch缺陷检测 |
4.1 Double fetch缺陷模式抽象 |
4.1.1 案例分析 |
4.1.2 模式总结 |
4.2 多污点并行追踪检测方法设计 |
4.3 原型工具DFTracker的实现 |
4.3.1 Clang Static Analyzer介绍 |
4.3.2 DFTracker结构及模块功能介绍 |
4.3.3 优化措施介绍 |
4.4 DFTracker性能评价 |
4.4.1 有效性测试 |
4.4.2 效率测试 |
4.4.3 实用性分析 |
4.4.4 工作对比 |
4.4.5 局限性分析 |
4.5 讨论 |
4.6 本章小结 |
第五章 基于静态模式匹配的double fetch缺陷检测 |
5.1 Coccinelle模式匹配引擎介绍 |
5.2 基于Coccinelle引擎的静态模式匹配分析方法 |
5.2.1 基本double fetch情况识别 |
5.2.2 Double fetch情况场景分类 |
5.2.3 精确double fetch缺陷检测 |
5.3 实验与分析 |
5.3.1 基本double fetch情况识别结果分析 |
5.3.2 精确double fetch缺陷检测结果分析 |
5.3.3 工作对比评价 |
5.3.4 发掘的缺陷和漏洞 |
5.3.5 Double fetch缺陷相关总结 |
5.3.6 未来工作 |
5.4 Double fetch漏洞利用技术分析 |
5.4.1 CVE-2016-6516 介绍 |
5.4.2 插桩内核 |
5.4.3 编译安装新内核 |
5.4.4 构造PoC |
5.4.5 运行结果分析 |
5.4.6 漏洞利用小结 |
5.5 Double fetch缺陷预防策略总结 |
5.6 本章小结 |
第六章 针对I/O内存中的硬件double fetch问题研究 |
6.1 硬件double fetch相关背景介绍 |
6.1.1 内存映射I/O和端口映射I/O介绍 |
6.1.2 驱动在I/O映射中的作用介绍 |
6.1.3 硬件double fetch缺陷介绍 |
6.2 硬件double fetch缺陷的静态模式匹配分析 |
6.2.1 方法介绍 |
6.2.2 方法实现 |
6.2.3 实验结果 |
6.3 硬件double fetch缺陷实例分析 |
6.3.1 状态寄存器 |
6.3.2 配置/控制寄存器 |
6.3.3 数据寄存器 |
6.3.4 设备内存 |
6.4 讨论 |
6.4.1 研究发现 |
6.4.2 利用分析 |
6.4.3 防范策略 |
6.4.4 未来工作 |
6.5 本章小结 |
第七章 总结与展望 |
7.1 工作总结 |
7.2 未来展望 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(4)面向众核处理器的硅后调试关键技术研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 课题背景 |
1.1.1 众核处理器对硅后调试技术的需求 |
1.1.2 硅后调试技术研究面临的挑战与机会 |
1.2 相关研究 |
1.2.1 调试技术的相关概念 |
1.2.2 硅后调试技术研究现状 |
1.3 本课题的研究思路 |
1.4 本文主要内容及创新点 |
1.5 论文结构 |
第二章 基于NoC的高带宽低资源开销众核调试系统架构 |
2.1 问题的提出 |
2.2 基于NoC的众核处理器调试系统架构 |
2.2.1 调试系统架构总体结构及特点 |
2.2.2 采用Mesh技术的调试NoC网络 |
2.2.3 本地调试部件LDU |
2.2.4 交叉触发网络与时标信号网络 |
2.2.5 调试系统时钟设计策略 |
2.3 众核处理器调试系统的关键支撑技术 |
2.3.1 基于硬件队列支持快速故障检测的方法 |
2.3.2 基于分布式低硬件开销ELA的信号踪迹捕获与记录方法 |
2.3.3 基于确定性执行和检查点机制的软件踪迹捕获与记录方法 |
2.3.4 具有确定性执行和延迟均衡特性的交叉触发信号网络设计 |
2.3.5 高精度易扩展时标信号网络设计 |
2.4 实验与分析 |
2.4.1 实验环境 |
2.4.2 资源评估 |
2.4.3 性能评估 |
2.5 小结 |
第三章 确定性单步可调的硅后验证系统设计技术 |
3.1 问题的提出 |
3.2 构建确定性单步可调试的众核处理器验证平台 |
3.2.1 构建确定性单步可调硅后验证平台的重要意义 |
3.2.2 确定性执行的基本理论 |
3.2.3 基于时钟抖动范围控制的确定性单步调试方法 |
3.2.4 确定性单步可调的硅后验证平台 |
3.3 基于延迟预测机制的确定性单步可调存储控制器 |
3.3.1 存储控制器简介 |
3.3.2 支持单步调试的确定性链路层设计方法 |
3.4 实验与分析 |
3.4.1 实验环境 |
3.4.2 资源评估 |
3.4.3 性能评估 |
3.4.4 硅后调试加速效果评估 |
3.5 小结 |
第四章 面向硬件仿真器的可单步调试的高速串行接口 |
4.1 问题的提出 |
4.2 支持单步调试的PIPE适配器设计 |
4.2.1 面向PCIE的PIPE接口协议简介 |
4.2.2 支持单步调试的PIPE适配器总体结构 |
4.3 支持单步调试的PIPE适配器微结构 |
4.3.1 PIPE桥结构 |
4.3.2 接收器 |
4.3.3 发送器 |
4.3.4 调试管理单元 |
4.3.5 错误注入 |
4.3.6 报文传输延迟补偿 |
4.4 实验与分析 |
4.4.1 实验环境 |
4.4.2 资源评估 |
4.4.3 性能分析 |
4.5 小结 |
第五章 面向确定性验证系统的硅后故障屏蔽方法 |
5.1 问题的提出 |
5.2 系统状态的备份与恢复 |
5.2.1 状态备份与恢复系统架构 |
5.2.2 触发器状态的备份与恢复 |
5.2.3 SRAM的备份与恢复 |
5.2.4 DRAM的备份与恢复 |
5.2.5 全系统状态备份与恢复的流程 |
5.3 基于系统状态备份与恢复技术的故障屏蔽方法 |
5.3.1 针对电气故障的屏蔽方法 |
5.3.2 针对逻辑故障的屏蔽方法 |
5.4 基于流量控制的故障在线屏蔽方法 |
5.4.1 非核逻辑的一般特征 |
5.4.2 基于流量控制的故障在线屏蔽方法 |
5.5 实验与分析 |
5.5.1 实验设置 |
5.5.2 实验一:在硅后验证中屏蔽故障 |
5.5.3 实验二:基于流量控制方法在线修复故障 |
5.6 小结 |
第六章 总结与展望 |
6.1 工作总结 |
6.2 未来的研究方向 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(5)多核虚拟环境的性能及可伸缩性研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 多核虚拟环境性能及可伸缩性的重要性及挑战 |
1.1.1 虚拟化系统可伸缩性的挑战 |
1.2 背景知识 |
1.2.1 系统虚拟化 |
1.3 相关研究 |
1.3.1 并行编程模型 |
1.3.2 系统软件栈的可伸缩性 |
1.3.3 虚拟化的性能及可伸缩性 |
1.4 本文的主要贡献 |
1.4.1 之前研究工作的不足 |
1.4.2 本文的主要贡献 |
1.5 本文结构安排 |
第二章 多核虚拟环境的性能及可伸缩性问题 |
2.1 虚拟化系统软件的性能及可伸缩性分析 |
2.1.1 虚拟化系统软件栈的性能及可伸缩性问题 |
2.1.2 虚拟机调度机制造成的性能及可伸缩性问题 |
2.2 虚拟固态硬盘的性能分析 |
2.2.1 测试环境 |
2.2.2 测评结果 |
2.3 虚拟机动态迁移的性能分析 |
2.3.1 测试环境 |
2.3.2 测试结果及分析 |
2.4 小结 |
第三章 虚拟化系统的性能及可伸缩性优化 |
3.1 引言 |
3.2 背景知识 |
3.2.1 CPU虚拟化 |
3.2.2 内存虚拟化 |
3.2.3 I/O设备虚拟化 |
3.3 相关工作 |
3.3.1 操作系统性能及可伸缩性研究 |
3.3.2 系统调度策略的研究 |
3.4 Cerberus+:基于虚拟机聚集的虚拟化系统 |
3.4.1 Cerberus系统 |
3.4.2 Cerberus+系统设计与实现 |
3.4.3 Cerberus+系统测评 |
3.5 iXen:多核虚拟化系统软件栈优化系统 |
3.5.1 iXen系统设计 |
3.5.2 iXen系统测评 |
3.6 VCPU-Bal:基于vCPU动态调整的虚拟机调度系统 |
3.6.1 虚拟机调度机制的缺陷 |
3.6.2 VCPU-Bal系统 |
3.6.3 VCPU-Ball系统测评 |
3.7 小结 |
第四章 虚拟固态硬盘的性能及可伸缩性优化 |
4.1 引言 |
4.2 背景知识及相关工作 |
4.2.1 背景知识 |
4.2.2 相关工作 |
4.3 VFlash系统 |
4.3.1 VFlash系统的思想 |
4.3.2 VFlash系统的设计与实现 |
4.4 VFlash系统测评 |
4.4.1 模拟VFlash系统 |
4.4.2 测评环境 |
4.4.3 测评结果 |
4.5 小结 |
第五章 虚拟机迁移的性能及可伸缩性优化 |
5.1 引言 |
5.2 背景知识及相关工作 |
5.2.1 背景知识 |
5.2.2 相关工作 |
5.3 PMigrate系统 |
5.3.1 虚拟机迁移并行化可行性分析 |
5.3.2 并行虚拟机迁移技术 |
5.4 PMigrate系统的实现 |
5 4.1 PMigrate-Xen |
5.4.2 PMigrate-KVM |
5.5 PMigrate系统测评 |
5.5.1 测评环境 |
5.5.2 测评结果 |
5.6 小结 |
第六章 总结展望 |
6.1 工作总结 |
6.2 作展望 |
6.2.1 现有工作整合与应用 |
6.2.2 显卡、硬盘设备的虚拟化 |
6.2.3 虚拟机管理软件的并行化 |
参考文献 |
发表文章目录 |
致谢 |
(6)基于面向云服务的Python并行计算的研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 课题背景及研究现状 |
1.2 本文主要工作 |
1.3 论文组织结构 |
第二章 相关概念和技术 |
2.1 并行化计算 |
2.1.1 计算机需求与能力的矛盾 |
2.1.2 多核系统的出现 |
2.1.3 并行计算 |
2.1.4 并行计算的通信方式 |
2.2 数据并行 |
2.2.1 数据并行和算法并行 |
2.2.2 数据并行的一些应用 |
2.2.3 数据并行代码的简单例子 |
2.2.4 并行计算管理方面存在的问题 |
2.3 云计算 |
2.3.1 云计算的定义 |
2.3.2 云计算系统结构 |
2.4 WINDOWS HPC SERVER 2008介绍 |
2.5 虚拟化技术 |
2.6 本章小结 |
第三章 面向云服务PYTHON并行计算系统总体设计 |
3.1 对面向服务体系结构的研究 |
3.1.1 视窗通讯框架 |
3.1.2 并行计算服务 |
3.1.2.1 提供计算服务 |
3.1.2.2 并行计算服务 |
3.1.2.3 开放服务网格体系 |
3.1.2.4 高性能计算基本服务接.标准 |
3.1.2.5 面向云服务的并行计算 |
3.1.3 WINDOWS HPC SERVER 2008的介绍 |
3.1.3.1 Windows HPC Server 2008新功能 |
3.1.3.2 会话运作机制 |
3.1.3.3 会话如何进行资源管理 |
3.2 需求分析 |
3.2.1 云计算服务层次结构 |
3.2.2 面向云服务Python并行计算系统需求分析 |
3.3 面向云服务的PYTHON并行计算系统的总体设计 |
3.3.1 传统的并行计算集群 |
3.3.2 面向云服务的Python并行计算系统 |
3.3.2.1 总体系统架构与功能模块 |
3.3.2.2 客户端功能模块总体设计 |
3.3.2.3 服务端功能模块总体设计 |
3.3.3 Python并行计算系统的流程 |
3.3.4 聚合多个集群资源的Python并行计算流程 |
3.3.5 面向云服务Python并行计算系统优点 |
3.3.5.1 Python编写并行计算平台的优势 |
3.3.5.2 面向云服务Python并行计算平台的优势 |
3.4 本章小结 |
第四章 面向云服务PYTHON并行计算系统的设计与实现 |
4.1 面向云服务的PYTHON并行计算系统计算流程 |
4.2 客户端的设计与实现 |
4.3 服务端的具体设计和实现 |
4.3.1 服务节点主模块的设计和实现 |
4.3.2 服务节点的监控模块具体设计和实现 |
4.3.2.1 监控控制器设计与实现 |
4.3.2.2 监控客户端设计与实现 |
4.3.2.3 数据库设计 |
4.3.3 计算节点模块的设计与实现 |
4.4 面向云服务PYTHON并行计算系统的主要特点 |
4.5 本章小结 |
第五章 系统测试和性能分析 |
5.1 测试环境设置 |
5.2 并行计算的评价标准-加速比 |
5.3 加速比实验 |
5.4 结果分析 |
5.4.1 执行时间对并行化加速比的影响 |
5.4.2 单个计算数据处理时间对加速比的影响 |
5.5 本章小结 |
第六章 总结与展望 |
6.1 论文总结 |
6.2 工作展望 |
致谢 |
参考文献 |
(7)基于VxWorks的可视化并行性能剖析器的设计与实现(论文提纲范文)
摘要 |
ABSTRACT |
图表目录 |
第一章 绪论 |
1 课题背景及意义 |
2 并行计算简介 |
2.1 并行计算的发展 |
2.2 并行编程模型 |
2.3 并行程序设计 |
3 论文研究的内容 |
4 本人承担的主要工作 |
5 本文的组织结构 |
第二章 并行程序性能调试技术研究 |
1 并行调试研究 |
1.1 不确定性 |
1.2 可移植性 |
1.3 可扩展性 |
1.4 并行调试的意义 |
2 并行正确性调试 |
3 并行性能调试 |
4 性能调试的可视化分析 |
5 国内外并行调试工具 |
第三章 可视化性能剖析器的设计和实现 |
1 设计思想 |
2 总体设计 |
3 开发环境 |
3.1 Eclipse 及 RCP 简介 |
3.2 VxWorks 及 Workbench 简介 |
4 性能分析函数库设计 |
4.1 一些定义 |
4.2 主要数据结构 |
4.3 主要函数流程 |
5 可视化工具设计 |
5.1 性能可视化分析流程 |
5.2 详细设计 |
6 本章小结 |
第四章 测试与分析 |
1 实验环境 |
1.1 实验平台简介 |
1.2 软件环境 |
2 Mandelbrot 简介 |
3 Mandelbrot 实现 |
3.1 主要流程 |
3.2 关键数据结构 |
4 测试与分析 |
5 本章小结 |
第五章 总结与展望 |
1 本人完成的主要工作 |
2 进一步的工作 |
参考文献 |
攻读硕士学位期间发表的论文和取得的科研成果 |
致谢 |
详细摘要 |
(8)基于多核平台的网络流量监测研究与优化(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 互联网与网络流量监测 |
1.1.1 互联网的发展 |
1.1.2 网络流量监测的意义 |
1.1.3 网络流量监测的常用方法 |
1.1.4 网络流量监测的工作方式 |
1.2 多核平台相关领域的发展及现状 |
1.2.1 单核处理器时代的困境 |
1.2.2 多核处理器的发展 |
1.2.3 多核处理器的应用优势 |
1.2.4 多核操作系统 |
1.2.5 多核平台软件设计 |
1.2.6 多核平台发展趋势 |
1.3 多核平台在流量监测领域的应用 |
1.3.1 多核平台与流量监测系统的结合 |
1.3.2 面临的挑战 |
1.4 论文研究内容和创新点 |
1.5 论文结构 |
1.6 本文中的一些约定 |
第二章 多核平台软件并行优化技术 |
2.1 软件系统并行化 |
2.1.1 软件并行化概述 |
2.1.2 软件并行化的应用 |
2.1.3 并行分解模式 |
2.1.4 软件并行编程环境 |
2.2 处理器指令 |
2.2.1 指令系统及计算机分类 |
2.2.2 指令流水线 |
2.3 多核平台软件性能优化方法 |
2.3.1 基于软件流水线并行的优化方法 |
2.3.2 基于流量分类散列技术的优化方法 |
2.3.3 基于提高缓存(Cache)命中率的优化方法 |
2.3.4 基于手动"调谐"的优化方法 |
2.3.5 基于任务映射和进程(线程)调度的优化方法 |
2.3.6 基于多层次并行发掘的优化方法 |
2.3.7 基于并行框架、并行库、并行编译器的优化方法 |
2.3.8 基于流编程技术的优化方法 |
第三章 流量监测系统的通用架构及其多核优化评价指标 |
3.1 概述 |
3.2 流量监测系统的通用架构 |
3.2.1 通用架构概述 |
3.2.2 模块逻辑关系 |
3.3 流量监测系统多核优化评价指标 |
3.3.1 核心评价指标 |
3.3.2 辅助评价指标 |
3.4 评价指标在流量监测系统多核优化中的应用 |
3.4.1 多核优化评价指标应用方法 |
3.4.2 流量监测系统多核优化步骤 |
3.5 流量监测系统多核优化评测工具 |
3.5.1 Intel Vtune |
3.5.2 Oprofile |
3.6 本章小结 |
第四章 网络协议解析类系统的多核性能优化研究 |
4.1 概述 |
4.1.1 研究目标 |
4.1.2 相关背景 |
4.1.3 优化思路 |
4.2 GTP协议 |
4.2.1 GTP协议报文格式 |
4.2.2 GTP协议消息 |
4.2.3 移动用户上下线与GTP隧道管理消息 |
4.3 GTP协议解析系统(GTPAS) |
4.3.1 系统概述 |
4.3.2 系统工作环境 |
4.3.3 系统设计 |
4.4 系统工作模式及线程分配 |
4.4.1 线程类别的定义 |
4.4.2 工作模式的定义 |
4.4.3 GTPAS中的线程分配 |
4.5 GTPAS性能评测分析 |
4.5.1 实验平台及流量 |
4.5.2 GTPAS在单核平台上的性能分析(优化前-单核平台) |
4.5.3 GTPAS在多核平台上的性能分析(优化前-多核平台) |
4.6 GTPAS性能瓶颈原因 |
4.7 GTPAS的多核平台优化策略 |
4.7.1 基于多路并行的执行方式 |
4.7.2 基于协议消息类型的报文分发 |
4.7.3 基于"组间并行、组内优先"的消息处理 |
4.7.4 基于处理器亲和性的线程固定调度策略 |
4.7.5 基于多核平均锁阻塞比的哈希表最优分组访问 |
4.8 MGTPAS在多核平台上的性能分析(优化后-多核平台) |
4.8.1 吞吐量 |
4.8.2 关键线程时间开销分析 |
4.8.3 各阶段开销分析 |
4.9 调度方式对比 |
4.9.1 多核Cache失中开销率 |
4.9.2 多核流量分摊度 |
4.10 多核优化加速比分析 |
4.11 网络协议解析类系统多核优化特点总结 |
4.12 本章小结 |
第五章 网络内容监测类系统的多核性能优化研究 |
5.1 概述 |
5.2 网络内容监测系统(ITCMS) |
5.2.1 系统简介 |
5.2.2 系统工作环境 |
5.2.3 系统结构及流程 |
5.2.4 系统工作模式及线程分配 |
5.3 系统优化思路 |
5.4 ITCMS性能评测分析 |
5.4.1 实验平台及流量 |
5.4.2 ITCMS在单核平台上的性能分析(优化前-单核平台) |
5.4.3 ITCMS在多核平台上的性能分析(优化前-多核平台) |
5.5 ITCMS性能瓶颈原因 |
5.6 ITCMS的多核平台优化策略 |
5.6.1 选择三级流水线并行结构 |
5.6.2 推算流水线单元间的资源配比 |
5.6.3 采用固定调度结合Linux调度的方式 |
5.6.4 优化队列结构及衔接方式以减少竞争 |
5.7 实测ITCMS多核性能优化效果(优化后-多核平台) |
5.7.1 吞吐量 |
5.7.2 关键线程时间开销分析 |
5.7.3 实测流水线各单元开销 |
5.8 调度方式对比 |
5.8.1 多核Cache失中开销率 |
5.8.2 多核流量分摊度 |
5.8.3 固定调度结合Linux调度方式利弊小结 |
5.9 多核优化加速比分析 |
5.10 网络内容监测类系统多核优化特点总结 |
5.11 网络内容监测类与网络协议解析类系统的多核性能优化对比 |
5.12 本章小结 |
第六章 多核平台上报文接收性能研究与报文重组性能优化 |
6.1 概述 |
6.1.1 关于报文接收 |
6.1.2 关于应用层报文重组 |
6.2 多核平台报文接收性能研究 |
6.2.1 常见报文接收方法及原理 |
6.2.2 报文接收性能分析方法及内容 |
6.2.3 多核平台上单进程报文接收的最大能力 |
6.2.4 多核平台上双进程报文接收的最大能力 |
6.2.5 单、双进程报文接收性能对比 |
6.2.6 单进程报文接收处理器负载分析 |
6.2.7 进程报文接收处理器负载分析 |
6.3 HTTP报文重组在多核平台上的性能优化 |
6.3.1 研究HTTP报文重组性能优化的必要性 |
6.3.2 HTTP报文重组开销分析 |
6.3.3 针对多核平台特点的优化策略 |
6.3.4 针对HTTP报文特点的优化策略 |
6.3.5 实验验证 |
6.3.6 优化后报文重组开销分析 |
6.4 本章小结 |
结束语:总结与展望 |
参考文献 |
附录:缩写词说明 |
致谢 |
攻读学位期间发表的学术论文目录 |
(9)高性能微处理器中自适应高速缓存管理策略研究(论文提纲范文)
摘要 |
ABSTRACT |
第1章 绪论 |
1.1 高性能微处理器的发展 |
1.2 片上高速缓存管理 |
1.2.1 高速缓存的设计挑战 |
1.2.2 高速缓存的管理策略 |
1.3 本文的研究内容及意义 |
1.4 本文的主要贡献 |
1.5 本文的组织结构 |
第2章 高性能微处理器发展概述 |
2.1 构造高性能微处理器的传统技术 |
2.1.1 摩尔定律 |
2.1.2 流水线技术 |
2.1.3 指令级并行性 |
2.1.4 多处理器并行性 |
2.2 线程级并行性 |
2.2.1 指令级并行性的局限性 |
2.2.2 存储墙 |
2.2.3 功耗 |
2.2.4 线程级并行性 |
2.2.5 同时多线程 |
2.3 多核处理器 |
2.4 小结 |
第3章 高性能微处理器高速缓存研究现状 |
3.1 高速缓存 |
3.1.1 背景及相关术语 |
3.1.2 片上共享高速缓存 |
3.2 降低Cache 缺失 |
3.2.1 减少冲突缺失 |
3.2.2 减少容量缺失 |
3.2.3 减少一致性缺失 |
3.3 优化Cache 管理策略 |
3.3.1 优化替换策略 |
3.3.2 Cache 旁路 |
3.3.3 数据及早淘汰 |
3.4 多核Cache 划分 |
3.5 混合Cache 设计 |
3.5.1 基于共享Cache 的设计方案 |
3.5.2 基于私有Cache 的设计方案 |
3.6 其他片上存储系统优化技术 |
3.6.1 高速缓存预取 |
3.6.2 提高Cache 的访问带宽 |
3.6.3 操作系统级Cache 性能优化 |
3.6.4 一致性协议的优化 |
3.6.5 内存控制器的优化 |
3.7 小结 |
第4章 面向公平性的共享高速缓存划分 |
4.1 引言 |
4.2 LRU 策略的相关特性 |
4.2.1 LRU 策略的不公平性 |
4.2.2 LRU 策略的栈特性 |
4.3 SMT 处理器二级 Cache 共享度的研究 |
4.4 ARP:自适应运行时Cache 划分 |
4.4.1 ARP 的硬件结构 |
4.4.2 ARP 的算法描述 |
4.4.3 替换策略的修改 |
4.5 性能评价方法 |
4.6 实验结果及分析 |
4.6.1 二级Cache 的共享度 |
4.6.2 ARP 机制的吞吐量评测 |
4.6.3 ARP 机制的公平性评测 |
4.6.4 ARP 机制的开销 |
4.7 相关工作 |
4.8 小结 |
第5章 基于使用频率的插入提升策略 |
5.1 引言 |
5.2 背景 |
5.2.1 负载特性 |
5.2.2 Cache 插入和提升 |
5.2.3 相关工作 |
5.3 无用块消除和低重用块过滤Cache 管理 |
5.3.1 ELF 硬件结构 |
5.3.2 ELF 策略 |
5.4 性能评价方法 |
5.5 实验结果及分析 |
5.5.1 性能加速比 |
5.5.2 Cache 块使用频率预测精度分析 |
5.5.3 对Cache 容量的敏感度分析 |
5.5.4 插入和提升行为 |
5.5.5 硬件设计开销 |
5.6 小结 |
第6章 划分感知淘汰线程感知插入提升策略 |
6.1 引言 |
6.2 背景 |
6.2.1 负载特性 |
6.2.2 Cache 划分 |
6.2.3 Cache 插入和提升 |
6.3 共享Cache 管理 |
6.3.1 线程感知提升策略 |
6.3.2 划分感知淘汰 |
6.3.3 PAE-TIP |
6.4 实验方法 |
6.5 实验结果及分析 |
6.5.1 性能加速比 |
6.5.2 划分控制 |
6.5.3 插入和提升行为 |
6.5.4 对流数据的感知 |
6.5.5 硬件开销 |
6.6 相关工作 |
6.7 小结 |
第7章 总结及未来工作 |
7.1 本文工作总结 |
7.2 未来研究工作 |
参考文献 |
附录 相关术语 |
致谢 |
在读期间发表的学术论文与取得的研究成果 |
在读期间参与的科研项目 |
(10)面向钢铁质量过程控制的分布式并行软件框架模型研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 研究背景 |
1.2 相关研究现状 |
1.3 研究内容 |
1.4 本文的篇章结构 |
第二章 面向钢铁质量过程控制的软件框架模型关键技术 |
2.1 钢铁企业质量过程控制特点 |
2.1.1 钢铁企业的生产方式 |
2.1.2 钢铁企业质量过程管理模式 |
2.1.3 钢铁企业质量过程控制特点 |
2.2 钢铁企业质量过程控制软件特点和传统设计策略 |
2.3 面向Actor结构的钢铁企业质量过程控制软件设计方法 |
2.3.1 质量过程控制中的Actor |
2.3.2 层次化抽象 |
2.3.3 面向Actor的质量过程控制软件设计过程 |
2.4 本章小结 |
第三章 面向钢铁质量过程控制的软件框架模型 |
3.1 分布实时质量过程控制软件框架 |
3.1.1 结构化的分布实时软件框架 |
3.1.2 面向对象的分布实时软件框架 |
3.1.3 构件化的分布实时软件框架 |
3.1.4 现有工作的总结 |
3.2 基于监控器的面向Actor分布实时软件框架 |
3.2.1 Actor模型 |
3.2.2 层次化框架 |
3.2.3 监控器机制 |
3.2.4 基于ABRTSF框架的软件设计 |
3.2.5 ABRTSF框架的特点分析 |
3.3 本章小结 |
第四章 面向钢铁质量过程控制的实时构件设计 |
4.1 Actor设计模型 |
4.2 Actor静态结构设计 |
4.2.1 Actor Head |
4.2.2 常量因子部分 |
4.2.3 内部集合因子 |
4.2.4 变量因子部分 |
4.3 Actor动态行为描述 |
4.3.1 任务函数部分 |
4.3.2 端口部分 |
4.3.3 Actor行为 |
4.3.4 内部Actor |
4.4 质量数据传输定位例子的Actor描述 |
4.5 本章小结 |
第五章 面向钢铁质量过程控制的构件组装规约 |
5.1 Actor组装规约简述 |
5.2 构件组装规约研究 |
5.3 Actor组装规约方法 |
5.3.1 复合Actor的可视化规约 |
5.3.2 内部Actor的描述性规约 |
5.4 复合Actor语义规约推导方法 |
5.4.1 复合Actor静态结构的规约推导 |
5.4.2 复合Actor端口规约的推导 |
5.4.3 复合Actor行为规约的推导 |
5.5 本章小结 |
第六章 应用实例 |
6.1 昆钢生产过程质量数据处理系统 |
6.2 需求分析 |
6.2.1 总体分析 |
6.2.2 质量过程管理业务 |
6.2.3 质量过程功能需求 |
6.3 系统设计 |
6.4 系统实现 |
6.4.1 软件体系结构 |
6.4.2 软件主要模块 |
6.4.3 软件特点 |
6.5 本章小结 |
第七章 结论 |
7.1 本文的主要结论 |
7.2 本文的研究成果及创新点 |
7.3 进一步的工作 |
致谢 |
参考文献 |
附录A 攻读学位期间发表论文目录 |
附录B 攻读学位期间主持与参与的科研项目 |
四、并行软件性能监测与分析系统中运行时性能监控器的设计(论文参考文献)
- [1]基于运行时验证的监控器优化方法研究[D]. 叶玲玲. 桂林电子科技大学, 2019(01)
- [2]系统软件交界面缺陷检测技术研究[D]. 王鹏飞. 国防科技大学, 2018(02)
- [3]实时多核嵌入式系统研究综述[J]. 陈刚,关楠,吕鸣松,王义. 软件学报, 2018(07)
- [4]面向众核处理器的硅后调试关键技术研究[D]. 张明. 国防科技大学, 2017
- [5]多核虚拟环境的性能及可伸缩性研究[D]. 宋翔. 复旦大学, 2014(01)
- [6]基于面向云服务的Python并行计算的研究[D]. 陈从江. 电子科技大学, 2014(03)
- [7]基于VxWorks的可视化并行性能剖析器的设计与实现[D]. 曾令将. 中国舰船研究院, 2012(02)
- [8]基于多核平台的网络流量监测研究与优化[D]. 杨帆. 北京邮电大学, 2011(07)
- [9]高性能微处理器中自适应高速缓存管理策略研究[D]. 隋秀峰. 中国科学技术大学, 2010(06)
- [10]面向钢铁质量过程控制的分布式并行软件框架模型研究[D]. 张晶. 昆明理工大学, 2009(01)