当VM迁移到不同的硬件时,是否可以通知在Google Compute VM上运行的应用程序?Google Compute上的虚拟机可以检测它们何时迁移?
我是一个大量使用矢量指令(SSE/AVX/AVX-512)的应用程序(HMMER)的开发人员。我正在开发的版本在启动时探测其硬件,以确定哪些向量指令可用,并选择最佳集合。
我们一直在考虑在Google Compute和其他云引擎上运行我们的程序,一个问题是,如果虚拟机在运行我们的程序时从一台物理机迁移到另一台物理机,则新机器可能支持不同的指令,导致我们的程序崩溃或执行得比它慢得多。
当虚拟机迁移时,有没有办法通知在Google Compute虚拟机上运行的应用程序?我发现的唯一相关信息是,您可以设置一个虚拟机在迁移时执行关机/重启序列,这会杀死任何当前正在执行的程序,但至少会让用户知道他们需要重新启动程序。
实际上有一种方法在使用元数据服务器进行实时迁移时收到通知。此信息可直接在虚拟机上使用。我已将这些信息添加到我的答案中。您还可以检查出:https://cloud.google.com/compute/docs/storing-retrieving-metadata#maintenanceevents – Tuxdude
谢谢!这正是我所寻找的信息。 –