Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Present your own fully documented and tested programming example illustrating the prevention of a data race in a parallelised program.
This is an example where total number of prime number between 2 and 10000 is being calculated. The order of memory accesses is prevented from being non-deterministic and from the code data race is avoided by making it parallelized with OpenMP directives. The inconsistency can be seen by running the program consecutively for 3 or more times.
#include
#define MyThreads 4
#define num 10000
int primeNum[num];
int primeF[num];
int is_prime(int v)
{
int i;
int lim = floor(sqrt(v)) + 1;
for (i = 2; i < lim; i++) {
/* no need to check against known composites */
if (!primeF[i])
continue;
if (v % i == 0) {
primeF[v] = 0;
return 0;
}
return (v > 1);
int main(int argn, char **argv)
int total = 0;
printf("Enter a number greater than 2");
scanf("%d", &num)
#ifdef _OPEnumMP
omp_set_dynamic(0);
omp_set_num_threads(MyThreads);
#endif
for (i = 0; i < num; i++) {
primeF[i] = 1;
#pragma omp parallel for
for (i = 2; i < num; i++) {
if ( is_prime(i) ) {
primeNum[total] = i;
total++;
printf("total prime numbers that lie between 2 and %d: %d\n",
num, total);
Central to implementation of a modern memory management system is the page replacement algorithm. Modern virtual memory systems break memory up into pages and map (via a page table
Pure and impure interpreters In a pure interpreter, the source program is maintained in the source form throughout its interpretation. This arrangement acquires substantia
What is the difference between multiprocessing and multitasking? Multi programming means implementing more than one program but here whenever the processor is idle during execu
Partitions and mounting A disk can be sliced into many partitions, or a partition can span multiple disks. Every partition can be either "raw", having no file system, or "cooke
Contiguous allocation The contiguous-allocation method needs each file to occupy a set of contiguous blocks of the disk. Disk addresses explain a linear ordering on the disk. T
Debugging a multi threaded program The following list points out few of the more frequent oversights and errors that can cause bugs in multithreaded programs. 1. Ephemeral
What is meant by context switch? Switching the CPU to another process needs saving the state of the old process and loading the saved state for the latest process. This task is
A set of methods that allow executing a program which is not completely in memory is called A set of methods that allow executing a program which is not completely in memory
basic advantage of using interrupt initiated data transfer over transfer under program control without an interrupt
Explain the Proper Distribution of Functionality and Code It is important to note that the bandwidth of the server operating system and server processor availability is fixed.
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!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd