
这是我在LUGTongji做的关于SMP的讲座PPT。

我的部分主要关于高性能计算及未来计算机体系结构部分。

为了实现高性能计算,使用过很多种方法。

但是遗憾的是,种种原因使得,并不是增加CPU就能够提高性能。

这是多年以来典型的单处理机架构。在这种架构上,提升主频能够显著改善程序执行速度。

这是典型的SMP架构。SMP架构有很多致命的缺陷使得其扩展性不高。主要原因是多CPU对FSB的竞争。

这是Intel Duo Core架构,也是一种紧耦合SMP。

这是为了解决SMP各种缺点的一种架构,NUMA。介于SMP和Cluster之间。

这是高性能计算架构Computing Cluster。

下面介绍一些高性能计算的发展趋势。

NUMA克服了SMP的主要缺点。

高性能计算中CPU和内存瓶颈。

Intel研究院的技术展望。

网络传输瓶颈的解决。

下面是关于2.6 Linux对于SMP的实现介绍。

早期版本Linux对于SMP的支持不足。

2.6 Linux每个CPU使用一对任务队列进行CFS调度。

当Active队列中某进程用完时间片,将重算时间片,加入到同级别Expired队列尾部。

当某个优先级任务队列为空时,简单交换同级别的两个队列指针。

调度器的工作就相对简单,只需要安装优先级降低方向,寻找非空的任务队列,然后取得第一个任务指向即可。

Linux使用5个32位字构成位图,组织140个优先级(末20个浪费)。

某CPU进行调度时,只需要锁两个运行队列即可,而不是整个内核。

2.6 Linux调度器还有很多其他特性。

SMP调度器可以进行负载均衡。拉方案是把其他处理机上的任务平衡到本处理机。

但同时,Linux进行了诸多限制。

迁移顺序。种种限制,Linux倾向于尽量不做负载均衡。

推方案是主动将任务转移到其他处理机的转移方案。

内核使用一个实时进程进行迁移。

NUMA的负载均衡更加复杂。

Q & A

Thanks
Hi :
Your ppt file style is so cool. Could you tell me what style that you used?
Do you use office power point to create it ?
Do you use any pattern or create by your self?
I ready need it. Could tell me or mail me ? Thank you so much.
My email: antoniocheng@gmail.com