forked from openjournals/joss-papers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10.21105.joss.00208.html
64 lines (63 loc) · 5.69 KB
/
10.21105.joss.00208.html
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
body = <<-EOF
<meta name="citation_title" content="VCC: A framework for building containerized reproducible cluster software environments">
<meta name="citation_author" content="Higgins, Joshua"><meta name="citation_author" content="Holmes, Violeta"><meta name="citation_author" content="Venters, Colin">
<meta name="citation_publication_date" content="2017/03/18">
<meta name="citation_journal_title" content="The Journal of Open Source Software">
<meta name="citation_pdf_url" content="http://www.theoj.org/joss-papers/joss.00208/10.21105.joss.00208.pdf">
<meta name="citation_doi" content="10.21105/joss.00208">
<meta name="citation_issn" content="2475-9066">
<div class="accepted-paper">
<h1>VCC: A framework for building containerized reproducible cluster software environments</h1>
<div class="columns links">
<div class="column four-fifths" style="padding-bottom: 10px;">
<strong>Authors</strong>
<ul class="author-list">
<li><a href="http://orcid.org/0000-0003-1551-5552" target="_blank">Joshua Higgins</a></li>
<li><a href="http://orcid.org/0000-0002-9786-4555" target="_blank">Violeta Holmes</a></li>
<li><a href="http://orcid.org/" target="_blank">Colin Venters</a></li>
</ul>
</div>
<div class="one-third column">
<span class="repo">Repository:<br /><a href="https://github.com/hpchud/vccjs">Repository link »</a></span>
</div>
<div class="one-third column">
<span class="paper">Paper:<br /><a href="http://www.theoj.org/joss-papers/joss.00208/10.21105.joss.00208.pdf">PDF link »</a></span>
</div>
<div class="one-third column">
<span class="paper">Review:<br /><a href="https://github.com/openjournals/joss-reviews/issues/208">View review issue »</a></span>
</div>
<div class="one-third column" style="padding-top: 20px;">
<span class="repo">DOI:<br /><a href="https://doi.org/10.21105/joss.00208">https://doi.org/10.21105/joss.00208</a></span>
</div>
<div class="one-third column" style="padding-top: 20px;">
<span class="paper">Status badge:<br /><img src="http://joss.theoj.org/papers/10.21105/joss.00208/status.svg"></span>
</div>
<div class="one-third column" style="padding-top: 20px;">
<span class="paper">Citation:<br />
<small>Higgins et al., (2017). VCC: A framework for building containerized reproducible cluster software environments. <em>Journal of Open Source Software</em>, 2(11), 208, doi:10.21105/joss.00208</small>
</div>
</div>
<div class="paper-body">
<h1 id="summary">Summary</h1>
<p>The problem of portability and reproducibility of the software used to conduct computational experiments has recently come to the fore. Container virtualisation has proved to be a powerful tool to achieve portability of a code and it's execution environment, through runtimes such as Docker, LXC, Singularity and others - without the performance cost of traditional Virtual Machines <span class="citation">(Chamberlain, Invenshure, and Schommer 2014; Felter et al. 2014)</span>.</p>
<p>However, scientific software often depends on a system foundation that provides middleware, libraries, and other supporting software in order for the code to execute as intended. Typically, container virtualisation addresses only the portability of the code itself, which does not make it inherently reproducible. For example, a containerized MPI application may offer binary compatibility between different systems, but for execution <em>as intended</em>, it must be run on an existing cluster that provides the correct interfaces for parallel MPI execution.</p>
<p>As a greater demand to accomodate a diverse range of disciplines is placed on high performance and cluster resources, the ability to quickly create and teardown reproducible, transitory virtual environments that are tailored for an individual task or experiment will be essential.</p>
<p>The Virtual Container Cluster (VCC) is a framework for building containers that achieve this goal, by encapsulating a parallel application along with an execution model, through a set of dependency linked services and built-in process orchestration. This promotes a high degree of portability, and offers easier reproducibility by shipping the application along with the foundation required to execute it - whether that be an MPI cluster, big data processing framework, bioinformatics pipeline, or any other execution model <span class="citation">(Higgins, Holmes, and Venters 2017)</span>.</p>
<h1 id="references" class="unnumbered">References</h1>
<div id="refs" class="references">
<div id="ref-chamberlain2014">
<p>Chamberlain, Ryan, L Invenshure, and Jennifer Schommer. 2014. “Using Docker to Support Reproducible Research.” <a href="http://dx.doi.org/10.6084/m9.figshare.1101910" class="uri">http://dx.doi.org/10.6084/m9.figshare.1101910</a>.</p>
</div>
<div id="ref-Emeneker2007">
<p>Emeneker, W., and D. Stanzione. 2007. “Dynamic Virtual Clustering.” In <em>Cluster Computing, 2007 Ieee International Conference on</em>, 84–90. doi:<a href="https://doi.org/10.1109/CLUSTR.2007.4629220">10.1109/CLUSTR.2007.4629220</a>.</p>
</div>
<div id="ref-Felter2014">
<p>Felter, Wes, Alexandre Ferreira, Ram Rajamony, and Juan Rubio. 2014. “An Updated Performance Comparison of Virtual Machines and Linux Containers.” <em>Technology</em> 28: 32.</p>
</div>
<div id="ref-doi:10.1093/comjnl/bxw102">
<p>Higgins, Joshua, Violeta Holmes, and Colin Venters. 2017. “Autonomous Discovery and Management in Virtual Container Clusters.” <em>The Computer Journal</em> 60 (2): 240. doi:<a href="https://doi.org/10.1093/comjnl/bxw102">10.1093/comjnl/bxw102</a>.</p>
</div>
</div>
</div>
</div>
EOF