中文

从 OCaml-Multicore 视角看 Graph500

分布式、并行与集群计算 2020-12-29 v1 性能

摘要

OCaml 是一种工业级、多范式编程语言,广泛应用于工业和学术界。OCaml 是为解决涉及大规模数据密集型操作的数值与科学问题而开发的,而图算法这类经典应用集合正是大多数分析工作负载的核心部分。在本文中,我们旨在实现图基准测试并进行性能分析。Graph500 正是这样一个严肃的基准,旨在开发需要极高计算能力的数据密集型应用。我们尝试使用 graph500 所提出的规范和规则来实现图构建、BFS、最短路径问题。本文旨在清晰指明所使用若干数据结构的选择、所开发算法,并对程序的每一步背后原因作出说明。论文前几节以形式化方法讨论该问题,并为 OCaml 初学者提供简要指南。后几节详细描述算法,以及未来探索的可能性和我们在求解过程中犯下或遇到的若干错误。所有性能指标均在 Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz 24 核机器上测试。每一节都讨论了初期遇到的性能失败,这将有助于从性能角度分析并优先考虑我们倾向的实现方式。

关键词

引用

@article{arxiv.2012.13548,
  title  = {Graph500 from OCaml-Multicore Perspective},
  author = {Shubhendra Pal Singhal},
  journal= {arXiv preprint arXiv:2012.13548},
  year   = {2020}
}

备注

6 pages