Critically discuss the roles and applications of cloud

Assignment Help C/C++ Programming
Reference no: EM132719167

COMP1680 Clouds, Grids and Virtualisation - University of Greenwich

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

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 30°C, bottom 60°C, left 110°C and right 140°C with a range of problem sizes. To do this you are required to modify the codes to:
• reflect the boundary conditions described above
• 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, 4 and 8 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 for a 20x20 problem size. Output the result along with the timings. 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 different OpenMP directives and clauses 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

Reference no: EM132719167

Questions Cloud

Mobile platform vulnerabilities : There are many mobile platform vulnerabilities listed in the readings from previous lessons. If you are not familiar, conduct web research on the topic.
Do you feel the benefits of cloud computing : Do you feel the benefits of cloud computing are worth the threats and vulnerabilities? Have we arrived at a point where we can trust external agencies
Use the capm to estimate the firm cost of equity : Now use the constant growth model to estimate the cost of equity. Use the CAPM to estimate the firm's cost of equity. Which of the two estimates is more reason
Does election of one form of management create difference : What are the differences in whether a limited liability company is member-managed or manager-managed? Does the election of one form of management create.
Critically discuss the roles and applications of cloud : Describe and critically discuss the roles and applications of cloud and grid computing and Implement and execute applications using shared and distributed
How the key challenges raised on the case could be framed : How the key challenges raised on the case could be framed within a Christian perspective. In other words, how could the key challenges in the case be
Describe the accounting standards codification : Which of the following Accounting Standards Codification (ASC) Topics covers US accounting for translating a company's foreign financial statements.
Describe three authentication types : Describe three authentication types and give an example of each.
Describe two cryptographic applications : Describe two cryptographic applications and how they are used in Information System Security.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Write a java class named mylinkedlist and implement it

void updateList(MyLinkedList otherlist) that will update the current list with a given otherlist. If an element in current list exists in the otherlist then replace (update) it, otherwise insert (add) it using the above insertSortNoDuplicate metho..

  Output of this c code if there is no error in stream fp

What is the output of this C code if there is no error in stream fp?

  Display the average height and name of the tallest person

A person has a name and a height in centimeters. Implement a dataset to process a collection of Person objects. Display the average height and the name of the tallest person.

  Write an application that can hold five integers in an array

Write an application that can hold five integers in an array. Display the integers fromfirst to last, and then display the integers from last to first.

  Which will provide the program user some basic information

DisplayApplicationInformation, which will provide the program user some basic information about the program.

  Develop a program for an auto dealership

You are to develop a program for an auto dealership. This program will keep track of the auto inventory using an array of objects. The dealer has a limit of 100 cars in inventory at one time due to space restrictions. The class used to instantiate..

  The authors of the book do a very thorough job explaining

the authors of the book do a very thorough job explaining simpletons operation and encourage you to take a look at what

  Write a program that finds the average time

Write a program that finds the average time spent programming by a student each day over a 3 day period.

  Write an abstract data type

Write an abstract data type in C++ or Java (find which language you used) for rational numbers (a numerator and a denominator, both in integers).

  Write a header file that contains the prototype

Write a header file that contains the prototype for a function that takes two value parameters (both floats) and returns a single character output.

  Convert infix to postfix expression

For every postfix expression there exists a corresponding and uniquely defined infix expression that evaluates to the same number.

  Program prompts the user to input the height and the radius

Rearrange the statements so that the program prompts the user to input the height and the radius of the base of a cylinder and outputs the volume and surface area of the cylinder. Format the output to two decimal places.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd