一个 cpu(CPU 的一个线程)或 aws/azure/DO/GCP 的 1GB 内存在云提供商中是否一致?

Does one cpu (one thread of CPU) or 1GB mem of aws/azure/DO/GCP mean same consistently within a cloud provider?

让我更好地解释一下我的问题。让我以著名的虚构 Scott Processor 为例。

Config C19 - 2019 Scott Processor Base Frequency 2.7 GHz One Core One Thread
配置 C21 - 2021 Scott 处理器基本频率 4.0 GHz 一核一线程和进一步改进

因此,使用 C2 的 process/program 预计 运行 比 C1 更快。

现在,比方说,2019 年的任何云提供商都会使用当时最好的处理器,即 C19。伟大的。到 2021 年,他们将使用 C21 构建新系统。没有 gua运行tee 他们在 2021 年退役或将 C19 升级为 C21。很好
因此,现在在 2021 年,云提供商向客户 1CPU 提供服务(并且不向客户透露是 C19 还是 C21)。它只是一个 CPU 产品(AWS 公开了它是 ARM 还是其他类型的处理器,但没有公开 CPU 的频率)。

现在,如果我从 Cloud Provider 购买一项 CPU 服务并说今天我获得了 C21 配置。我 运行 我的应用程序 (v1.0.0) 的基准测试,它花了 10 分钟来完成一些工作。美好的。工作完成,我终止了我的服务。在满足某些要求一个月后,我必须重新 运行 基准测试(没有任何应用程序更改 - 仍然是 v1.0.0)。因此,我与同一家云提供商重新签约并获得一个 cpu。那么这次我有没有可能获得 C19 配置(这么认为),如果我再次重新 运行 基准测试,这次我的应用程序可能需要 13 分钟,因为我得到的是 C19 处理器而不是 C21 处理器。

所以基本上我的观点是 - 云提供商提供的 1CPU(或 1GB 内存)是否意味着当前的性能相同(不关心未来)。无论在哪里和谁签名。它在不同的云提供商之间是否一致,或者对于相同的资源,不同的云提供商的里程可能会有所不同。

如果它是一致的(在一个云提供商或所有云提供商之间)- 它是如何工作的。他们如何确保在云中的各种硬件配置之间,他们可以保证运行客户对给定类型的资源获得相同的里程数。

评论:这就是为什么像 AWS 这样的提供商引入了跨实例类型的世代 - 例如 M1、M2 和 T1、T2 等。这样他们就可以保证运行相同的性能同一代和实例类型的相同配置。

您的粗体评论是正确的:给定的 'family' 个实例使用特定的芯片组。

对于 AWS,这些列在:Amazon EC2 Instance Types - Amazon Web Services

在 AWS 数据中心,有 'host computers' 个机架。每个宿主都属于一个特定的家族。例如 M5 是“最高 3.1 GHz Intel Xeon® Platinum 8175M 处理器,带有新的 Intel Advanced Vector Extension (AVX-512) 指令集”。

每台Host电脑再细分为多台虚拟电脑。 m5.24xlarge是整台主机,有96个虚拟CPU。或者,这可以分为两个m5.12xlarge个虚拟计算机,每个有48个vCPU。只要您始终选择相同的实例类型,那么您将始终获得相同的虚拟硬件(CPU、RAM)。

规格因实例系列而异,因为它们使用不同的 CPU 并且可能使用不同代的硬件。 规格也因云提供商而异,因此您不会期望在 AWS 和 Azure 之间找到完全相同的硬件规格。所有云提供商都构建自己的硬件,并且可能使用不同的芯片组,即使它们仍然来自英特尔、AMD 和 nVidia。 AWS 甚至制造了自己的 Graviton ARM 芯片。

新区域和可用区开放时,它们可能不提供老一代的实例系列。比如旧的M3家族在新开区就没有了。