NVIDIA AIStore 1.3.28版本发布:性能优化与功能增强
项目概述
NVIDIA AIStore是一个高性能、可扩展的对象存储系统,专为AI/ML工作负载设计。它提供了与云存储和本地存储的无缝集成,支持大规模数据处理和分布式计算任务。AIStore的核心优势在于其出色的并行处理能力、优化的数据流以及对机器学习工作负载的深度支持。
1.3.28版本核心改进
1. 增强的ETL框架
本次版本对ETL(提取-转换-加载)功能进行了重大升级,引入了WebSocket通信机制作为HTTP和IO通信的补充。WebSocket支持提供了更高效的持久连接,特别适合处理大量小文件或需要持续数据流的场景。
新版本还实现了"直接PUT"优化,彻底改变了ETL处理的数据流路径。传统方式中,数据需要从源节点到ETL容器再返回源节点,最后到目标节点。而直接PUT允许数据直接从ETL容器传输到目标节点,实测性能提升了3-5倍。
ETL生命周期管理也得到了加强,现在支持初始化、运行和停止三种状态间的结构化转换,并自动清理Kubernetes资源。错误捕获和报告机制更加完善,包括对pod初始化失败的详细诊断。
2. 双重速率限制机制
1.3.28版本引入了创新的双重速率限制系统:
-
前端限制:每个代理节点强制执行可配置的客户端请求限制,支持为每个桶设置不同的GET/PUT/DELETE操作阈值,并包含突发容量允许。
-
后端限制:采用自适应速率整形技术,根据云服务商的响应动态调整请求速率。当收到429/503响应时,系统会自动实施指数退避策略,避免触发云服务商的限制。
这种分层配置模型允许集群级默认设置,同时支持按桶覆盖,所有调整都无需服务中断。
3. 性能优化与并行处理
版本对多对象操作进行了深度优化:
- 新增
num-workers参数,允许用户通过API或CLI精确控制IO和网络密集型工作流的并行度 - 工作线程数根据系统负载动态扩展,保证不低于挂载路径(磁盘)数量
- 实现了更智能的内存压力处理机制,优化了大内存分配场景
- 改进了挂载路径遍历算法,减少文件系统操作开销
4. 内容校验改进
采用新的默认内容校验算法(基于cespare/xxhash的"xxhash2"),特别优化了大文件流式处理场景。基准测试显示,新算法在大对象和流操作中性能显著提升。系统现在明确区分用于系统元数据的经典xxhash和用于用户数据的"xxhash2"。
5. AWS S3兼容性增强
- 新增可配置的多部分上传阈值(通过
multipart_size桶属性) - 支持S3的
list-object-versions功能 - 改进AWS错误分类,新增
err-remote-retriable类型 - 优化了临时性AWS问题的重试逻辑
Python SDK更新
Python SDK升级至v1.13.7,主要改进包括:
-
弹性重试机制:
- 统一配置HTTP和网络故障重试
- 区分HTTP状态码重试与连接故障处理
- 优化超时和连接错误的恢复策略
-
ETL服务器框架:
- 提供三种实现:FastAPI(异步)、Flask(同步)和HTTP多线程服务器
- 支持直接PUT优化
- 可配置请求超时
-
对象操作增强:
- 新增
props_cached和props访问方法 - 修复URL编码处理
- 支持Unicode和特殊字符对象名
- 新增
CLI工具改进
命令行界面得到多项可用性增强:
ais show job现在显示分布式作业的集群范围对象和字节总数ais ls --paged新增页码显示和缓存对象计数- 改进了
ais ls --diff的集群内外内容比较 - 增强管理命令如
log、cluster download-logs和cluster set-primary - 新增元数据缓存清除命令
监控与可观测性
1.3.28版本扩展了监控能力:
- 新增速率限制指标:
err.rate.retry.n和rate.retry.ns.total - 增强远程存储交互监控,新增GET操作计数、大小和延迟指标
- 作业报告新增j-w-f指标(joggers-workers-channel_full)
- 改进
ais performance命令的延迟和吞吐量监控
基准测试工具升级
aisloader和pyaisloader工具获得多项改进:
aisloader新增--pctupdate选项模拟对象更新工作负载- 增强远程桶测试支持
- 改进延迟测量和性能跟踪
pyaisloader优化多进程安全性和性能指标收集
构建与部署
- 升级至Go 1.24
- 关键依赖项安全更新(JWT-Go、LZ4等)
- 新增Kustomize部署配置
- 容器镜像构建优化依赖缓存
- 增强Kubernetes支持,包括
ais-fs卷主机路径
总结
NVIDIA AIStore 1.3.28版本通过ETL框架增强、双重速率限制、性能优化和多方面改进,显著提升了系统在处理大规模AI/ML工作负载时的效率和可靠性。特别是对数据转换流水线、并行处理和云集成的优化,使其成为数据密集型计算场景的更强大选择。Python SDK的更新也为开发者提供了更灵活、更健壮的工具集,简化了复杂工作流的实现。
这些改进共同使AIStore能够更好地满足现代AI基础设施对高性能存储的需求,特别是在需要大规模数据预处理和转换的场景中表现出色。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0132
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00