Amdahl's Law

Source: Internet
Author: User
Amdahl's Law
In computer programming parallel processing programs, a few of the commands that must be executed in sequence are a factor that affects performance. Even new processors cannot improve the running speed. This is the Amdahl rule. Some people are challenging parallel processing at this point. Some people think that parallel processing is good at the big problems that increase the number of processors to improve throughput and performance.

 

    In a fixed-size data to be processed, If You Want To accelerate through parallel processing, the simplest method is to increase the number of computing nodes. However, when you increase the number of nodes, you need to pay attention to it, the number of nodes is not necessarily proportional to the benefit ratio. This is amdal's law. Amdahl's law is mainly used to point out that during the computer architecture design process, the optimization of a certain part has an upper limit for the optimization of the entire structure. It is also explained from another aspect that in the system structure optimization design process, we should select components that have a major impact on the whole for optimization to get better results.

 

S = 1/(a + (1-A)/n)

Amdal worked on parallel processing systems. Amdal provides the following formula for describing the speed-up ratio of Parallel Processing under fixed loads after in-depth research:

S = 1/(a + (1-A)/n)

Where, A represents the proportion of the serial computing part, and N represents the number of parallel processing nodes. In this way, when a = 0, the maximum acceleration ratio S = N; if a = 1, the minimum acceleration ratio. S = 1. When n → ∞, the ultimate acceleration ratio is S → 1/A, which is the upper limit of the acceleration ratio. For example, if serial code accounts for 25% of the Code, the overall performance of parallel processing cannot exceed 4. This formula has been accepted by academia and is called Amdahl law ).

Linux SMP Symmetric Multi-Processing Mechanism

SMP is called Symmetric Multi-processing technology ), the memory subsystem and bus structure are shared among CPUs.It is a widely used parallel technology in terms of Asymmetric Multi-processing technology. In this architecture, a computer no longer consists of a single CPU, and a single copy of the operating system is run by multiple processors at the same time, sharing memory and other resources of one computer. Although multiple CPUs are used at the same time, from the management point of view, they behave like a single machine. The system distributes task queues evenly across multiple CPUs, greatly improving the data processing capability of the entire system. All processors have equal access to memory, I/O, and external interruptions. In a Symmetric Multi-processing system, system resources are shared by all CPUs in the system, and the workload can be evenly distributed to all available processors.

You can use multiple methods to improve the performance of the Linux system. The most popular one is to improve the performance of the processor. An obvious solution is to use a processor with a faster clock frequency, but there is a physical limit for any specific technology, and the clock frequency has such a limit. When that limit is reached, you can use the "more, better" method to apply the multi-processor. Unfortunately, the performance of a multi-processor is not linearly proportional to the total and cost of a single processor.

Amdahl's Law

Gene Amdahl is a computer architect and IBM employee engaged in computer architecture development at IBM, Amdahl Corporation (an enterprise named after him), and some other companies. But the most famous is his law, which is used to predict the greatest expected system improvement after a part of the system is improved. It is mainly used to calculate the maximum theoretical performance improvement after multi-processor (see figure)
1 ).


Figure 1. Amdahl's law for processor parallelization
 

Amdahl rules for a maximum of ten CPUs

Figure 1. Amdahl's rule for up to 10 CPUs

The top line in the figure shows the number of processors. Ideally, when you add another processor to solve the problem, you want to see this performance growth. Unfortunately, not all problems can be parallelized, and there are overhead for managing processors, so the speed improvement is not that great. The bottom (purple line) is an example of 90% processing order problems. In this figure, the best case is the brown line, which shows
10% sequence (So 90% can be parallel) problems. Even in this case, the execution performance of the ten processors is only a little better than that of the five processors.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.