物理CPU和Azure上的超线程有什么区别?

时间:2018-07-16 20:21:11

标签: azure azure-sql-database

我正在阅读Microsoft Azure上SQL数据库的文档,其中介绍了两种数据库服务GEN4和GEN5之间的性能。当前文档显示GEN4 CPU基于Intel E5-2673 v3(Haswell)2.4 GHz处理器和1 vCore = 1物理CPU,GEN5逻辑CPU基于Intel E5-2673 v4(Broadwell)2.3 GHz处理器,其中1 vCore = 1个超线程。

我的问题是,GEN4 1物理CPU是否等效于具有12个内核和24个逻辑处理器的Intel E5-2673 v3,或者是单个内核? ,并且GEN5 1超线程是否等效于Intel E5-2673 v4上物理内核的逻辑内核?

这是文档的链接:Azure SQL Database pricing

2 个答案:

答案 0 :(得分:1)

  
    

GEN4 1物理cpu等效于具有12个内核和24个逻辑处理器的Intel E5-2673 v3还是单个内核。

  

GEN4中的1个物理CPU代表一个基于Intel E5-2673 v3(Haswell)2.4 GHz处理器的内核。

  
    

GEN5 1超线程是否等效于Intel E5-2673 v4上物理内核的逻辑内核?

  

超线程简介:

超线程(正式称为Hyper-Threading Technology或HT Technology,缩写为HTT或HT)是Intel专有的同时多线程(SMT)实现,用于改进在x86微处理器上执行的计算并行化(一次执行多个任务) 。它首次出现在2002年2月的Xeon服务器处理器上和2002年11月的Pentium 4台式机CPU上。[4]后来,英特尔将此技术包括在Itanium,Atom和Core'i'系列CPU中。

对于物理上存在的每个处理器核心,操作系统都对两个虚拟(逻辑)核心进行寻址,并在可能时共享它们之间的工作负载。超线程的主要功能是增加管道中独立指令的数量。它利用了超标量架构的优势,在该架构中,多条指令可并行处理单独的数据。使用HTT,一个物理核心在操作系统中显示为两个处理器,从而允许同时调度每个核心两个进程。另外,两个或多个进程可以使用相同的资源:如果一个进程的资源不可用,则另一个进程可以在其资源可用的情况下继续。

除了在操作系统中需要同时支持多线程(SMT)之外,超线程只能在经过专门优化的操作系统中才能正确使用。[5]此外,英特尔建议在使用不知道此硬件功能的操作系统时禁用HTT。

有关Hyper Thread的更多信息,我们可以参考:Hyper Thread

答案 1 :(得分:0)

Microsoft似乎在故意欺骗他们如何标记/描述两种型号之间的CPU数量。根据您所描述的措辞以及性能,我们似乎很清楚,我们看到GEN5中同一级别的逻辑处理器只有一半。当您认为在GEN5中获得了改进的硬件时,这是有道理的,但是相同级别的价格是相同的。

我们有许多处理器密集型分析查询,在过去一周的测试中,我们必须转到GEN5_16才能获得与GEN4_8相同的性能。不幸的是,这样做的价格从每年$ 42k飙升至$ 84k。在假期期间,我们搬到了GEN5_8,目前在GEN5上遇到了难以置信的争执,在简单的SELECT INTO查询中也遇到了日志速率限制,这很麻烦。我们一直在不断提高GEN4的1TB限制(MSSQL的日志增长使我们丧命-我们不需要完全恢复,但别无选择),但是我们在GEN4_8上从未遇到性能或节流问题。