ziyan-zhang / LoomIO

LoomIO is an object-level coordination system for distributed file systems. It adopts wait-free design to enable interfering object requests self-organizing and obtain an optimized scheduling decision. Currently, LoomIO is implemented and integrated in Ceph.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LoomIO: object-level coordination for object file systems

LoomIO is currently implemented with Redis and integrated in Ceph. Thus, you should prepare Redis and Ceph first to test and use LoomIO. The branch Redis3 is under maintaining.

Build Prerequisites

The list of Debian or RPM packages dependencies can be installed with:

./install-deps.sh

Building Ceph

Note that these instructions are meant for developers who are compiling the code for development and testing. To build binaries suitable for installation we recommend you build deb or rpm packages, or refer to the ceph.spec.in or debian/rules to see which configuration options are specified for production builds.

Prerequisite: CMake 2.8.11

Build instructions:

./do_cmake.sh
cd build
make

This assumes you make your build dir a subdirectory of the ceph.git checkout. If you put it elsewhere, just replace .. in do_cmake.sh with a correct path to the checkout.

To build only certain targets use:

    make [target name]

To install:

    make install

Enable LoomIO

After successfully installed, you can enable LoomIO with

ceph tell osd.* injectargs '--osd_gio 1' #0 means off

Besides, you can tune the coordination window size with

ceph tell osd.* injectargs '--osd_gio_wait_interval xxxx'

Publications:

Yusheng Hua, Xuanhua Shi, Kang He, Hai Jin, Wei Xie, Ligang He, Yong Chen,"LoomIO: Object-Level Coordination in Distributed File Systems", IEEE Transactions on Parallel and Distributed Systems, 33(8): 1799-1810, 2022

About

LoomIO is an object-level coordination system for distributed file systems. It adopts wait-free design to enable interfering object requests self-organizing and obtain an optimized scheduling decision. Currently, LoomIO is implemented and integrated in Ceph.

License:Other


Languages

Language:C++ 78.9%Language:C 12.8%Language:Python 1.9%Language:Raku 1.4%Language:HTML 1.2%Language:Assembly 1.1%Language:Shell 0.8%Language:Makefile 0.5%Language:Java 0.4%Language:CMake 0.2%Language:Perl 0.2%Language:XSLT 0.2%Language:Cython 0.1%Language:JavaScript 0.1%Language:M4 0.0%Language:Batchfile 0.0%Language:CSS 0.0%Language:Cuda 0.0%Language:Lua 0.0%Language:Roff 0.0%Language:C# 0.0%Language:PHP 0.0%Language:SCSS 0.0%Language:Max 0.0%Language:Yacc 0.0%Language:QMake 0.0%Language:PowerShell 0.0%Language:Starlark 0.0%Language:DIGITAL Command Language 0.0%Language:NASL 0.0%Language:Ruby 0.0%Language:Meson 0.0%Language:Dockerfile 0.0%Language:Terra 0.0%Language:Fortran 0.0%Language:SmPL 0.0%Language:Lex 0.0%Language:SWIG 0.0%Language:Objective-C 0.0%Language:Objective-C++ 0.0%Language:QML 0.0%Language:R 0.0%Language:Sass 0.0%Language:IDL 0.0%