论文部分内容阅读
随着人工智能产业的不断发展,在这样的发展环境中,人工智能所需要训练的文件,如图片,语料,声频等等的存储量越来越大。传统的单机存储已经很难达到产业文件容量的要求。而且随着深度学习等算法的不断发展,算法的准确率不断提升,算法的计算效率也随着各种算法开源项目的发展不断提升,存储对算法效率的提升的影响也愈发明显。在这样的环境下,文件存储就面连着海量数据与高性能的问题。如何高效检索,降低管理存储成本,提高可靠性与高性能是当前面向算法训练的存储系统需要面对的问题。该项目的实现则是为了解决前面提到的问题应运而生的基于ceph分布式存储方案的中间件。目前公司所存储的文件主要在10KB~100KB之间的小文件。在参照公司要求与当前比较先进的开源技术如Redis/Codis、tikv、etcd等构建了中间件SenseAgent。该中间件使用了目前较快的稳定存储介质nvme盘以及内存分别实现了缓存的两种模式,利用ceph实现了文件存储的基础服务。在分布式事务上,采用etcd作为分布式锁的解决方案。利用tikv的开源项目实现了文件的元数据服务。在服务通讯商使用thrift-rpc以及go的gpm协程处理模型为服务端提高了IO处理能力。实验结果显示结合公司现有的算法框架该中间件相比于memcache仍具有较好的性能。本文首先介绍国内外分布式文件存储系统的研究状况,主流分布式存储系统的一些特点,然后描述小文件存储中间件的需求分析以及架构设计,接着对基于ceph架构的小文件存储中间件的设计方案以及逻辑流程做介绍,然后详细介绍中间件的详细设计,包括数据结构设计,类设计,主要功能模块设计等。在此基础上,针对中间件进行了性能测试并与memcache做了简单的对比,并对实践结果进行总结。