Coder Social home page Coder Social logo

qosfs's Introduction

QoSFS

Builds:

  • master: Master Build
  • develop: Develop Build

Filesystem with Quality of Service support.

Written in C using FUSE.

Project structure

Project Structure

Preparing project

Necessary libraries

  • FUSE Development library (libfuse-dev)

Setting up VIM

As project is written in C, Vim was choosen as default development environment. There is a vim configuration file in root directory - .vimrc.

To use this prepared vim configuration one should Add line below to main .vimrc file

set exrc*

Install Vundle

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Run vim from root directory and install plugins

$ vim
:PluginInstall

If there is a newer version of YouCompleteMe, update it

$ sudo apt-get install build-essential cmake
$ sudo apt-get install python-dev
$ cd ~/.vim/bundle/YouCompleteMe
$ ./install.sh --clang-completer

External links

qosfs's People

Contributors

minowak avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

qosfs's Issues

Scheduler

Write process scheduler

Check first if it is possible to use kernel scheduler

Test direct/buffered I/O

Test for buffered and direct write and read operations. According to RedHat manual

"Currently, the Block I/O subsystem does not work for buffered write operations. It is primarily targeted at direct I/O, although it works for buffered read operations."

Write makefiles

  • Write global make file
  • Write FUSE makefile

Should be generic

Mounting as normal user

Check if its possible to mount/use FS as a normal user. cgceate (and some other tools) requires admin privileges
(maybe sending uname through parameters? Or mounting through script)

[QoSFS-5] Scheduler

  • deadline driven
  • run processes only when resources are available or deadline has been met
  • carefull of starving write requests

[QoSFS-7] Admission controller

Write admission controller using deadline driven admissions.

It should try to provide QoS as soon as possible and if its not possible, try as best.

Add CI

Rethink is it really necessary

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.