Skip to content
forked from parcio/julea

A Flexible Storage Framework for HPC

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

SpaceCafe/julea

 
 

Repository files navigation

JULEA

JULEA is a flexible storage framework that allows offering arbitrary client interfaces to applications. To be able to rapidly prototype new approaches, it offers object and key-value backends that can either be client-side or server-side; backends for popular storage technologies such as POSIX, LevelDB and MongoDB have already been implemented. Additionally, JULEA allows dynamically adapting the I/O operations' semantics and can thus be adjusted to different use-cases. It runs completely in user space, which eases development and debugging. Its goal is to provide a solid foundation for storage research and teaching.

Quick Start

To use JULEA, first clone the Git repository and enter the directory.

$ git clone https://github.com/wr-hamburg/julea.git
$ cd julea

JULEA has two mandatory dependencies (GLib and libbson) and several optional ones that enable additional functionality. The dependencies can either be installed using your operating system's package manage or with JULEA's script that installs them into the dependencies subdirectory using Spack.

$ ./scripts/install-dependencies.sh

After all dependencies have been installed, JULEA has to be configured and compiled using Waf; the different configuration and build options can be shown with ./waf --help. The configure.sh script is a wrapper around ./waf configure that makes sure that the dependencies installed in the previous step are found by Waf.

$ ./configure.sh --debug --sanitize
$ ./waf

To allow the shell to find JULEA's binaries and to set some variables useful for debugging, the environment has to be loaded. Alternatively, the binaries can be found in the build directory.

$ . ./scripts/environment.sh

Finally, a JULEA configuration has to be created.

$ julea-config --user \
  --object-servers="$(hostname)" --kv-servers="$(hostname)" \
  --object-backend=posix --object-component=server --object-path=/tmp/julea \
  --kv-backend=leveldb --kv-component=server --kv-path=/tmp/julea

You can check whether JULEA works by executing the integrated test suite.

$ ./scripts/test.sh

About

A Flexible Storage Framework for HPC

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.6%
  • Shell 4.1%
  • Python 2.1%
  • Objective-C 0.2%