Iterative Averaging

From CSE231 Wiki
Jump to navigation Jump to search

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.

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