【分布式系统】分布式系统第五课笔记
使用分解模式
任务分解

计算被分解为一组独立的任务,多个线程可以用任意顺序执行这些任务。
问题能很自然地分解为一个独立地任务集合,并能够很容易开始一个基于任务的分解。
灵活性、效率和简单性
关键因素
-
什么是需要计算的任务及如何定义?
-
在任务之间存在哪些依赖性以及如何满足这些依赖性?
-
如何将任务分配到线程?
核心
串行->并行
技巧
计算密集的代码分解(计算量大或耗时多的代码)
问题
-
怎样找出计算密集的代码?
-
怎么样找出可并发执行的串行代码?
数据分解
应用程序需要处理一个大型数据集,并且可以对数据中的每一个单元进行独立计算。
粒度分解
细粒度分解

分解得越细,合并成本越高。
切得过细时,任务切换时间比运算时间多
粗粒度分解


浙公网安备 33010602011771号