[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