google 云数据流作业的机器类型
Machine type for google cloud dataflow jobs
我注意到有一个选项允许指定机器类型。
我应该使用什么标准来决定是否覆盖默认机器类型?
在一些实验中,我发现较小实例的吞吐量更好,但另一方面,当使用许多小实例而不是较少数量的默认实例时,作业往往会遇到更多 "system" 失败。
谢谢,
G
Dataflow最终会为您优化机器类型。同时,这里有一些我能想到的场景,您可能想在哪些地方更改机器类型。
如果您的 ParDO 操作需要大量内存,您可能需要将机器类型更改为 Google Compute Engine 提供的高内存机器之一。
优化成本和速度。如果您的 CPU 利用率低于 100%,您可能可以通过选择 CPU 更少的机器来降低工作成本。或者,如果您增加机器数量并减少每台机器的 CPUs 数量(因此总 CPUs 保持大致不变)您可以使您的工作 运行 更快,但成本约为一样。
能否详细说明您遇到的是什么类型的系统故障?大量 class 故障(例如 VM 中断)是概率性的,因此随着机器数量的增加,您会期望看到更大的绝对故障数。但是,像 VM 中断这样的故障应该很少见,所以如果您注意到这种情况有所增加,我会感到惊讶,除非您使用更多的 VM。
另一方面,由于使用更多机器的并行性增加导致资源争用,您可能会看到更多失败。如果是这种情况,我们真的很想了解它,看看我们是否可以解决这个问题。
我注意到有一个选项允许指定机器类型。 我应该使用什么标准来决定是否覆盖默认机器类型?
在一些实验中,我发现较小实例的吞吐量更好,但另一方面,当使用许多小实例而不是较少数量的默认实例时,作业往往会遇到更多 "system" 失败。
谢谢, G
Dataflow最终会为您优化机器类型。同时,这里有一些我能想到的场景,您可能想在哪些地方更改机器类型。
如果您的 ParDO 操作需要大量内存,您可能需要将机器类型更改为 Google Compute Engine 提供的高内存机器之一。
优化成本和速度。如果您的 CPU 利用率低于 100%,您可能可以通过选择 CPU 更少的机器来降低工作成本。或者,如果您增加机器数量并减少每台机器的 CPUs 数量(因此总 CPUs 保持大致不变)您可以使您的工作 运行 更快,但成本约为一样。
能否详细说明您遇到的是什么类型的系统故障?大量 class 故障(例如 VM 中断)是概率性的,因此随着机器数量的增加,您会期望看到更大的绝对故障数。但是,像 VM 中断这样的故障应该很少见,所以如果您注意到这种情况有所增加,我会感到惊讶,除非您使用更多的 VM。
另一方面,由于使用更多机器的并行性增加导致资源争用,您可能会看到更多失败。如果是这种情况,我们真的很想了解它,看看我们是否可以解决这个问题。