高性能计算与分布式系统研究中的可重复性和溯源性探索
立即解锁
发布时间: 2025-10-21 00:33:59 阅读量: 17 订阅数: 56 AIGC 

并行计算教育与实践
### 高性能计算与分布式系统研究中的可重复性和溯源性探索
#### 1. 高性能计算实验的可重复性挑战
在高性能计算(HPC)领域,可重复性一直是一个被忽视的问题。尽管HPC基准测试多年来已发展成为一门复杂的学科,但实验结果的可重复性却常常难以保证。
例如,在非阻塞集合操作的实验中,尝试在波茨坦重复实验时,使用OpenMPI v1.8.2运行依赖NBC库的代码时,无论是通过以太网还是Infiniband,都会出现运行时错误,而纯OpenMPI版本的共轭梯度求解器则能正常运行。这表明系统(包括硬件和软件配置)以及实验来源信息对于实验的可重复性至关重要。
另外,在巴塞尔大学的HPC课程中,让学生使用正在构建的框架来实现作业解决方案,以让他们初步了解可重复性这一重要主题。然而,令人惊讶的是,90%的学生对可重复性一无所知。
通过网络界面访问的工具为学生提供了一个即用型环境,他们只需按下按钮即可编译和运行源代码。学生可以操作Makefile来影响编译阶段,但运行阶段目前还不可定制。这样做的好处是,能够在相同条件下运行学生的作业和实验,确保结果的准确性和一致性。例如,在一个使用OpenMP进行并行化的二维矩阵乘法实验中,对学生的实现进行了比较,展示了不同实现策略(如缓存优化、展开或AVX指令的利用)的性能差异。
| 实验类型 | 遇到的问题 | 解决方案 |
| ---- | ---- | ---- |
| 非阻塞集合操作实验 | 使用特定OpenMPI版本运行依赖NBC库的代码出现运行时错误 | 暂未找到解决方案,测量未包含该情况下的执行时间 |
| 学生作业实验 | 学生对可重复性概念不了解 | 提供即用型环境,在相同条件下运行实验 |
#### 2. 分布式系统研究中的溯源性需求
随着计算机系统变得越来越复杂,我们对其的理解却没有相应地提高。特别是在分布式系统的实验研究中,系统本身的复杂性以及实验过程描述的不完整或错误,给实验的可重复性带来了巨大挑战。
溯源性作为一种能够提高科学研究可理解性和可重复性的技术,传统上指的是历史对象的起源和保管链信息,在计算和科学领域则表示数据对象在计算过程中的起源和转换信息。然而,获取有用的溯源信息并非易事,存在概念上(如应跟踪哪些信息以及跟踪到何种详细程度)和技术上(如如何高效存储和查询溯源信息)的问题,而且溯源信息的收集可能会影响系统的性能甚至正确性。
下面是一个简单的mermaid流程图,展示了分布式系统实验中溯源性的重要性:
```mermaid
graph LR
A[复杂分布式系统] --> B[实验执行困难]
B --> C[结果理解困难]
C --> D[可重复性挑战]
E[溯源性信息] --> D
```
#### 3. 计算机科学不同领域的溯源性收集
###
0
0
复制全文


