Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Select and implement the following multithreaded programming application and submit the following as ONE COMPRESSED FOLDER on the E-Learning course page: - A short
Select and implement the following multithreaded programming application and submit the following as ONE COMPRESSED FOLDER on the E-Learning course page: - A short report (PDF) that documents the application work including: Students' information . Introduction Application structure/flowchart Performance analysis (speed and response time). Code package. - A short video/demo (up to 1 min) to show your work and results. Submission deadline: 15/8/2021 Group-based work: a team of up to 3 students. You can use any programming language to implement the application. A GUI should be provided to visualize the processed threads on the screen. Document your code by any relevant comments. Description: Multithreaded Application A program having more than one thread is known as Multithreaded Program. In this project, you should implement a multithreaded program that generates multiple threads to accomplish the requested user's task. Your task or/and data should be distributed on these forked threads to process the task in parallel. You can choose any problem as a user multithreaded task, BUT it should be processed in parallel. Ex: game solver, matrix manipulation, sort solver, search solver, image processing, etc. *** Submit your work on the E-Learning course page: ONE STUDENT SUBMISSION. 1. [40pts] 1.a) [10pts] Performance of application running on multiprocessors is typically measured by scalability. There are two basic ways to measure the parallel performance of a given application referred as strong and weak scaling. What are the definition of strong and weak scaling? 1.b) [10pts] What are the advantages and disadvantages of fine-grained multithreading, coarse-grained multithreading, and simultaneous multithreading? 1.c) [20pts] Given the following instruction sequence of three threads, how many clock cycles will fine-grained multithreading, coarse-grained multithreading, simultaneously multithreading (SMT) use respectively? Assume threads are run on a multiprocessor with four issue slots. Assume also that coarse-grained multithreading only switches when there is a stall longer than 1. Each X represents occupied issue slot and each row represents a clock cycle. Thread 1: 10 cycles Thread 2: 9 cycles Thread 3: 9 cycles XXX XXXX XX X XXX (stall) (stall) XX (stall) XXX XX XXX (stall) XXXX X X XX (stall) X X XX XXX (stall) XX X XXXX XXX X 2. [60pts] Consider the following three CPU organizations: CPU SS: A 2-core superscalar microprocessor that provides out-of-order issue 12:28 PM 12/1/2016
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started