GSoC/GCI Archive
Google Summer of Code 2011

CERN Virtual Machine (CernVM)

Web Page:

Mailing List:

CERN (European Organization for Nuclear Research) is one of the world’s largest and most exciting centres for fundamental physics research. CERN is also famous for being the place where Tim Berners-Lee invented the World Wide Web. Most of the activities at CERN are currently directed towards operating the world’s biggest elementary particle accelerator - the LHC (Large Hadron Collider).

The CERN Virtual Machine (CernVM) is an R&D project established in the Software group of CERN’s Physics Department (PH/SFT) to investigate how virtualization technologies can be used to improve and simplify the daily interaction of scientists with application software frameworks and the Grid infrastructure. CernVM maintains a Virtual Software Appliance designed to provide a complete and portable environment for developing and running LHC data analysis applications on any end user computer (laptop, desktop), as well as on the Grid and on Clouds.


  • CernVM Release Testing CernVM supports VirtualBox, VMware, Xen, KVM and Microsoft Hyper-V hypervisors. Each new release of a CernVM image needs to be thoroughly tested with all of them. Although the test cases are not many (about 20 tests) the large overall number of hypervisor/host OS/Virtual Machine edition combinations makes the process very time consuming. The task would be to develop a program which will install and configure CernVM instances, run the set of tests and report the results.
  • Co-Pilot Monitoring Project's goal is to implement monitoring feature in CernVM’s Co-Pilot system, providing its users with a both easy-to-use and detailed insight into system’s status and performance.
  • Pluggable Cryptography Support for CernVM-FS I propose to extend CernVM-FS with an interface allowing user plugins for various kinds of cryptographic function support required by the filesystem. The focus will be on providing a stable, well-designed base for extension.
  • Replication Orchestrator for CernVM-FS Mirror Servers CernVM-FS is a network filesystem developed to provide read-only access to remote HTTP servers. These servers organize file data in content addressable storage, and are mirrored globally. CernVM-FS clients may choose one nearest mirror to reduce latency. This project aims to provide an orchestrating service that instructs consistent snapshot replication among mirrors. An enhancement to the current cvmfs_pull is also proposed to allow mirrors to pull data from others in a peer-to-peer fashion.