compressing encrypted rules - nanjing university › yafeng › distrubutedsystem › report... ·...

55
大数据处理系统简介 金熠波 2019515逸夫楼C-115, 18:30 2019/5/29 1 非全研究生分布式系统专题报告

Upload: others

Post on 27-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统简介

金熠波

2019年5月15日

逸夫楼C-115, 18:30

2019/5/29 1

非全研究生分布式系统专题报告

Page 2: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

提纲

• 大数据处理系统发展– 集群化处理→ 基于内存的数据处理

• 大数据处理系统应用– MapReduce型范式→ DAG型范式

• 大数据处理系统剖析– Hadoop → Spark

• 异构硬件加速大数据系统

2019/5/29 2

Page 3: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统发展

2019/5/29 3

Page 4: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理需求兴起

• Google:大规模网页数据

–需求目标:存储和索引 (Page Rank)

2019/5/29 4

Page 5: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理需求兴起

• Google:大规模网页数据

–需求目标:存储和索引 (Page Rank)

2019/5/29 5

Page 6: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

集群化数据处理

• Google:大规模网页数据

–需求目标:存储和索引

–解决方案:利用集群并行化处理数据 OSDI’ 04

• Apache Hadoop ’08:MapReduce

2019/5/29 6D Jeffrey et. al. MapReduce: Simplified Data Processing on Large Clusters. OSDI’04

整合集群资源

任务并发执行

Page 7: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

传统集群内大数据处理

• 核心思想:利用数据本地性进行处理

–避免进行大规模数据移动Eurosys’ 10

2019/5/29 7M Zaharia et. al. Delay Scheduling: A Simple Technique for AchievingLocality and Fairness in Cluster Scheduling. EuroSys’ 10.

待处理数据:任务任务调度

Hadoop

Page 8: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

集群大数据处理发展

• Spark:避免频繁的磁盘操作

–基于内存的分布式弹性数据集RDD, NSDI’ 12

2019/5/29 8

原始数据处理

中间结果作为输入

内存计算

中间结果作为输入

内存

迭代式多阶段

M Zaharia et. al. Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing. NSDI’ 12.

Page 9: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域大数据处理需求

• 全球化业务的发展促进跨域数据处理需求

–基于区域的广告词竞价:Google Adwords

–跨域视频流处理:阿里云、优酷视频点播

2019/5/29 9

Page 10: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域集群现状

• 数据中心向边缘集群的演变

2019/5/29 10https://www.google.com/about/datacenters/inside/locations/

Page 11: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域集群现状

• 数据中心向边缘集群的演变

–跨域响应时间长

2019/5/29 11

https://www.netmanias.com/en/post/blog/5921/cdn-google-iptv-netflix-

ott-video-streaming-youtube/who-wins-ott-cache-vs-operator-cache

Page 12: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域集群现状

• 数据中心向边缘集群的演变

–互联网服务提供商部署边缘处理节点

2019/5/29 12

https://www.netmanias.com/en/post/blog/5921/cdn-google-iptv-netflix-

ott-video-streaming-youtube/who-wins-ott-cache-vs-operator-cache

Page 13: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域集群现状

• 数据中心向边缘集群的演变

–数以千计的边缘集群协同数据中心提供服务

2019/5/29 13Calder et. al. Mapping the Expansion of Google’s Serving Infrastructure. IMC’ 13

Page 14: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

基于边缘集群的处理框架

• Akamai:边缘集群间的数据收集和分析

2019/5/29 14

Page 15: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

边缘集群产生大量数据

• 例如:用于商业广告竞价的点击数据

– Adwords:利用该数据进行广告竞价和收费

2019/5/29 15

Page 16: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域大数据处理框架

• 跨域数据处理架构

2019/5/29 16

数据分析作业

数据分析查询

Frameworks:Spark/Hadoop

批次数据分析任务…

跨域数据集

Page 17: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域大数据处理框架

• 跨域数据处理架构

2019/5/29 17

数据分析作业

数据分析查询

Frameworks:Spark/Hadoop

减少批次任务完成时间…

跨域数据集

Page 18: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

跨域边缘集群的异构性

• 资源异构性

–带宽资源

–计算资源

2019/5/29 18

Performance Worst Best

Server

Memory GB TB, DDR

CPU (Cores) Few Hundreds

Disk GB TB, SSD

Calder et. al. Mapping the Expansion of Google’s Serving Infrastructure. IMC’ 13

Alibaba Cloud Computing, and Chinaz for measurement.

Page 19: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

集群间数据处理

• 跨域资源异构性大

–需要综合计算力 & 带宽进行资源部署

2019/5/29 19

内存计算

V Raajay et. al. Clarinet: WAN-Aware Optimization for Analytics Queries. OSDI’ 16.

Page 20: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理生态

2019/5/29 20

Page 21: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统应用

2019/5/29 21

Page 22: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

• MapReduce范式

2019/5/29 22

Page 23: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

• MapReduce范式

2019/5/29 23

Page 24: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 24

Page 25: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 25

Page 26: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 26

Page 27: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 27

Page 28: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 28

has + the 共有几个?

Page 29: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 29

• 自定义Reducer划分

Page 30: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 30

• 自定义键值对:key-value

Page 31: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 31

• 自定义键值对:key-value

Page 32: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 32

• DAG型计算范式:MapReduce的拓展

Page 33: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 33

• DAG型计算范式:MapReduce的拓展

Page 34: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 34

• DAG型计算范式:MapReduce的拓展

Page 35: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 35

• DAG型计算范式:MapReduce的拓展

Page 36: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理应用

2019/5/29 36

• DAG型计算范式:MapReduce的拓展

Page 37: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统剖析

2019/5/29 37

Page 38: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统剖析

• 集群化资源管理Hadoop-Yarn

2019/5/29 38

Page 39: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统剖析

• Hadoop事件处理模块

2019/5/29 39

Page 40: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统剖析

• Hadoop资源分配流程

2019/5/29 40

Page 41: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

大数据处理系统剖析

• 集群化资源管理Spark

2019/5/29 41

Page 42: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

异构硬件加速大数据系统

2019/5/29 42

Page 43: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

异构硬件数据处理背景

• 异构硬件突飞猛进

2019/5/29 43

异构硬件

https://blog.westerndigital.com/cpu-bandwidth-the-worrisome-2020-trend/

Page 44: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

异构硬件数据处理背景

• 传统:中断式数据处理模式

–数据会经过多次拷贝

2019/5/29 44

异构硬件

Page 45: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

异构硬件数据处理背景

• 传统:中断式数据处理模式

–目标:数据零拷贝

2019/5/29 45

异构硬件

A Klimovic et. al. ReFlex: Remote Flash == Local Flash. SIGOPS’ 17

Page 46: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 46

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

Linux Kernel(LK)

内存计算

异构硬件支持

Spark

Page 47: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 47

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK Linux Kernel(LK)DPDK

Intel, DPDK 2010. https://www.dpdk.org

Spark

绕过内核,以用户态进行操作

Page 48: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 48

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK DPDK

Intel, SPDK 2015. https://github.com/spdk/spdk

Spark

Linux Kernel(LK)SPDK

绕过内核,以用户态进行操作

Page 49: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 49

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK DPDK

UC Berkeley, DPDK-ans 2016. https://github.com/ansyun/dpdk-ans

Spark

Linux Kernel(LK)SPDK

DPDKans 基于DPDK实现虚拟网卡(TCP协议栈)

Page 50: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 50

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK DPDK

IBM, jNVMf 2018. https://github.com/zrlio/jnvmf

Spark

Linux Kernel(LK)SPDK

DPDKans

JVMjNVMf

基于SPDK实现java对NVM的调用

Page 51: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 51

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK DPDK

IBM, DiSNI 2018. https://github.com/zrlio/disni

Spark

Linux Kernel(LK)SPDK

DPDKans

JVMjNVMf

DiSNIRDMA

基于RDMA和NVM的java库支持

Page 52: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 52

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK DPDK

IBM & Stanford, Pocket-Core 2018. https://github.com/stanford-mast/pocket-core

Spark

Linux Kernel(LK)SPDK

DPDKans

JVMjNVMf

DiSNIRDMA

CrailPocket-Core Reflex

内存文件存储支持异构硬件

Page 53: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

目标:零拷贝数据处理

2019/5/29 53

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

内存

内存计算

异构硬件支持

LK DPDK Linux Kernel(LK)SPDK

DPDKans

JVMjNVMf

DiSNIRDMA

CrailPocket-Core Reflex Hadoop HDFS

Hadoop Yarn

Spark

Page 54: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

零拷贝数据处理架构

2019/5/29 54

异构硬件

• 基于异构硬件的数据处理

网卡 NVMe SSD SAS磁盘

LK

内存

Linux Kernel(LK)

Hadoop HDFS

DPDK

DPDKans

SPDK

Crail

JVMjNVMf

DiSNIRDMA

Hadoop Yarn

Spark

Spark-IO

Pocket-Core Reflex

内存计算

异构硬件支持

Stanford, Spark-IO 2018. https://github.com/zrlio/crail-spark-io

Page 55: Compressing Encrypted Rules - Nanjing University › yafeng › DistrubutedSystem › Report... · 2020-06-08 · 集群大数据处理发展 •Spark:避免频繁的磁盘操作

谢谢大家!

金熠波

2019年5月15日

逸夫楼C-115

2019/5/29 55