[Swift-commit] r3926 - in text/parco10submission: . code
noreply at svn.ci.uchicago.edu
noreply at svn.ci.uchicago.edu
Sun Jan 9 19:11:44 CST 2011
Author: wilde
Date: 2011-01-09 19:11:44 -0600 (Sun, 09 Jan 2011)
New Revision: 3926
Modified:
text/parco10submission/code/glass.swift
text/parco10submission/paper.bib
text/parco10submission/paper.tex
Log:
Cosmetic edits. Fixed url's in Ref list that were running over the page.
Modified: text/parco10submission/code/glass.swift
===================================================================
--- text/parco10submission/code/glass.swift 2011-01-10 00:08:11 UTC (rev 3925)
+++ text/parco10submission/code/glass.swift 2011-01-10 01:11:44 UTC (rev 3926)
@@ -41,8 +41,8 @@
string fraca=@arg("fraca","0.5");
string radii[] = readData(rlist);
string centers[] = readData(clist);
- int nmodels=strtoi( @arg("n","1") );
- int nsub=strtoi( @arg("nsub","1") );
+ int nmodels=@toint( @arg("n","1") );
+ int nsub=@toint( @arg("nsub","1") );
string savearc=@arg("savearc","FALSE");
string arctimestring;
string energyfunction=@arg("energyfunction","softsphereratiosmooth");
Modified: text/parco10submission/paper.bib
===================================================================
--- text/parco10submission/paper.bib 2011-01-10 00:08:11 UTC (rev 3925)
+++ text/parco10submission/paper.bib 2011-01-10 01:11:44 UTC (rev 3926)
@@ -105,10 +105,10 @@
JOURNAL={Frontiers in Neuroinformatics},
VOLUM={3},
YEAR={2009},
- URL={www.frontiersin.org/neuroscience/neuroinformatics/paper/10.3389/neuro.11/034.2009/html/},
DOI={10.3389/neuro.11/034.2009},
ISSN={ISSN 1662-5196}
}
+% URL={www.frontiersin.org/neuroscience/neuroinformatics/paper/10.3389/neuro.11/034.2009/html/},
@article{CNARI_2008,
@@ -121,9 +121,9 @@
note = "",
issn = "1053-8119",
doi = "DOI: 10.1016/j.neuroimage.2007.09.021",
- url = "http://www.sciencedirect.com/science/article/B6WNP-4PPW72Y-1/2/ac536a08f82f82ad9ce940ac235d8a55",
author = "Uri Hasson and Jeremy I. Skipper and Michael J. Wilde and Howard C. Nusbaum and Steven L. Small"
}
+ % url = "http://www.sciencedirect.com/science/article/B6WNP-4PPW72Y-1/2/ac536a08f82f82ad9ce940ac235d8a55",
@article{CNARI_DUP_2007,
author = {T Stef-Praun and B Clifford and I Foster and U Hasson and M Hategan and S L Small and M Wilde Michael and Y Zhao},
Modified: text/parco10submission/paper.tex
===================================================================
--- text/parco10submission/paper.tex 2011-01-10 00:08:11 UTC (rev 3925)
+++ text/parco10submission/paper.tex 2011-01-10 01:11:44 UTC (rev 3926)
@@ -1306,6 +1306,10 @@
these aspects to be encoded in the data files of the campaigns to assist in
managing the large volume of file data.
+Hocky used four Swift scripts in his simulation campaign. The first, {\tt glassCreate} takes no input structure and generates an equilibrated configuration at some temperature;
+{\tt glassAnneal} takes those structures and lowers the temperature to some specified temperature;
+{\tt glassEquil} freezes particles outside of a spherical cavity and runs short simulations for particles inside; and the script {\tt glassRun}, described below, is the same but starts from equilibrated cavities.
+
Example 2 shows a slightly reformatted version of the glass simulation script that was in use in Dec. 2010. Its key aspects are as follows.
Lines 1-5 define the mapped file types; these files are used to compose input and output structures at lines 7-19.
These structure reflect the fact that the simulation is restartable in 1-2 hour increments, and that it works together with the Swift script to create a simple but powerful mechanism for managing checkpoint/restart across a long-running large-scale simulation campaign.
@@ -1317,9 +1321,9 @@
At lines 57 and 61, the script leverages Swift flexible dynamic arrays to create a 3D array for input and an 4D array of structures for outputs. These data structures, whose leaf elements consist entirely of mapped files, are set using the external mappers specified for the input array at lines 57-59 and for the output array of structures at 61-63. Note that many of the science parameters are passed to the mappers, which in turn are used by the input mapper to locate files within the large multi-level directory structure of the campaign, and by the output mapper to create new directory and file naming conventions for the campaign outputs. The mappers apply the common, useful practice of using scientific metadata to determine directory and file names.
-The entire body of the {\tt CreateGlassSystem} is a four-level nesting of \verb|foreach| statements at lines 65-77. These loops perform a parallel parameter sweep over all combinations of radius, centroid, model, and job number within the simulation space. A single run of the script immediately expands to an independent parallel invocation of the simulation application for each point in the space - 1,670 jobs for the minimum case of a 7 x 27 x 10 x 1 space. Note that the if statement at line 69 causes the simulation execution to be skipped if it has already been performed, as determine by a ``\verb|NULL|'' file name returned by the mapper for the output of a given job in the simulation space.
+The entire body of the {\tt CreateGlassSystem} is a four-level nesting of \verb|foreach| statements at lines 65-77. These loops perform a parallel parameter sweep over all combinations of radius, centroid, model, and job number within the simulation space. A single run of the script immediately expands to an independent parallel invocation of the simulation application for each point in the space - 1,670 jobs for the minimum case of a 7 x 27 x 10 x 1 space. Note that the if statement at line 69 causes the simulation execution to be skipped if it has already been performed, as determine by a ``\verb|NULL|'' file name returned by the mapper for the output of a given job in the simulation space. In the current campaign the fourth dimension ({\tt nsub} of the simulation space is fixed at one. This value could be increased to define sub-configurations that would perform better Monte Carlo averaging, with a multiplicative increase in the number of jobs. This is currently set to on
e because there are ample starting configurations, but if this was not the case (as in earlier campaigns) the script could run repeated simulations with different random seeds.
-The advantages of managing a simulation campaign in this manner are well borne out by Hocky's experience: the expression of the campaign is a well-structured high-level script, devoid of details about file naming, synchronization of parallel tasks, location and state of remote computing resources, or explicit explicit data transfer. Hock was able to leverage local cluster resources on many occasions, but at any time could count on his script acquiring on the order of 1,000 compute cores from 6 to 18 sites of the Open Science Grid. When executing on the OSG, he leveraged Swift's capability to replicate jobs that are waiting in queues at more congested sites, and automatically send them to sites where jobs were moving through the system. All of these capabilities would be a huge distraction from his primary scientific simulation campaign were he to use lower-level abstractions where parallelism and remote distribution were the visible responsibility of the programmer.
+The advantages of managing a simulation campaign in this manner are borne out well by Hocky's experience: the expression of the campaign is a well-structured high-level script, devoid of details about file naming, synchronization of parallel tasks, location and state of remote computing resources, or explicit explicit data transfer. Hocky was able to leverage local cluster resources on many occasions, but at any time could count on his script acquiring on the order of 1,000 compute cores from 6 to 18 sites of the Open Science Grid. When executing on the OSG, he leveraged Swift's capability to replicate jobs that are waiting in queues at more congested sites, and automatically send them to sites where resources were available and jobs were being processed at better rates. All of these capabilities would be a huge distraction from his primary scientific simulation campaign were he to use or script lower-level abstractions where parallelism and remote distribution were the manu
al responsibility of the programmer.
Investigations of more advanced glass simulation techniques are underway, and the fact that the entire campaign can be driven by location-independent Swift scripts will enable Hocky to reliably re-execute the entire campaign with relative ease.
He reports that Swift has made the project much easier to organize and execute. The project would be completely unwieldy without using Swift, and the distraction and scripting/programming effort level of leveraging multiple computing resources would be prohibitive.
@@ -1666,7 +1670,7 @@
Leadership Computing Facility, TeraGrid, the Open Science Grid, the UChicago / Argonne Computation Institute
Petascale Active Data Store, and the Amazon Web Services Education allocation program.
-The quantum glass example in the article is the work of Glen Hocky of the Reichman Lab of the Columbia University Department of Chemistry. We thank Glen for many contributions to the text and code of Sec. 4 and valuable feedback to the Swift project. We gratefully acknowledge the contributions of current and former Swift team members and collaborators Sarah Kenny, Allan Espinosa, Zhao Zhang, David Kelly, Milena Nokolic, Jon Monette, Aashish Adhikari, Marc Parisien, Michael Andric, Steven Small, John Dennis, Mats Rynge, Michael Kubal, Tibi Stef-Praun, Xu Du, Zhengxiong Hou, and Xi Li. The initial implementation of Swift was the work of Yong Zhao and Mihael Hategan; Karajan was designed and implemented by Hategan. Tim Armstrong provided helpful comments on the text.
+The quantum glass example in the article is the work of Glen Hocky of the Reichman Lab of the Columbia University Department of Chemistry. We thank Glen for his contributions to the text and code of Sec. 4 and valuable feedback to the Swift project. We gratefully acknowledge the contributions of current and former Swift team members and collaborators Sarah Kenny, Allan Espinosa, Zhao Zhang, David Kelly, Milena Nokolic, Jon Monette, Aashish Adhikari, Marc Parisien, Michael Andric, Steven Small, John Dennis, Mats Rynge, Michael Kubal, Tibi Stef-Praun, Xu Du, Zhengxiong Hou, and Xi Li. The initial implementation of Swift was the work of Yong Zhao and Mihael Hategan; Karajan was designed and implemented by Hategan. We thank Tim Armstrong for helpful comments on the text.
%% \section{TODO}
@@ -1712,6 +1716,8 @@
%% ramble about separation of parallel execution concerns and dataflow spec
%% in the same way that gph has a separation of same concerns... compare contrast
+\newpage
+
\bibliographystyle{elsarticle-num}
\bibliography{paper,Wozniak} % for ACM SIGS style
More information about the Swift-commit
mailing list