README.markdown 1.69 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
# Argo Containers

Argo Containers are a *resource isolation* facility built on top of the
`cgroup` interface of the Linux kernel.

These are not your typical containers. We do not support namespaces, `chroot` or
any of the usual "virtualization" facilities regularly associated with
containers. Instead, we focus on the ability to limit how a group of process
can access the cpu, memory and other resources of the system.

This is considered pre-alpha software. As we evolve our vision for this
project, the current implementation is likely to undergo major API changes.

## Roadmap

Our plan is to slowly transform this tool into a C library for resource
isolation (higher-level than libcgroup) and a companion binary able to isolate
a group of process, while providing compatibility with
Docker/Rkt/Shifter/Singularity containers.

## Requirements

- Linux kernel with cgroups v1 (v2 untested for now)
- C++11 compiler

## Compiling from repository

`make`

You will need to make the binary owned by root for it to work.

## Documentation

Your best hope is the --help on the main binary.

## Additional Info

|**Argo NodeOS: Toward Unified Resource Management for Exascale**
| Swann Perarnau, Judicael A. Zounmevo, Matthieu Dreher, Brian C. Van Essen, Roberto Gioiosa, Kamil Iskra, Maya B. Gokhale, Kazutomo Yoshii, Pete Beckman
| In *IEEE International Parallel and Distributed Processing Symposium (IPDPS)*, 2017

| **A Container-Based Approach to OS Specialization for Exascale Computing**
| Judicael A. Zounmevo, Swann Perarnau, Kamil Iskra, Kazutomo Yoshii, Roberto Gioiosa, Brian C. Van Essen, Maya B. Gokhale, Edgar A. Leon
| In *International Workshop on Container Technologies and Container Clouds (WoC)*, 2015.