Git Product home page Git Product logo

marius92mc / gsoc_cernvm-fs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from micbrain/gsoc_cernvm-fs

0.0 2.0 0.0 81.94 MB

The purpose of this proposal is to suggest an implementation of new ideas and manipulation of some portions of previously written code. The methodology followed is to propose new techniques that will be useful for making CernVM-FS a better, stronger and faster product.

License: Apache License 2.0

CMake 0.68% Shell 8.31% Python 0.49% C 40.21% C++ 15.51% Makefile 16.94% M4 2.53% Roff 3.52% Awk 0.02% Perl 1.92% HTML 7.73% CSS 0.05% Visual Basic 0.04% Assembly 0.30% DIGITAL Command Language 0.80% Batchfile 0.05% Perl 6 0.03% JavaScript 0.02% Java 0.03% Objective-C 0.82%

gsoc_cernvm-fs's Introduction

HTTP/2 Support for CernVM File System

alt tag

Google Summer of Code Project

Google Summer of Code is an annual international software engineering program that encourages university and college students aged 18 or over to participate in open-source development. Accepted students can develop various software-coding projects under the guidence of their mentoring organizations. This year I was selected to participate in Google Summer of Code 2015 program with the SFT (Software for Experiments) group, which is a part of CERN (European Organization for Nuclear Research). My proposal, called "HTTP/2 Support for CernVM File System", is about using the upcoming HTTP/2 technology to add new interesting functionalities to CernVM-FS such as connection multiplexing and fixing head-of-line blocking. I am planning to add support for HTTP/2 in the CernVM-FS network code and re-arrange the code for data replication to use a multiplexed connection instead of parallel connections.

What is CernVM-FS?

The SFT implements and maintains common scientific software for the physics experiments. CernVM File System (CernVM-FS) was created by SFT group chiefly for the delivery of experiment software stacks for the Large Hadron Collider (LHC) experiments at CERN. It is used in the context of large-scale scientific computing applications that use tens of thousands of individual computers to process very large data sets in reasonable time. The contribution from different developers worldwide make this software system more advanced and widely functional. The following description of CernVM File System is taken from CERN SFT GSoC 2015 Ideas page.

The CernVM File System (CernVM-FS) is a read-only file system that is optimized for the distribution of software to world-wide distributed computing infrastructures. The access to the software is provided by CernVM-FS, a global and versioning file system that uses HTTP for data transfer. The file system content is installed on a central web server from where it can be mirrored and cached by other web servers and web proxies. File system clients download data and meta-data on demand and cache them locally. Data integrity and authenticity is ensured by the use use cryptographic hashes and digital signatures. CernVM-FS is used, among others, by the LHC experiments for the distribution hundreds of millions files and directories of experiment software onto tens of thousands of worldwide distributed nodes.

Full Documentation

See the Wiki for my proposal, full documentation, examples, operational details and other information.

See the Documentation part for more information about the documentation and of my project and observations that I have made during development stage.

Bugs and Feedback

Please do not hesitate to contact us if you have any questions about this specific project and the program in general. For bugs, questions and discussions please use the Github Issues. For communication please contact:

gsoc_cernvm-fs's People

Contributors

micbrain avatar

Watchers

 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.