网络通信、Amdahl定律和并发与并行

123 阅读2分钟

网络通信

计算机系统通过网络和其它系统连接到一起。网络可以视为一个I/O设备。

网络适配器.png

网络适配器的作用

系统从主存复制一串字节到网络适配器,数据流经过网络到达另外一台机器,而非到达本地磁盘驱动。相应的系统也可以读取其他机器发送的数据复制到自己的内存。

Amdahl定律

该定律的主要内容为当对系统的某一部分进行加速的时候,其对系统整体性能的影响取决于该部分的重要性和加速速度。

Amdahl定律.png

从公式中可以看出要想显著加速整个系统,必须提升系统中相当大的部分的速度。

并发和并行

并发:一个同时具有多个活动的系统; 并行:用并发来使一个系统运行得更快,并行可以在计算机系统的多个抽象层次上应用。

线程级并发

传统意义上的并发是计算机模拟出来的,通过一台计算机在它执行的进程间来回切换来实现,这种并发形式允许多个用户同时与系统交互。

                单处理器系统————————>多处理器系统——————————>多核处理器和超线程
                

超线程:同时多线程,允许一个CPU执行多个控制流的技术。常规的处理器大概要2000个时钟周期做到不同线程的切换,而超线程的处理器可以在单个周期上决定执行哪一个线程。多处理器的使用从两方面提高系统的性能。

(1)减少了执行多个任务时模拟并发的需要; (2)使应用程序的执行更快。

指令级并行

在较低的抽象层次上,现代处理器可以同时执行多条指令的属性被称为指令级并行。早期的处理器可以通过多个时钟周期来执行一个指令,而现在的处理器可以在单个时钟周期执行多个执行。处理器可以达到比一个周期一条指令更快的执行速率,成为超标量处理器。

单指令、多数据并行

现代处理器拥有特殊的硬件,允许一条指令产生多个可以并行执行的操作,称为单执行、多数据即SIMD并行。

计算机中抽象的重要性

抽象是计算机科学中最关键的概念。

抽象.png

抽象的概念

文件是对I/O设备的抽象,虚拟内存是对程序存储器的抽象,进程是对正在运行程序的抽象,而虚拟机是对整个计算机的抽象。