设为首页
收藏本站
管理
物业交费
切换到宽版
首页
社区
数商
商圈
商城
优惠券
登录
立即注册
运城社区
»
社区
›
运城发布
›
洞见运城
›
低延迟工业级SSD上的快速图处理
返回列表
发布新帖
低延迟工业级SSD上的快速图处理
197
0
ningxueqin
Lv.5
发表于 2024-2-24 08:53:40
|
查看全部
阅读模式
马上注册,开启数字生活。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
一、背景
图处理在
社交媒体
、导航、推荐等领域应用广泛。很多场合下图数据往往非常大以至于难以在单个机器的内存中存储。分布式图处理选择将图数据存储在分布式集群的内存中;而与分布式图处理不同,外部图处理系统选择在单台机器上利用二级存储来辅助存储图数据,同时也能提供与分布式图处理相近或更优的性能。外部图处理系统根据存储方式可以进一步分为半外部系统和全外部系统。前者将图数据中的顶点数据存储在内存、边数据存储在
工业级SSD
中;后者则将两者都存储在SSD中。本文提出的Blaze就属于半外部系统。
二、问题
尽管现在新兴的快速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更多的空闲。
2. IO倾斜
为了更大的容量和带宽,一些半外部图处理系统会将边数据分布在多块磁盘中。而当IO负载不均的时候显然会造成部分磁盘比其他磁盘完成IO更慢而造成其他磁盘的空闲。
另一个半外部图处理系统Graphene采用了一种2D图分区技术以将边均匀地分配到每个分区,并将这些分区均匀分布到多个磁盘上。尽管其分布均匀,但是Graphene在执行采用了边数据选择性调度的算法的时候仍然受IO倾斜的影响。
下图中的实验证实了上述问题,图中纵轴表示每轮迭代中各个磁盘间更大IO量减去最小IO量。尽管均匀分布的数据集可能有着低于1MB的倾斜,但对于其他幂律分布的图则有着更大可达100MB的倾斜。
3. IO快计算慢
Graphene为每个SSD分配了一个计算核心和一个IO核心,对于慢速SSD而言这样的设计可以更大化IO带宽;然而对于快速SSD而言这样的设计导致计算速度比IO更慢,IO填满缓冲区的速度比计算使用的速度更快,导致缓冲区填满后IO必须等待新的缓冲区。
下图中的实验对比了计算的速度和存储
设备
的读取带宽,可以看出计算的速度比快速SSD要慢得多,证明了上述问题。
三、设计
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整体执行流程
图算法一般按迭代执行,上图提供了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。
数据集如下表所示:
2. 系统对比
本文将Blaze与FlashGraph和Graphene分别作了对比计算了加速比,加速比如下图所示(Graphene没有实现BC算法所以没做对比)。除了sk2005数据集中FlashGraph表现更优以外总体都有一定提升。sk2005数据集上的处理有着更高的局部性,FlashGraph的LRU页面缓存借此减少了存储访问,而Blaze并没有针对页面缓存做专门的优化。
3. IO利用率
IO利用率的评估如下图所示,可以看出Blaze的平均IO带宽基本达到快速SSD的带宽。
4. 可扩展性
实验表明Blaze的性能大致随着核心数的增加而线性增长,除了少部分负载下(如sk2005上的BFS)较快地饱和了IO带宽而不能扩张其性能。
五、总结
本文提出了一个新的半外部图处理系统Blaze。Blaze采用了全新的scatter-gather技术,online binning,解决了现有半外部图处理系统应用快速SSD后不能充分利用其高带宽的问题。
延迟
,
工业
,
快速
,
处理
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
相关帖子
•
SEO优化中网站死链接如何处理
•
M.2 工业级SATA SSD是怎么为计算机加速的?
•
分居三年如何快速办理离婚手续
•
工业铝型材框架材料如何选择?
•
工业铝型材3030特点有哪些?主要作用有哪些?
•
库存去化动力仍显不足 工业硅价格受成本支撑以稳为主
•
泰森冷冻食品如何快速解冻?
•
硅企在成本压力下有所减产 期货网工业硅累库压力有所缓解
•
国内期货宏观情绪支撑 工业硅期价运行平稳
•
工业固态存储主控是什么?它凭什么决定了SSD价格
•
SEO优化需要处理的细节有哪些?
•
国际跨境物流服务公司从中国快递到泰国:快速高效
•
工业固态硬盘可以帮企业解决哪些问题?
•
工业级SATA SSD和机械硬盘相比谁更好?
•
工业级PCLe SSD的工作温度范围是多少?
•
欠信用卡2千还不起如何处理?
•
双抗活性检测ELISA实验不同样本处理过程合集
•
cdmo平台样品处理和移液技术
•
出口保理欠贷款不还的最后怎么处理
•
工业铝型材的特点主要有哪些?
•
工业铝型材框架结构主要有哪几种?
•
数字孪生技术在工业领域有何应用?
•
聚氨酯保温喷涂道常见问题的处理方法
•
光伏板块价格持续走弱 工业硅短期维持低位运行
•
SEO快速排名软件是否可以促进关键词排名?
•
SEO快速排名软件是否可以促进关键词排名?
•
离婚后又申请复婚应如何处理?
•
1-4月份 运城市规上工业高技术制造业平稳增长
•
转发关于实施渐进式延迟法定退休年龄的决定
•
工业的尽头是农业:工业就是农业
返回列表
发布新帖
回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
ningxueqin
Lv.5
五星社员
主题
回帖
0
积分
76305
+ 关注
发消息
关于我们
关于我们
新闻动态
联系我们
服务支持
官方商城
售后服务
投诉/建议联系
18636392123
未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
关注小程序
添加微信客服
Copyright © 2001-2024
运城社区
版权所有
All Rights Reserved.
|
网站地图
晋ICP备16004466号-2
关灯
在本版发帖
扫一扫添加微信客服
QQ客服
返回顶部
快速回复
返回顶部
返回列表