我现在就是单独起一个tokio,接受外部请求,预处理。然后通过channel提交给这个loop线程。loop 线程每次try recv外部请求,有就加进来,没有继续计算。计算过程就是就是组建一个大的batch,然后交给外部gpu去算。然后阻塞等待gpu返回结果。 gpu worker那边可以起一个同步的grpc server,因为gpu的请求永远是1,追求的不是高并发,而是低延迟。
概括地讲,就是一个llm 请求调度器 。
【 在 hellowub (wub) 的大作中提到: 】
: 不用管 外部延迟(长且波动大),而在意 调度延迟(短且波动小)?能不能说下具体的需求?我比较好奇。
:
: 另外,我想了下,做同步的客户端线程可能比较麻烦。因为这个线程至少要监听两个地方:读tcp连接 和 读接收业务线程发来请求的管道。纯同步的代码应该是不能同时监听两个地方的。只能上多路复用(epoll之类)。实现比较复杂,性价比不如直接用tokio。
:
--
FROM 39.144.103.*