
Now, this might not be the perfect representation of how a restaurant process chain works, but you get the point. If it increases the number of chefs on its payroll, they will simply prepare all the raw ingredients and then wait to get access to a stove. In fact, if it tries to improve everything else in the process chain, it will only lead to more traffic at the bottleneck. The Theory of Constraints states that no matter what the cafe does, unless it increases its number of gas stoves, it won't be able to serve more customers per hour. Let's say the biggest constraint for Rameshwaram Cafe is the number of gas stoves they have. But there is a constraint, otherwise there would never be a queue of people waiting outside the cafe on a Sunday morning. It could be the amount of payments they can accept per hour. It could be the number of chefs working at any given point of time. It could be the number of gas stoves they have. It could be the time it takes for the batter to ferment. The performance of the system as a whole is limited by the output of the tightest bottleneck or most limiting constraint. What is the constraint preventing Rameshwaram Cafe in Bengaluru from serving more customers? Every system has one bottleneck tighter than all the others, in the same way a chain has only one weakest link. This is closely related to the Theory of Constraints, which hinges on two fundamental assertions or statements: Hence, the theoretical speedup is limited to at most 20 times the performance of a single processor - from 20 hours to approaching an hour. And regardless of how many processors you devote to a parallelized execution of this program, the minimum execution time cannot be less than one hour. Therefore, you can only parallelize the remaining 19 hours of execution time.


To speed up the process, you decide to add multiple processors to parallelize the work and run the program in less time.īut you realize that a one-hour portion of the program cannot be parallelized.


For example, let's say you have a computer program that needs 20 hours to complete on a single processor. Originally borrowed from the domain of parallel computing, Amdahl's law states that "the overall performance improvement gained by optimizing a single part of a system is limited by the fraction of time that the improved part is actually used."
