Difference between revisions of "Iterative Averaging"

From CSE231 Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=Motivation=
 
=Motivation=
 
X10/Habanero like Phasers have been added to Java since JDK7.  We will gain some experience with using Phasers in a parallel for loop context.
 
X10/Habanero like Phasers have been added to Java since JDK7.  We will gain some experience with using Phasers in a parallel for loop context.
 +
 +
=Background=
 +
[https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Phaser.html Phaser Javadoc]
 +
 +
[http://www.baeldung.com/java-phaser Guide to the Java Phaser]
  
 
=Mistakes To Avoid=
 
=Mistakes To Avoid=

Revision as of 19:55, 5 March 2018

Motivation

X10/Habanero like Phasers have been added to Java since JDK7. We will gain some experience with using Phasers in a parallel for loop context.

Background

Phaser Javadoc

Guide to the Java Phaser

Mistakes To Avoid

Attention niels epting.svg Warning: Phasers are brittle.

Code to Implement

class: ForForallIterativeAverager.java Java.png
methods: iterativelyAverage
package: iterativeaveraging.studio
source folder: student/src/main/java

method: public void iterativelyAverage(List<Slice<double[]>> slices, double[] a, double[] b, int iterationCount) Parallel.svg (parallel implementation required)

class: ForallForPhasedIterativeAverager.java Java.png
methods: iterativelyAverage
package: iterativeaveraging.studio
source folder: student/src/main/java

method: public void iterativelyAverage(List<Slice<double[]>> slices, double[] a, double[] b, int iterationCount) Parallel.svg (parallel implementation required)

Testing Your Solution

Correctness

class: IterativeAveragingTestSuite.java Junit.png
package: iterativeaveraging.studio
source folder: testing/src/test/java

Performance

class: IterativeAveragingTiming.java Noun Project stopwatch icon 386232 cc.svg
package: iterativeaveraging.studio
source folder: src/main/java