csapp 远程连接与系统性能的提高

网络

之前我们一直将计算机系统作为一个孤立的硬件与软件的集合体,从一个系统来看,网络也可以视为一个IO设备。
在这里插入图片描述

远程连接

随着互联网的发展,从一台计算机发送消息到另一台计算机已经成为非常普遍的应用,深入理解计算机的原书中,讲述了如何使用本地计算机上的telnet客户端连接远程主机上的telnet服务器,由于telnet的安全性问题,目前ssh的连接方式的更加普遍。

远程连接结合hello程序

1.在ssh的客户端中输入hello字符串并且敲下回车;
2.客户端的软件就会通过网络将字符串发送到ssh服务端;
3.ssh服务端从网络端接收到这个字符串以后,会将这个字符串传递给远程主机上的shell程序,然后shell负责hello程序的加载,运行结果返回给ssh的服务端;
4.最后ssh的服务端通过网络将程序的运行结果发送给ssh的客户端;
5.ssh客户端在屏幕上显示运行结果。在这里插入图片描述

系统的加速比

阿姆达尔定律
在这里插入图片描述
该定律的主要思想是:当我们对系统的某一部分进行加速时,被加速部分的重要性和加速程度是影响 整体系统性能的关键因素,在加速前,假设一个应用程序的执行所需要的全部时间用Told来表示,为了方便描述,我们可以笼统的将这个程序分为两个部分,一部分是不可加速的,另外一部分是可加速的,其中可以加速的部分执行花费的时间为αTold,所以不可加速部分的执行时间为Told-αTold,程序经过优化后,可加速部分性能提升比例为K,那么经过加速后,这个可加速部分所花费的时间就是(α*Told)/K,因此我们可以计算出,程序经过加速后所花费的时间,这里用Tnew来表示。此时,我们可以得到加速比S = Told/Tnew。
下面是一个数据的带入,可以直观地看到加速效果:在这里插入图片描述
可以看到,尽管我们把可加速部分加速到几乎不花时间,整个系统获得的净加速比也只有2.5。因此在计算机的世界里,如果我们需要把系统的性能提高2倍或者更多,只有通过优化大部分的组件才能获得

获得更高计算能力的三种途径:

1.线程级并发
2.指令级并行
3.单指令多数据并行

下面是一个多核处理器的组织结构,图中的处理器芯片具有四个CPU核心,每个CPU核心都有自己的L1 cache和L2 cache,四个CPU核心共享L3 cache,这4个CPU核心集成在一颗芯片上。对于许多高性能的服务器芯片,单颗芯片集成的CPU数量高达几十个,甚至上百个。通过增加CPU的核心数,可以提高系统的性能。在这里插入图片描述
超线程技术,也称同时多线程
如果每个CPU核心可以执行两个线程,那么四个核心就可以并行的执行8个线程。
单个CPU核心是如何实现超线程的?
在CPU内部,像程序计数器和寄存器文件这样的硬件部件有多个备份,而像浮点运算部件这样的硬件还是只有一份,常规单线程处理器在做线程切换时,大概需要20000个时钟周期,而超线程处理器可以在单周期的基础上决定执行哪一个线程,**从而CPU可以更好的利用它的处理资源。**当一个线程因为读取数据而进入等待状态时,CPU可以去执行另外一个线程,其中线程之间的切换只需要极少的时间代价。
在这里插入图片描述
指令集并行–现代处理器可以同时执行多条指令的属性
每条指令从开始到结束大概需要2个时钟周期或者更多,但是处理器采用了非常多的技巧可以同时处理多达100条指令,因此,近几年的处理器可以保持每个周期2~4条指令的执行速率。
在这里插入图片描述
现代处理器拥有特殊的硬件部件,允许一条指令产生多个并行的操作,这种方式成为单指令多数据,即SIMD的指令多是为了提高处理视频,以及声音这类数据的执行速度。比较新的Intel以及AMD的处理器都是支持SIMD指令加速。
在这里插入图片描述
这里增加一个抽象的概念,虚拟机是对整个计算机系统,包括操作系统,处理器以及程序,虽然虚拟机的思想在20世纪60年代就提出来了,但是最近才突显出优势来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榆钱不知秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值