Graph500 from OCaml-Multicore Perspective

12/25/2020
by   Shubhendra Pal Singhal, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/28/2022

Fast and energy-efficient derivatives risk analysis: Streaming option Greeks on Xilinx and Intel FPGAs

Whilst FPGAs have enjoyed success in accelerating high-frequency financi...
research
11/18/2016

Parallelizing Word2Vec in Multi-Core and Many-Core Architectures

Word2vec is a widely used algorithm for extracting low-dimensional vecto...
research
12/02/2022

PSPC: Efficient Parallel Shortest Path Counting on Large-Scale Graphs

In modern graph analytics, the shortest path is a fundamental concept. N...
research
07/13/2020

Deep Graph Library Optimizations for Intel(R) x86 Architecture

The Deep Graph Library (DGL) was designed as a tool to enable structure ...
research
12/07/2021

Efficient labeling algorithms for adjacent quadratic shortest paths

In this article, we study the Adjacent Quadratic Shortest Path Problem (...
research
09/16/2020

A New Perspective of Graph Data and A Generic and Efficient Method for Large Scale Graph Data Traversal

The BFS algorithm is a basic graph data processing algorithm and many ot...

Please sign up or login with your details

Forgot password? Click here to reset