This document outlines case study questions for a group project to design a client program. The questions address:
1. Describing the tasks, data structures, and functions needed for the client program.
2. Identifying test cases to test the program functionality and address special cases.
3. Analyzing which tasks can be parallelized, calculating parallel work load, theoretical speedup using Amdahl's Law, and execution time on a 4-core system using Brent's Lemma.
4. Considering additional challenges like communication and synchronization.
This document outlines case study questions for a group project to design a client program. The questions address:
1. Describing the tasks, data structures, and functions needed for the client program.
2. Identifying test cases to test the program functionality and address special cases.
3. Analyzing which tasks can be parallelized, calculating parallel work load, theoretical speedup using Amdahl's Law, and execution time on a 4-core system using Brent's Lemma.
4. Considering additional challenges like communication and synchronization.
This document outlines case study questions for a group project to design a client program. The questions address:
1. Describing the tasks, data structures, and functions needed for the client program.
2. Identifying test cases to test the program functionality and address special cases.
3. Analyzing which tasks can be parallelized, calculating parallel work load, theoretical speedup using Amdahl's Law, and execution time on a 4-core system using Brent's Lemma.
4. Considering additional challenges like communication and synchronization.
o List the tasks. o What data structures do you need to implement? o What functions do you need to write? o What is the total serial work (in terms of all input parameters)?
How are you going to test the functionality?
o Identify 2-3 different test cases that you would use to test the program. Make sure that you are addressing any/all special cases
What tasks are parallelizable?
o What is the total amount of parallelizable work (in terms of all input parameters)? o Relative to the amount of total work what is the fraction (f) of non-parallelizable work? o Using Amdahls Law (S 1/f ) what is your maximum theoretical speedup? o What is the span (T)? o Draw a DAG of the tasks to illustrate the span. o Using Brents Lemma (TP (T1-T)/P + T) what is T4? (CS1 has 4 cores).
Are there additional challenges to parallelization?
o Communication? o Synchronization?
Type or sketch your design and turn it in at the end of class.