不一样的模型在cpu和gpu下的时间差别较大,通常来讲gpu会比cpu快5-20倍。咱们选用了最经常使用的inception v3的分类模型,输入图片尺寸为:3x299x299。算法
在一块P100GPU(显存16276MiB),性能以下:服务器
由上图可见,随着进程数目的增大耗时会线性增长。并发
因此:若是服务中在同个卡上多开进程只是服务链接/下载图片的并发实现了并发提速(neuron框架中链接创建、下载图片、算法处理是并发独立的,可近似认为互不影响);算法的吞吐量基本不变。并且从RT角度考虑单进程较好独占卡(任务能够占据Volatile GPU-Util 90%左右的状况下)。框架
固然,若是RT知足要求,卡上能够同时部署其余任务。性能
Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz 24核服务器下。TF默认为尽量的占用全部的核,真正的neuron服务也是尽量的占用全部的核,因此请求量大的时候RT会上升。进程
24核服务器下,QPS呈现log趋势。考虑RT,算法能够开启10个进程较优。此时CPU使用率已经逼近2400%。固然若是RT有限制,则采用更小的并发/更多的机器。图片
PS:一个进程下CPU占用率1600% 2个并发2000% 3个并发2100% 4个并发2200% 5个并发2250% 6个并发已达2280%。部署
从另个角度来看,经过改变进程使用的核数统计RT值。这部分和前面CPU部分很相似。io
对于这个分类任务,10核之后性能基本不会提高了(并发就到这水平了)。下载
若是要保证必定的RT,就要保证每一个请求能够拿到足够多的核。
单GPU QPS能够达到55;24核CPU的QPS能够达到24左右。可是GPU的TR要远低于CPU,不过GPU并发数上来,RT也会线性增长。
按照目前线上一个GPU的成本约等于96个CPU核,CPU性价比仍是远优于GPU的。
PS:评测中P100性能较好价格较贵、CPU E5-2620已经较为(古老)便宜了。