COMP1680 Clouds, Grids and Virtualisation Assignment Help

Post New Homework

COMP1680 Clouds, Grids and Virtualisation

University of Greenwich

Learning Outcomes:
Characterise and critically evaluate high performance computing based architectures and their suitability for given applications. Implement and execute applications using shared and distributed memory programming paradigms. Describe and critically discuss the roles and applications of cloud and grid computing.

Detailed Specification : Clouds, Grids and Virtualisation Essay Coursework

Conduct a literature review and research on the following area::

Cloud computing platforms for Big Data Analytics

The research should include the following sections:
• Introduction: Give an overview of the topic and describe the "big picture"
• Body of the paper: Describe the results of your research by presenting their respective characteristics, their application areas and by conducting a critical comparison among them

• Conclusion and future directions: Summarise your findings and identify areas of future research that are promising

• References: A list of references that support your analysis. These can include, among others, journal publications, conference publications, books and web sites.

You are provided with a two C program codes (called jacobi2d.c and gauss2d.c) that solve a rectangular 2 dimensional heat conductivity problem using the Jacobi and Gauss-Seidel iterative methods.

This code can be compiled and linked to produce a conventional executable files called jacobiSerial and gaussSerial by using the following commands:
gcc jacobi2d.c -o jacobiSerial gcc gauss2d.c -o gaussSerial

To run the executable type in the executable name: jacobiSerial or gaussSerial

As you implement each of the following 4 steps make sure that you retain and do not overwrite previous versions of your solutions.

Step 1

You are required to compute a temperature distribution for a rectangular 2D problem with boundary conditions set at top 20°C, bottom 100°C, left 10°C and right 140°C with a range of problem sizes. To do this you are required to modify the codes to:
1) reflect the boundary conditions described above
2) report the execution time Record the run-time of your code under a range of problem sizes using different levels of compiler optimization.
Be Advised that:
* it is possible that aggressive optimization will break the code
* you will need to stop the results from printing if you are to obtain realistic measurements of the execution time.

Step 2

You are then required to modify the applications you created in step 1 to produce a basic parallel version of the codes using OpenMP. The following commands will compile your parallel version on a platform that has OpenMP installed:

gcc -fopenmp jacobiOpenmp.c -o jacobiOpenmp gcc -fopenmp gaussOpenmp.c -o gaussOpenmp

The parallel codes must include timers to report the parallel run-time of the code. This version must be tested to establish correct operation using 1, 2, 3 and 4 threads/processors, regardless of performance. (These versions may run on any platform you choose as performance is not an issue at this stage.)

Run the Gauss-Seidel code for only 1 iteration using 1 and 2 threads. Discuss the differences in the solutions.

Step 3

Using the cms-grid machines you are to run performance tests with the OpenMP implementation you created in step 2. This will require that you remove most of the print output from the code and increase the problem size to provide sufficient work to demonstrate useful speedup. You are expected to provide speedup results:

• for a range of problem sizes
• for a range of number of threads (from 2 up to 8 threads) In calculating the speedup of your parallel code you should use the optimized single processor version of your code you produced in step 1. You will need to apply similar optimizations to your parallel code.

Step 4

Using the cms-grid machines you are to further modify your OpenMP application to improve the parallel performance. You are expected to provide results that permit comparison with those you obtained in step 3. Comment on the differences between optimising the Jacobi and Gauss-Siedel Methods.

Attachment:- Clouds, Grids and Virtualisation.rar

Post New Homework
Captcha

Looking tutor’s service for getting help in UK studies or college assignments? Order Now