need done with screenshots of program running under a user account created for me
This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. Faculty of Engineering, Environment and Computing 6004CEM Parallel and Distributed Programming Assignment Brief 2021/22 Module Title Parallel and Distributed Programming Individual Cohort - Sept Module Code 370CT Coursework Title (e.g. CWK1) Resit-Deferral Portfolio Hand out date: May 2022 Lecturers Dr Carey Pridgeon/ Dr Norlaily Yaacob Due date: 4th July 2022 by 18:00 BST Coursework type Practical work % of Module Mark 70% Module Learning Outcomes Met by this assessment 1. Demonstrate good knowledge of the concepts of parallel computing and its use in both commercial and scientific environment. 2. Apply and evaluate parallelism techniques to several practical problems. 3. Compare and contrast Distributed and Parallel Computing. 4. Apply above knowledge and skills to solve a distributed architecture problem. Portfolio This is Portfolio has two elements, covering both Parallelism and Distribution. This is marked out of 100, and represents 70% of the marks for this Module. Each portfolio element will be graded separately using a Rubric, and the results from this will be used to decide your final grade. The minimum passing grade for this portfolio is 40%. This Portfolio has two main parts, One for Parallel Computing, and one for Distributed Computing. These Portfolio elements are split into several tasks to give you the opportunity to stop at a definite finish point if you reach the limit of your abilities, but they will all be graded together in This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. their respective rubrics. Failing to complete all aspects will impact the final grade awarded. Parallel Element Contribution – 50% of portfolio grade. Part A Contribution – 5% of portfolio grade. Part B Contribution – 20% of portfolio grade. Part C Contribution – 25% of portfolio grade. Parallel Programming Portfolio Element Module Learning Outcomes Met by this Portfolio Element: 4. Apply Parallelism to several problems. Preamble To have the best chance of a good grade in this element you are strongly advised to complete the exercises for Parallelism. Every aspect must be written in C++ and make use of OpenMP. Parts A, B, and C Must be submitted as SEPARATE programs, if they are combined you will lose marks. Part A - 5% of portfolio grade. Write a simple program with the following properties: A parallel region that sets one of the available schedule types. A variable with its type specified in the omp pragma instruction which is used by the parallelised code. It doesn’t matter if this program produces any output of significance, provided it meets those specifications and can be seen using the variable when it runs. As part of your submission for this you will need a screenshot of the program running under your own user account on the server, to demonstrate that it is your own work. If this screenshot is not present, you will lose marks. This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. Part B – 20% of portfolio grade. Using what you have and these ten vectors, create a new parallel application using OpenMP that loads the following ten sets of three integers into a fixed length Array of Vectors. 5 14 10 7 -8 -14 -2 9 8 15 -6 3 12 4 -5 4 20 17 -16 5 -1 -11 3 16 3 10 -19 -16 7 4 Assume then each of the ten three number sets is a particle in a Three Dimensional Cartesian co-ordinate system. Then create another Integer so these particles can be moved. Call it PPA (Particle Position Alteration variable). You will be using this when moving the particles, since they have no means to store velocity themselves (no X,Y,Z values for this). I’ve omitted them as they’re not required for the assignment. We are not studying any specific type of parallel modelling. Set your PPE variable to 2 initially Each particle in the system should have its position altered on all three axis, x, y and z, separately, on each step, with each being either incremented or decremented (Whether it is positive or negative should be the result of a random selection) using This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. your PPE variable. This PPE itself should remain as a positive value. It doesn’t matter if the individual axis values go into negative values (you’ll notice many of the ones you’ve been given start with at least one already being negative), since these are moving in three-dimensional space. Increase the PPE by any integer value from one to five on each iteration. This increase should also be the result of a random selection. Your program should, as a minimum, print the original state, their state at twenty five steps, then their state at the fifty step point. Comments in your code are a good idea, as easy to read code is more likely to raise the amount of marks you are assigned As part of your submission for this you will need at least one screenshot of the program running under your own user account on the server, to demonstrate that it is your own work. If screenshots of your program running on the server are not present, you will lose marks. This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. Part C – 25% of portfolio grade. This MUST be a separate program, not combined with Part B, if you combine it with part B you will lose marks. Use the code and results from Part B as a starting point for this task. This does mean you will need to preserve your results from Part B, I leave it to you to decide how, since there are so many options. Locate the centre for the set of particles you had from Part B (the point around which they are all grouped). For another fifty steps, move them all towards this point by using the same method as before, after setting the PPA variable back to 2, and increasing it as before. Again your program should print their starting state, their state at twenty five steps, then their state at the fifty step point. You can show more states, this is the minimum required. Print both the final distance between all the particles and this central point and their original distance from it. Move the particles back towards this central point you’ve identified using the PPA This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. You don’t have to succeed at moving the particles physically to the centre, although it can be done. The point is to try to do it, have the particles moving in towards each other, then demonstrate this movement in the work you submit. How you demonstrate it is up to you, I recommend a method which makes the reduction in distance between the particle whose data are being displayed and the calculated destination (the central point) obvious. If your selected demonstration method means showing their states at more points than the assignment specifies, this is perfectly acceptable. Comments in your code are a good idea, as easy to read code is more likely to raise the amount of marks you are assigned As part of your submission for this you will need at least one screenshot of the program running under your own user account on the server, to demonstrate that it is your own work. If screenshots of your program running on the server are not present, you will lose marks. This document is for Coventry University students for their own use in completing their assessed work for this module and should not be passed to third parties or posted on any website. Any infringements of this rule should be reported to
[email protected]. Marking Rubric Program functionality Adherence to assignment specification Code Quality First ≥70 Code exceeds expectations and always runs successfully. Demonstration of program running included in submission. Meets and may exceed all assignment specifications, design matches requirements. Uses OpenMP. Code quality is excellent, has comments and proper layout. All indenting is correct. First ≥70 Upper Second 60-69 Code is complete and always runs successfully, Demonstration of program running included in submission. Meets most assignment specifications, design