Skip to main content
QUICK REVIEW

[论文解读] Weaves: A Novel Direct Code Execution Interface for Parallel High Performance Scientific Codes

Srinidhi Varadarajan, Joy Chandra Mukherjee|ArXiv.org|May 4, 2002
Parallel Computing and Optimization Techniques参考文献 13被引用 4
一句话总结

Weaves 引入了一种新颖的框架,可在无需代码重构或遵循特定编程模型的前提下,实现对未经修改的并行高性能科学计算代码的直接执行、组合及运行时控制。通过采用扩展线程和进程模型的通用执行模型,Weaves 实现了在遗留代码库中的透明集成与性能表征,其原型已在 x86 架构上实现,运行时开销极低。

ABSTRACT

Scientific codes are increasingly being used in compositional settings, especially problem solving environments (PSEs). Typical compositional modeling frameworks require significant buy-in, in the form of commitment to a particular style of programming (e.g., distributed object components). While this solution is feasible for newer generations of component-based scientific codes, large legacy code bases present a veritable software engineering nightmare. We introduce Weaves a novel framework that enables modeling, composition, direct code execution, performance characterization, adaptation, and control of unmodified high performance scientific codes. Weaves is an efficient generalized framework for parallel compositional modeling that is a proper superset of the threads and processes models of programming. In this paper, our focus is on the transparent code execution interface enabled by Weaves. We identify design constraints, their impact on implementation alternatives, configuration scenarios, and present results from a prototype implementation on Intel x86 architectures.

研究动机与目标

  • 解决将遗留高性能科学计算代码集成到组合式问题求解环境中的挑战,而无需重构或遵循基于组件的模型。
  • 实现在分布式和并行计算环境中对未经修改的并行科学计算代码的透明执行与运行时管理。
  • 设计一种通用执行模型,扩展传统线程与进程模型,以支持更广泛的组合功能。
  • 在统一框架内支持科学计算代码的性能表征、自适应调整与运行时控制。
  • 通过在英特尔 x86 架构上的原型实现,证明该方法的可行性与高效性。

提出的方法

  • Weaves 采用直接代码执行接口,使未经修改的科学计算代码可在无需修改或重新编译的情况下进行组合与执行。
  • 该框架使用一种通用执行模型,涵盖线程与进程,支持并行组件的灵活组合。
  • 通过提供抽象底层并行性与通信细节的透明接口,与现有问题求解环境(PSE)集成。
  • 通过代码插桩与元数据收集实现运行时监控与性能表征,而无需修改原始代码。
  • 系统可根据性能反馈与配置策略,实现对代码执行的动态自适应与控制。
  • 在英特尔 x86 架构上使用标准并行编程接口与系统级机制实现了原型。

实验结果

研究问题

  • RQ1如何在不重构代码的前提下,使未经修改的高性能科学计算代码在组合式环境中被组合与执行?
  • RQ2哪些设计原则能够支持一种通用执行模型,使其扩展线程与进程模型以实现科学计算代码的组合?
  • RQ3如何为遗留代码实现透明的性能表征与运行时控制?
  • RQ4将此类框架集成到现有 HPC 工作负载中,会对性能与可扩展性产生何种影响?
  • RQ5该框架在多大程度上能够支持科学计算代码执行的动态自适应与控制?

主要发现

  • Weaves 通过透明接口成功实现了对未经修改的并行科学计算代码的直接执行,消除了对代码重构或迁移到基于组件模型的需求。
  • 该框架在不修改原始源代码的前提下,支持遗留代码的组合、性能表征与运行时控制。
  • 在英特尔 x86 架构上的原型实现表明运行时开销极低,证明了其在实际 HPC 工作负载中的可行性。
  • Weaves 提供了线程与进程模型的完整超集,支持更丰富且灵活的并行组合。
  • 该系统实现了对代码执行的高效监控与插桩,支持在组合式环境中进行性能分析与自适应调整。
  • 该方法显著降低了将遗留代码集成到问题求解环境中的软件工程开销,尤其在大规模科学计算中优势明显。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。