Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
add-ons Renamed folders from "export_plugin" to "shrinkwrap", renamed cmake f… Oct 17, 2018
ci rename export --> unpacked Oct 26, 2018
cmake Renamed folders from "export_plugin" to "shrinkwrap", renamed cmake f… Oct 17, 2018
cvmfs Merge branch 'cvmfs-2.5' into devel Nov 2, 2018
doc Merge pull request #1606 from cvmfs/fix-doc May 31, 2016
externals remove unused external packages Oct 12, 2018
mount add UNL HPC stratum 1 to shrinkwrap config Oct 26, 2018
packaging add UNL HPC stratum 1 to shrinkwrap config Oct 26, 2018
python Addded automated spec creation Oct 17, 2018
test Merge branch 'cvmfs-2.5' into devel Nov 2, 2018
vagrant add Debian 8 Vagrant box Jun 29, 2017
.clang-format Adding configuration for clang-format Jan 6, 2017
.gitignore cleanup gitignore Oct 12, 2018
.travis.yml address feedback in PR Apr 6, 2018
AUTHORS fix typo Oct 12, 2018
CMakeLists.txt Renamed folders from "export_plugin" to "shrinkwrap", renamed cmake f… Oct 17, 2018
CONTRIBUTING.md Updated Google C++ style guide link. Jun 22, 2018
COPYING added a code style guide compliance tester Dec 9, 2011
CPPLINT.cfg final style fixes Feb 27, 2015
ChangeLog Merge branch 'cvmfs-2.5' into devel Nov 2, 2018
INSTALL point to the already present packaging directory for the dependencies Feb 5, 2018
NEWS fixed the branch copy mistake Jul 19, 2011
README.md update doi badge Oct 26, 2017
Vagrantfile update vagrant file Mar 16, 2018
bootstrap.sh fix build on el4, el5 (using BUILD_GEOAPI) and debian Aug 8, 2018
bump_version.sh bump version number to 2.3.0 Feb 2, 2016
changelog-commit.sh changelog Sep 20, 2016
changelog-start.sh add git scripts for changlog edits Sep 8, 2016
cloc-1.64.pl Update cloc.pl 1.62 -> 1.64 Sep 18, 2015
config_cmake.h.in reset patch level to 0 Nov 28, 2012
cpplint.py add first micro benchmarks Jul 10, 2016
cpplint.py.cvmfs-patch add first micro benchmarks Jul 10, 2016
cpplint.py.rev141 style fixes Feb 21, 2015

README.md

Build Status Documentation Status DOI

The CernVM-File System (CernVM-FS) provides a scalable, reliable and low- maintenance software distribution service. It was developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide- distributed computing infrastructure used to run data processing applications. CernVM-FS is implemented as a POSIX read-only file system in user space (a FUSE module). Files and directories are hosted on standard web servers and mounted in the universal namespace /cvmfs. Internally, CernVM-FS uses content- addressable storage and Merkle trees in order to maintain file data and meta-data. CernVM-FS uses outgoing HTTP connections only, thereby it avoids most of the firewall issues of other network file systems. It transfers data and meta-data on demand and verifies data integrity by cryptographic hashes.

By means of aggressive caching and reduction of latency, CernVM-FS focuses specifically on the software use case. Software usually comprises many small files that are frequently opened and read as a whole. Furthermore, the software use case includes frequent look-ups for files in multiple directories when search paths are examined.

Content is published into /cvmfs by means of dedicated "release manager machines". The release manager machines provide a writeable CernVM-FS instance by means of a union file system (aufs or overlayfs) on top of the read-only client. When publishing, the CernVM-FS server tools process new and modified data from the union file system's writable branch and transform the data into the CernVM-FS storage format.

CernVM-FS is actively used by small and large scientific collaborations. In many cases, it replaces package managers and shared software areas on cluster file systems as means to distribute the software used to process experiment data.