| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 30 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 5 个月前 |
UBS-IO
项目介绍
随着互联网大数据应用、云原生业务和AI融合应用的快速发展与落地,数据呈爆发式增长。传统的存算一体架构面临横向扩展困难,同时在云化趋势下数据资源共享度变低,因此存算分离架构成为未来发展趋势。但存算分离架构会导致计算侧的应用跨网络访问存储侧的数据,使得业务IO性能降低,并且大规模的计算节点部署也会导致计算侧的资源利用率降低。
BeiMing UBS-IO基于华为鲲鹏计算平台构建了计算侧高性能分布式读写缓存,再结合开源JuiceFS的广泛应用生态和优秀的北向兼容性,着力解决大数据领域和AI融合领域在存算分离架构下的性能损失问题。
当前大数据领域广泛应用的Spark计算引擎在存算分离架构下存在数据集加载慢的性能瓶颈,AI融合领域的大模型应用在存算分离架构下存在数据集加载慢和Checkpoint写入慢的性能瓶颈。BoostIO通过以下方式突破性能瓶颈:
- UBS-IO基于计算侧的内存介质和高速磁盘构建多级分布式写缓存,结合RDMA高速网络和多副本冗余机制保证数据高可靠,让应用IO集中在计算侧缓存,从而降低数据写时延。
- UBS-IO创新性地采用读写缓存独立架构设计,可以带来缓存资源独立配置、淘汰策略灵活配置、资源使用互不影响等优势。
- UBS-IO采用分布式读缓存叠加数据智能预取和冷热识别,可以保证热、温数据尽可能缓存在计算侧的内存和高速磁盘介质上,冷数据存储在后端大容量存储集群中,其目的是提高缓存命中率,降低应用数据读取时延。
综上所述,UBS-IO可以很好的解决大数据领域和AI融合领域的性能瓶颈问题,提升端到端应用性能表现。
源码编译
$ git clone <repo-url>
$ cd boostio
$ bash build.sh -t release
编译结束后,在dist目录下生成ubs-io软件包 BoostIO_1.0.0_$(uname -s)-$(arch)_${BUILD_TYPE}.tar.gz 如需生成rpm包 执行build目录下,rpm_install.sh脚本
rm -rf ~/rpmbuild
rpmdev-setuptree
tar -cvzf ubs-io.tar.gz ubs-io
cp ubs-io.tar.gz ~/rpmbuild/SOURCES/
# 带cli工具包, 需要开发人员提供cli so进行调试
rpmbuild -ba ubs-io.spec
# 标准发布包, 无测试包
rpmbuild -ba ubs-io.spec --define "with_cli 0"
# debug包
rpmbuild -ba ubs-io.spec --define "build_type debug"
最终在 ~/rpmbuild/RPMS 下生成最终rpm安装包
UT
$ cd test/llt/
$ bash run_dt.sh
执行测试运行脚本后会自动编译和测试用例执行,最后观测测试用例执行结果即可
贡献指南
如果使用过程中有任何问题,或者需要反馈特性需求和bug报告,可以提交issues联系我们。
免责声明
此代码仓参与openeuler软件开源,编码风格遵照原生开源软件,继承原生开源软件安全设计,不破坏原生开源软件设计及编码风格和方式,软件的任何漏洞与安全问题,均由相应的上游社区根据其漏洞和安全响应机制解决。请密切关注上游社区发布的通知和版本更新。鲲鹏计算社区对软件的漏洞及安全问题不承担任何责任。
License
UBS-IO产品的使用许可证,适用于木兰宽松许可证(http://license.coscl.org.cn/MulanPSL2),具体请参见主目录下LICENSE文件 UBS-IO文档doc目录下的文档,适用于Attribution-ShareAlike 4.0 International,具体请参见doc目录下LICENSE文件