Question

In: Computer Science

There is a serial program (single thread, single core) that performs a given task in 47...

There is a serial program (single thread, single core) that performs a given task in 47 hours. The core operation of this program is a nested loop doing matrix multiplication.

We would like to get a faster result

We have access to a new multi-core, multi-processor machine with the following characteristics. 4-cores 3-processors. Not only does this new machine have multiple processors with multiple cores, but the single core processing speed is also 25% faster than that of the other single core machine.

8.a. What is the theoretical speedup of this new machine over the old?

8.b. What is the theoretical efficiency of this new machine over the old?

8.c. How many more core operations will this new machine have to do compared to that of the old machine?

8.d. How long will it take the new machine to perform the task that took the old 47 hours?

Solutions

Expert Solution

8.a) Number of processors = 3

Number of cores = 4

So, this new configuration has three processors which have total 4 threads/cores. These three processors will enable hyper-threading to enable four cores and each of them will act as individual processor.

According to the question, each of these cores perform 25% faster than the old core

So, (old core speed * 1.25) = new core speed

Multiplying both sides by 4, we get:

(old core speed * 1.25) * 4 = 4 * new core speed

or, 5 * old core speed = new configuration speed [As the new system has 4 processors]

Let us consider, the CPU speed = x

So, the new CPU speed = 5x

So, theoretical speedup of the new machine = 5x / x = 5

8.b) The theoretical efficiency over the old configuration will be = ((5x / x) * 100) % = 500%

8.c) This new machine will do (5 - 1) = 4 more core operations compared to that of the old machine.

8.d) Total time taken by the new machine will be = (47 / 5) hours = 9.4 hours.

Please comment in case of any doubt.
Please upvote if this helps.


Related Solutions

In C: Write a complete program that performs the following task: Ask the user for the...
In C: Write a complete program that performs the following task: Ask the user for the number of sequences to display. For each sequence, Ask the user for a starting value Print out the value and double it (multiply by 2). Continue printing and doubling (all on the same line, separated by one space each) as long as the current number is less than 1000, or until 8 numbers have been printed on the line. You may assume that the...
Your task is to write a C program which performs encryption and decryption of a message...
Your task is to write a C program which performs encryption and decryption of a message using the substitution cipher algorithm. Write a C program which performs encryption and decryption using the substitution cipher algorithm. Your program must be fully automated (ie: it does not take any interactive user input) and either encrypt or decrypt depending on the files which exist in the program’s directory. If message.txt exists your program should read that file, encrypt the contents, and write the...
What is a program? What is a process? What is a thread?
What is a program? What is a process? What is a thread? Explain the differences/similarities in details between them.
Write a parallel program using Pthread based on given sequential solution. Please set the thread number...
Write a parallel program using Pthread based on given sequential solution. Please set the thread number as 10 in your code. Given Sequential Solution: #include <stdlib.h> #include <stdio.h> #include <string.h> #define MAX 10240 int total = 0; int n1,n2; char *s1,*s2; FILE *fp; int readf(FILE *fp) { if((fp=fopen("strings.txt", "r"))==NULL){ printf("ERROR: can't open string.txt!\n"); return 0; } s1=(char *)malloc(sizeof(char)*MAX); if(s1==NULL){ printf("ERROR: Out of memory!\n"); return -1; } s2=(char *)malloc(sizeof(char)*MAX); if(s2==NULL){ printf("ERROR: Out of memory\n"); return -1; } /*read s1 s2 from...
Thread Programming (C Programming) Objective Develop threads: thread and main. Functionality of Threads: The main program...
Thread Programming (C Programming) Objective Develop threads: thread and main. Functionality of Threads: The main program accepts inputs from the user from the console. The user can provide the following two types of input: add num1 num2 mult num1 num2 Here, num1 and num2 are two integer numbers. E.g., the user may input add 1 2. The threads receive the command along with the number, and performs the appropriate arithmetic operation and returns the results to main program. The main...
Use Statistical Tables to test for serial correlation given the following Durbin-Watson d statistics for serial...
Use Statistical Tables to test for serial correlation given the following Durbin-Watson d statistics for serial correlation. Draw a picture for hypothesis testing. State your hypothesis. i. d=0.62, K=2, N=21, 5-percent, one-sided positive test ii. d=3.89, K=3 N=18, 5-percent, one-sided positive test iii. d=1.31, K=4, N=36, 5-percent, one-sided positive test
Use Statistical Tables to test for serial correlation given the following Durbin-Watson d statistics for serial...
Use Statistical Tables to test for serial correlation given the following Durbin-Watson d statistics for serial correlation. Draw a picture for hypothesis testing. State your hypothesis. d=0.62, K=2, N=21, 5-percent, one-sided positive test d=3.89, K=3 N=18, 5-percent, one-sided positive test d=1.31, K=4, N=36, 5-percent, one-sided positive test d=1.19, K=2, N=85, 5-percent, one-sided positive test d=1.29, K=4, N=23, 5-percent, one-sided positive test
// This program ask the user to enter a character. It then performs a // linear...
// This program ask the user to enter a character. It then performs a // linear search on a character array and display the number of times // that the character appears on the array. If the character is not in the // array, then it will display a message saying that is was not found. // Add the necessary code for the program to work. // NOTE: // You don't have to edit anything in the main(), just in...
A single thread power screw is 36 mm in diameter with a pitch of 6 mm....
A single thread power screw is 36 mm in diameter with a pitch of 6 mm. A vertical load on the screw imposes a force of 9 kN. The coefficients of friction are 0.09 for the collar and 0.16 for the screw. The effective diameter of the collar is 52 mm. Find the overall efficiency and torque required to raise and lower this load.
DO THIS IN JAVA Write a complete Java program. the program has two threads. One thread...
DO THIS IN JAVA Write a complete Java program. the program has two threads. One thread prints all capital letters 'A' to'Z'. The other thread prints all odd numbers from 1 to 21.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT