  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.
