Git Product home page Git Product logo

cgcl-codes / loomio Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 2.0 82.61 MB

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

CMake 0.23% Roff 0.02% Shell 0.86% Python 1.93% Makefile 0.51% C++ 80.40% C 13.08% HTML 1.23% CSS 0.03% JavaScript 0.09% Perl 0.21% DIGITAL Command Language 0.01% M4 0.03% Batchfile 0.03% Max 0.01% Cuda 0.02% Assembly 1.14% XSLT 0.16% Ruby 0.01% C# 0.01%
coordination filesystem ceph

loomio's Introduction

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

loomio's People

Contributors

largerpanda avatar xuanhuashi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.