darshan-dev-status.txt 2.31 KB
Newer Older
1 2
Darshan modularization branch development notes
===============================================
3 4 5

== Introduction

6 7
Darshan is a lightweight toolkit for characterizing the I/O performance of instrumented
HPC applications.
8

9
Darshan was originally designed to gather I/O data from a static set of sources.
10 11
Adding instrumentation for additional sources of I/O data was only possible through
manual modification of the Darshan log file format, which consequentially breaks
12
any other utilities reliant on that format.
13

14 15 16 17 18 19 20
Starting with version 3.0.0, the Darshan runtime environment and log file format have
been redesigned such that new "instrumentation modules" can be added without breaking
existing tools. Developers are given a framework to implement arbitrary instrumentation
modules, which are responsible for gathering I/O data from a specific system component
(which could be from an I/O library, platform-specific data, etc.). Darshan can then
manage these modules at runtime and create a valid Darshan log regardless of how many
or what types of modules are used.
21

22
== Architectural overview
23

24
The Darshan source tree is composed of two primary components:
25

26 27 28 29 30
* *darshan-runtime*: Darshan runtime environment necessary for instrumenting MPI
applications and generating I/O characterization logs.

* *darshan-util*: Darshan utilities for analyzing the contents of a given Darshan
I/O characterization log.
31

32
=== darshan-runtime
33 34 35

Text.

36
=== darshan-util
37 38 39

Text.

40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
== Checking out and building the modularization branch

Developers can clone the Darshan source repository using the following methods:

* "git clone git://git.mcs.anl.gov/radix/darshan" (read-only access)

* "git clone \git@git.mcs.anl.gov:radix/darshan" (authenticated access)

After cloning the Darshan source, it is necessary to checkout the modularization
development branch:

----
git clone git@git.mcs.anl.gov:radix/darshan
git checkout dev-modular
----

For details on building the Darshan runtime and utility repositories, consult
the documentation from previous versions
(http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-runtime.html[darshan-runtime] and
http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-util.html[darshan-util]) -- the
necessary steps for building these repositories should not have changed in the new version of
Darshan.

63 64
== Adding new modules

65
Text.