0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低延迟SSD上的快速图处理

SSDFans 来源:SSDFans 2023-10-12 09:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、背景

图处理在社交媒体、导航、推荐等领域应用广泛。很多场合下图数据往往非常大以至于难以在单个机器的内存中存储。分布式图处理选择将图数据存储在分布式集群的内存中;而与分布式图处理不同,外部图处理系统选择在单台机器上利用二级存储来辅助存储图数据,同时也能提供与分布式图处理相近或更优的性能。外部图处理系统根据存储方式可以进一步分为半外部系统和全外部系统。前者将图数据中的顶点数据存储在内存、边数据存储在SSD中;后者则将两者都存储在SSD中。本文提出的Blaze就属于半外部系统。

二、问题

8587359e-688f-11ee-939d-92fbcf53809c.png

尽管现在新兴的快速NVMe SSD提供了比过去的SSD更高的带宽,但是现有的半外部图处理系统不能充分利用这些快速SSD带来的性能提升。本文通过实验(上图)发现主要问题为IO利用率低下,可以看出在两个代表性的半外部处理系统中除了BFS算法以外其他例程的执行中IO带宽(柱)都远未达到快速SSD的最大带宽(红线)。

本文作者认为IO利用率低下的原因主要包含3个方面:计算倾斜、IO倾斜、IO快计算慢。

1. 计算倾斜

并行图处理系统需要同步机制来避免并发更新算法相关的顶点数据时出现竞争。现有的半外部图处理系统FlashGraph采用消息机制来解决同步问题,它为每个顶点分配了一个消息队列,并按照顶点ID将每个顶点分派给一个计算线程。图算法迭代性地执行,在执行的每一个迭代中顶点间通过消息通信;在迭代结束的时候系统处理这些消息,并根据处理的结果更新顶点数据。

对于FlashGraph而言,由于图结构服从照幂律分布,一些线程需要比其他的处理更多消息,即计算倾斜。而(下一迭代的)IO必须得等待这种落伍线程完成处理才能开始。快速SSD在本轮迭代中的IO操作很可能比这个落伍线程完成的早,导致其空闲。

下图的实验证明快速SSD(Optane SSD)相较于低速SSD(图中NAND SSD)带来的带宽提升(红线为磁盘最大读取带宽)确实造成了上述问题,造成了IO更多的空闲。

85a2838a-688f-11ee-939d-92fbcf53809c.png

2. IO倾斜

为了更大的容量和带宽,一些半外部图处理系统会将边数据分布在多块磁盘中。而当IO负载不均的时候显然会造成部分磁盘比其他磁盘完成IO更慢而造成其他磁盘的空闲。

另一个半外部图处理系统Graphene采用了一种2D图分区技术以将边均匀地分配到每个分区,并将这些分区均匀分布到多个磁盘上。尽管其分布均匀,但是Graphene在执行采用了边数据选择性调度的算法的时候仍然受IO倾斜的影响。

下图中的实验证实了上述问题,图中纵轴表示每轮迭代中各个磁盘间最大IO量减去最小IO量。尽管均匀分布的数据集可能有着低于1MB的倾斜,但对于其他幂律分布的图则有着最大可达100MB的倾斜。

85b2ddc0-688f-11ee-939d-92fbcf53809c.png

3. IO快计算慢

Graphene为每个SSD分配了一个计算核心和一个IO核心,对于慢速SSD而言这样的设计可以最大化IO带宽;然而对于快速SSD而言这样的设计导致计算速度比IO更慢,IO填满缓冲区的速度比计算使用的速度更快,导致缓冲区填满后IO必须等待新的缓冲区。

下图中的实验对比了计算的速度和存储设备的读取带宽,可以看出计算的速度比快速SSD要慢得多,证明了上述问题。

85ce369c-688f-11ee-939d-92fbcf53809c.png

三、设计

1. Online binning

Blaze采用名为Online binning的机制应对计算倾斜的问题。Bin是存储在内存中的数据结构,存储了多条bin record,而bin record则是包含顶点ID和一个数值。Blaze在算法执行时根据目标顶点ID和用户定义的scatter函数的返回值创建bin record,然后对顶点ID取模计算出需要进入的bin ID。填满的bin被推入名为full_bins的并发队列,由gather线程取出处理。每个gather线程独自处理一个填满的bin,以避免同步开销。

2. 页面交织

为了应对IO倾斜的问题,Blaze采用了页面交织的存储方式来存储边数据。页面交织基本类似RAID 0的方式。Blaze将CSR格式存储的边数据以4KB粒度交织分布到多个SSD上。

3. Blaze整体执行流程

85dbaf7a-688f-11ee-939d-92fbcf53809c.png

图算法一般按迭代执行,上图提供了Blaze中每轮迭代中的处理流程。

作为输入之一,算法程序会提供需要处理的顶点ID。为了接下来访问各个顶点的边列表,Blaze在第1步发动所有可用的线程将顶点ID集合转换成其边列表所在的磁盘页面ID集合(即page frontier内容)。转换完成后根据其磁盘页面ID从SSD中访问数据,写入到空的IO buffer中,生成满的IO buffer。Scatter线程取出填满的IO buffer,计算并生成bin record装入对应的bin,并将用完的IO buffer还给空IO buffer池。Gather线程取出填满的bin并处理,根据处理结果修改算法相关的顶点数据。最后返回下一个迭代所需要处理的顶点集合。

四、实验评估

1. 实验设置

实验测试平台是一台单处理器Intel Xeon Gold 6230,20核心,禁用超线程),96GB内存的机器,存储配置了一块960GB的快速SSD(Intel DC P4800X)。

对比的算法包含:BFS、PageRank、WCC、稀疏矩阵乘(SpMV)、BC。

数据集如下表所示:

85f980a4-688f-11ee-939d-92fbcf53809c.png

2. 系统对比

本文将Blaze与FlashGraph和Graphene分别作了对比计算了加速比,加速比如下图所示(Graphene没有实现BC算法所以没做对比)。除了sk2005数据集中FlashGraph表现更优以外总体都有一定提升。sk2005数据集上的处理有着更高的局部性,FlashGraph的LRU页面缓存借此减少了存储访问,而Blaze并没有针对页面缓存做专门的优化。

860d4210-688f-11ee-939d-92fbcf53809c.png

3. IO利用率

IO利用率的评估如下图所示,可以看出Blaze的平均IO带宽基本达到快速SSD的带宽。

8618ede0-688f-11ee-939d-92fbcf53809c.png

4. 可扩展性

实验表明Blaze的性能大致随着核心数的增加而线性增长,除了少部分负载下(如sk2005上的BFS)较快地饱和了IO带宽而不能扩张其性能。

862b70d2-688f-11ee-939d-92fbcf53809c.png

五、总结

本文提出了一个新的半外部图处理系统Blaze。Blaze采用了全新的scatter-gather技术,online binning,解决了现有半外部图处理系统应用快速SSD后不能充分利用其高带宽的问题。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20148

    浏览量

    246954
  • CSR
    CSR
    +关注

    关注

    3

    文章

    120

    浏览量

    70649
  • SSD
    SSD
    +关注

    关注

    21

    文章

    3061

    浏览量

    121751
  • BFS
    BFS
    +关注

    关注

    0

    文章

    9

    浏览量

    2290

原文标题:Blaze:低延迟SSD上的快速图处理

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    兼容性高,延迟,慧视定制CVBS接口AI图像处理

    模拟信号CVBS因其兼容性高、延迟的特点,在许多行业中应用广泛。特别是在一些无人设备的控制领域,模拟信号传输有着很大的优势。为了应对这些行业的需求,成都慧视利用RV1126、RK3588s等芯片
    的头像 发表于 11-10 17:58 1012次阅读
    兼容性高,<b class='flag-5'>延迟</b><b class='flag-5'>低</b>,慧视定制CVBS接口AI图像<b class='flag-5'>处理</b>板

    巡检机器人落地攻略:RK3576驱动12路延迟视觉

    ,边走边看、实时回传、异常即告警。周三,机器人电跑通:前后左右与顶部共 10~12路1080P 摄像头接入,基于米尔 RK3576开发板 完成 硬件编解码 + RTSP/SRT 延迟推流;端到端
    发表于 10-24 16:53

    车载360环视平台:米尔RK3576开发板支持12路延迟推流

    ,传统硬件平台往往在摄像头数量、编解码效率和推流延迟存在瓶颈,难以满足行业对 高并发 + 延迟 的要求。作为嵌入式领域的先行者,米尔电子基于瑞芯微 RK3576开发板,推出了针对车
    发表于 10-11 17:55

    新唐科技推出延迟音频编解码器NAU88L21C

    非常关键且重要的环节,同时还需保证采集信号与处理的高效率,才能更好的避免因延迟而产生的听感不佳以及非同步问题。
    的头像 发表于 09-30 09:25 5403次阅读
    新唐科技推出<b class='flag-5'>低</b><b class='flag-5'>延迟</b>音频编解码器NAU88L21C

    12 路延迟推流!米尔 RK3576 赋能智能安防 360° 环视

    + 延迟传输” 为核心优势,成功实现 12 路 1080P@30fps 高清视频的稳定处理,端到端推流延迟控制在 120~150ms,为各类大场景智能安防 360° 环视需求提供高
    发表于 09-18 17:51

    silex希来科在延迟无线上的解决方案

    silex希来科在延迟无线上的解决方案
    的头像 发表于 08-27 15:15 364次阅读
    silex希来科在<b class='flag-5'>低</b><b class='flag-5'>延迟</b>无线上的解决方案

    延迟至30ms+ LLSM流媒体传输模块延迟方案推荐

    LLSM流媒体传输模块,凭借带宽、延迟的传输特点,一经推出就受到了广泛关注。由于延迟传输跟相机性能以及屏幕刷新率等参数有着密切关系,可
    的头像 发表于 06-04 17:57 1147次阅读
    <b class='flag-5'>延迟</b><b class='flag-5'>低</b>至30ms+  LLSM流媒体传输模块<b class='flag-5'>低</b><b class='flag-5'>延迟</b>方案推荐

    LLSM——基于RK3588的延迟带宽流媒体传输模块

    随着物联网和人工智能的快速发展,实时视频传输在嵌入式系统中变得越来越重要。无论是智能摄像头、无人机还是工业监控设备,都需要高效、延迟的流媒体传输解决方案。慧视推出的LLSM
    的头像 发表于 04-30 18:36 1439次阅读
    LLSM——基于RK3588的<b class='flag-5'>低</b><b class='flag-5'>延迟</b><b class='flag-5'>低</b>带宽流媒体传输模块

    XMOS直播声卡——可支持实时音频DSP处理延迟音频方案

    XMOS所提供的具有DSP处理功能的直播声卡解决方案凭借卓越的音质和超低延迟,非常适合用于诸如直播、播客广播、唱播(K歌)和游戏等实时应用。
    的头像 发表于 04-21 15:47 841次阅读
    XMOS直播声卡——可支持实时音频DSP<b class='flag-5'>处理</b>的<b class='flag-5'>低</b><b class='flag-5'>延迟</b>音频方案

    明远智睿SSD2351核心板在语音对讲与HMI领域的创新应用

    将语音数据快速、稳定地传输至接收端。SSD2351核心板通过以太网接口,能够将编码后的语音数据以高速率传输,延迟控制在极低水平。在小区楼宇对讲系统中,居民按下呼叫按钮后,语音信号经核心板处理
    发表于 04-16 10:46

    可支持实时音频DSP处理延迟直播声卡方案

    本篇介绍直播声卡——具有实时音频DSP处理延迟音频设备。对于游戏玩家和短视频直播工作者来说,声卡不可或缺。它除了能将计算设备的数字信号转换为声音信号,还能够提供各种逼真的或者定制的3D音效,提升
    的头像 发表于 03-29 15:19 892次阅读
    可支持实时音频DSP<b class='flag-5'>处理</b>的<b class='flag-5'>低</b><b class='flag-5'>延迟</b>直播声卡方案

    深度解析SSD2351核心板:硬核视频处理+工业级可靠性设计

    明远智睿SSD2351核心板基于SigmaStar SSD2351芯片打造,专为高可靠性工业场景设计,其硬件配置与接口能力充分满足复杂环境下的多模态数据处理需求。 芯片技术细节 : 视频处理
    发表于 02-21 17:19

    英伟达带来Reflex 2延迟技术

    在 2025 年国际消费电子展(CES 2025),英伟达不仅推出了备受瞩目的 RTX 50 系列显卡,还带来了一项名为 Reflex 2 的延迟技术,引发行业广泛关注。 Reflex 2 技术
    的头像 发表于 02-05 15:15 2092次阅读

    QLC SSD与TLC SSD哪个更强

    ZB。不仅数据量快速增长,大模型、HPC等应用对性能要求也很高,传统大容量HDD无法满足。在此背景下,2024年大容量QLC SSD的市场份额得到了快速增长。
    的头像 发表于 01-16 09:32 3353次阅读
    QLC <b class='flag-5'>SSD</b>与TLC <b class='flag-5'>SSD</b>哪个更强

    EE-295:在SHARC处理实现延迟

    电子发烧友网站提供《EE-295:在SHARC处理实现延迟块.pdf》资料免费下载
    发表于 01-06 14:34 0次下载
    EE-295:在SHARC<b class='flag-5'>处理</b>器<b class='flag-5'>上</b>实现<b class='flag-5'>延迟</b>块