Update assigment 5 for Fall 2009.
authorW. Trevor King <wking@drexel.edu>
Tue, 9 Nov 2010 15:51:05 +0000 (10:51 -0500)
committerW. Trevor King <wking@drexel.edu>
Tue, 9 Nov 2010 15:51:05 +0000 (10:51 -0500)
assignments/archive/mandelbrot/index.2009.11.shtml [new file with mode: 0644]
assignments/archive/mandelbrot/index.shtml
assignments/current/5

diff --git a/assignments/archive/mandelbrot/index.2009.11.shtml b/assignments/archive/mandelbrot/index.2009.11.shtml
new file mode 100644 (file)
index 0000000..6c3cdbb
--- /dev/null
@@ -0,0 +1,63 @@
+<!--#set var="root_directory" value="../../.." --><!--#include virtual="$root_directory/shared/header.shtml"-->
+
+<h1>Assignment #6</h1>
+<p><em>Due Friday, November 5, 2009</em></p>
+
+<h2>Purpose</h2>
+
+<p>Learn how to implement a hostless parallel algorithm.</p>
+
+<p>Note: Please identify all your work.</p>
+
+<p>This assignment consists in rewriting the code calculating the
+Mandelbrot Set in a static load balance approach using a hostless
+parallel algorithm.</p>
+
+<p>In a hostless parallel algorithm, <em>all</em> nodes are treated on
+the same basis, except possibly for a brief dialogue with the user to
+start with and some post-processing of the data at the end of the
+calculation by node 0. In general, this paradigm is simpler to code
+than a master-slave approach. But it requires to find a way to divide
+the problem in parcels of equal complexity, therefore taking
+equivalent time to compute.</p>
+
+<p>In the Mandelbrot Set adjacent lines of pixels in the image ought
+to take comparable times to compute. Therefore a static load balance
+algorithm follows by requesting the nodes (including node 0 —
+therefore a hostless algorithm) to calculate the lines in the image on
+a cyclic basis. For instance, if three (3) nodes are used, each node
+should compute the lines of pixels according to the following
+table:</p>
+
+<table>
+  <tr><th>node</th><th>lines</th></tr>
+  <tr><td>0</td>   <td>0, 3, 6, 9, ...</td></tr>
+  <tr><td>1</td>   <td>1, 4, 7, 10, ...</td></tr>
+  <tr><td>2</td>   <td>2, 5, 8, 11, ...</td></tr>
+</table>
+
+<h2>Part A</h2>
+
+<p>Write a code to</p>
+
+<ul>
+  <li>implement the hostless approach.</li>
+  <li>produce the Mandelbrot Set image by piping the data in plot
+    image.py.</li>
+  <li>reproduce the same image as the serial and master-slave versions
+    from the notes in the web pages.</li>
+  <li>handle an arbitrary number of nodes.</li>
+  <li>handle an arbitrary size for the image (default: 700x500).</li>
+</ul>
+
+<h2>Part B</h2>
+
+<p>Include timing calls in your code to prove (or disprove) the
+assumption that the approach described above really leads to a proper
+load balance. Quantify the time variations in the nodes when using
+from 2 to 16 nodes.</p>
+
+<p>You could solve this assignment
+on <code>borg0.physics.drexel.edu</code>.</p>
+
+<!--#include virtual="$root_directory/shared/footer.shtml"-->
index 6c3cdbbb2930f1d7d21b3d868535e83eee38113b..5423f0be8bab52cfd1b8af73660d59fddd39807e 100644 (file)
@@ -1,63 +1,21 @@
 <!--#set var="root_directory" value="../../.." --><!--#include virtual="$root_directory/shared/header.shtml"-->
 
-<h1>Assignment #6</h1>
-<p><em>Due Friday, November 5, 2009</em></p>
+<h1>Assignment #5</h1>
+<p><em>Due Friday, November 5, 2010</em></p>
 
 <h2>Purpose</h2>
 
-<p>Learn how to implement a hostless parallel algorithm.</p>
+<p>Learn how to implement a truly parallel algorithm.</p>
 
 <p>Note: Please identify all your work.</p>
 
-<p>This assignment consists in rewriting the code calculating the
-Mandelbrot Set in a static load balance approach using a hostless
-parallel algorithm.</p>
+<p>This assignment consists of rewriting
+the <a href="../../../src/mandelbrot/MS2.c">MS2.c</a> code calculating
+the Mandelbrot Set to use a Master-Slave approach.  This is equivalent
+to writing <code>MS3.c</code> from
+the <a href="../../../content/programming_strategies/#MS3">notes</a>.</p>
 
-<p>In a hostless parallel algorithm, <em>all</em> nodes are treated on
-the same basis, except possibly for a brief dialogue with the user to
-start with and some post-processing of the data at the end of the
-calculation by node 0. In general, this paradigm is simpler to code
-than a master-slave approach. But it requires to find a way to divide
-the problem in parcels of equal complexity, therefore taking
-equivalent time to compute.</p>
-
-<p>In the Mandelbrot Set adjacent lines of pixels in the image ought
-to take comparable times to compute. Therefore a static load balance
-algorithm follows by requesting the nodes (including node 0 —
-therefore a hostless algorithm) to calculate the lines in the image on
-a cyclic basis. For instance, if three (3) nodes are used, each node
-should compute the lines of pixels according to the following
-table:</p>
-
-<table>
-  <tr><th>node</th><th>lines</th></tr>
-  <tr><td>0</td>   <td>0, 3, 6, 9, ...</td></tr>
-  <tr><td>1</td>   <td>1, 4, 7, 10, ...</td></tr>
-  <tr><td>2</td>   <td>2, 5, 8, 11, ...</td></tr>
-</table>
-
-<h2>Part A</h2>
-
-<p>Write a code to</p>
-
-<ul>
-  <li>implement the hostless approach.</li>
-  <li>produce the Mandelbrot Set image by piping the data in plot
-    image.py.</li>
-  <li>reproduce the same image as the serial and master-slave versions
-    from the notes in the web pages.</li>
-  <li>handle an arbitrary number of nodes.</li>
-  <li>handle an arbitrary size for the image (default: 700x500).</li>
-</ul>
-
-<h2>Part B</h2>
-
-<p>Include timing calls in your code to prove (or disprove) the
-assumption that the approach described above really leads to a proper
-load balance. Quantify the time variations in the nodes when using
-from 2 to 16 nodes.</p>
-
-<p>You could solve this assignment
-on <code>borg0.physics.drexel.edu</code>.</p>
+<p>Write the code so as to form an image by piping the data
+into <a href="../../../src/plot_image/plot_image.py">plot_image.py</a>.</p>
 
 <!--#include virtual="$root_directory/shared/footer.shtml"-->
index 802b16cac89710a1f54375f54bb14c719d08d9fd..986997746d4d4cce64da818dead3d7a2d479d02f 120000 (symlink)
@@ -1 +1 @@
-../archive/monte_carlo_integration/
\ No newline at end of file
+../archive/mandelbrot/
\ No newline at end of file