利用闪存优化在Cosco基础上的Spark Shuffle

本文深入探讨了Databricks工程师吴一对基于Cosco的Spark Shuffle利用Flash闪存进行性能优化的实践。Cosco通过解决Write amplification和small IOs问题提升I/O性能,使用Flash作为缓冲以减少资源消耗,同时介绍了混合内存和闪存的缓存策略,以提高集群的伸缩性和稳定性。未来工作将集中在低延迟查询和性能提升方面。
摘要由CSDN通过智能技术生成

SPARK+AI SUMMIT 2020中文精华版线上峰会将会带领大家一起回顾2020年的SPARK又产生了怎样的最佳实践,技术上取得了哪些突破,以及周边的生态发展。本文中,来自Databricks开源项目组的软件工程师吴一介绍了利用Flash闪存优化在Cosco基础上的Spark Shuffle。原标题:Flash for Spark Shuffle with Cosco

原视频链接:https://developer.aliyun.com/live/43189?spm=a2c6h.12873639.0.0.4eca1a518KlgJ5

活动链接:SPARK中文峰会议题(三)|听听砖厂和领英工程师说的吧

Cosco是Facebook开发的一种服务,主要用于优化Spark Shuffle的性能,下文主要介绍用Flash闪存(以下简称:闪存)进一步优化Cosco。

一、Cosco

Cosco作为一种服务主要优化Spark Shuffle的性能,其优势有:

  • 相较于原生的Spark Shuffle,能够提升大约3倍的I/O性能,能够有效降低磁盘的读写时间;

  • 引入闪存以后Cosco能够以更少的资源支撑更多的场景;

  • 引入闪存之后有更大的可能降低Query的延迟;

  • 利用闪存优化Cosco的过程中用到的技术也可以用于Cosco之外的领域。

(一)Cosco产生背景

在Spark Shuffle中有Map Task和Reduce Task两种Task,每个Map Task都会生成Map Output Files,然后根据Partition进行分组,决定将文件写入本地磁盘还是分布式文件系统中;所有Map Task执行完毕之后,Reduce Task就会去读取Map Output Files中某个分区的数据,将其合并成某个大的Partition,在必要的时候还会进行排序。在上面的过程中,主要会存在两个与I/O性能相关的问题:

(1)Write
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值