tensorflow 服务模型负载影响其他模型图运行尾部延迟

问题描述

我正在使用相同的 tensorflow 模型服务器实例(在单个 Docker 容器内运行)加载两个模型 A 和 B。 (使用 tensorflow_model_sever v2.5.1)

模型在磁盘上大约有 5GB,其中大约 1.7GB 只是推理相关的节点。

模型 A 只加载一次,模型 B 每隔一段时间就会获取一个新版本。 我的客户只请求模型 A 的预测。不使用模型 B。 顺便提一下,两个模型都有预热数据。

每次为模型 B 加载新版本时,模型 A 中图形运行的尾部延迟从 20 毫秒跳到 > 100 毫秒(!)。 我从 tensorflow 模型服务器获得尾部延迟 - :tensorflow:serving:request_latency_bucket, 以及来自我的 GRPC 客户端。

容器有足够的可用内存和 cpu, 这也可以通过 GPU 看到。

我尝试更改 num_load_threads 和 num_unload_threads、flush_filesystem_caches, 但无济于事。

到目前为止还没有设法使用 GRPC 对冲/手动双重调度来摆脱它(但正在努力解决它),有人见过这个,并且更好地解决了这个问题? 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...