You are on page 1of 2

INFO0027-2 : Project 3 (10% INDIVIDUAL)

Part 2
Pirallel computing
Submission before May 2

In part 1 of project 3, the primitives you were allowed to use forced the
worker threads to be created and destroyed at each round of computation.
In this part 2, you will use guarded blocks, that is the Java wait-notify
facility, to modify your implementation so that it uses a simple pool of worker
threads consisting of exactly the number of specified workers created only
once during the whole application (i.e. across the multiple rounds).

Implementation

For this part, the public interface of the PPI class does not need to change.
However, you can add methods to the public interface of the PIApp class as
you see fit. No other change to the public interface of these classes is allowed
note that you are always free to do whatever you like with the private
section of your classes.

Performance Evaluation

You must again explore the performance behaviour of your calculator. It


is up to you to design a set of experiments to carry out this exploration.

Readability and Robustness

Your code must be readable. Use indentation, one of the common naming
conventions for variable names, and comments. Organise your code in an
appropriate manner and try and make good use, as much as possible, of the
object-oriented features of Java.
Your code must be robust. The programme must run to completion
without crash.

Evaluation

This overall project counts towards 10% of your final mark. In this part,
you will be evaluated on: the correctness of your solution to concurrency
synchronization issues and their efficiency (the level of parallelism achieved),
the organization of your code and its correctness, as well as the performance
evaluation and analysis.

Submission

Projects must be submitted before Friday May 2, 11:59pm. After this time,
a penalty will be applied to late submissions. This penalty is calculated as
a deduction of N 2 marks (where N is the number of started days after the
deadline). This part of the project is marked out of 5 points.
Your source code must be sent to E.Psanis@ulg.ac.be, along with a maximum one-page report (in English) presenting your performance evaluation
and analysis. In your analysis, it is important that you try and justify the
observed results.
Failure to compile will result in an awarded mark of 0. An implementation that deadlocks will also be awarded a mark of 0.
Bon travail...

You might also like