Cloud TPU 数据的存储方案

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

简介

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

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

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

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

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

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

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

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

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

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

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

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

Cloud Storage 存储分区

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

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

在虚拟机实例所在的可用区中创建 Cloud Storage 存储桶可提供与永久性磁盘相当的性能,但具有延迟时间较长且吞吐量一致性较低的特性。

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

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

此外,您可以向实例安装 Cloud Storage 存储分区以作为文件系统。在您读取或写入文件时,装载的存储分区的功能与永久性磁盘类似。但是,Cloud Storage 存储桶不能用作启动磁盘。您的实例可以将数据写入文件,并覆盖将数据同时写入存储桶的其他实例中的关键数据。

Filestore 文件共享

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

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

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

后续步骤