Cloud TPU 数据的存储方案

本文档介绍了在 Cloud TPU 上训练模型时可以使用的数据存储方案。

简介

Cloud TPU 需要使用数据存储来执行以下操作:

  • 数据集下载和预处理
  • 主机输入流水线处理
  • 模型训练输入
  • 模型训练输出

Cloud TPU 应用数据和训练数据集有五个存储方案:

如需详细了解存储费用和性能,请参阅存储方案

TPU 虚拟机或 TPU 节点的启动磁盘

默认情况下,每个 Cloud TPU 虚拟机都有一个包含操作系统的 100GB 单启动永久性磁盘。启动磁盘还可用于存储下载的数据集以用于预处理和模型输入和输出数据(前提是总大小不超过启动磁盘上的可用空间)。

如果您的训练应用需要超出启动磁盘默认值的额外存储空间,您可以向虚拟机或 TPU 虚拟机实例添加一个或多个永久性磁盘。向 TPU 节点(Compute Engine 虚拟机)或 TPU 虚拟机添加永久性磁盘有不同的过程。

挂接到 TPU 虚拟机或 TPU 节点的永久性磁盘

永久性磁盘是持久性网络存储设备,虚拟机实例可以像访问桌面设备或服务器中的物理磁盘一样访问它们。每个永久性磁盘上的数据分布在多个物理磁盘中。Compute Engine 为您管理物理磁盘和数据分布,以确保冗余和最佳性能。

永久性磁盘是独立于虚拟机 (VM) 实例创建的,因此即使在删除虚拟机实例后,您也可以保留数据。永久性磁盘的性能会随大小自动扩缩,因此您可以调整现有永久性磁盘的大小,或向实例添加更多永久性磁盘,以满足您的性能和存储空间需求。

永久性磁盘具有内置冗余,可保护您的数据免受设备故障的影响,并通过数据中心维护事件确保数据可用性。系统会针对所有永久性磁盘操作计算校验和,因此我们可以确保您所读取的内容就是您所写入的内容。

此外,您还可以创建永久性磁盘的快照,以防止因用户错误而导致数据丢失。这些快照采用增量方式,即使您对挂接到正在运行的实例的磁盘创建快照,也只需要几分钟时间。

如需详细了解如何将永久性磁盘与 TPU 虚拟机配合使用,请参阅向 TPU 虚拟机添加永久性磁盘

Cloud Storage 存储桶

Cloud Storage 存储分区是适用于虚拟机实例的最灵活、可扩缩且最持久的存储选项。如果训练作业不需要永久性磁盘带来的较短延迟时间优势,则可以将数据集存储在 Cloud Storage 存储桶中。

Cloud Storage 存储桶的性能取决于您选择的存储类别以及存储桶相对于实例的位置。

通过在虚拟机实例(针对 TPU 节点)或 TPU 虚拟机所在的可用区中创建 Cloud Storage 存储桶,您可以获得与永久性磁盘相当的性能,但具有更高的延迟和一致性较低的吞吐量特征。

所有 Cloud Storage 存储桶都具有内置冗余功能,可保护您的数据免受设备故障的影响,并通过数据中心维护事件确保数据可用性。系统会针对所有 Cloud Storage 操作计算校验和,以帮助确保您所读取的内容就是您所写入的内容。

不同于永久性磁盘,Cloud Storage 存储桶不限于实例所在的可用区。此外,您可以同时在多个实例的存储桶中读取和写入数据。例如,您可以将多个可用区中的实例配置为在同一个存储桶中读取和写入数据,而不是将数据复制到多个可用区的永久性磁盘中。

Cloud Storage FUSE

Cloud Storage FUSE 可让您将 Cloud Storage 存储分区作为本地文件系统装载和访问。这样,应用便可以使用标准文件系统语义读取和写入存储桶中的对象。

请参阅 Cloud Storage FUSE 文档,详细了解 Cloud Storage FUSE 的工作原理以及 Cloud Storage FUSE 操作与 Cloud Storage 操作之间的对应关系。您可以在 GitHub 上找到有关如何使用 Cloud Storage FUSE 的更多信息,例如如何安装 gcsfuse CLI 和装载存储分区。

Filestore 文件共享

Filestore 文件共享是 Compute Engine 的全代管式网络附加存储 (NAS)。Filestore 原生兼容现有企业应用,并支持与 NFSv3 兼容的任何客户端。

Cloud Filestore 实现了低延迟的文件操作。对于那些对延迟敏感的工作负载,Filestore 最高支持 100 TB 的容量、25 GB/秒的吞吐量和 720000 的 IOPS,同时将性能波动控制在最低限度。

借助 Filestore,您可以轻松地在 Compute Engine 虚拟机上装载文件共享

后续步骤