AIStore 开源轻量级对象存储系统程序包,能够随着每个添加的存储节点而线性扩展,弹性集群,在运行时扩展和收缩,并且可以临时部署,无论有没有 Kubernetes,单 Linux 到任何大小的裸机

一、软件介绍

文末提供下载及源程序
       AIStore 是一种轻量级对象存储系统,能够随着每个添加的存储节点而线性扩展,并特别关注 PB 级深度学习。AIStore(简称 AIS)是一个轻量级的、从头开始构建的存储堆栈,专为 AI 应用程序量身定制。它是一个弹性集群,可以在运行时扩展和收缩,并且可以临时部署,无论有没有 Kubernetes,从单个 Linux 计算机到任何大小的裸机集群。
      AIS 始终显示任意数量集群节点之间的平衡 I/O 分配和线性可扩展性。随着每个添加的磁盘线性扩展的能力过去是,现在仍然是主要激励因素之一。许多初始设计也是由卸载自定义数据集转换(通常称为 ETL)的想法驱动的。最后,由于 AIS 是一个软件系统,它聚合 Linux 机器以为用户数据提供存储,因此第一要求是:可靠性和数据保护。

GitHub作者地址:https://github.com/NVIDIA/aistore
本文信息来源于GitHub作者地址

二、软件特征


✅ 可在任何地方部署。AIS 可以部署在任何地方,从一体化即用型 Docker 容器和 Google Colab 笔记本到 NVIDIA 数据中心的数 PB Kubernetes 集群。没有部署限制 - AIS 可以在任何 Linux 计算机上运行,无论是虚拟计算机还是物理计算机。
✅ 高度可用的控制和数据平面、端到端数据保护、自我修复、n 向镜像、纠删码和任意数量的超轻量级接入点。
✅ REST API 的 API 中。全面的基于 HTTP 的原生 API,以及兼容的 Amazon S3 API,用于运行未经修改的 S3 客户端和应用程序。
✅ 跨多个远程后端的统一命名空间,包括 Amazon S3、Google Cloud、Microsoft Azure 和 Oracle (OCI) 对象存储。
✅ 集群网络。任何 AIS 集群都可以附加任何其他 AIS 集群,从而获得对相应托管数据集的即时可见性和快速访问。
✅ 统包缓存。可用作独立的高可用性受保护存储和/或基于 LRU 的快速缓存。逐出水印以及许多其他管理策略是按存储桶配置的。
✅ ETL 卸载。能够在靠近数据的位置运行 I/O 密集型自定义数据转换 - 离线(数据集到数据集)和内联(动态)。
✅ 文件数据集。AIS 可以立即从任何基于文件的数据源(本地或远程、临时/按需或通过异步批处理)填充。
✅ 先写后读一致性。读取和写入(以及其他控制和数据平面作)可以通过任何 AIS 网关执行,无论是随机的、选定的还是负载平衡的。写入并完成对象的第一个副本后,可以保证后续读取查看相同的内容。其他副本和/或 EC 切片(如果已配置)将异步添加(分别为 via put-copies 和 ec-put jobs)。
✅ 直写。在存在任何远程后端的情况下,AIS 执行远程写入(例如,使用供应商的 SDK)作为放置和完成第一个副本的事务的一部分。
✅ 小文件数据集。为了序列化小文件并促进批处理,AIS 支持 TAR、TAR。GZ(或 TGZ)、ZIP 和 TAR。LZ4 格式的对象(通常称为分片)。此外,还完全支持重新分片(以实现最佳排序和大小调整)、列出包含的文件(示例)、附加到现有分片以及从现有对象和/或客户端文件生成新分片。
✅ Kubernetes 的 Kubernetes。通过单独的 GitHub 存储库和 AIS/K8s Operator 提供轻松的 Kubernetes 部署。
✅ 存取控制。为了实现安全性和精细的访问控制,AIS 包括符合 OAuth 2.0 的身份验证服务器 (AuthN)。单个 AuthN 实例通过 HTTPS 执行 CLI 请求,可以为多个集群提供服务。
✅ 分布式随机扩展,用于对非常大的数据集进行大规模并行重新分片。
✅ 批处理作业。用于启动、停止和监控记录的批处理作(例如 prefetch 、、 download 复制或转换数据集等)的 API 和 CLI 工具。
为了便于使用、管理和监控,还有:
集成的易于使用的 CLI,具有顶级命令,包括:


AIS 在 Kubernetes 上原生运行,并具有开放格式 - 因此,可以随时使用熟悉的 Linux tar(1) 、 scp(1) rsync(1) 等从 AIS 复制或移动数据。
对于开发人员和数据科学家,还有:
我们在各种工具中使用的原生 Go(语言)API,包括 CLI 和 Load Generator;
 原生 Python SDK
oPython SDK 参考指南
PyTorch 集成和使用示例
Boto3 支持与 AWS SDK for Python(也称为 Boto3)客户端的互作性
o和其他 Botocore 衍生物。
有关原始 AIS 白皮书和设计理念、大规模深度学习的介绍和最近添加的功能,请参阅 AIStore 概述(您还可以找到使用现有数据集的六种替代方法)。有关我们的 2024 年 KubeCon 演示,请参阅 AIStore:跨云后端增强 pet 级深度学习。
最后,开始使用 AIS 只需几分钟。


三、部署选项


AIS 部署选项以及预期 (开发 vs. 生产 vs. 首次) 用途都总结了 此处

由于先决条件基本上归结为拥有带有磁盘的 Linux,因此部署选项的范围从一体式容器到任何大小的 PB 级裸机集群,从单个 VM 到多个高端服务器机架。当然,实际用例需要进一步考虑。

一些最流行的部署选项包括:

     此外,还有称为全局命名空间的功能:给定 HTTP(S) 连接,AIS 集群可以轻松互连以“查看”彼此的数据集。因此,从“小规模”开始,逐步逐步构建高性能共享容量的想法。


四、现有数据集

AIS 支持多种使用现有数据集填充自身的方法,包括 (但不限于):
按需,通常在第一个 epoch 期间;
复制整个存储桶或其选定的虚拟子目录;
复制多个匹配的对象;
 存档多个对象
预取远程存储桶或其部分;
下载原始 http(s) 可寻址目录,包括(但不限于)云存储;
提升一个或多个(或所有)AIS 目标节点可访问的 NFS 或 SMB 共享;
按需 “方式” 可能是最流行的,用户只需开始在远程存储桶上运行他们的工作负载,并将 AIS 集群定位为中间快速层。
但还有更多。在 v3.22 中,我们引入了 blob 下载器,这是一种用于下载超大型远程对象 (BLOB) 的特殊工具。在 v3.23 中,有一项新功能,称为存储桶清单,可以快速列出非常大的 S3 存储桶。


五、从发布二进制文件安装(文末提供下载)


      通常,AIS(集群)至少需要某种部署过程。不过,有一些独立的二进制文件可以从源代码构建或直接从 GitHub 安装:
$ ./scripts/install_from_binaries.sh --help
      该脚本从最新或以前的 GitHub 版本安装 aisloader 和 CLI。对于 CLI,它还将启用自动补全(强烈建议)。
PyTorch integration PyTorch 集成

PyTorch integration is a growing set of datasets (both iterable and map-style), samplers, and dataloaders:
      PyTorch 集成是一组不断增长的数据集(可迭代和映射样式)、采样器和数据加载器:
Taxonomy of abstractions and API reference
       抽象分类法和 API 参考
AIS plugin for PyTorch: usage examples
       PyTorch 的 AIS 插件:使用示例
Jupyter notebook examples
       Jupyter 笔记本示例
Since AIS natively supports remote backends, you can also use (PyTorch + AIS) to iterate over Amazon S3, GCS, Azure, and OCI buckets, and more.
       由于 AIS 原生支持远程后端,因此您还可以使用 (PyTorch + AIS) 迭代 Amazon S3、GCS、Azure 和 OCI 存储桶等。


六、软件下载

夸克网盘分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值