Summary for Milestone 1 ======================= Please answer the following questions: Part 1 - Usage -------------- 1a.) How do you compile your program? List all necessary steps. 1b.) How do you run your program? Give an executable command with all arguments. 1c.) Which input did you choose for your performance measurements? Justify why your chosen input stresses all parts of your program in a way that resembles "real" use for its intended purpose (i.e. not for performance measurements) Part 2 - Performance -------------------- 2.) Complete the following table to show the computational requirements of the program with your chosen input on all three machines. Machine Execution Time / [s] hecate.princeton.edu hbar.cs.princeton.edu niagara.cs.princeton.edu Part 3 - Program Structure -------------------------- 3.) Describe which sequential algorithms your program uses and what they do (no more than 1-2 sentences per algorithm). List enough algorithms to show where your program spends 99% of its time. Use profiling information from hbar.cs.princeton.edu to justify your response. Please add the names of the source code files and function names for each algorithm. Part 4 - Parallelization ------------------------ 4a.) How do you plan to parallelize your program and its algorithms? Please limit your description to 100 words, it is sufficient to outline the general structure. 4b.) How will the threads of your program communicate? Give an overview over the most important data structures that will be shared and will require synchronization. Please limit your description to 100 words.