排序方式: 共有67条查询结果,搜索用时 218 毫秒
41.
时至今日,调试仍然占据软件开发过程中近70%的时间;以断点的设置和检查为基础的传统交互式调试依旧是实际工作中最常用的错误定位手段.日常调试过程中,断点的选择和调试的效率主要依赖于调试人员自身的经验以及对所调试程序的理解程度.提出一种基于最小调试边界的断点自动生成方法.最小调试边界描述了一个由程序执行轨迹上一组轨迹点构成的结合.该集合具有对错误传播的阻隔性,以及所对应的程序状态规模最小化的特征.受益于最小调试边界(minimum debugging frontier set,简称MDFS)的错误阻隔性,一旦查明其上的程序状态是否符合设计预期,即可确定错误触发位置与该MDFS在程序执行轨迹上的先后顺序,将错误触发的范围限定在MDFS的一侧.而状态规模的最小化也减轻了用户检查断点处语句实例的开销.为评价断点质量,还制定了一组断点评价标准,用于考量断点与程序失效之间的关联性、断点本身的易判性以及对调试收敛的帮助.实验结果表明,采用该方法生成的断点具有检查开销低、加速调试收敛等优势;采用所提供的断点的调试流程,与基于经典错误定位方法的流程相比,能以更低的人工开销定位更多的错误. 相似文献
42.
寄存器绑定是高层次综合中的一个基础优化问题,主要目标是在保证电路功能的同时最小化寄存器资源的使用.传统的方法尝试将编译器的寄存器分配算法应用于寄存器绑定中,但却忽略了分配问题与绑定问题的差异性,因此在绑定过程中引入了额外的资源约束,或采用了不适合电路设计的编译优化技巧,从而导致资源浪费.为了解决这些问题, 本文将寄存器绑定问题转化为连续多重着色问题,并提出了一种基于位宽与顶点度结合的启发式求解方法.该方法通过对变量的位宽和活跃区间等信息的细粒度刻画和建模,能够进一步优化寄存器资源的开销,同时无需插入额外的指令.我们将该算法与两种典型算法进行了比较,实验结果表明, 我们的算法在Mibench测试集的96.72%的测试用例中达到了理论最优解,比其他两种方法分别提高了31.5%和25.1%;在Rosetta测试集的所有测试用例中均表现为最优解,比其他两种方法分别提高了7.41%和7.39%. 相似文献
43.
44.
45.
编译器在静态分析方式下很难对程序的非线性规律访存操作进行正确的数据预取 .但采用profiling技术可以得到程序运行时候的访存规律,利用这些信息可以精确地插入数据预取指令 .基于stride profiling技术,提出了新的信息收集类型stride iterative,更精确地反映程序执行时访存指令的实际行为,并结合别名分析的结果调整对同一cache行的数据预取,得到比普通数据预取更好的预取性能 .安腾2上运行CPU2000的12个整型测试例子平均有8.54%的性能提升,其中mcf性能提升达到了77.87%. 相似文献
46.
Cache Profiling技术 总被引:1,自引:0,他引:1
如何减少和隐藏cache失效的延迟,是人们关注的热点。编译器为了得到cache访问命中的情况,往往使用模拟器去跑一遍来得到结果,这样的速度很慢。为了克服以上缺点,提出了在编译器中作cache profiling来获取cache访问的信息。类似于value profiling和stride profiling,cache profiling对访存指令作插装,可以有效地提高速度,并且只需要编译器的支持即可。Cache profiling获得的信息可以用来改进指令调度、软件预取、生成cache hint和辅助线程等。 相似文献
47.
48.
基于区域平均执行时间和数据依赖信息的可能并行区域识别 总被引:1,自引:0,他引:1
随着多核处理器逐渐成为处理器发展的新趋势,为了持续提高程序性能,必须并行执行应用程序.传统的自动并行技术能够很好地并行科学计算应用中的规则循环,但对于含有大量函数调用和指针引用的不规则程序,目前还不能有效地对其实施并行.针对这一现状,文中提出了基于区域平均执行时间和数据依赖信息的可能并行区域识别方法来对一些不规则程序实施高效并行,主要贡献如下:(1)自动识别程序中的多种并行性,不仅包括传统并行性分析中的循环迭代间的细粒度并行性,而且也包括传统并行性分析尚不能有效处理的循环体和函数调用点间的粗粒度并行性.对于程序中蕴含的众多并行性,文中基于区域平均执行时间实施收益分析来选择合适的并行区域实施并行;(2)自动识别可能并行区域间数据依赖关系的数量、类型以及导致数据依赖关系的程序变量.基于文中的分析结果,作者使用面向行为的投机并行系统(behavior oriented parallelism)对SPEC2006中的4个测试用例实现了并行化.并行化后的程序在Intel和AMD多核处理器上分别得到了300%和260%的平均性能加速. 相似文献
49.
50.
普遍认为,云计算和多核处理器将会统治计算领域的未来.但是,目前云计算数据中心的计算资源使用率非常低,其主要原因在于多核处理器上存在严重且不可预知的性能干扰.为了保证关键应用程序的QoS,只能禁止这些关键程序与其他程序共同运行,导致了资源的过度分配.为了提高数据中心的利用率,分析多核间的性能干扰成为一个关键的问题.观察到程序遭受的核间性能干扰可以表示为内存子系统总压力的线性分段函数,而与构成压力的具体应用程序无关.以此观察为基础,提出了一种基于统计学习的多核间性能干扰分析方法,使用主成分线性回归的方法获得干扰模型,可以精确且定量地预测任意程序由于内存子系统资源竞争导致的性能下降.实验结果表明,平均预测误差仅为1.1%. 相似文献