Questions tagged [parallelism-amdahl]

Amdahl's law, also known as Amdahl's argument, is used to find the maximum expected improvement to an overall system when only part of the system is improved. It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors. The law is named after computer architect Gene Amdahl, and was presented at the AFIPS Spring Joint Computer Conference in 1967.

Amdahl's law, also known as Amdahl's argument, is used to find the maximum expected improvement to an overall system when only part of the system is improved. It is often used in to predict the theoretical maximum speedup using multiple processors. The law is named after computer architect Gene Amdahl, and was presented at the AFIPS Spring Joint Computer Conference in 1967.

The speedup of a program using multiple processors in parallel computing is limited by the time needed for the sequential fraction of the program. For example, if a program needs 20 hours using a single processor core, and a particular portion of the program which takes one hour to execute cannot be parallelized, while the remaining 19 hours (95%) of execution time can be parallelized, then regardless of how many processors are devoted to a parallelized execution of this program, the minimum execution time cannot be less than that critical one hour. Hence the speedup is limited up to 20x.

106 questions
0
votes
1 answer

Non-trivial recoding: How to speed up my program? Cython, numba, multiprocessing and numpy?

I have (or actually working on) a program (some pairs trading strategy) which does the following: Retrieve a subset of a larger data (financial data: datetime index and stock prices for ~100 stocks) set sitting in a postgres database. Clean the…
0
votes
1 answer

Tensorflow: Multi-GPU training cannot make all GPU running at the same time

I have a machine that has 3x 1080 GPU. Below are the code of the training: dynamic_learning_rate = tf.placeholder(tf.float32, shape=[]) model_version = tf.constant(1, tf.int32) with tf.device('/cpu:0'): with…
0
votes
0 answers

What speed-up do you get with 10 versus 40 processors?

Suppose you want to perform two sums: one is a sum of 10 scalar variables, and one is a matrix sum of a pair of two-dimensional arrays, with dimensions 10 by 10. For now let’s assume only the matrix sum is parallelizable; What speed-up do you get…
0
votes
4 answers

Not expected result with multithread programming

I'm in troubles with a multithreading java program. The program consists of a splitted sum of an array of integers with multithreads and than the total sum of the slices. The problem is that computing time does not decrements by incrementing number…
0
votes
1 answer

Performance measuring of parallel programing in multicore processors

Hi I am working on computer architecture and I try to understand Amdahl's law for speed-up measuring. Assume we have dual-core processor and execute the program X. We want to increase 3 times speed of program and we buy 8 core processor. In this…
Emin Çiftçi
  • 139
  • 2
  • 16
0
votes
0 answers

Using Amdahl's law and time to calculate amount of processors?

Let's say I have a program T that has a serial portion that consumes 355 s, and a parallel portion that uses 645 s. How can I find out how many processors I need so that the program T's parallel run time is less than or equal to 51% of its serial…
X1XX
  • 141
  • 2
  • 13
0
votes
2 answers

Number of processors needed to achieve a certain speedup?

In simple terms, a program has 15% running on a sequential portion and 85% is its parallel portion. How could I figure out the maximum speedup with an infinite amount of processors? And also, how could I figure out, let's say, how many processors…
X1XX
  • 141
  • 2
  • 13
0
votes
1 answer

plot speed up curve vs number of OpenMP threads - scalability?

I am working on a C++ code which uses OpenMP threads. I have plotted the speedup curve versus the number of OpenMP threads and the theorical curve (if the code was able to be fully parallelized). here is this plot : From this picture, can we say…
user1773603
0
votes
1 answer

Computer Architecture: Speedup

This is homework. The problem: A program has 20% memory accesses, 50% multiplications, and the rest for other functions not related to either. If an overall speedup of 1.2 is desired, how much speedup would be required for both memory accesses and…
Victor Brunell
  • 5,668
  • 10
  • 30
  • 46
0
votes
0 answers

how to find speedup in parallel algorithm vs serial through amdahl's law?

serial pseudocode: npoints = 10000 circle_count = 0 do j = 1,npoints generate 2 random numbers between 0 and 1 xcoordinate = random1 ycoordinate = random2 if (xcoordinate, ycoordinate) inside circle then circle_count = circle_count +…
0
votes
1 answer

Does -XX: parallelGCThreads = 8 relates to the number of Cores in relation to Amdahl's law?

Intro: I am currently working on a piece of software where I benchmark a sequential program with a multithreaded one. My hardware has 24 cores available and 16GB of RAM. My program is written in Java but executed from MATLAB due to the need for…
SteewDK
  • 363
  • 1
  • 4
  • 14
0
votes
1 answer

understanding communication delays in parallism

I am reading through "Computer Architecture: A Quantative Approach, 5th ed" and am looking at an example from Chapter 5 on page 350. Attached is a scan of the example in question. I do not quite follow the logic of how they do things in this…
0
votes
1 answer

Working through an example of Amdahl's Law with respect to percentage speedup

I am reading through "Computer Architechture: A Quantitative Approach 5th ed" and am trying to grasp Amdahl's law, when it comes to speeding up portions of the system i.e. speed up a certain percentage of the system by a certain percentage . It is…
0
votes
2 answers

Amdahl's Law: matrix multiplication

I'm trying to calculate the fraction P of my code which can be parallelized, to apply Amdahl's Law and observe the theoretical maximum speedup. My code spends most of its time on multiplying matrices (using the library Eigen). Should I consider this…
0
votes
2 answers

Finding the maximum speed up of an application when using some number of cpus in parallel

Suppose that we have the following code: int i,j; for(i=0; i<20; i++) A[i] = A[i] + B[i]; for(j=0; j<8; j++){ C[j] = C[j] + D[j]; E[j] = E[j] + C[j]; } Now let's assume that we have 14 identical CPUS that can be used to help us compute…
ksm001
  • 3,772
  • 10
  • 36
  • 57