Final answer:
Using Amdahl's Law and given execution times for 2 and 7 processors, we can establish equations to solve for the portion that can be parallelized and then calculate the execution time on one processor.
Step-by-step explanation:
To find the execution time on one processor using Amdahl's Law, we first need to understand the concept of the law. Amdahl's Law defines the speedup in latency of the execution of a task executed on multiple processors in parallel, and it identifies the relation between the parallelizable and non-parallelizable portions of a task.
Given the execution times on different numbers of processors, we can set up the formula for Amdahl's Law as follows:
Speedup(S) = 1 / ((1 - P) + P / N)
where:
- P is the portion of the program that can be parallelized
- N is the number of processors
- S is the speedup
Let's denote the execution time on one processor as T1, on 2 processors as T2 = 90 milliseconds, and on 7 processors as T7 = 40 milliseconds.
From Amdahl's Law, we have:
S2 = T1 / T2 and S7 = T1 / T7
By substituting T2 and T7 we can solve for P and subsequently for T1.
Step 1: Calculate the speedup for 2 and 7 processors:
S2 = T1 / 90
S7 = T1 / 40
Step 2: Apply the speedup formula for 2 and 7 processors:
90 / T1 = 1 / ((1 - P) + P / 2)
40 / T1 = 1 / ((1 - P) + P / 7)
After solving the two equations simultaneously, we can find P and then calculate the execution time on one processor (T1).