并发与并行
阿姆达尔定律(Amdahl)
\quad
对系统的部分加速对系统性能的影响,假设系统某部分所需执行时间与该时间的比例为
α
\alpha
α,而该部分性能提升比例为
k
k
k,
T
n
e
w
=
(
1
−
α
)
T
o
l
d
+
α
T
o
l
d
/
k
T_{new} = (1-\alpha)T_{old}+{\alpha}T_{old}/k
Tnew=(1−α)Told+αTold/k
于是有:
S
=
T
n
e
w
T
o
l
d
=
1
(
1
−
α
)
+
α
/
k
S=\frac{T_{new}}{T_{old}}=\frac{1}{(1-\alpha)+\alpha/k}
S=ToldTnew=(1−α)+α/k1
\quad
这说明要提升系统的运行速度,必须提升全系统中占比相当大的部分的速度
计算机中多个抽象层次的并发与并行
并发:一个同时具有多个活动的系统
并行:使用并发使一个系统运行的更快
-
线程级并发
构建在进程的抽象概念中,一个系统同时执行多个进程,一个进程可以同时运行多个线程 -
指令级并行
现代处理器可以同时处理多条指令的属性 -
单指令,多数据并行
允许一条指令产生多个可以并行执行的操作称为单指令,多数据并行(SIMD并行)
补充知识点
超线程:有时称为同时多线程(simultaneousmulti-threading) ,是一项允许一个CPU执行多个控制流的技术。它涉及CPU 某些硬件多个备份,比如程序计数器和寄存器文件,而其他的硬件部分只有一份,比如执行浮点算术运算的单元。
超标量(superscalar)处理器:处理器可以达到比一个周期一条指令更快的执行速率
计算机的抽象层次