服务器大线程有什么作用,全面剖析超线程技术优点与缺点

欢迎各位阅读本篇文章,超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。本次课课家教育平台为大家带来了全面剖析超线程技术优点与缺点,大家一定要认真阅读哦~

超线程技术并不能应用在所有环境中,对于不同的情况来说,其有可能帮助提升虚拟服务器的性能表现,但是反过来也有可能造成负面影响,而获得良好性能表现的关键就在于判断应该何时使用这种技术。

超线程是一种计算机处理器技术,能够将一个物理处理器变成两个虚拟处理器。这种方式能够提升处理器核心的指令队列工作效率,从而提高处理器的整体性能表现,此外虚拟化技术也能够受益于这种技术。这种技术允许hypervisor为虚拟机提供之前两倍的虚拟处理器数量——但是超线程技术并不是完美的。如果使用超线程技术,那么效率低下、质量不佳的代码甚至是分配不当的负载都有可能对系统性能造成负面影响。

34bcc27ae258647efae09f089b9b4d64.png

问题:超线程技术是什么?其能够为hypervisor带来哪些好处?

超线程是英特尔的私有技术,其能够帮助提升物理处理器的资源使用效率,保证处理器一直处于繁忙状态,以便完成更多工作。

超线程技术——也被称为HTT或HT——的出现是由于传统物理服务器核心在同一时间只能处理一项任务。所有负载都需要使用处理器的指令通道,但是通常指令通道的使用率并不会达到100%或者一直处于繁忙状态。造成这种现象的部分原因在于应用程序的编码和运行方式不同,此外,由于现代处理器的运行速度越来越快,已经完全超出许多应用程序的需求,因此被浪费的处理器周期越来越多。

超线程技术在处理器核心中添加了新的电路,能够提供额外的指令通道来共享物理处理器的执行资源,比如内存总线、处理器缓存以及处理器的执行引擎。

增加的超线程电路能够将物理核心分割成两个逻辑核心。在启用超线程技术之后,每个逻辑处理器都相互独立,中断、停止和操作都独立于另外一个共享相同物理核心的虚拟处理器。

当某个逻辑核心空闲时,另外一个逻辑核心将会得到更多的执行资源。

关于超线程技术需要记住的重要一点是在相同物理核心上启用第二个逻辑处理器并不会使得处理器的性能提升一倍。

这是因为处理器的执行资源是共享的,并没有翻倍。HTT技术允许处理器在特定时间内处理更多的任务或者指令线程,但是仍然需要使用原有的物理资源完成这些任务。这是超线程架构和多核处理器——比如双核或者四核——的最大区别,多核技术拥有多个物理处理器。

而虚拟处理器的性能提升幅度取决于负载对于处理器的资源需求以及操作系统管理和规划逻辑处理器的能力。

如果超线程技术不能识别操作系统,就会使用同样的方式管理所有逻辑处理器,可能会将资源需求很大的负载放在相同核心的逻辑处理器上——这样会对应用程序的性能表现造成负面影响——而同时其他核心并没有得到充分利用。

与此形成对比的是,能够识别操作系统的超线程技术可以将线程分配到不同的处理器上,最大程度上提升负载的性能表现。

比如,如果某个应用程序需要使用大量处理器资源,就会一直占用指令队列,那么即便同一个物理处理器核心提供额外的逻辑处理器也无济于事——因为物理处理器已经没有额外的资源可以共享。操作系统可以将第二个线程加入到处理队列中,但是通常其性能表现会非常差,此外,由于其会占用当前运行线程的处理器周期,因此还会导致现有应用程序性能受到影响。

Hypervisor或者操作系统应该能够识别HTT,并且最大程度上提升负载对于物理处理器的使用效率,这些都是分配逻辑处理器的前提。如果这个前提不能实现,那么超线程(并非虚拟化)功能应该被禁用。

5b73273b1d3daa1fd4dd7e6e5bfff566.png

从hypervisor系统角度来看,超线程并不是虚拟化技术——HTT只是一种位于处理器硬件层、以硬件为基础的虚拟化技术。而虚拟化和hypervisor能够带来哪些好处?

超线程和hypervisor之间并没有直接的关联。Hypervisor能够工作在不支持超线程技术的物理处理器上,而支持超线程的处理器也可以使用非虚拟化系统。但是这两种方案可以相互补充,而像Vmware vSphere这样的现代hypervisor在创建资源池并且将虚拟CPU分配给虚拟机时已经能够识别并且使用超线程技术。这种方式能够在组织和计划任务方面为hypervisor提供更多的灵活性,因此能够提升虚拟服务器的工作效率。

一般很多人都会认为,采用超线程技术,就能使得系统效能大幅提升,但是事实真是如此么?不要忘了我们前面说到的超线程技术实现的必要条件,这可是超线程技术发挥应有效能的前提条件。除了操作系统支持之外,还必须要软件的支持。从这点我们就可以看出,就软件现状来说,支持双

超线程技术处理器技术的软件毕竟还在少数。对于大多数软件来说,由于设计的原理不同,还并不能从超线程技术上得到直接的好处。

因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Parallelism)”,也就是提高命令执行的并行度、提高每个时钟的效率。

这就需要软件在设计上线程化,提高并行处理的能力。而PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并没不能获得效能的大幅提升。上面说的只是软件支持的现状,操作系统在这个方面则没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的操作系统。

并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。那时候,普通用户才能够从超线程技术中得到最直接的好处。

提升CPU性能需要:

d805db4e5c2d1f8cacc46d035537fefe.png

尽管提高CPU的时钟频率和增加缓存容量后的确可以改善CPU性能,但这样的CPU性能提高在技术上存在较大的难度。

实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了CPU的性能没有得到全部的发挥。

因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。

小结:相信大家阅读完毕本篇文章后,学到了不少知识吧?其实大家私下还得多多自学,如果您还想了解更多相关方面内容,课课家教育平台欢迎大家,在这个学习知识的天堂里,您肯定会有意想不到的收获的~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

遍历矩阵每一行穷举_[LeetCode] 566. 重塑矩阵

题目链接: https://leetcode-cn.com/problems/reshape-the-matrix难度:简单通过率:61.6%题目描述:在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数…

git push时报错fatal: Could not read from remote repository.

后来发现,出现这个问题是因为仓库地址不对 使用如下命令先查看一下: $ git remote -v 发现跟github的地址不一致 然后在终端输入:git remote set-url origin XXX 然后重新push就可以了 转载于:https://www.cnblogs.com/sjhsszl/p/git.html

Hinton新作!越大的自监督模型,半监督学习需要的标签越少

来源:AI科技评论编译:青暮本文介绍了Hinton团队发表在NeurIPS 2020上的一项研究工作,一作是Ting Chen,研究人员首次在ImageNet上尝试了半监督学习的典型范式,并取得了优越的结果。此外,他们还发现&#xff…

windows css,CSS (Windows) | Microsoft Docs

CSS10/20/20162 分钟可看完本文内容Internet Explorer, as well as Windows apps using JavaScript in Windows 8, adds support for several new Cascading Style Sheets (CSS) features, including new advanced layout, visual effects, and panning and zooming capabiliti…

dataframe第二列 r语言_123.R简介和统计绘图

123R简介和统计绘图本节作者:刘永鑫 中国科学院遗传与发育生物学研究所;陈同 中国中医科学院版本1.0.2,更新日期:2020年8月31日本项目永久地址:https://github.com/YongxinLiu/MicrobiomeStatPlot ,本节目录…

脑机接口中的后门攻击

本文来自伍冬睿科学网博客链接地址:http://wap.sciencenet.cn/blog-3418535-1256333.html?mobile1机器学习在脑机接口中的成功应用,使脑机接口得到了快速的发展。然而,对抗攻击的发现让我们不得不重新思考机器学习模型的安全性。这些潜在的危…

联想高性能服务器,Lenovo|EMC推出高性能4x4TB服务器级NAS

作为联想PC战略的延伸和全球企业级战略的重要组成部分,联想与EMC建立起全球范围内的战略合作,并于2013年4月2日在深圳全新推出面向企业市场的联合品牌存储新产品家族。可以说联想与EMC合作是在企业级业务领域的又一重要战略布局。在4月2日的发布会上&…

调用图片文件夹中的任意图片随机显示_他来了,他来了,Mathpix拜拜了~~~文字、表格、公式图片识别神器V0.1测试版...

(图0)img2txt V0.8 【正式版】第1步:win10自带截图快捷键:WinShiftS,也可以用QQ等截图工具;第2步:打开软件,完成初始配置(后续调用无需再配置),按…

​MEMS在未来面临的挑战

来源:内容由半导体行业观察(ID:icbank)编译自「semiconductor-digest」,谢谢。在过去的几十年中,MEMS传感器已经走了很长一段路。1990年代末,用于汽车气囊碰撞传感器的MEMS加速度计和用于侧翻检…

基于jQuery/zepto的单页应用(SPA)搭建方案

这里介绍一个基于jquery或zepto的单页面应用方案,遵循尽可能简单的原则,使大家一目了然,只需配置一个路由,之后完全按照jq日常写法即可完成。可做学习使用,也可修改后用于一些业务逻辑简单的spa项目中;下面是个dome&am…

怀旧服开新服务器消息,怀旧服B测已经开启 全新内容爆料汇总

来了来了,终于来了!在经历了昨天一次短暂的乌龙之后,暴雪终于以蓝帖的形式发布了消息:《燃烧的远征:经典怀旧服》BETA测试目前已经正式开启!在Battle.net(战网客户端)上目前已经出现了《Burning Crusade Classic Beta》的客户端字…

用深层神经网络解释大脑的运作

来源:混沌巡洋舰Daniel Yamins,麻省理工学院博士后的一位计算神经科学,有时会为了他的机器视觉项目辛苦工作到午夜以后。他煞费苦心地设计了一个系统,可以识别图片中的物体,而不管其大小、位置和其他特性的变化ーー这是…

foreach 循环达到条件的第一次就停止_是否应该停止在JavaScript代码中使用forEach()?...

在本文中,我想概述一下标准的 for 循环和 forEach() 方法背后的区别,并对它们各自带来的一些好处进行评论。作为免责声明,请不要把标题当真。我写这篇文章的目的是为了让读者了解缺点,并提供一些关于什么时候可以或不可以使用 for…

git 忽略__pycache___容易被忽略的 Python 命令行参数

上周编写了一个 Python 脚本用于将一堆包含 oracle dmp 文件的 rar 压缩包恢复到 oracle 数据库。由于 oracle dmp 文件恢复速度较慢,通过 nohup commad 2>&1 & 提交命令到后台运行。运行过程中发现通过 print 命令输出内容无法及时地重定向到 nohup.out…

kindeditor和easyui整合出不来

1.首先必备的三个导入的文件 <link rel"stylesheet" href"/day0320_maven_pm/libs/kindeditor/themes/default/default.css"/> <script charset"utf-8" src"/day0320_maven_pm/libs/kindeditor/kindeditor-all-min.js">&l…

虚拟机共享服务器设置,虚拟机共享网络设置教程

vm虚拟机网络共享设置&#xff1a;设置以前首先要确认“虚拟机”中的“本地连接”IP地址为自动获得&#xff01;1.在虚拟机设置里&#xff0c;单击以太网----网络连接类型为---NTA 使用以共享的主机IP地址&#xff01;2.单击编辑---虚拟网络参数&#xff01;3.单击自动桥接。去…

靠数学“拿了”两次诺贝尔奖,彭罗斯从“铺地砖”帮忙发现2011年化学奖的秘密...

来源&#xff1a;量子位诺贝尔奖没有数学奖&#xff0c;但是如果数学足够好的话&#xff0c;可以拿两次诺贝尔奖&#xff1a;帮别人拿一次&#xff0c;自己再拿一次。刚刚获得诺贝尔奖的英国数学家罗杰彭罗斯&#xff08;Roger Penrose&#xff09;就是这样。今年&#xff0c;彭…

linux 查看网卡是否万兆_linux 如何查看网卡带宽

1.先查看网卡# ifconfigdocker0: flags4163 mtu 1500inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255inet6 fe80::42:acff:fe45:985 prefixlen 64 scopeid 0x20ether 02:42:ac:45:09:85 txqueuelen 0 (Ethernet)RX packets 141370815 bytes 100379736898 (93.4 …

计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...

介绍7个适合普通大学生参加的编程比赛/考试&#xff08;注&#xff1a;有的比赛如蓝桥杯有多种赛别&#xff0c;本文仅介绍其中的程序设计/编程比赛&#xff09;。编程入门书籍推荐《算法笔记》&#xff0c;内容详细易懂&#xff0c;对新手非常友好&#xff0c;描述语言为C结合…

PowerDesigner 中SQL文件、数据库表反向生成PDM

1 反向生成PDM 1) 创建一个空的PDM模型&#xff08;选择对应的DBMS&#xff09;&#xff1a; 2) 选择【Database】--【Update Model from Database…】菜单&#xff1a; 1.1 使用SQL文件 1) 在新窗口选择对应【Using script files】--【&#xff…