谷歌计算引擎提高单线程性能
Posted
技术标签:
【中文标题】谷歌计算引擎提高单线程性能【英文标题】:Google Compute Engine increase performance for single thread 【发布时间】:2019-07-11 02:28:07 【问题描述】:我有一个受 cpu 限制的单线程进程。顶部显示负载大于一。在考虑成本的情况下增加 CPU 吞吐量的最佳方法是什么?我看到您可以同时提高 cpu 速度和 cpu 核心。例如,看起来我可以在下拉中使用 4 或 8 个 CPU 来获得边际速度提升。但是,这意味着在我的情况下,我要为不需要的内核付费。
我看到还有另一个选择 cpu 平台类型的选项。这似乎是对不同网桥架构的选择。这意味着我可以更快地访问内存,并且可能(我不知道)更快的 cpu 处理管道。
我不确定哪个是最佳选择,并且我不想调整使成本增加一倍以上的设置。
感谢任何建议。
【问题讨论】:
如果我有你的问题,请告诉我。您是问如何在不提高价格的情况下提高 CPU 性能? 我正在努力寻找提高单线程进程性能的最具成本效益的方法。 FWIW,我将“cpu 平台”设置修改为 Haswell 或更高版本。起初它似乎稍微快一点,但我不确定。我会用 Skylake 进行测试,看看它是否更好。 能否让我们知道它是否在 Skylake CPU 平台上运行得更快? 我今天会的。谢谢你提醒我阿德里安。 【参考方案1】:这不是一个成熟的科学测试。我只是从头到尾运行了一些代码,并以编程方式记录了挂墙时间。在更换 cpu 平台之间,我在重启后稍等片刻,让事情安定下来。我没有等待相同的指定时间或直到顶部显示某些指定的负载水平。用于测试的代码是带有一些 BigQuery 访问权限的 python 3、pandas 和 numpy。基本上它的代码我有兴趣为开发目的更快地运行。一些配置运行不止一次。 话虽如此,这是我的结果:
CPU 平台选择(每次运行的秒数)
自动 141.42、124.96、123.58 英特尔 Skylake 128.32、107.88、107.93 英特尔 Broadwell 115.06、116.02 英特尔 Haswell 135.31 使用 GPU 自动运行 NVidia Tesla P100 92.62、91.87我最后进行了 GPU 测试,但我认为这不会改善结果。此代码不使用 tensorflow,据我所知,pandas 也不使用 GPU 库,因此使用 GPU 的性能提升是出乎意料的。
我没有对此项目的完整计费可见性,因此我无法记录平台之间的任何成本差异。我想一个好的测试是看看你是否可以观察到不同测试运行的计费变化。
【讨论】:
以上是关于谷歌计算引擎提高单线程性能的主要内容,如果未能解决你的问题,请参考以下文章