[Swift-commit] r7354 - in SwiftTutorials/swift-midway-tutorial: bin doc part01 part04 part05 part06

davidk at ci.uchicago.edu davidk at ci.uchicago.edu
Mon Dec 2 12:47:10 CST 2013


Author: davidk
Date: 2013-12-02 12:47:10 -0600 (Mon, 02 Dec 2013)
New Revision: 7354

Modified:
   SwiftTutorials/swift-midway-tutorial/bin/cleanup
   SwiftTutorials/swift-midway-tutorial/doc/README
   SwiftTutorials/swift-midway-tutorial/part01/p1.swift
   SwiftTutorials/swift-midway-tutorial/part04/swift.properties
   SwiftTutorials/swift-midway-tutorial/part05/swift.properties
   SwiftTutorials/swift-midway-tutorial/part06/swift.properties
Log:
Updates to documentation and configuration


Modified: SwiftTutorials/swift-midway-tutorial/bin/cleanup
===================================================================
--- SwiftTutorials/swift-midway-tutorial/bin/cleanup	2013-12-02 18:09:40 UTC (rev 7353)
+++ SwiftTutorials/swift-midway-tutorial/bin/cleanup	2013-12-02 18:47:10 UTC (rev 7354)
@@ -1,2 +1,2 @@
-rm -rf *.log *.rlog *.d p?-*-*-* *.kml *.swiftx *.out output outdir logs hi.* _concurrent .swift/tmp
+rm -rf *.rlog *.kml *.swiftx *.out output outdir logs hi.* _concurrent .swift/tmp run0*
 

Modified: SwiftTutorials/swift-midway-tutorial/doc/README
===================================================================
--- SwiftTutorials/swift-midway-tutorial/doc/README	2013-12-02 18:09:40 UTC (rev 7353)
+++ SwiftTutorials/swift-midway-tutorial/doc/README	2013-12-02 18:47:10 UTC (rev 7354)
@@ -9,7 +9,7 @@
 ////
 
 This tutorial is viewable at:
-http://swiftlang.org/tutorials/osdc/tutorial.html
+http://swiftlang.org/tutorials/midway/tutorial.html
 
 ////
 
@@ -23,7 +23,7 @@
 
 Compute-node exercises, running apps via qsub and aprun:
 
-  p4 - Running apps on OSDC compute nodes
+  p4 - Running apps on RCC Midway cluster
   p5 - Running on multiple pools of compute nodes
   p6 - Running a more complex workflow pattern
 
@@ -48,23 +48,22 @@
 clusters, clouds, grids, and supercomputers.
 
 In this tutorial, you'll be able to first try a few Swift examples
-(parts 1-3) on an OSDC login host, to get a sense of the
-language. Then in parts 4-6 you'll run similar workflows on OSDC
+(parts 1-3) on a Midway login host, to get a sense of the
+language. Then in parts 4-6 you'll run similar workflows on Midway
 compute nodes, and see how more complex workflows can be expressed
 with Swift scripts.
 
 Swift tutorial setup
 --------------------
-To begin, start a few virtual machines running the Ubuntu image.
-Once the instances have started, run the following commands to
-install the tutorial scripts on an OSDC login host:
+Once you are logged into the Midway login host, run the following commands 
+to set up your environment.
 
 -----
 $ cd $HOME
-$ wget http://swiftlang.org/tutorials/osdc/swift-osdc-tutorial.tar.gz
-$ tar xvfz swift-osdc-tutorial.tgz
-$ cd swift-osdc-tutorial
-$ source setup.sh   # You must run this with "source" !
+$ wget http://swiftlang.org/tutorials/midway/swift-midway-tutorial.tar.gz
+$ tar xvfz swift-midway-tutorial.tgz
+$ cd swift-midway-tutorial
+$ source setup.sh 
 -----
 
 Verify your environment
@@ -86,10 +85,10 @@
 the Swift Subversion repository, do:
 
 -----
-$ svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftTutorials/swift-osdc-tutorial OSDC-Swift
+$ svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftTutorials/swift-midway-tutorial
 -----
 
-This will create a directory called "OSDC-Swift" which contains all of the
+This will create a directory called "swift-midway-tutorial" which contains all of the
 files used in this tutorial.
 
 
@@ -97,21 +96,21 @@
 -------------------------------------------------------
 
 This tutorial is based on two intentionally trivial example programs,
-`simulation.sh` and `stats.sh`, (implemented as bash shell scripts)
+`simulation` and `stats`, (implemented as bash shell scripts)
 that serve as easy-to-understand proxies for real science
 applications. These "programs" behave as follows.
 
 simulate.sh
 ~~~~~~~~~~~
 
-The simulation.sh script serves as a trivial proxy for any more
+The simulation script serves as a trivial proxy for any more
 complex scientific simulation application. It generates and prints a
 set of one or more random integers in the range [0-2^62) as controlled
 by its command line arguments, which are:
 
 -----
-$ ./app/simulate.sh --help
-./app/simulate.sh: usage:
+$ ./app/simulate --help
+./app/simulate: usage:
     -b|--bias       offset bias: add this integer to all results [0]
     -B|--biasfile   file of integer biases to add to results [none]
     -l|--log        generate a log in stderr if not null [y]
@@ -128,12 +127,12 @@
 All of thess arguments are optional, with default values indicated above as `[n]`.
 
 ////
-.simulation.sh arguments
+.simulation arguments
 [width="80%",cols="^2,10",options="header"]
 
 |=======================
 |Argument|Short|Description
-|1    |runtime: sets run time of simulation.sh in seconds
+|1    |runtime: sets run time of simulation in seconds
 |2    |range: limits generated values to the range [0,range-1]
 |3    |biasfile: add the integer contained in this file to each value generated
 |4    |scale: multiplies each generated value by this integer
@@ -141,36 +140,36 @@
 |=======================
 ////
 
-With no arguments, simulate.sh prints 1 number in the range of
+With no arguments, simulate prints 1 number in the range of
 1-100. Otherwise it generates n numbers of the form (R*scale)+bias
 where R is a random integer. By default it logs information about its
 execution environment to stderr.  Here's some examples of its usage:
 
 -----
-$ simulate.sh 2>log
+$ simulate 2>log
        5
 $ head -4 log
 
-Called as: /home/wilde/swift/tut/CIC_2013-08-09/app/simulate.sh:
+Called as: /home/wilde/swift/tut/CIC_2013-08-09/app/simulate:
 Start time: Thu Aug 22 12:40:24 CDT 2013
 Running on node: login01.osgconnect.net
 
-$ simulate.sh -n 4 -r 1000000 2>log
+$ simulate -n 4 -r 1000000 2>log
   239454
   386702
    13849
   873526
 
-$ simulate.sh -n 3 -r 1000000 -x 100 2>log
+$ simulate -n 3 -r 1000000 -x 100 2>log
  6643700
 62182300
  5230600
 
-$ simulate.sh -n 2 -r 1000 -x 1000 2>log
+$ simulate -n 2 -r 1000 -x 1000 2>log
   565000
   636000
 
-$ time simulate.sh -n 2 -r 1000 -x 1000 -t 3 2>log
+$ time simulate -n 2 -r 1000 -x 1000 -t 3 2>log
   336000
   320000
 real    0m3.012s
@@ -178,12 +177,12 @@
 sys     0m0.006s
 -----
 
-stats.sh
-~~~~~~
+stats
+~~~~~
 
-The stats.sh script serves as a trivial model of an "analysis"
+The stats script serves as a trivial model of an "analysis"
 program. It reads N files each containing M integers and simply prints
-the\ average of all those numbers to stdout. Similarly to simulate.sh
+the average of all those numbers to stdout. Similarly to simulate
 it logs environmental information to the stderr.
 
 -----
@@ -196,7 +195,7 @@
 40
 75
 
-$ stats.sh f* 2>log
+$ stats f* 2>log
 50
 -----
 
@@ -266,7 +265,7 @@
 Part 1: Run a single application under Swift
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The first swift script, p1.swift, runs simulate.sh to generate a
+The first swift script, p1.swift, runs simulate to generate a
 single random number. It writes the number to a file.
 
 image::part01.png["p1 workflow",align="center"]
@@ -301,37 +300,11 @@
 $ cleanup
 ------
 
-NOTE: You'll also find two Swift configuration files in each `partNN`
-directory of this tutorial.  These specify the environment-specific
-details of where to find application programs (file `apps`) and where
-to run them (file `sites.xml`).  These files will be explained in more
+NOTE: You'll also find a Swift configuration file in each `partNN`
+directory of this tutorial. This file specifies the environment-specific
+details of how to run. These files will be explained in more
 detail in parts 4-6, and can be ignored for now.
 
-////
-It defines
-things like the work directory, the scheduler to use, and how to
-control parallelism. The sites.xml file below will tell Swift to run
-on the local machine only, and run just 1 task at a time.
-
-.sites.xml
------
-sys::[cat ../part01/sites.xml]
------
-
- In this case, it
-indicates that the app "simulate" (the first token in the command line
-declaration of the function `simulation`, at line NNN) is located in the file
-simulate.sh and (since the path `simulate.sh` is specified with no
-directory components) Swift expects that the `simulate.sh` executable
-will be available in your $PATH.
-
-.apps
------
-sys::[cat ../part01/apps]
------
-
-////
-
 Part 2: Running an ensemble of many apps in parallel with a "foreach" loop
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -378,8 +351,8 @@
 its typically necessary to gather and analyze their results with some
 kind of post-processing analysis program or script.  p3.swift
 introduces such a postprocessing step. In this case, the files created
-by all of the parallel runs of `simulation.sh` will be averaged by by
-the trivial "analysis application" `stats.sh`:
+by all of the parallel runs of `simulation` will be averaged by by
+the trivial "analysis application" `stats`:
 
 image::part03.png[align="center"]
 
@@ -395,7 +368,7 @@
 ----
 
 Note that in `p3.swift` we expose more of the capabilities of the
-`simulate.sh` application to the `simulation()` app function:
+`simulate` application to the `simulation()` app function:
 
 -----
 app (file o) simulation (int sim_steps, int sim_range, int sim_values)
@@ -405,17 +378,19 @@
 -----
 
 `p3.swift` also shows how to fetch application-specific values from
-the `swift` command line in a Swift script using `@arg()` which
+the `swift` command line in a Swift script using `arg()` which
 accepts a keyword-style argument and its default value:
 
 -----
-int nsim   = @toInt(@arg("nsim","10"));
-int steps  = @toInt(@arg("steps","1"));
-int range  = @toInt(@arg("range","100"));
-int values = @toInt(@arg("values","5"));
+int nsim   = toInt(arg("nsim","10"));
+int steps  = toInt(arg("steps","1"));
+int range  = toInt(arg("range","100"));
+int values = toInt(arg("values","5"));
 -----
 
-Now we can specify that more runs should be performed and that each should run for more timesteps, and produce more that one value each, within a specified range, using command line arguments placed after the Swift script name in the form `-parameterName=value`:
+Now we can specify that more runs should be performed and that each should run 
+for more timesteps, and produce more that one value each, within a specified range, 
+using command line arguments placed after the Swift script name in the form `-parameterName=value`:
 
 -----
 $ swift p3.swift -nsim=3 -steps=10 -values=4 -range=1000000
@@ -475,52 +450,36 @@
 -----
 
 We can see from Swift's "progress" status that the tutorial's default
-`sites.xml` parameters for local execution allow Swift to run up to 20
+parameters for local execution allow Swift to run up to 20
 application invocations concurrently on the login node. We'll look at
 this in more detail in the next sections where we execute applications
 on the site's compute nodes.
 
 
-Running applications on OSDC compute nodes with Swift
------------------------------------------------------
+Running applications on Midway compute nodes with Swift
+-------------------------------------------------------
 
-Part 4: Running a parallel ensemble on OSDC compute nodes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Part 4: Running a parallel ensemble on Midway compute nodes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-`p4.swift` will run our mock "simulation"
-applications on OSDC compute nodes.  The script is similar to as
-`p3.swift`, but specifies that each simulation app invocation should
-additionally return the log file which the application writes to
-`stderr`.
+`p4.swift` will run our mock "simulation" applications on Midway 
+compute nodes. The script is similar to as `p3.swift`, but specifies 
+that each simulation app invocation should additionally return the 
+log file which the application writes to `stderr`.
 
-////
-
-FIXME: need to revise this figure: drop prog:
-
-, making the parallel portion of the script behave like this:
-
-image::part04.png[align="center"]
-
-.p4.swift
-----
-sys::[cat ../part04/p4.swift]
-----
-////
-
 Now when you run `swift p4.swift` you'll see that two types output
 files will placed in the `output/` directory: `sim_N.out` and
 `sim_N.log`.  The log files provide data on the runtime environment of
 each app invocation. For example:
 
-FIXME: The output below needs to get recaptured for OSDC nodes
-
 -----
 $ cat output/sim_0.log
-Called as: /home/users/p01532/swift-osdc-tutorial/app/simulate.sh: --timesteps 1 --range 100 --nvalues 5
+Called as: /home/davidkelly999/swift-midway-tutorial/app/simulate: --timesteps 1 --range 100 --nvalues 5
 
-Start time: Tue Aug 27 12:17:43 CDT 2013
-Running on node: nid00018
-Running as user: uid=61532(p01532) gid=61532 groups=61532
+Start time: Mon Dec  2 12:17:06 CST 2013
+Running as user: uid=88848(davidkelly999) gid=88848(davidkelly999) groups=88848(davidkelly999),10008(rcc),10030(pi-gavoth),10031(sp-swift),10036(swift),10058(pi-joshuaelliott),10084(pi-wilde),10118(cron-account),10124(cmts),10138(cmtsworkshop)
+Running on node: midway002
+Node IP address: 10.50.181.2 172.25.181.2 
 
 Simulation parameters:
 
@@ -537,210 +496,42 @@
 
 Environment:
 
-ALPS_APP_DEPTH=32
-ASSEMBLER_X86_64=/opt/cray/cce/8.2.0.173/cray-binutils/x86_64-unknown-linux-gnu/bin/as
-ASYNCPE_DIR=/opt/cray/xt-asyncpe/5.23.02
-ASYNCPE_VERSION=5.23.02
+ANTLR_ROOT=/software/antlr-2.7-el6-x86_64
+ANT_HOME=/software/ant-1.8.4-all
+ANT_HOME_modshare=/software/ant-1.8.4-all:3
 ...
 -----
 
-To tell Swift to run the apps on compute nodes, we specify in the
-`apps` file that the apps should be executed on the `osdc` site
-(instead of the `localhost` site).  We can specify the location of
-each app in the third field of the `apps` file, with either an
-absolute pathname or the name of an executable to be located in
-`PATH`). Here we use the latter form:
-
------
-$ cat apps
-raven simulate simulate.sh
-raven stats    stats.sh
------
-
-You can experiment, for example, with an alternate version of stats.sh by specfying that app's location explicitly:
-
------
-$ cat apps
-raven simulate simulate.sh
-raven stats    /home/users/p01532/bin/my-alt-stats.sh
------
-
-We can see that when we run many apps requesting a larger set of nodes (6), we are indeed running on the compute nodes:
------
-$ swift p4.swift -nsim=1000 -steps=1 
-Swift 0.94.1 RC2 swift-r6895 cog-r3765
-
-RunID: 20130827-1638-t23ax37a
-Progress:  time: Tue, 27 Aug 2013 16:38:11 -0500
-Progress:  time: Tue, 27 Aug 2013 16:38:12 -0500  Initializing:966
-Progress:  time: Tue, 27 Aug 2013 16:38:13 -0500  Selecting site:499  Submitting:500  Submitted:1
-Progress:  time: Tue, 27 Aug 2013 16:38:14 -0500  Selecting site:499  Stage in:1  Submitted:500
-Progress:  time: Tue, 27 Aug 2013 16:38:16 -0500  Selecting site:499  Submitted:405  Active:95  Stage out:1
-Progress:  time: Tue, 27 Aug 2013 16:38:17 -0500  Selecting site:430  Submitted:434  Active:66  Stage out:1  Finished successfully:69
-Progress:  time: Tue, 27 Aug 2013 16:38:18 -0500  Selecting site:388  Submitted:405  Active:95  Stage out:1  Finished successfully:111
-...
-Progress:  time: Tue, 27 Aug 2013 16:38:30 -0500  Stage in:1  Submitted:93  Active:94  Finished successfully:812
-Progress:  time: Tue, 27 Aug 2013 16:38:31 -0500  Submitted:55  Active:95  Stage out:1  Finished successfully:849
-Progress:  time: Tue, 27 Aug 2013 16:38:32 -0500  Active:78  Stage out:1  Finished successfully:921
-Progress:  time: Tue, 27 Aug 2013 16:38:34 -0500  Active:70  Stage out:1  Finished successfully:929
-Progress:  time: Tue, 27 Aug 2013 16:38:37 -0500  Stage in:1  Finished successfully:1000
-Progress:  time: Tue, 27 Aug 2013 16:38:38 -0500  Stage out:1  Finished successfully:1000
-Final status: Tue, 27 Aug 2013 16:38:38 -0500  Finished successfully:1001
-
-$ grep "on node:" output/*log | head
-output/sim_0.log:Running on node: nid00063
-output/sim_100.log:Running on node: nid00060
-output/sim_101.log:Running on node: nid00061
-output/sim_102.log:Running on node: nid00032
-output/sim_103.log:Running on node: nid00060
-output/sim_104.log:Running on node: nid00061
-output/sim_105.log:Running on node: nid00032
-output/sim_106.log:Running on node: nid00060
-output/sim_107.log:Running on node: nid00061
-output/sim_108.log:Running on node: nid00062
-
-$ grep "on node:" output/*log | awk '{print $4}' | sort | uniq -c
-    158 nid00032
-    156 nid00033
-    171 nid00060
-    178 nid00061
-    166 nid00062
-    171 nid00063
-$ hostname
-raven
-$ hostname -f
-nid00008
------
-
-Swift's `sites.xml` configuration file allows many parameters to
+Swift's `swift.properties` configuration file allows many parameters to
 specify how jobs should be run on a given cluster.
 
-FIXME: Translate this concept from Cray to OSDC:
+Consider for example that Midway has several Slurm partitions. The sandyb
+partition has 16 cores, and the westmere partition has 12 cores. Depending
+on the application and which partitions are busy, you may want to modify
+where you run. 
 
-Consider for example that Raven has several queues, each with
-limitiations on the size of jobs that can be run in them.  All Raven
-queues will only run 2 jobs per user at one. The Raven queue "small"
-will only allow up to 4 nodes per job and 1 hours of walltime per job.
-The following site.xml parameters will allow us to match this:
+Here is an example of the swift.properties in the part04 directory: 
 
 -----
-  <profile namespace="globus" key="queue">small</profile>
-  <profile namespace="globus" key="slots">2</profile>
-  <profile namespace="globus" key="maxNodes">4</profile>
-  <profile namespace="globus" key="nodeGranularity">4</profile>
+site=westmere
+site.westmere.slurm.reservation=workshop
+site.westmere.slurm.exclusive=false
 -----
 
-To run large jobs, we can specify:
+The first line, site=westmere, allows you to define which partition to run on. Swift includes
+templates for each partition that provides some reasonable default values. Other valid partitions 
+are amd, bigmem, gpu, local, and sandyb.
 
------
-  <profile namespace="globus" key="slots">2</profile>
-  <profile namespace="globus" key="maxNodes">8</profile>
-  <profile namespace="globus" key="nodeGranularity">8</profile>
-  <profile namespace="karajan" key="jobThrottle">50.0</profile>
-  <profile namespace="globus" key="maxTime">21600</profile>
-  <profile namespace="globus" key="lowOverAllocation">10000</profile>
-  <profile namespace="globus" key="highOverAllocation">10000</profile>
------
+The second and third line override some of the default values, by specifying a reservation that will
+be used for this session, and enabling node sharing.
 
-This will enable 512 Swift apps (2 x 8 x 32) to run concurrently
-within 2 8-node jobs on Raven's 32-core nodes.  It results in the
-following two PBS jobs submitted by Swift to "provision" compute nodes
-to run thousands of apps, 512 at a time:
-
+Try changing the queue to run on the sandyb queue. The new swift.properties should look like this:
 -----
-$ qstat -u $USER
+site=sandyb
+site.sandyb.slurm.reservation=workshop
+site.sandyb.slurm.exclusive=false
+----
 
-Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
---------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
-288637.sdb      p01532   medium   B0827-2703    --    8 256    --  05:59 Q   -- 
-288638.sdb      p01532   medium   B0827-2703    --    8 256    --  05:59 Q   -- 
------
-
-The following section is a summary of the important `sites.xml`
-attributes for running apps on Cray systems. Many of these attributes
-can be set the same for all Swift users of a given system; only a few
-of the attributes need be overridden by users. We explain these
-attributes in detail here to show the degree of control afforded by
-Swift over application execution.  Most users will use templates for a
-given Cray system, only changing a few parameters to meet any unique
-needs of their application workflows.
-
-////
-.sites.xml
------
-sys::[egrep -v '<.xml|<config|</config' ../part04/sites.xml | cat -n ]
------
-////
-
-The additional attributes in the `sites.xml` file (described here
-without their XML formatting) specify that Swift should run
-applications on Raven in the following manner:
-
-`execution provider coaster, jobmanager local:pbs` specifies that
-Swift should run apps using its "coaster" provider, which submits
-"pilot jobs" using qsub. These pilot jobs hold on to compute nodes and
-allow Swift to run many app invocations within a single job. This
-mechanism is described in
-http://www.swift-lang.org/papers/UCC-coasters.pdf[this paper from UCC-2011].
-
-`profile` tags specify additional attributes for the execution
-provider. (A "provider" is like a driver which knows how to handle
-site-specific aspects of app execution). The attributes are grouped
-into various "namespaces", but we can ignore this for now).
-
-The `env` key `PATHPREFIX` specifies that our tutorial `app` directory
-(`../app`) will be placed at the front of PATH to locate the app on
-the compute node.
-
-`queue small` specifies that pilot (coaster) jobs to run apps will be
-submitted to Raven's `small` queue.
-
-`providerAttributes pbs.aprun;pbs.mpp;depth=32` specifies some
-Cray-specific attributes: that jobs should use Cray-specific PBS "mpp"
-resource attributes (eg `mppwidth` and `mppnppn`) and an mppdepth of
-32 (because we will be running one coaster process per node, and
-Raven's XE6 dual IL-16 nodes have a depth of 32 processing elements
-(PEs).
-
-`jobsPerNode 32` tells Swift that each coaster should run up to 32
-concurrent apps. This can be reduced to place fewer apps per node, eg
-if each app needs more memory (or, rarely, greater than 32, e.g. if the apps are
-IO-bound or for benchmark experiments, etc).
-
-`slots 2` specifies that Swift will run up to 2 concurrent PBS jobs,
-and `maxNodes 1` specifies that each of these jobs will request only 1
-compute node.
-
-`maxWallTime 00:01:00` specifies that Swift should allow each app to
-run for up to one minute of walltime within the larger pilot job. In
-this example Swift will dynamically determine the total PBS walltime
-needed for the pilot job, but this can be specified manually using
-attributes `maxtime` along with `highOverAllocation` and
-`lowOverAllocation`.
-
-`jobThrottle 3.20` specifies that Swift should allow up to 320 apps to
-run on the `raven` site at once.  This is typically set to a number
-greater than or equal to the number of slots x compute nodes x apps
-per node (`jobsPerNode` attribute).
-
-`initialscore 10000` is specified to override Swift's automatic
-throttling, and forces an actual throttle value of approximately
-(specifically 1 over) `jobThrottle` * 100 to be used.
-
-The last two attributes specify where and how Swift should perform
-data management.  `workdirectory /lus/scratch/{env.USER}/swiftwork`
-specifies where the Swift "application execution sanbox directory"
-used for each app will be located. In some situations this can be a
-directory local to the compute node (eg, for Cray systems, `/dev/shm`
-or `/tmp`, if those are writable by user jobs and the nodes have
-sufficient space in these RAM-based filesystems).
-
-Finally, `stagingMethod sfs` specifies that Swift will copy data to
-and from the shared file system to the application sandbox
-directories.
-
-////
-
 Performing larger Swift runs
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -752,17 +543,6 @@
 $ swift p6.swift -steps=5 -nsim=1000
 -----
 
-FIXME: Adjust from Cray to OSDC concepts: (perhaps show how to add more nodes dynamically)
-
-The other change required is to the sites.xml to control how many nodes you request.
-Change the "maxnodes" values to control the number of nodes to request.
-
------
-<profile namespace="globus" key="maxNodes">2</profile>
------
-
-////
-
 Plotting run activity
 ~~~~~~~~~~~~~~~~~~~~~
 

Modified: SwiftTutorials/swift-midway-tutorial/part01/p1.swift
===================================================================
--- SwiftTutorials/swift-midway-tutorial/part01/p1.swift	2013-12-02 18:09:40 UTC (rev 7353)
+++ SwiftTutorials/swift-midway-tutorial/part01/p1.swift	2013-12-02 18:47:10 UTC (rev 7354)
@@ -1,9 +1,9 @@
 type file;
 
-app (file o) simulation ()
-{
-  simulate stdout=filename(o);
-}
+#app (file o) simulation ()
+#{
+#  simulate stdout=filename(o);
+#}
 
-file f <"sim.out">;
-f = simulation();
+#file f <"sim.out">;
+#f = simulation();

Modified: SwiftTutorials/swift-midway-tutorial/part04/swift.properties
===================================================================
--- SwiftTutorials/swift-midway-tutorial/part04/swift.properties	2013-12-02 18:09:40 UTC (rev 7353)
+++ SwiftTutorials/swift-midway-tutorial/part04/swift.properties	2013-12-02 18:47:10 UTC (rev 7354)
@@ -1 +1,3 @@
-site=sandyb
+site=westmere
+site.westmere.slurm.reservation=workshop
+site.westmere.slurm.exclusive=false

Modified: SwiftTutorials/swift-midway-tutorial/part05/swift.properties
===================================================================
--- SwiftTutorials/swift-midway-tutorial/part05/swift.properties	2013-12-02 18:09:40 UTC (rev 7353)
+++ SwiftTutorials/swift-midway-tutorial/part05/swift.properties	2013-12-02 18:47:10 UTC (rev 7354)
@@ -1 +1,3 @@
-site=sandyb
+site=westmere
+site.westmere.slurm.reservation=workshop
+site.westmere.slurm.exclusive=false

Modified: SwiftTutorials/swift-midway-tutorial/part06/swift.properties
===================================================================
--- SwiftTutorials/swift-midway-tutorial/part06/swift.properties	2013-12-02 18:09:40 UTC (rev 7353)
+++ SwiftTutorials/swift-midway-tutorial/part06/swift.properties	2013-12-02 18:47:10 UTC (rev 7354)
@@ -1 +1,3 @@
-site=sandyb
+site=westmere
+site.westmere.slurm.reservation=workshop
+site.westmere.slurm.exclusive=false




More information about the Swift-commit mailing list