- 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.
- DBA攻堅指南:左手Oracle,右手MySQL
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- 數據庫原理及應用(Access版)第3版
- Visual Basic程序開發(學習筆記)
- 編寫高質量代碼:改善Python程序的91個建議
- Full-Stack Vue.js 2 and Laravel 5
- Java Web程序設計任務教程
- Unreal Engine 4 Shaders and Effects Cookbook
- Oracle從入門到精通(第5版)
- 精通Linux(第2版)
- Python Data Science Cookbook
- Getting Started with Nano Server
- JSP程序設計實例教程(第2版)
- Image Processing with ImageJ
- Xamarin Blueprints