Hello, can you please asist me with this code because I don't know what to do. I put the question below, I know it mentioned threadpool but I don't need help with that I only need help with the cilent.c I have add the code in the photo.  Again I only need help with the cilent.c and you have to use the code that I give you to give you a start. Can you use my code and only my code ad only need help with cilent.c. question that I need help with: You need to use the pthread for matrix multiplication. Each thread from the threadpool should be responsible for computing only a part of the multiplication (partial product as shown in the above picture – all Ti(S) are called a partical product). Your main thread should split the matrices accordingly and create the partial data arrays that are needed to compute each Ti. You must create a unique task with the data and submit it to the job queue. You can compute the partial products concurrently as long as you have threads available in the threadpool. You have to remove the task the from queue and submit to a thread in the threadpool. You should define the number of threads to be 5 and keep it dynamic so that we can test the same code with a higher or lower number of threads as needed. When all the partial products are computed all the threads in the threadpool should exit and the main thread should regain control, print the complete result to the output file

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter3: Data Representation
Section: Chapter Questions
Problem 13RQ: How is an array stored in main memory? How is a linked list stored in main memory? What are their...
icon
Related questions
Question

Hello, can you please asist me with this code because I don't know what to do. I put the question below, I know it mentioned threadpool but I don't need help with that I only need help with the cilent.c I have add the code in the photo. 

Again I only need help with the cilent.c and you have to use the code that I give you to give you a start. Can you use my code and only my code ad only need help with cilent.c.

question that I need help with:

You need to use the pthread for matrix multiplication. Each thread
from the threadpool should be responsible for computing only a part
of the multiplication (partial product as shown in the above picture –
all Ti(S) are called a partical product). Your main thread should split
the matrices accordingly and create the partial data arrays that are
needed to compute each Ti. You must create a unique task with the
data and submit it to the job queue. You can compute the partial
products concurrently as long as you have threads available in the
threadpool. You have to remove the task the from queue and submit
to a thread in the threadpool. You should define the number of
threads to be 5 and keep it dynamic so that we can test the same
code with a higher or lower number of threads as needed. When all
the partial products are computed all the threads in the threadpool
should exit and the main thread should regain control, print the
complete result to the output file

B
9
0
1
2
3
4
#include <stdio.h>
#include <unistd.h>
#include "threadpool.h"
#define Total_no_of_partial_product 5 //for make to work I have defined this, you should comupte this value from the dimension
of the input matrices
struct data
{
};
//information needed for one thread to process
void compute_partial_product (void *param)
{
}
struct data *temp;
temp = (struct data*) param;
//define this
int main(void)
{
//read the files with input martices an create the data
// create some work to do
struct data *work;
int i;
//dynamically allocate the array depending on the number of partial products
// initialize the thread pool
pool_init();
// submit the work to the queue
for(i=0;i<Total_no_of_partial_product; i++)
pool_submit(&compute_partial_product, &work[i]);
5
6
// may be helpful
7
8
9
0
1
2 }
//sleep(3);
pool_shutdown();
return 0;
Transcribed Image Text:B 9 0 1 2 3 4 #include <stdio.h> #include <unistd.h> #include "threadpool.h" #define Total_no_of_partial_product 5 //for make to work I have defined this, you should comupte this value from the dimension of the input matrices struct data { }; //information needed for one thread to process void compute_partial_product (void *param) { } struct data *temp; temp = (struct data*) param; //define this int main(void) { //read the files with input martices an create the data // create some work to do struct data *work; int i; //dynamically allocate the array depending on the number of partial products // initialize the thread pool pool_init(); // submit the work to the queue for(i=0;i<Total_no_of_partial_product; i++) pool_submit(&compute_partial_product, &work[i]); 5 6 // may be helpful 7 8 9 0 1 2 } //sleep(3); pool_shutdown(); return 0;
Expert Solution
steps

Step by step

Solved in 3 steps with 5 images

Blurred answer
Knowledge Booster
Linux
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning