- Mastering Concurrency in Python
- Quan Nguyen
- 298字
- 2021-06-10 19:23:59
Amdahl's Law's relationship to the law of diminishing returns
Amdahl's Law is often conflated with the law of diminishing returns, which is a rather popular concept in economics. However, the law of diminishing returns is only a special case of applying Amdahl's Law, depending on the order of improvement. If the order of separate tasks in the program is chosen to be improved in an optimal way, a monotonically decreasing improvement in execution time will be observed, demonstrating diminishing returns. An optimal method indicates first applying those improvements that will result in the greatest speedups, and leaving those improvements yielding smaller speedups for later.
Now, if we were to reverse this sequence for choosing resources, in which we improve less optimal components of our program before more optimal components, the speedup achieved through the improvement would increase throughout the process. Furthermore, it is actually more beneficial for us to implement system improvements in this reverse-optimal order in reality, as the more optimal components are usually more complex, and take more time to improve.
Another similarity between Amdahl's Law and the law of diminishing returns concerns the improvement in speedup obtained through adding more processors to a system. Specifically, as a new processor is added to the system to process a fixed-size task, it will offer less usable computation power than the previous processor. As we discussed in the last section, the improvement in this situation strictly decreases as the number of processors increases, and the total throughout approaches the upper boundary of 1/B.
It is important to note that this analysis does not take into account other potential bottlenecks, such as memory bandwidth and I/O bandwidth. In fact, if these resources do not scale with the number of processors, then simply adding processors results in even lower returns.
- ServiceNow Application Development
- 零基礎學Visual C++第3版
- C語言程序設計(第2 版)
- Oracle 12c中文版數據庫管理、應用與開發實踐教程 (清華電腦學堂)
- JSP開發案例教程
- Hands-On Microservices with Kotlin
- iOS開發實戰:從入門到上架App Store(第2版) (移動開發叢書)
- NGINX Cookbook
- Java程序設計案例教程
- Visual Basic程序設計習題與上機實踐
- 零基礎學C語言第2版
- Java EE架構設計與開發實踐
- ANSYS FLUENT 16.0超級學習手冊
- Python人工智能項目實戰
- 秒懂算法:用常識解讀數據結構與算法