企业的网站公告怎么制作,濮阳做网站做的好的公司,浏览不良网页的危害,省内新闻最新消息并行文件系统作为文件存储的一个高性能分支#xff0c;自出现以来已经走过了二十个年头#xff0c;一直被大规模应用于气象预测、石油勘探、高能物理、汽车制造、芯片制造、自动驾驶、影视渲染等高性能计算领域。在AI时代下#xff0c;GPU并行计算如火如荼#xff0c;阿里云…并行文件系统作为文件存储的一个高性能分支自出现以来已经走过了二十个年头一直被大规模应用于气象预测、石油勘探、高能物理、汽车制造、芯片制造、自动驾驶、影视渲染等高性能计算领域。在AI时代下GPU并行计算如火如荼阿里云CPFS也正式演进到了2.0时代并且对传统并行文件系统的技术体系有了一系列创新和实践。
一、并行文件系统的演进之路
传统的并行文件系统诞生于二十一世纪初的CPU物理机时代直到二十一世纪的第二个十年的到来。2012年Alex Krizhevsky前谷歌计算机科学家利用深度学习GPU的方案一举赢得Image Net LSVRC-2010 图像识别大赛并奇迹般地将识别成功率从74%提升到85%。GPU从此一战成名凭借自身海量流处理器和矢量处理单元成为了AI计算的首选加速器。GPU芯片的算力从V100到A100再到H100实现了成倍的增长对数据吞吐量的需求也成倍增长甚至一度超出了PCI-E总线的能力。
与此同此随着容器K8S平台的逐渐成熟AI训练的运行平台已经由过去的虚拟机物理机转向为容器云计算平台。这样的时代背景下传统的并行文件系统也面临了极大的挑战。
本系列文章会从以下几个方面与大家分享阿里云CPFS是如何应对这些挑战以及对并行文件系统的技术探索与落地实践
从专属客户端到NFS标准协议服务从文件存储自闭环到拥抱云上数据湖的开放生态从CPU大文件计算到GPU小文件计算快、再快一点---服务端缓存和计算端缓存的进化
本期我们会具体介绍CPFS在客户端侧的轻量化变革。
二、专属客户端的问题所在
众所周知由于世纪初NFS等通用协议的不完善传统的并行文件系统都设计并提供了专属客户端可以说专属客户端是高性能并行文件系统的身份象征。 专属客户端是并行文件系统实现高性能的重要组成部分专属客户端对于并行文件系统至关重要不仅提供了MPI-IO接口、多后端服务器连接能力、负载均衡能力部分专属客户端还可以提供单机数据缓存能力。但是随着容器时代的到来专属客户端显示出了他的诸多问题
首先重客户端多采用内核态这就引起与操作系统深度绑定。在世纪初专业的HPC应用有限多为专业公司开发并运行于超算中心重客户端看起来不是个问题。但是随着AI时代的到来GPU应用开发百花齐放开发者习惯不同限制操作系统或内核版本变成了一个巨大的门槛。其次弹性容器带来极速的应用部署能力和弹性扩缩容能力将计算资源利用率提升至极致。专属客户端较慢的部署速度和较多的软件依赖降低了应用部署速度限制了容器的弹性能力。再次面向应用的数据管理取代面向物理机的数据管理。容器时代用户业务的使用界面从物理机和虚拟机上移至应用重客户端将整个文件系统视为统一的命名空间只能通过传统的ACL方式进行复杂权限配置且无法通过动态和静态PV和容器K8S实现联动实现容器内应用访问数据的完美隔离。
三、轻量化NFS客户端的新思路
要解决专属客户端的问题就需要对客户端进行“瘦身”实现NFS协议端的轻量化。通过操作系统解耦让所有Linux系统都可以轻松使用CPFS解放开发者其次发挥分布式文件系统的高性能优势最后实现K8S弹性PV以及PV间严格数据隔离具体方式包括以下三个方面 1、基于NFS协议实现轻量化端接入
NFS是文件存储领域使用最广的协议具有成熟的通用型、易用性为广大使用者接受。为了降低CPFS的使用门槛CPFS需要兼容NFS。
传统的并行文件系统重客户端往往指定操作系统、内核版本内核版本升级后客户端还需要重新安装运维成本高而CPFS-NFS客户端是用户态的不依赖内核版本这带来两个好处一是支持所有主流操作系统CPFS-NFS客户端支持Alibaba Cloud Linux、CentOS、Ubuntu、Debian等二是当用户操作系统升级后CPFS-NFS客户端无需升级可继续使用。
传统的并行文件系统客户端需要复杂的配置才能达到较好的运行效果例如Lustre需要对网络组件LNET、元数据组件MDC、数据组件OSC进行并发度、块大小等配置增加了用户的维护成本。CPFS-NFS客户端使用简单只需要一条mount挂载命令即可客户端的默认配置由CPFS-NFS客户端自行完成降低用户使用门槛。
并行文件系统通常将文件系统逻辑上移到客户端上完成例如Lustre的OSC需要感知文件分片stripe位于哪些存储服务器才能读取数据这增加了客户端上CPU、内存的资源开销。CPFS-NFS客户端的资源开销是轻量的只用于传输数据和必要的元数据操作CPU开销通常小于一个逻辑核。
2、优化协议实现保证端接入的高性能
借助CPFS并行I/O、全对称的分布式架构提供的底座能力NFS协议端同样具有高吞吐、高IOPS的集群性能远超传统NAS单机架构带来的性能指标。例如200MB/s/TiB规格下NFS协议端也提供每TiB容量兑付200MB/s吞吐的性能指标最大吞吐是20GB/s最大可接近100万 IOPS。
NFS协议服务组成协议集群根据CPFS文件系统容量同步横向扩展。CPFS-NFS客户端与协议节点之间具备负载均衡的能力在客户端挂载时可根据协议节点负载连接数、空闲带宽、CPU等选择最佳的协议节点建立连接有效的避免热点、胖客户端挤兑单个协议节点带来的性能下降。
3、提供多种挂载方式大规模挂载的支持与目录级挂载点
为了满足K8S弹性PV的需求同时实现PV间严格数据隔离CPFS支持了多种挂载方式具体包括
大规模容器挂载
传统的并行文件系统客户端上通常会保存状态这导致客户端规模有限例如客户端上保存打开的文件、读写锁等状态为保证数据一致性客户端之前互相做状态的颁发、召回等操作。客户端规模越大客户端之间的交互、消耗的资源更多这限制了客户端的规模。
CPFS-NFS客户端是无状态的客户端只与存储节点连通不会随客户端规模增大而加重客户端的负载。CPFS-NFS客户端支持10000个客户端/POD同时挂载访问数据。
CSI插件支持静态、动态卷
CPFS-NFS客户端与阿里云容器服务ACK深度集成CSI 支持静态存储卷挂载和动态存储卷挂载两种方式挂载 CPFS存储卷。详情见CPFS静态卷CPFS动态卷。
目录级挂载点
目录级挂载点提供端上访问隔离的能力容器挂载时仅挂载子目录防止容器应用直接访问整个文件系统引起数据安全问题。通过使用Fileset和ACLCPFS能提供更强的目录隔离后续Fileset支持配额可配置目录子树的文件数量、总容量ACL可配置用户的访问权限。
总结
目前CPFS的标准NFS协议访问模式已经开放。帮助一些原有因为操作系统版本原有无法使用云上CPFS的客户实现了业务弹性上云。同时结合阿里云容器ACK服务为客户提供了秒弹几百个POD的动态伸缩能力实现了忙时快速扩容闲时快速释放降低GPU资源闲置成本。
文件存储CPFS在支持NFS协议上的能力的重要提升意味着无论是容器还是虚拟机无论是哪种Linux版本都可以轻松访问高性能的CPFS并行文件系统这无疑有助于加速自动驾驶场景落地。欲了解更多可移步 https://yqh.aliyun.com/live/detail/28624预约直播。
后面我们还会继续分享CPFS在数据湖生态融合、小文件计算、缓存技术等方面的技术进化希望能持续关注此系列文章。
原文链接
本文为阿里云原创内容未经允许不得转载。