1

我有CPU重的模拟任务,我想在使用谷歌应用程序引擎和谷歌计算引擎通过以下方式来执行:如何将CPU大量任务从Google App Engine推送到Google Compute Engine VM实例?

  1. 仿真任务数据通过谷歌应用程序引擎,如提交通过 执行API调用/运行仿真?param1 = ... param2 = ...
  2. 在GAE servlet中,仿真任务已建立,其计算要求已确定,即需要何种类型的计算引擎机器
  3. 的GAE的servlet启动所需的虚拟机实例
  4. 的GAE的servlet仿真任务以某种方式转移到VM 实例,其中被处理
  5. 当VM实例完成的GAE的servlet通知。理想情况下,它也可以在模拟过程中接收进度更新并将其显示给用户。
  6. 最后,GAE servlet从VM实例接收模拟结果并将其交给用户。 VM实例随后关闭。

我遇到了4和5的困难。我如何能够将计算任务从GAE servlet“推”到计算引擎VM实例? GAE和VM实例之间如何通信?

(虽然我与GAE经历,我完全新的计算引擎,并有我的苦衷完全掌握Compute Engine的方式像我这样的问题)

提前感谢!

+0

你想完成什么?存钱? –

+0

@AndreiVolgin我想要的只是能够在Google云基础架构上运行动态构建,CPU负载量大,可并行的仿真。 GAE不能处理这些模拟,因为它们最可能超过1小时的GAE时间限制,并且需要在可行的时间内完成多个核心的完成。 – nkxandroid

+0

GAE上的任务可以运行24小时,但在GCE上运行它们肯定会更具成本效益。 –

回答

1

如果你只是想旋转起来的情况下执行一个任务最简单的很可能会提供启动脚本作为解释的形式任务here

的GCE实例可以报到的状态通过向GAE发出http请求来工作。

或者,您可以使用sub/pub在GAE和GCE之间进行通信。在这种情况下 - 除非您假设用户已打开浏览器显示进度页面,并且此页面将GAE更新为更新 - 您可能需要设置cron job on GAE以检查完成的任务并采取相应措施。