【分布式系统】分布式系统第五课笔记

分布式系统第五课

使用分解模式

任务分解

 

 

计算被分解为一组独立的任务,多个线程可以用任意顺序执行这些任务。

问题能很自然地分解为一个独立地任务集合,并能够很容易开始一个基于任务的分解。

灵活性、效率和简单性

关键因素

  • 什么是需要计算的任务及如何定义?

  • 在任务之间存在哪些依赖性以及如何满足这些依赖性?

  • 如何将任务分配到线程?

核心

串行->并行

技巧

计算密集的代码分解(计算量大或耗时多的代码)

问题

  • 怎样找出计算密集的代码?

  • 怎么样找出可并发执行的串行代码?

数据分解

应用程序需要处理一个大型数据集,并且可以对数据中的每一个单元进行独立计算。

粒度分解

细粒度分解

 

 

分解得越细,合并成本越高。

切得过细时,任务切换时间比运算时间多

粗粒度分解

 

 

可能会有任务先完成,而需要等待其他任务完成导致cpu利用率降低

posted @ 2021-05-31 19:39  雾里尘埃  阅读(69)  评论(0)    收藏  举报