forked from openjournals/joss-papers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10.21105.joss.00208.jats
175 lines (175 loc) · 7.65 KB
/
10.21105.joss.00208.jats
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN"
"JATS-publishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other">
<front>
<journal-meta>
<journal-id></journal-id>
<journal-title-group>
<journal-title>Journal of Open Source Software</journal-title>
<abbrev-journal-title>JOSS</abbrev-journal-title>
</journal-title-group>
<issn publication-format="electronic">2475-9066</issn>
<publisher>
<publisher-name>Open Journals</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">208</article-id>
<article-id pub-id-type="doi">10.21105/joss.00208</article-id>
<title-group>
<article-title>VCC: A framework for building containerized reproducible
cluster software environments</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">0000-0003-1551-5552</contrib-id>
<string-name>Joshua Higgins</string-name>
<xref ref-type="aff" rid="aff-1"/>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">0000-0002-9786-4555</contrib-id>
<string-name>Violeta Holmes</string-name>
<xref ref-type="aff" rid="aff-1"/>
</contrib>
<contrib contrib-type="author">
<string-name>Colin Venters</string-name>
<xref ref-type="aff" rid="aff-1"/>
</contrib>
<aff id="aff-1">
<institution-wrap>
<institution>High Performance Computing Research Group, University of
Huddersfield</institution>
</institution-wrap>
</aff>
</contrib-group>
<pub-date date-type="pub" publication-format="electronic" iso-8601-date="2017-03-06">
<day>6</day>
<month>3</month>
<year>2017</year>
</pub-date>
<volume>2</volume>
<issue>11</issue>
<fpage>208</fpage>
<permissions>
<copyright-statement>Authors of papers retain copyright and release the
work under a Creative Commons Attribution 4.0 International License (CC
BY 4.0)</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>The article authors</copyright-holder>
<license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>Authors of papers retain copyright and release the work under
a Creative Commons Attribution 4.0 International License (CC BY
4.0)</license-p>
</license>
</permissions>
<kwd-group kwd-group-type="author">
<kwd>containers</kwd>
<kwd>HPC</kwd>
<kwd>reproducibility</kwd>
<kwd>virtualisation</kwd>
<kwd>cluster</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="summary">
<title>Summary</title>
<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
(<xref alt="Chamberlain et al., 2014" rid="ref-chamberlain2014" ref-type="bibr">Chamberlain
et al., 2014</xref>;
<xref alt="Felter et al., 2014" rid="ref-Felter2014" ref-type="bibr">Felter
et al., 2014</xref>).</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 <italic>as intended</italic>, 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
(<xref alt="Higgins et al., 2017" rid="ref-doiU003A10.1093U002FcomjnlU002Fbxw102" ref-type="bibr">Higgins
et al., 2017</xref>).</p>
</sec>
</body>
<back>
<ref-list>
<ref-list>
<ref id="ref-doiU003A10.1093U002FcomjnlU002Fbxw102">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Higgins</surname><given-names>Joshua</given-names></name>
<name><surname>Holmes</surname><given-names>Violeta</given-names></name>
<name><surname>Venters</surname><given-names>Colin</given-names></name>
</person-group>
<article-title>Autonomous discovery and management in virtual container clusters</article-title>
<source>The Computer Journal</source>
<year iso-8601-date="2017">2017</year>
<volume>60</volume>
<issue>2</issue>
<uri> + http://dx.doi.org/10.1093/comjnl/bxw102</uri>
<pub-id pub-id-type="doi">10.1093/comjnl/bxw102</pub-id>
</element-citation>
</ref>
<ref id="ref-chamberlain2014">
<element-citation publication-type="manuscript">
<person-group person-group-type="author">
<name><surname>Chamberlain</surname><given-names>Ryan</given-names></name>
<name><surname>Invenshure</surname><given-names>L</given-names></name>
<name><surname>Schommer</surname><given-names>Jennifer</given-names></name>
</person-group>
<article-title>Using docker to support reproducible research</article-title>
<year iso-8601-date="2014">2014</year>
<uri>http://dx.doi.org/10.6084/m9.figshare.1101910</uri>
</element-citation>
</ref>
<ref id="ref-Felter2014">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Felter</surname><given-names>Wes</given-names></name>
<name><surname>Ferreira</surname><given-names>Alexandre</given-names></name>
<name><surname>Rajamony</surname><given-names>Ram</given-names></name>
<name><surname>Rubio</surname><given-names>Juan</given-names></name>
</person-group>
<article-title>An updated performance comparison of virtual machines and linux containers</article-title>
<source>technology</source>
<year iso-8601-date="2014">2014</year>
<volume>28</volume>
</element-citation>
</ref>
<ref id="ref-Emeneker2007">
<element-citation publication-type="paper-conference">
<person-group person-group-type="author">
<name><surname>Emeneker</surname><given-names>W.</given-names></name>
<name><surname>Stanzione</surname><given-names>D.</given-names></name>
</person-group>
<article-title>Dynamic virtual clustering</article-title>
<source>Cluster computing, 2007 IEEE international conference on</source>
<year iso-8601-date="2007">2007</year>
<issn>1552-5244</issn>
<pub-id pub-id-type="doi">10.1109/CLUSTR.2007.4629220</pub-id>
</element-citation>
</ref>
</ref-list>
</ref-list>
</back>
</article>