首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在gcloud中执行“实时请求批处理”

如何在gcloud中执行“实时请求批处理”
EN

Stack Overflow用户
提问于 2021-05-31 15:19:44
回答 1查看 38关注 0票数 0

以下是我的情况:

  • I有一个运行在GPU上的相当慢的tensorflow模型(每个预测2到3秒)--对单个‘实体’的预测和对8‘实体的预测的预测几乎同时使用
  • --这意味着,只要简单地将同一个请求
  • 中的多个预测组合起来,我就可以提高8倍的效率--我在人工智能平台上有一个服务,向该模型提供请求<<代码>H19,但是服务的扩展速度很慢(任何超过4个QPS的事情都难以处理)H 210F 211

那么,我的问题是:是否有一种标准的方法/最佳实践来批处理实时客户端请求:

当接收到请求时,请稍等其他requests

  • After,或者当请求数达到一定数目时,将单个“批处理”中的请求转发到另一个服务。如果流量较低,则延迟将在批满之前过期,但由于通信量低,如果通信量高,则该批将不是

  • 问题,该批将在延迟之前已满,客户端将不得不少等待

我有一个应用程序引擎+防火墙的解决方案(用于托管共享的“队列”),但是实现延迟会给我带来麻烦(app引擎似乎不喜欢python的threading.Timer )。

我希望能与应用程序引擎一起工作,但在这一点上,我愿意接受任何建议(只要它适用于谷歌云)。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 20:42:40

最完美的(但不是最便宜的)是使用Dataflow。

当一个预测请求出现时,在

  • 中发布它,在流模式下部署数据流,固定的窗口为X分钟,在窗口中的Y事件之后部署另一个触发器,而不是累积。当执行窗口触发器时(无论是在消息数量还是在计时器上),
  • 执行批处理

你可以想象其他的设计,更简单/更便宜。

PubSub

  1. You中的
    • 仍然可以发布预测请求,可以安排一个云函数,或者每隔X分钟运行一次云,以提取发布订阅,然后触发批处理作业。但是,这是一个固定的时间。
    • 当您在PubSub中发布消息时,您也可以存储(例如,在防火墙中),并增加一个计数器和在PubSub中发布的第一条消息的日期。
      • 如果消息数量超过阈值,则向其他进程执行一个请求,该进程将提取PubSub订阅并运行批处理(如前面的#1)。重置计数器值和消息日期值
      • 设置一个云调度程序,该调度程序每分钟检查Firestore中第一个消息日期的值。如果超出了您的时间限制,请向其他提取PubSub订阅并运行批处理的进程执行请求(如前面的#1)。重置计数器值和消息日期value

#2将生成大量的Fi还原读/写,但将比数据流便宜。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67776435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档