文件最后提交记录最后更新时间
4 个月前
4 个月前
4 个月前
30 天前
1 个月前
1 个月前
5 个月前
1 个月前
5 个月前
5 个月前
1 个月前
5 个月前
5 个月前
README

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文件