如何充分协调使用算法服务器中的运算能力
- 现在的业务跟算法联系比较紧密,执行算法时占用了算法服务器中绝大部分资源,由于服务器有限,现在是一台算法服务器中会部署多种算法服务,但是由于算力问题,并发低于3
- 我们团队使用node,相当于中台概念。算法服务用的是c++。
- 我们使用rabbitMQ来做解耦消峰排队
现在的问题是,怎么能让算法服务器在有能力执行算法时主动拉取执行MQ中的任务?
7 回复
@chenjiyong 我的思路是有一个负载均衡算法服务,负责推举可用服务,轮询检测服务是否可用,但push 和pull实现的方式不一样,我想的是算法服务可以主动来拉任务执行
- 目前的思路 WeChata57eb797184dfdca493eb2a73711df70.png
@chenjiyong 思路如下:
- 由一个资源监控程序监控算法服务器占用的资源情况,如gpu或cpu,当可用资源达到一定层级(这里需要测试各个算法最低占用资源,提供config)可以跑算法时,向服务配置中心更新活跃状态
- 服务配置中心发现推举可用算法服务器来消费队列里的任务