一种程序数据与代码局部性的量化方法技术

技术编号:9545298 阅读:179 留言:0更新日期:2014-01-08 21:35
本发明专利技术公开了一种程序数据与代码局部性的量化方法,其过程为:剖析目标程序获取指令访问数据信息、指令与数据的组织信息及热度信息;将上述信息映射到空间几何坐标系中;在空间几何坐标系中建模立方体;将热度信息投射为立方体密度;当给定局部开始与结束位置时,构建局部空间长方体;使用局部空间长方体进行局部性程度计算;在局部性程度计算时建模并使用了立方体体积、密度及质量属性;当指令具有跳转出局部长方体的指令时,将长方体分割为子长方体进行计算。本发明专利技术可以从程序特征角度来对程序局部性进行定量。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,其过程为:剖析目标程序获取指令访问数据信息、指令与数据的组织信息及热度信息;将上述信息映射到空间几何坐标系中;在空间几何坐标系中建模立方体;将热度信息投射为立方体密度;当给定局部开始与结束位置时,构建局部空间长方体;使用局部空间长方体进行局部性程度计算;在局部性程度计算时建模并使用了立方体体积、密度及质量属性;当指令具有跳转出局部长方体的指令时,将长方体分割为子长方体进行计算。本专利技术可以从程序特征角度来对程序局部性进行定量。【专利说明】
本专利技术涉及计算机
,尤其是计算机系统结构领域的程序局部性原理及程 序特征分析及可视化与程序剖析,具体地说是。
技术介绍
在计算机
,人们通过观察程序运行的特征,发现程序运行时有如下现象: 从指令的角度看,程序经常性的需要重复执行其最近执行过的指令;从数据的角度看,程序 经常性的需要重复访问其最近访问过的数据。这种特性被称为局部性原理。由于数据局 部性与指令局部性均是一种经验规律,在系统结构领域多用此经验规律来设计层次存储结 构。程序的指令与数据是独立又统一的,其局部性也是即有独立的方面也有统一的方面,独 立是其属性不同,统一因数据与指令之间关系密切,这也是数据与指令的意义所在。局部性 的根本原因在于指令不仅可以:(依据时间维度)0,依次从当前执行位置至后序执行位置执行(依序执行);其还可以:I,跳跃的从当前执行位置到其增长的位置处,再依序执行;(正跳执行)2,跳跃的从当前执行位置到其减小的位置处,再依序执行;(负跳执行)基于跳转及其跳转条件,指令即可以:0,不执行(执行零次)I,非重复执行(执行一次)2,重复执行(执行多次)因存在上述依序执行(局部相邻)、跳转执行(局部相邻无效)、非重复执行(局部不重复) 及重复执行(局部有条件重复),局部性得以形成。加之计算机程序是人们抽象出来用以处 理各种非重复及重复任务的工具,使得局部性规律成为计算机学科中的重要经验规律。基于局部性原理,当前计算机系统中大多都构建了多层次存储结构,以兼顾平衡 成本优势与效率。成本优势与效率间牵制的根本原因在于速度越快的存储结构,其成本越 高。多层次存储结构在构建之初只会对当前系统的可能的载体程序大致进行估量。当层次 存储结构固定后,在层次存储结构实际使用时,其通常便不再变动。而在固定的层次存储结 构上,其仍旧会运行承载具有各式各样用途及各式各样特征的应用程序。再有,在层次存储 结构配置不同的计算系统上,也会运行各种相同的应用的程序。这些不同现象都是大量存 在的。此时,从应用程序的角度,如何高效利用已经固定的存储层次结构便相当重要,如何 高效利用具有不同配置的存储结构的计算系统也是一个值得深入研究的问题。因上述原 因,在如何高效利用已有的存储及计算资源上,应用程序行为、属性及其特性分析便相当重 要。
技术实现思路
本专利技术的目的是提供,其可以从程序特征角度来对程序局部性进行定量。本专利技术提供的程序特征局部性定量方法,可以可视化程序特征及其局部性,进一 步的对指导分析及认知应用程序提供参考,以便用户认知并分析优化目标程序。本专利技术提供的局部性量化估量方法,从应用程序角度弥补了局部性定量研究方面 的不足。本专利技术的目的是通过下述技术方案实现的:,它包括以下步骤:a)使用剖析工具(包括编译器、运行时统计分析工具等)对程序的指令特征及数据特征 进行剖析;b)获取剖析结果:指令访问数据信息、指令及数据的组织信息、运行时热度信息;c)将步骤b)中获取的结果用作原始程序特征信息来进行后续计算;d)使用右手坐标系建立空间坐标系OXYZ;e)在步骤d)中建立的空间坐标系OXYZ基础上,进一步构造可视化程序特征空间坐标 图,使用步骤c)中获取的基础信息向步骤d)中所建立的空间坐标系映射,具体包括:i )将数据项映射为X轴(即数据维度),将指令项映射为Y轴(即指令维度),将热度项 映射为Z轴(即热度维度);ii)将指令及数据的组织信息映射为轴内的摆放方式;iii)将指令使用数据映射为空间坐标中的单位立方体;单位立方体体积V为1,赋予密 度属性P并置初始值为I,得其初始质量M = PV=I5f)在建立的空间坐标系中放置立方体,具体包括:i)从原点开始,X轴、Y轴和Z轴分别向其正方向依次使用单位为I的立方空间;ii)当Y轴指令项第一次访问X轴数据项,在XY相应立方空间坐标处放置立方体,当Y 轴指令项再次访问X轴数据项时,在XY相应立方空间坐标处向上叠加单位立方体;g)将步骤e)中的热度维度(Z轴)投射为立方体密度,具体包括:i)定义Zmax为存在立方体的空间坐标的Z分量的最大值;ii)使用Z=Zmax处的XY平面向Z轴负方向挤压,停止于Z=I处的XY平面;iii)将各XY坐标处存在的立方体密度P设为其投射之前立方柱高度;h)使用投射后的程序空间坐标图计算局部性程度,具体包括:i)定义Xmax为存在立方体的空间坐标的X分量的最大值,Ymax为存在立方体的空间 坐标的Y分量的最大值;ii)定义局部性程度计算的输入为;Ys为目标局部的Y轴坐标的开始处,Ye为 目标局部的Y轴坐标结束处,0 <= Ys < Ye <= Ymax ;iii)计算:使用X= 0处的YZ平面向X轴正向移动,当其受到范围的 立方体表面阻止时停止,令Xs等于停止位置处的X坐标;使用X = Xmax处的YZ平面向X 轴负向移动,当其受到范围内的立方体表面阻止时停止,令Xe等于停止位置处的 X坐标;iv)当前程序空间坐标图中的平面X-Xs = 0,X-Xe = 0,Y-Ys = 0,Y-Ye = 0,Z =0, Z -1 =0确定了目标局部的长方体表示;j )设局部性程度为L (Ys, Ye),使用步骤h)中iv)确定的目标局部的长方体表示及其相关属性(包括密度、边沿等),计算目标局部的局部性程度,具体包括:i)当局部内部无跳转跳出长方体范围时,有L (Ys, Ye) = M (Xs, Xe, Ys, Ye, 0,I) /V (Xs, Xe, Ys, Ye, 0,I)=(E (P XiYj * V(Xi,Xi+l,Yj,Yj+l,0,I))) /((Xe-Xs) * (Ye-Ys))其中,M(Xs,Xe,Ys,Ye,0, I)指长方体的质量,V(Xs, Xe, Ys, Ye, 0, I)为长方体的体积, P XiYi 为平面 X-Xi = 0,X - (Xi + I) = 0,Y - Yj = 0,Y - (Yj + I) = 0,Z = 0,Z -1 =0所围的立方体的投射密度,Xi和Yi均为整数且Xi G 、Yj G ;ii)当局部内部有跳转跳出立方体范围时,使用跳转位置的XZ平面切分当前长方体; 设当前长方体被切分成的子长方体数为n,切分位置Y分量坐标分别为(Yl, Y2, Y3…Yn-1), 其跳转方向对应为(D1,D2,…Dn-1),对任意的Di(l〈=i〈=n-1)有Di = Ys或Di = Ye ;Di = Ys表示跳转方向为Y轴负向,Di = Ye表示跳转方向为Y轴正向;对每一个子长方体,分别计算其局部性程度:L(Ys1Yl) = M(Xs, Xe, Ys, Y1,0,本文档来自技高网
...

【技术保护点】
一种程序数据与代码局部性的量化方法,其特征在于包括以下步骤:a)使用剖析工具对程序的指令特征及数据特征进行剖析;b)获取剖析结果:指令访问数据信息、指令及数据的组织信息、运行时热度信息;c)将步骤b)中获取的结果用作原始程序特征信息来进行后续计算;d)使用右手坐标系建立空间坐标系OXYZ;e)在步骤d)中建立的空间坐标系OXYZ基础上,进一步构造可视化程序特征空间坐标图,使用步骤c)中获取的基础信息向步骤d)中所建立的空间坐标系映射,具体包括:ⅰ)将数据项映射为X轴即数据维度,将指令项映射为Y轴即指令维度,将热度项映射为Z轴即热度维度;ⅱ)将指令及数据的组织信息映射为轴内的摆放方式;ⅲ)将指令使用数据映射为空间坐标中的单位立方体;单位立方体体积V为1,赋予密度属性ρ并置初始值为1,得其初始质量M?=?ρV?=?1;f)在建立的空间坐标系中放置立方体,具体包括:ⅰ)从原点开始,X轴、Y轴和Z轴分别向其正方向依次使用单位为1的立方空间;ⅱ)当Y轴指令项第一次访问X轴数据项,在XY相应立方空间坐标处放置立方体,当Y轴指令项再次访问X轴数据项时,在XY相应立方空间坐标处向上叠加单位立方体;g)将步骤e)中的热度维度(Z轴)投射为立方体密度,具体包括:ⅰ)定义Zmax为存在立方体的空间坐标的Z分量的最大值;ⅱ)使用Z=Zmax处的XY平面向Z轴负方向挤压,停止于Z=1处的XY平面;ⅲ)将各XY坐标处存在的立方体密度ρ设为其投射之前立方柱高度;使用投射后的程序空间坐标图计算局部性程度,具体包括:ⅰ)定义Xmax为存在立方体的空间坐标的X分量的最大值,Ymax为存在立方体的空间坐标的Y分量的最大值;ⅱ)定义局部性程度计算的输入为[Ys,Ye];Ys为目标局部的Y轴坐标的开始处,Ye为目标局部的Y轴坐标结束处,0?<=?Ys?...

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡根杨艳琴徐文超
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1