作者:NVIDIA Corporation IT 存储经理,Pethuraj Perumal
NVIDIA如何借助NetApp存储实现工程计算容量翻倍,并加快创新步伐以开辟新市场
不懈的创新以及将新处理器设计快速推向市场的能力是NVIDIA走向成功的推动力,同时也是决定NVIDIA 成败的关键。作为视觉计算领域公认的领导者,我们力求产品多元化并迅速打入新的市场。
我们的图形处理单元(GPU)技术正在推动着医疗保健、科技、交通、娱乐等领域的发展和进步,同时也为 NVIDIA 带来大量新的机遇。我们的工程计算场的性能和可靠性无疑是NVIDIA率先向市场推出新款芯片设计、最终增加创收并为我们的合作伙伴和客户提供价值的关键。要实现我们当前及未来的业务目标,我们必须拥有一个高性能的存储平台。
支持世界级的研发
NVIDIA工程师设计了一系列的处理器,从为智能手机和平板电脑提供处理动力的微芯片到包含70亿个晶体管的巨型超级计算处理器,一应俱全。设计和模拟这些芯片是一项日益繁重且具有技术挑战性的任务。我们不断地生成文件,文件数量越来越多且文件越来越大。在过去的九个月里,我们的工程师创建24亿份文件 — 相当于每天将近1000万份文件。我们已积累超过15 PB的工程数据,且数据量几乎是每两年翻一倍。在预算维持不变而需求却持续增长的情况下,要应对这样的数据增长水平极具挑战。
我们不希望产品工程团队在测试设计的同时还要分神去考虑存储问题,我们当然也不希望存储成为研发 (R&D) 工作流程中的瓶颈。在任何情况下,我们的电子设计自动化(EDA)工作流都不能被延误或中断。计算作业一旦停止,就必须从头开始重新运行,可能会影响整个测试周期并推迟上市时间。所幸的是,我们基于NetApp®存储的计算工厂能紧跟我们数千名工程师的创新步伐,帮助他们快速可靠地完成芯片设计、模拟和逻辑验证。
为使我们工程师的创新工作不出现中断或延误,IT必须为他们提供具有最高性能的可用存储平台,专门用来为文件驱动式I/O密集型工程工作流提供“暂存空间”和数据卷。随着数据的增长,我们团队的主要目标之一是最大限度地提高“CPU时间与实际时间”的比率,其中实际时间表示处理计算作业所需的总时间,而 CPU时间计算的是CPU主动处理任务所花的时间。比率越高,我们计算工厂的效率就越高;不过,提高此比率需要一个I/O速度极快的存储平台。CPU等待存储响应所花费的时间属于空闲时间,会降低我们的整体效率。
对存储层的技术要求
几年前,我们曾尝试使用其他供应商的存储技术,即将所有磁盘呈带状分布到一个更大的阵列中去,致使我们遭遇了以下三个问题:
系统无法提供我们所需的线性性能。
小文件随机I/O成为瓶颈。
稳定性和可靠性不够。存储控制器故障可能会导致延迟上市;工作流中的所有活动作业可能要从头开始再来一遍。
在评估问题解决方法的同时,替换当前的系统成为明智之举。鉴于以下原因,我们的团队选择了NetApp作为我们研发计算操作的支持后盾:
性能。我们的研发计算操作具有很高的并发性,同时会有超过5000个计算节点访问存储,因此性能高低在很大程度上取决于存储控制器。我们始终希望存储控制器能用上最快的处理器,这样存储控制器就能以最多的并行网络线程来处理I/O请求。我们还需要高效处理小文件随机I/O操作的能力,因为这也是影响我们工作负载性能的主要决定因素。
可扩展性。NetApp可让我们以模块化方式添加更多的控制器,从而在数据增长的同时确保最佳性能。我们可以水平扩展存储,这种模式对我们来说非常有效。同时还会降低风险,因为我们不会受单点故障的影响。
可靠性。我们需要类似NetApp Data ONTAP这样的成熟可靠的数据管理平台。使用高可用性对中的NetApp存储控制器集群可使我们在出现硬件故障的情况下提供无缝故障转移并执行更新,而不会对计算工厂中正在运行的作业造成任何中断。即使某个域发生故障,也不会让整个集群崩溃。
效率。我们不断努力控制整体能耗和硬件占用空间,并尽可能地提高密度。NetApp提供许多能实现效率最大化的技术,包括与占用最少存储空间的时间点 Snapshot副本保持数据一致性的功能。默认情况下,NetApp卷已经过精简配置,能减少初始存储空间使用量。
精简性。能否灵活使用网络文件系统(NFS)和通用 Internet文件系统(CIFS)快速配置存储并对工程文件提供共享访问非常重要。凭借NetApp统一存储架构中的多协议支持,我们可以使用以下两种协议(见图 1)。
图 1)NVIDIA工程计算工厂采用NetApp Data ONTAP 8.2。通过NFS和CIFS访问相同的文件系统时,Data ONTAP完全保持了数据的完整性。
如何借助NetApp存储使容量翻倍
截至2012年,以NetApp存储为后盾,我们的工程计算基础架构基本能够满足需求。为了保证创新工作有条不紊,我们需要支持更多的并发工作流并提高计算作业的性能。
为解决这一难题,我们部署了采用智能缓存技术的NetApp FAS6280和FAS6290存储系统以提高吞吐量,并将多个独立系统整合为高可用性对。同时,我们升级到了Data ONTAP的更新版本,它提供了更多的并行网络线程来处理I/O请求,而且使CPU在所有核心间的利用率更加平衡。此外,我们还与NetApp工程部展开密切合作,联手进行基准测试并针对我们特定的EDA工具进行存储优化,这并未改变或影响我们工程团队的底层工作流。
借助其他NetApp 存储系统、缓存和优化操作,最终我们计算工厂的整体处理效率提高了一倍多,每天的计算作业量从200万增加到450万。我们可以在任何指定时间同时执行60,000项计算作业。CPU时间与实际时间的整体比率也有所提升 — 我们发现实际编译性能提高多达 19% 且模拟运行次数增加多达25%。
高效存储为产品上市提速
NetApp 技术对我们计算工厂的性能、效率和可靠性发挥着重要作用,有助于我们使用相同的存储平台优化顺序工作负载和随机工作负载, 进而加快上市速度。
提升小文件随机 I/O 性能
NetApp能出色地处理通过NFS传入的I/O请求,一部分是因为 WAFL(任意位置写入文件布局),这是最令我印象深刻的NetApp功能之一。WAFL使用临时数据布局同时写入元数据和用户数据,以尽量减少将数据提交到存储所需的磁盘操作次数,而不是将数据和元数据存储到磁盘上的预定位置。将非常小的文件(小于64字节)存储到文件系统内的索引节点数据结构中,而非磁盘块中;因此,无需访问磁盘(省下了查找时间),提升了性能。
借助智能缓存节省空间和能耗的同时优化读取性能
我们借助NetApp Flash Cache来提升决定着大部分工作负载速度的读取性能。通过在连接到控制器的 PCIe卡上缓存最近读取的数据和元数据,Flash Cache在PCI 总线中充当WAFL扩展缓冲区,从而帮助我们容纳非常大的数据集。我们与 NetApp 紧密合作,共同确定工作负载所需的Flash Cache数量并决定使用512 GB和1 TB PCIe卡。这样一来,缓存使用率就始终高于90%。
借助Flash Cache,我们可以使用混合存储模式,以便最大限度地减少存储占用空间并控制成本。在该模式下,我们使用了具有较高密度的高性能串行连接SCSI(SAS)驱动器和成本较低的串行 ATA(SATA)驱动器。若不采用Flash Cache,要达到我们目前的性能水平,我们需要的磁盘架数量以及相应的能耗和散热资源可能要增加三倍多;而且,若不采用 Flash Cache,我们可能无法在现有环境下使用高容量 SATA 磁盘,且很难扩展计算工厂的容量。我们的数据中心可能已不堪负重。事实上,在我们对计算工厂进行容量扩展之后,借助新NetApp存储系统的能效,我们已从电力公司赢得了200,000美元的返利。
降低风险,同时保持数据一致性
NetApp存储另一个极具吸引力的功能是Snapshot副本,它们是活动文件系统基于指针的只读副本。WAFL利用写时复制技术最大限度地减少Snapshot副本占用的磁盘空间,这样我们就可以在保留数据集的时间点副本时,既无需占用存储空间,又不会影响性能。Snapshot副本可帮助我们保持数据一致性,这在工程环境中至关重要,而且有助于避免数据丢失的风险。计算作业完成后,我们可以使用 Snapshot 副本临时保护无需保留的数据,避免因重复存储而产生费用,这一方法十分简便。Snapshot 副本可以在我们这种文件数量巨大的环境中提供快速恢复,只需翻转文件系统指针即可 — 如果实验过程中出错,我们可以使用Snapshot副本中的数据副本快速恢复到已知状态。NVIDIA目前使用NetApp SnapVault®进行备份并使用 NetApp SnapMirror将数据复制到位于萨克拉门托的灾难恢复站点。
我们还使用 NetApp 重复数据删除来消除某些卷内的冗余数据块,并因此而获益。重复数据删除技术会找到相同的数据块,并以引用单个共享数据块的方式将其替换。这种方法特别适合我们保留了多个副本的 Perforce 软件配置管理系统,因为这些副本中有大量的重复数据。我们将这些卷的容量要求降低了 30%。
用更少的人手管理更多的存储
尽管我们计算工厂的存储容量已大幅提升,但我们未雇用更多的基础架构人员,且我们的预算与往年持平。实际上,少一个全职员工我们也可以正常运行。正是因为NetApp让我们能够轻松简单地管理15 PB的数据占用空间,才让这成为可能。
借助NetApp OnCommand Unified Manager管理软件,我们可以快速了解性能指标和利用率统计信息。为了尽早发现存储基础架构中的问题以免对计算作业造成影响,我们选择使用NetApp AutoSupport,它可在出现磁盘故障或其他潜在问题时迅速做出响应并向我们发出警报。
业务影响:加快NVIDIA及客户的上市速度
对NVIDIA而言,计算工厂的效率提升25%意味着可以在更短的时间内测试、验证芯片设计并将其推向市场。NetApp帮助我们提升了CPU时间与实际时间的比率,这对我们的上市时间至关重要。随着性能和容量的提升,我们每天可以支持的作业量将是之前的两倍多,反过来这将促使我们推出更多的设计。我们不再受停机时间的影响,借助NetApp系统,我们实现了高于99.99%的可用性。我们不再关注存储正常运行时间,因为我们的NetApp 存储随时可供工程师们使用。
缩短发布周期也将为我们的客户带来巨大的商业价值,这不仅能够巩固我们的战略业务合作伙伴地位,而且有助于客户推出基于NVIDIA技术的突破性产品。
未来规划
借助NetApp Flash Cache和其他存储效率,NVIDIA实现了R&D计算转型并成功打造了一个支持不断创新的计算工厂。在扩大和完善计算工厂的过程中,我们将继续信赖与NetApp之间的合作,我们还期望借助新一代NetApp FAS6000存储系统提高性能并在能耗和散热方面获得更多优势。同时,我们还将扩大NetApp存储在其他业务领域的应用,包括公司IT和我们的VMware vSphere®虚拟服务器环境。
在不久的将来,我们计划将计算工厂迁移到NetApp集群模式Data ONTAP操作系统,目前我们正处于测试阶段。通过将我们现有的NetApp存储系统合并到集群模式Data ONTAP下的单个全局命名空间,我们将从无缝横向扩展、简易负载平衡以及整个生命周期内保持联机的芯片设计数据中获益。