# 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.