【技术实现步骤摘要】
【国外来华专利技术】用于动态优化的程序阶段检测
本实施例涉及可管理的运行时计算机系统环境技术,更具体地, 涉及通过阶段检测进行的动态优化。
技术介绍
设计成运行于可管理的运ft时环境(MRTE)的计算机程序是以中 性字节码的格式分发的,且这些程序必须由动态编译器编译成本地机 器码。受到管理的应用程序的性能取决于由编译器执行的优化和代码 生成的质量。可将系统利用率监视用于确定何时需要优化各种应用程 序。随着运行在系统上的应用程序的数量的增加,对应用程序优化的 需要也随之增加了。许多微处理器结构依赖于编译器的性能优化。某些结构的性能非 常依赖于昂贵和复杂的代码生成优化(如全局调度和控制预测)。为优化可执行代码,使用了性能反馈和优化技术。这些技术的问 题是,它们通常通过硬件实施或是专用的,因此并不适于动态优化或 软件实施。而且,许多优化要求等待-观察的方法,因为要试验不同 的优化标准来实现优化。这个过程相当耗时,而且由于系统利用的变 化,可能仅能在短时间内优化应用程序。附图说明在附图的各幅图中,通过举例而非限制的方式说明了本专利技术的实 施例,其中,相似的附图标记指示相似的组件。应当注意,在本公开 中,本专利技术的某一实施例不一定指相同的实施例,且它们意味着 至少一个实施例。图1示出了用于检测稳定的程序阶段(phase)的进程(process)的 一个实施例。图2示出了分支跟踪緩冲区(BTrB)的样本地址随时间的实例緩 冲区的图。图3示出了对应于两个已检测阶段的直方图。图4示出了使用图2中的数据时检测到的阶段序列。图5示出了一个系统的实施例。图6示出了与另一系统耦合的系统的实施例。 ...
【技术保护点】
一种方法,包括:选择阶段阈值,接收多个经过排序的缓冲区,确定在至少两个连续直方图区间的中心之间的距离,将所述距离与所述选择的阈值进行比较,以及根据所述比较来确定可执行进程的主执行阶段。
【技术特征摘要】
【国外来华专利技术】US 2004-3-31 10/815,2881. 一种方法,包括 选择阶段阈值,接收多个经过排序的緩冲区,确定在至少两个连续直方图区间的中心之间的距离, 将所述距离与所述选择的阈值进行比较,以及 根椐所述比较来确定可执行进程的主执行阶段。2. 如权利要求1所述的方法,所述多个经过排序的援沖区包括 多个样本,所述样本包含在某一采样时间取得的多个分支的地址。3. 如权利要求1所述的方法,还包括 确定代表分支跟踪緩冲区的多个分支地址, 确定代表所述分支跟踪緩冲区的多个连续分支地址, 为所述多个连续分支地址确定稳定阶段直方图,以及为所有可能的分支地址确定多个间隔相等且非重叠的直方图区间。4. 如权利要求1所述的方法,其中所述确定主执行阶段的结果 发信号要求动态编译可执行代码,以便优化所述可执行代码。5. 如权利要求l所述的方法,还包括确定所述至少两个连续直方图区间是否处于相同的阶段。6. 如权利要求5所述的方法,如果所述距离比等于和小于所述 选择的阶段阈值其中之一要小,则所述至少两个连续直方图处于相同 阶段。7. —种包括机器可读介质的设备,所述机器可读介质包含指 令,当机器执行所述指令时,使得所述机器执行以下操作选择阶段阈值,接收多个经过排序的緩沖区,确定代表分支跟踪緩沖区的多个分支地址, 确定在至少两个连续直方图区间的中心之间的距离,其中所述至 少两个直方图区间是非重叠的,以及将所述距离与所述选择的阈值进行比较。8. 如权利要求7所述的设备,还包括指令,当机器执行所述指 令时,使得所述机器执行以下操作确定代表所述分支跟踪緩冲区的多个连续分支地址, 为所述多个连续分支地址确定稳定阶段直方图, 为所有可能的分支地址确定多个间隔相等且非重叠的直方图区 间,以及根据所述比较确定可执行进程的主执行阶段。9. 如权利要求8所述的设备,其中所述确定主执行阶段以预定 的周期速度动态变化。10. 如权利要求8所述的设备,其中所述确定主执行阶段是以人 工方式开始的。11. 如权利要求7所述的设备,所述多个经过排序的緩冲区包括 多个样本,所述样本包含在某一采样时间取得的多个分支的地址。12. 如权利要求7所述的设备,其中所述确定主执行阶段的指令 的结果发信号要求动态编译可执行代码,以便优化所述可执行代码。13. 如权利要求7所述的设备,还包括指令,当机器执行所述指 令时,使得所述机器执行以下操作确定所述至少两个连续直方图区间是否处于相同的阶段。14. 如权利要求13所述的设备,如果所述距离比等于和小于所 述选择的阶段阈值的...
【专利技术属性】
技术研发人员:AV内费安,AR阿德尔塔巴塔拜,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。