Skip to content

Commit

Permalink
Merge pull request #802 from CamStan/docs-videos
Browse files Browse the repository at this point in the history
Docs: Add UnifyFS videos and tutorial slides
  • Loading branch information
adammoody authored Nov 20, 2023
2 parents 7502584 + 56627c9 commit 6b709d4
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 3 deletions.
2 changes: 1 addition & 1 deletion docs/assumptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Commit Consistency Semantics in UnifyFS
``fflush()``, ``close()``, or ``fsync()`` in the application source
code, or by supplying the ``client.write_sync`` configuration
parameter to UnifyFS on startup, which will cause an implicit `flush`
operation after every `write`` (note: use of the
operation after every `write` (note: use of the
``client.write_sync`` mode can significantly slow down write
performance). In this case, inter-process synchronization is still
required for applications that perform conflicting updates to files.
Expand Down
4 changes: 2 additions & 2 deletions docs/build.rst
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ configure and build UnifyFS from its source code directory.
$ gotcha_install=$(spack location -i gotcha)
$ spath_install=$(spack location -i spath)
$
$ ./autogen.sh
$ ./autogen.sh # skip if using release tarball
$ ./configure --prefix=/path/to/install --with-gotcha=${gotcha_install} --with-spath=${spath_install}
$ make
$ make install
Expand Down Expand Up @@ -200,7 +200,7 @@ As an example, the commands may look like:
$ export PKG_CONFIG_PATH=$INSTALL_DIR/lib/pkgconfig:$INSTALL_DIR/lib64/pkgconfig:$PKG_CONFIG_PATH
$ export LD_LIBRARY_PATH=$INSTALL_DIR/lib:$INSTALL_DIR/lib64:$LD_LIBRARY_PATH
$ ./autogen.sh
$ ./autogen.sh # skip if using release tarball
$ ./configure --prefix=/path/to/install CPPFLAGS=-I/path/to/install/include LDFLAGS="-L/path/to/install/lib -L/path/to/install/lib64"
$ make
$ make install
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions docs/link.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,16 @@ Note the use of the ``-I`` option to specify the location of the
library provides the Fortran bindings for the ``unifyfs_mount`` and
``unifyfs_unmount`` functions.

----------

----------
LD_PRELOAD
----------

In the case where an application doesn't need to be rebuilt in order to use
UnifyFS (e.g., files paths are set wth arguments/configs), ``LD_PRELOAD`` can be
used at runtime to allow for UnifyFS interception of file I/O.

.. code-block:: Bash
$ srun -N2 -n8 --export=ALL,LD_PRELOAD=$UNIFYFS_LIB/libunifyfs_mpi_gotcha.so myApplication
53 changes: 53 additions & 0 deletions docs/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,56 @@ We recommend that you use this as the primary citation for UnifyFS as well as a
reference for further details on the UnifyFS architecture and semantics:

Michael Brim, Adam Moody, Seung-Hwan Lim, Ross Miller, Swen Boehm, Cameron Stanavige, Kathryn Mohror, Sarp Oral, “UnifyFS: A User-level Shared File System for Unified Access to Distributed Local Storage,” 37th IEEE International Parallel & Distributed Processing Symposium (IPDPS 2023), St. Petersburg, FL, May 2023.

-----

--------------
UnifyFS Videos
--------------

Quickstart
**********

Quick overview on what UnifyFS is and how to use it.

.. raw:: html

<div style="position: relative; margin-bottom: 2em; height: 0; overflow: hidden; max-width: 100%; height: auto;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/A_6lG_4EE2M?si=GCcwE3M68fsYUmO_" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>

-----

ECP Tutorial
************

More in-depth recording of the problems UnifyFS solves and a how-to using a
pre-1.0 beta version.

.. raw:: html

<div style="position: relative; margin-bottom: 2em; height: 0; overflow: hidden; max-width: 100%; height: auto;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/FmQVJplyVdw?si=_V7f-m_5eOLe90eT" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>

.. rubric:: UnifyFS Tutorial Slides - ECP 2022

.. image:: images/UnifyFS-tutorial-May2022.png
:target: slides/UnifyFS-tutorial-May2022.pdf
:height: 72px
:align: left
:alt: UnifyFS Tutorial Slides - ECP 2022

:download:`Download PDF <slides/UnifyFS-tutorial-May2022.pdf>`.

|
.. rubric:: Changes since above ECP 2022 Tutorial:

- Video 30:04 | Slide 19 - Variants ``boostsys`` and ``preload`` have since been
added.
- Video 31:08 | Slide 22 - OpenSSL is also a dependency that was missed on this slide.
- Video 41:10 | Slide 48 - User Guide url starts with *https*, not *http*.

For full changes since the pre-1.0 beta version of UnifyFS used in the May 2022
tutorial, see the `UnifyFS release notes <https://github.com/LLNL/UnifyFS/releases>`_.
Binary file added docs/slides/UnifyFS-tutorial-May2022.pdf
Binary file not shown.

0 comments on commit 6b709d4

Please sign in to comment.