分布式技术原理与算法解析
聂鹏程
智载云帆CTO,前华为分布式Lab资深技术专家
立即订阅
5969 人已学习
课程目录
已更新 36 讲 / 共 34 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (3讲)
开篇词 | 四纵四横,带你透彻理解分布式技术
免费
01 | 分布式缘何而起:从单兵,到游击队,到集团军
02 | 分布式系统的指标:啥是分布式的三围
第一站:分布式协调与同步 (6讲)
03 | 分布式互斥:有你没我,有我没你
04 | 分布式选举:国不可一日无君
05 | 分布式共识:存异求同
06 | 分布式事务:All or nothing
07 | 分布式锁:关键重地,非请勿入
08 | 分布式技术是如何引爆人工智能的?
第二站:分布式资源管理与负载调度 (6讲)
09 | 分布式体系结构之集中式结构:一人在上,万人在下
10 | 分布式体系结构之非集中式结构:众生平等
11 | 分布式调度架构之单体调度:物质文明、精神文明一手抓
12 | 分布式调度架构之两层调度:物质文明、精神文明两手抓
13 | 分布式调度架构之共享状态调度:物质文明、精神文明多手协商抓
14 | 答疑篇:分布式事务与分布式锁相关问题
第三站:分布式计算技术 (4讲)
15 | 分布式计算模式之MR:一门同流合污的艺术
16 | 分布式计算模式之Stream:一门背锅的艺术
17 | 分布式计算模式之Actor:一门甩锅的艺术
18 | 分布式计算模式之流水线:你方唱罢我登场
第四站:分布式通信技术 (4讲)
19 | 分布式通信之远程调用:我是你的千里眼
20 | 分布式通信之发布订阅:送货上门
21 | 分布式通信之消息队列:货物自取
22 | 答疑篇:分布式体系架构与分布式计算相关问题
第五站:分布式数据存储 (5讲)
23 | CAP理论:这顶帽子我不想要
24 | 分布式数据存储系统之三要素:顾客、导购与货架
25 | 数据分布方式之哈希与一致性哈希:“掐指一算”与“掐指两算”的事
26 | 分布式数据复制技术:分身有术
27 | 分布式数据之缓存技术:“身手钥钱”随身带
特别放送 (3讲)
特别放送 | 分布式下的一致性杂谈
特别放送 | 徐志强:学习这件事儿,不到长城非好汉
特别放送 | 那些你不能错过的分布式系统论文
第六站:分布式高可靠 (5讲)
28 | 分布式高可靠之负载均衡:不患寡,而患不均
29 | 分布式高可靠之流量控制:大禹治水,在疏不在堵
30 | 分布式高可用之故障隔离:当断不断,反受其乱
31 | 分布式高可用之故障恢复:知错能改,善莫大焉
32 | 答疑篇:如何判断并解决网络分区问题?
分布式技术原理与算法解析
登录|注册

18 | 分布式计算模式之流水线:你方唱罢我登场

聂鹏程 2019-11-01
你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
通过前面几篇文章,我们一起学习了分布式计算模式中的 MapReduce、Stream 和 Actor,它们各显神通解决了很多实际问题。
但是,在现实生活中,经常还会出现这样的情况,前一个任务的结果是另外一个任务的输入。比如工厂生产一瓶饮料,首先需要往瓶子里装上饮料,待饮料装满后,再封口。如果装饮料和封口分别为子任务,那么前一个任务(装饮料)结束后才可以开始第二个任务(封口)。类似这样的作业,就是我们常说的流水线作业。
在分布式领域中解决类似具有依赖关系的流水线作业的计算模式,叫作流水线计算模式。其实,流水线计算模式是我们在第 1 篇文章中提到的数据并行计算的一种形式,就是将一个任务拆分为多个步骤(子任务),然后多个这样的任务通过对步骤(子任务)的重叠执行,以实现数据并行处理的场景。
这种流水线模式在计算机领域中最先用于 CPU 指令设计,后来推广到机器学习领域进行数据处理、模型训练等。在流水线计算模式中,由于前一个子任务执行后,会扔给下一个子任务,由下一个子任务去展现自己的能力,因此可以形象地比喻为“你方唱罢我登场”。
接下来,我们就一起打卡分布式计算模式中的流水线模式吧。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《分布式技术原理与算法解析》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(6)

  • Jackey
    我认为流式计算更关注最后的结果吧,中间结果都不会存储,数据也不能重复使用。流水线模式也会关注中间结果,根据每一步的结果不断优化计算方法,保证它能给出我们想要的数据
    2019-11-01
    6
  • 信xin_n
    流水线模式,是把一个问题分成不同的小段,必须按照严格的顺序处理,核心是错开了时间,提高了时间利用率,但最终结果是相同的东西,比如例子的生产一瓶矿泉水,是单一产品。
    流计算模式,更侧重数据输入方式以及流动方向,处理时是可以多方向流动的,最终可以输出各式各样的结果。当然流式计算实际数据的处理会用到流水线模式,把一个大的处理流程拆分为小的流程,依次放入各个bolt处理。但是这些bolt可以组合,不同的数据类型,走不同的流水线。多产品,多流水线。类似物流分拣过程。
    2019-11-16
    1
  • xingoo
    流水线关注的是通过抽象子任务,子任务串联执行,通常用于自己学习模型训练前的数据预处理,其实内部一般都是批量化操作,数据也可以重复使用;流计算关注的是事件或者消息,通过一系列固定操作得到输出。
    2019-11-01
    1
  • leslie
    流水线计算模式更像是整个流程而是其中的某个环节:就像老师课程所用的例子ETL,数据挖掘必做的事情。流计算只是处理当下的某件事情:一个是整个流程完整的事情,一个只是单一的事件。
          流计算可以是流水线计算模式的一部分工作,反向则不可以。
    2019-11-01
    1
  • Geek_e986e3
    个人感觉。流水线实时性不用和流计算一样实时性这么高。流水线可以跑离线任务。而且感觉二者概念不同。流水线只是一种数据处理概念。实时也可以流水线,离线也可以流水线。而流计算和批处理是一种落地模式。不知道我这么理解对不对
    2019-11-04
  • 花儿少年
    场景不同。
    流计算是近乎实时计算,使用实时数据,关注计算结果,计算步骤有变动之前的数据就不能再重用了。
    流水线计算模式,指的抽象子任务,分解步骤,从而提高并行度,提高执行效率,和原始输入数据没有关系;如果其中某一步计算有误,可以用前一步的结果再次计算;数据可以是静态的,并且可以反复计算。
    最大的不同,个人觉得流计算是指实时计算的场景,流水线模式是分解任务,执行任务的方式?
    2019-11-01
收起评论
6
返回
顶部