arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2012.13548cs.DCcs.PF
收藏

从OCaml多核的角度看Graph500

Graph500 from OCaml-Multicore Perspective

Shubhendra Pal Singhal

摘要:

OCaml是一种工业级、多范式的程序设计语言,广泛应用于工业和学术界。OCaml是为解决涉及大规模数据密集型操作的数值和科学问题而开发的,其中一个经典的应用程序集是图形算法,它是大多数分析工作负载的核心部分。在本文中,我们的目标是实现图基准测试以及性能分析。Graph 500就是这样一个严肃的基准,旨在开发需要极高计算能力的数据密集型应用程序。我们尝试使用graph 500提出的所需规范和规则来实现图构造,BFS,最短路径问题。本文的目的是提供一个明确的方向,选择几个数据结构使用,算法开发和提出背后的每一步程序的原因。本文的前几部分讨论了一个正式的方法来解决这个问题,并为OCaml的初学者提供了一个小指南。后面的部分详细描述了算法,以及未来探索的可能性和我们在接近解决方案时犯下或遇到的几个错误。所有性能指标均在英特尔(R)至强(R)Gold 5120 CPU@2.20 GHz 24核机器上进行了测试。每个部分都讨论了遇到的初始性能故障,这将有助于从性能角度分析和优先考虑我们的首选实现。

英文摘要:

OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml was developed for solving numerical and scientific problems involving large scale data-intensive operations and one such classic application set is Graph Algorithms, which are a core part of most analytics workloads. In this paper, we aim to implement the graph benchmarks along with the performance analysis. Graph500 is one such serious benchmark which aims at developing data intensive applications requiring extreme computational power. We try to implement Graph Construction, BFS, Shortest-Path problems using the desired specifications and rules posed by graph500. This paper aims at providing a clear direction of choices of several data structures used, algorithms developed and pose a reason behind every step of program. The first few sections of the paper discusses a formal approach to the problem with a small guide for starters in OCaml. The latter sections describe the algorithms in detail with the possibilities of future exploration and several mistakes which we committed or encountered whilst approaching the solution. All performance metrics were tested on Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz 24 core machine. Every section talks about the initial performance failures encountered, which will help analyse and prioritise our preferred implementation from a performance perspective.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑