[Swift-commit] r8035 - in www: . Swift-T

wozniak at ci.uchicago.edu wozniak at ci.uchicago.edu
Wed Jul 16 17:42:20 CDT 2014


Author: wozniak
Date: 2014-07-16 17:42:20 -0500 (Wed, 16 Jul 2014)
New Revision: 8035

Modified:
   www/Swift-T/index.php
   www/push_to.sh
Log:
Bring in Swift/T intro page


Modified: www/Swift-T/index.php
===================================================================
--- www/Swift-T/index.php	2014-07-16 22:41:59 UTC (rev 8034)
+++ www/Swift-T/index.php	2014-07-16 22:42:20 UTC (rev 8035)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<title>Swift - Documentation</title>
+<title>Swift/T - High Performance Dataflow Computing</title>
 <link href="../css/960_12_col.css" rel="stylesheet" type="text/css" />
 <link href="../css/reset.css" rel="stylesheet" type="text/css" />
 <link href="../css/style3.css" rel="stylesheet" type="text/css" />
@@ -30,99 +30,156 @@
 	<?php require('../inc/header2.php') ?>
 	<!-- end header -->
 <div class="grid_12 page-header">				
-	<h1>Documentation</h1>
+	<h1>Swift/T - High Performance Dataflow Computing</h1>
 </div>
 <div class="clear"></div>
 <!-- end .grid_12 -->
 
  <div class="grid_9">
 <br>
-<h3>Swift Quickstart</h3>
-	This guide describes the steps needed to download, install, configure, and run the basic examples for Swift.
-<br><br>
-<ul>
-	<li type="circle" style="margin-left:50px;">
-           <a href="../guides/quickstart.html">Quickstart Guide</a>
-        </li>
-</ul>
-<p> </p>
+<h3>Introduction</h3>
 
-<h3>Swift Tutorials</h3>
-        The Swift tutorials give a quick hands-on taste of the key features of the language. The following tutorial lets you try swift
-on your local machine.
-	 <br><br>
-         <ul>
-           <li type="circle" style="margin-left: 50px;"><a href="../tutorials/localhost/tutorial.html">Swift on your local machine</a></li>
-         </ul>
-         The following tutorials lets you try swift on different computation resources that you may have access to:
-         <br><br>
-         <ul>
-            <li type="circle" style="margin-left: 50px;"><a href="../tutorials/cloud/tutorial.html">Swift on Clouds and Ad Hoc collections of workstations</a></li>
-            <li type="circle" style="margin-left: 50px;"><a href="../tutorials/osgconnect/tutorial.html">Swift on OSG Connect</a></li>
-            <li type="circle" style="margin-left: 50px;"><a href="../tutorials/cray/tutorial.html">Swift on Crays</a></li>
-            <li type="circle" style="margin-left: 50px;"><a href="../tutorials/midway/tutorial.html">Swift on RCC Midway Cluster at UChicago / Slurm</a></li>
-         </ul>
-         These take about 20 minutes. Try the one(s) for the computing resources you have access to.<br>
-         Our older tutorial -- worth a quick read -- can be found <a href="../tutorials/old/tutorial.html">here</a>
-<p> </p>
+<p>
+Swift/T is a completely new implementation of the Swift language for
+high-performance computing.  In this implementation, the Swift code is
+translated into an MPI program that uses the Turbine (hence, /T) and
+ADLB runtime libraries for highly scalable dataflow processing over
+MPI, without single-node bottlenecks.
+</p>
 
-<h3>Swift User Guide</h3>
-        The User Guide provides more detailed reference documentation and background
-        information on swift. It is assumed that the reader is already familiar with
-        the material in the Quickstart and Tutorial documents.
-<br><br>    
-<ul>
-        <li type="circle" style="margin-left:50px;">Latest (0.94)
-        [<a href="../guides/release-0.94/userguide/userguide.html">html</a>] [<a href="../guides/release-0.94/userguide/userguide.pdf">pdf</a>]
-        </li>
-  
-        <li type="circle" style="margin-left:50px;">Trunk
-          [<a href="../guides/trunk/userguide/userguide.html">html</a>] [<a href="../guides/trunk/userguide/userguide.pdf">pdf</a>]
-        </li>
-</ul>
-<p> </p>
+<center>
+  <div class="button_175"><a href="swift.html">User Guide</a></div>
+  <div class="button_175"><a href="downloads.html">Downloads</a></div>
+</center>
 
+<h3>Language Overview</h3>
 
-<h3>Swift Siteguide</h3>
-        This document will guide new users to run Swift in a variety of different environments.
-<br><br>
+<p>
+Swift is a naturally concurrent language with C-like syntax.  It is
+primarily used to manage calls to leaf tasks- external functions
+written in C, C++, Fortran, Python, R, Tcl, Julia, Qt Script, or
+executable programs.  The Swift language coordinates the distribution
+of data to these tasks and schedules them for concurrent execution
+across the nodes of a large system.
+</p>
+
+<p>
+Swift has conventional programming structures- functions, if, for,
+arrays, etc.  Some functions are connected to leaf tasks, which are
+expected to do the bulk of the computationally intensive work.  Tasks
+run when their input data is available.  Data produced by a task may
+be fed into the next using syntax like: 
+</p>
+
+<div class="code">y = f(x); 
+z = g(y);  
+</div>
+
+<p>
+If tasks are able to run concurrently, they do: in this, case, two
+executions of <tt>g()</tt> run concurrently.
+</p>
+
+<div class="code">y  = f(x); 
+z1 = g(y, 1); 
+z2 = g(y, 2);
+</div>
+
+<p>
+Swift loops and other features provide additional concurrency
+constructs. Data movement is implicitly performed over MPI.
+</p>
+
+<p>
+The Swift compiler, STC, breaks a Swift script into leaf tasks and
+control tasks.  These are managed at runtime by the scalable,
+distributed-memory runtime consisting of Turbine and ADLB.  For
+example, the following code is broken up into the task diagram:
+</p>
+
+<style> 
+table 
+{ 
+  border: 1px solid #999; 
+  margin-left:  auto; 
+  margin-right: auto;
+}
+</style>
+
+<img src="images/spawngraph.png" width="45%" style="float: right;  border: 1px solid #999; "/> 
+
+<div class="code" style="width:50%; z-index:-1;">int X = 100, Y = 100;
+int A[][];
+int B[];
+foreach x in [0:X-1] {
+  foreach y in [0:Y-1] {
+    if (check(x, y)) {
+      A[x][y] = g(f(x), f(y));
+    } else {
+      A[x][y] = 0;
+    }
+  }
+  B[x] = sum(A[x]);
+}
+</div>
+
+
+<h3>Differences from Swift/K</h3>
+
+<p>
+The previous implementation of the Swift language is Swift/K, which
+runs on the Karajan grid workflow engine (hence, /K). Karajan and its
+libraries excel at wide-area computation, exploiting diverse
+schedulers (PBS, Condor, etc.) and data transfer technologies.
+</p>
+
+<style> 
+ul 
+{ 
+  list-style-type: circle;
+  margin-left:50px;
+}
+</style>
+
 <ul>
-        <li type="circle" style="margin-left:50px;">Latest (0.94) [<a href="../guides/release-0.94/siteguide/siteguide.html">html</a>] [<a href="../guides/release-0.94/siteguide/siteguide.pdf">pdf</a>]</li>
-        <li type="circle" style="margin-left:50px;">Trunk [<a href="../guides/trunk/siteguide/siteguide.html">html</a>] [<a href="../guides/trunk/siteguide/siteguide.pdf">pdf</a>]</li>
+  <li>
+    Swift/K is designed to execute a workflow of program executions
+    across wide area resources.
+  </li>
+  <li>
+    Swift/T is designed to translate a Swift script into an MPI
+    program composing native code libraries for execution on a single
+    large system.
+  </li>
 </ul>
-<p> </p>
 
-<!--
-<h3>Search All Documentation</h3>
-<div id="cse" style="width: 100%;">Loading</div>
-<script src="//www.google.com/jsapi" type="text/javascript"></script>
-<script type="text/javascript"> 
-  google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
-  google.setOnLoadCallback(function() {
-    var customSearchControl = new google.search.CustomSearchControl('007067124251691692991:pbx7ijbjeea');
-    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
-    customSearchControl.draw('cse');
-  }, true);
-</script>
--->
+<h3>Migration to Swift/T</h3>
 
-<!-- 
-<h3>Swift Cookbook</h3>
-        
-	This cookbook is a collection of recipes involving setting up and running Swift. It is compiled by various members of the Swift community.
-<br><br>
+<p>
+  Swift/T is able to execute Swift/K-style app functions and is a
+  natural migration from Swift/K.  Key differences include:
+</p>
+
 <ul>
-        <li type="circle" style="margin-left:50px;">Latest (0.93) [<a href="../guides/release-0.93/cookbook/cookbook.html">html</a>] [<a href="../guides/release-0.93/cookbook/cookbook.pdf">pdf</a>]</li>
+  <li>
+    Enhanced performance: 1.5 billion tasks/s 
+  </li>
+  <li>
+    Ability to call native code functions (C, C++, Fortran)
+  </li>
+  <li>
+    Ability to execute scripts in embedded interpreters (Python, R, Tcl, Julia, etc.)
+  </li>
+  <li>
+    Enhanced builtin libraries (string, math, system, etc.)
+  </li>
+  <li>
+    Slight syntax differences (a <tt>main()</tt> function, simplified mappers, etc.)
+  </li>
 </ul>
--->
 
-	<p> </p>
-	</div>
-  <!-- end .grid_9 -->
-  <div class="grid_3">
-  	<?php require('../inc/docs_sidebar.php') ?>
-  </div>
-  <!-- end .grid_3 -->
+<p> </p>
+</div>
   
   <div class="clear"></div>
 				
@@ -144,3 +201,9 @@
 
 </body>
 </html>
+
+<!-- 
+ Local Variables: 
+ mode: html
+ End:
+-->

Modified: www/push_to.sh
===================================================================
--- www/push_to.sh	2014-07-16 22:41:59 UTC (rev 8034)
+++ www/push_to.sh	2014-07-16 22:42:20 UTC (rev 8035)
@@ -101,6 +101,8 @@
 images/bullet_next_32.png
 about/index.php
 Swift-T/index.php
+Swift-T/*.html
+Swift-T/images/*.png
 index.html
 shCoreu.js
 js/jquery-1.5.1.min.js




More information about the Swift-commit mailing list