DAOS

来自站长百科
跳转至: 导航、​ 搜索

DAOS(分布式异步对象存储)是Intel为适应未来的Exascale计算和大数据高性能计算(HPC)趋势而提出的新型存储架构。作为一个开源的存储堆栈,DAOS旨在利用NVRAM和NVMe存储技术,通过持久内存存储模型和操作系统旁路技术,降低字节粒度数据和元数据访问的延迟。其目标是将数据速度提升数个数量级,同时提供强大的可伸缩性和弹性。

概述[ ]

DAOS存储模型的本质是一个键值存储接口,可以实现特定的数据模型。DAOS对象实际上是通过一个灵活的多级键来处理的记录表,允许对相关数据的定位进行细粒度控制。对象被收集到被称为容器的可管理的单元中。DAOS在容器的所有对象上提供可伸缩的分布式事务,保证数据一致性,并自动回滚到I/O中间件库和应用程序。DAOS事务机制支持具有本地生产者/消费者管道的复杂工作流,在此过程中,并发消费者不会阻止生产者和消费者收到完整的原子更新通知,并看到数据的一致快照。

数据接口[ ]

  • Native key-value:一种是比较熟悉的Key/Value模型,提供kv存储接口。例如put,get,remove,list操作。
  • Native Array:一种提供Array Object,也就是一般理解的对象存储。比如Ceph中RADOS的对象存储一个对象默认4M,就可以把这个4M的对象看成是一个Array Object:可以修改对象的任意字节,也就是支持随机读写,punch,删除操作。

架构[ ]

  • DAOS 是一种横向扩展的对象存储,可以为高性能计算应用提供高带宽、低延迟和高 IOPS 的存储容器,并支持结合仿真、数据分析和机器学习的下一代以数据为中心的工作流程。
  • 与主要针对旋转介质设计的传统存储堆栈不同,DAOS 针对全新 NVM 技术进行了重新构建,可在用户空间中端对端地运行,并能完全绕开操作系统,是一套轻量级的系统。
  • DAOS 提供了一种为访问高细粒度数据提供原生支持的 I/O 模型,而不是传统的基于高延迟和块存储设计的 I/O 模型,从而释放下一代存储技术的性能。
  • 与传统的缓冲区不同,DAOS 是一个独立的高性能容错存储层,它不依赖其它层来管理元数据并提供数据恢复能力。DAOS 服务器将其元数据保存在持久内存中,而将批量数据直接保存在 NVMe 固态盘中。

特性[ ]

DAOS 依靠 OFI 进行低延迟通信,并将数据存储在存储级内存 (SCM) 和 NVMe 存储上。 DAOS 提供了一个原生的键-数组-值存储接口,它提供了一个统一的存储模型,通过该模型可以移植特定领域的数据模型,例如 HDF5、MPI-IO 和 Apache Arrow。 还可以使用 POSIX I/O 仿真层,通过本机 DAOS API 实现文件和目录。

相关条目[ ]