数据密集型计算的高级编程方法及带保护代码的静态分析
在数据处理和程序优化的领域中,数据密集型计算的高级编程方法以及带保护代码的静态分析是两个重要的研究方向。下面将详细介绍这两方面的内容。
数据密集型计算的高级编程方法
在数据密集型计算中,如何用高级语言表达计算并编译代码以高效管理数据存储、检索和处理是关键问题。为了解决这个问题,研究人员进行了一系列的实验和开发工作。
实验应用与环境
- 应用场景 :主要有两个应用场景,一是模拟显微镜,允许用户指定矩形窗口和子采样因子;二是Bess模型,用于海湾和河口的水污染研究,该计算确定污染物的传输并访问先前模拟生成的大型流体速度数据集。
- 实验环境 :使用移植到由千兆以太网连接的双处理器400 MHz英特尔奔腾节点集群上的ADR运行时系统。每个节点有256MB主内存和18GB内部磁盘,实验使用了集群中的1、2、4和8个节点。
实验结果
实验比较了编译器生成的ADR定制版本和手工编码版本的性能。对于模拟显微镜应用,使用了19,760 × 15,360像素的显微镜图像,查询窗口为10,000 × 10,000,子采样因子为8;对于Bess应用,数据集由一个2113列的网格组成,每列有46,080个时间步,每个时间步有4个4字节的浮点数,实验使用的时间步数为30,000。平均而言,编译器生成的版本比手工编码的版本慢21%。但考虑到在并行机器上管理和优化磁盘访问及计算所需的高编程工作量,对于编译器的第一个原型来说,21%的减速是可以接受的。
超级会员免费看
订阅专栏 解锁全文
6779

被折叠的 条评论
为什么被折叠?



