在Google Cloud上订阅不足时缩短执行时间

问题描述 投票:0回答:1

我有一个支持多线程的可执行文件,我正试图在Google Cloud上执行它。我保留了8个VCPU,我正在使用8个线程执行该作业。假设我得到y的执行时间。现在我保留了16个VCPU,但我只使用8个线程执行作业,并且我得到的执行时间为x。我注意到的是x比y小近15-20%。为什么在保留更多VCPU但使用较少线程时,我会获得此性能优势?

任何帮助将不胜感激。谢谢。

multithreading google-cloud-platform
1个回答
0
投票

在Google Cloud Platform中,一个虚拟CPU的性能不等于一个物理核心。更珍贵的是,一个虚拟CPU == 1个超线程== 1/2物理核心。

使用超线程,一个物理核心作为操作系统的两个处理器出现,允许每个核心同时调度两个进程。

因此,当您使用16个vCPU意味着您有16个超线程和8个物理内核而8个vCPU由4个物理内核支持并且具有8个超线程。因此,对于8 vCPU使用16个vCPU,这意味着您有更多的处理能力,这也反映了您获得的性能优势。

StackOverflowBlogGoogle Group discussions中的这个文档很好地阅读了类似的主题。

© www.soinside.com 2019 - 2024. All rights reserved.