Skip to content
/ filo Public

Transfers files between local storage and global file system with map to record which MPI rank owns each file

License

Notifications You must be signed in to change notification settings

ECP-VeloC/filo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filo

Build Status

This module uses AXL to transfer files between local storage and a global file system. The transfer from local storage to global storage is called a "flush" and the reverse transfer is called a "fetch". During a flush, filo associates each file with its owner MPI rank, and it records this association in a metadata file. This metadata file is read during a "fetch" to copy each file back into local storage near its owner rank. Filo also flow controls the number of MPI ranks reading or writing data at a time. During a flush, filo creates destination directories as necessary.

For usage, see src/filo.h, test/test_filo.c, and the API User Docs.

Building

To build dependencies:

./bootstrap.sh

To build filo:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../install ..
make
make install

Testing

Some simple test programs exist in the test directory.

All the tests can be run with:

make check

To build a test for the filo API:

mpicc -g -O0 -o test_filo ../test/test_filo.c -I../install/include -L../install/lib64 -I../src -L../src -lkvtree -laxl -lspath -lfilo

Release

Copyright (c) 2018, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory.
Copyright (c) 2018, UChicago Argonne LLC, operator of Argonne National Laboratory.

For release details and restrictions, please read the LICENSE and NOTICE files.

LLNL-CODE-751725 OCEC-18-060

About

Transfers files between local storage and global file system with map to record which MPI rank owns each file

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published