Problem of unbalanced loads, Operating System

Assignment Help:

Present your own fully documented and tested programming example illustrating the problem of unbalanced loads. Describe the use of OpenMP's scheduler as a means of mitigating this problem.

The below example shows a number of tasks that all update a global counter. Since threads share the same memory space, they indeed see and update the same memory location. The code returns a false result because updating the variable is  much quicker than creating the thread as on a multicore processor the chance of errors will greatly increase. If we artificially increase the time for the update, we will no longer get the right result. All threads read out the value of sum, wait a while (presumably calculating something) and then update.

#include

#include

#include "pthread.h"

int sum=0;

void adder() {

int sum = 0;

int t = sum; sleep(1); sum = t+1;

return;

}

#define NTHREADS 50

int main() {

int i;

pthread_t threads[NTHREADS];

printf("forking\n");

for (i=0; i

if (pthread_create(threads+i,NULL,&adder,NULL)!=0) return i+1;

printf("joining\n");

for (i=0; i

{

if (pthread_join(threads[i],NULL)!=0) return NTHREADS+i+1;

printf("Sum computed: %d\n",sum);

}

return 0;

}

The use of OpenMP is the parallel loop. Here, all iterations can be executed independently and in any order. The pragma CPP directive then conveys this fact to the compiler. A sequential code can be easily parallelized this way.

#include 
#include 
#include "pthread.h"
int sum=0;
void adder() {
int sum = 0;
int t = sum; sleep(1); sum = t+1;
return;
}
#define NTHREADS 50
int main() {
int i;
pthread_t threads[NTHREADS];
printf("forking\n");
#pragma omp for
for (i=0; i
if (pthread_create(threads+i,NULL,&adder,NULL)!=0) return i+1;
}
printf("joining\n");
for (i=0; i
{
if (pthread_join(threads[i],NULL)!=0) return NTHREADS+i+1;
printf("Sum computed: %d\n",sum);
}
return 0;
}

Related Discussions:- Problem of unbalanced loads

Life of a page, Suppose your process starts up, and allocates some memory w...

Suppose your process starts up, and allocates some memory with malloc(). The allocator will then give part of a memory page to your process. The OS then updates the corresponding p

Explain the communications of request or response interface, Explain the Co...

Explain the Communications of Request or Response Interface The inter-application communication must provide four specific interface to the CSInterface() components. A client m

What are the reasons for process suspension, Q. What are the reasons for pr...

Q. What are the reasons for process suspension? Reasons for process suspension 1.  Swapping 2.  Timing 3.  Interactive user request 4.  Parent process request

Why is rotational latency not considered in disk scheduling, Q. Why is rota...

Q. Why is rotational latency typically not considered in disk scheduling? How would you alter SSTF, SCAN and C-SCAN to comprise latency optimization? Answer: Most disks don't

Binary arithmetic, The principle is that of ordinary addition; however reme...

The principle is that of ordinary addition; however remember the highest number is 1.   Calculate the following:                             11001 +                           11

What kind of protection structure do we have, Q. Consider a calculating en...

Q. Consider a calculating environment where a unique number is associated with each process and each object in the system. Suppose that we permit a process with number n to acce

What are overlays?, What are over lays? If a large process enters which...

What are over lays? If a large process enters which is huge than the available memory we are able to use overlays. In this we can divide process into pieces .which is recognize

What is spooling, What is spooling? Spooling overlaps the I/O of single...

What is spooling? Spooling overlaps the I/O of single job with the computation of other jobs.

Explain multi-user based operating system, Multi-user - A multi-user Opera...

Multi-user - A multi-user Operating System permits for multiple users to use the same computer at the same time and/or different times. Below are some instances of multi-user Op

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd