多核系统操作系统深度解析
1. 多核系统概述
多核系统在当代计算领域扮演着至关重要的角色。像 Platinum 系统可能拥有 224 个缓存一致的核心。虽然大多数架构不支持主板边界上的缓存一致性(分布式内存架构),仅提供消息传递服务,但也有一些系统支持几乎任意大小的共享内存。全球最强大的超级计算机,如中国的神威太湖之光系统,拥有超过 100 万个 CPU 核心,采用了混合架构,其共享内存节点通过基于 PCIe 的 5 级分层网络连接。
2. 多核编程模型
并行计算资源可以被大量独立应用程序使用,也可被旨在利用硬件并行性以更快解决问题的并行应用程序使用。
- 独立应用程序运行 :乍一看,在多核系统上运行独立应用程序似乎没有必要,但运行少数强大的服务器比运行大量专用小型机器更经济,因为可以优化硬件利用率。虚拟化技术常用于管理此类系统,它不仅支持实时迁移和高可用性,还能保证不同用户工作负载之间的强隔离性,成为云计算的基础。
- 并行编程模型 :并行程序根据并行编程模型设计,这些模型是抽象的,能向程序员隐藏真实硬件和底层操作系统的细节。一个好的编程模型与执行平台的匹配有助于实现高性能。编程模型可分为控制流导向和数据流导向。
| 编程模型类型 | 具体框架 |
| — | — |
| 数据流导向 | Apache Flink、TensorFlow |
| 控制流导向 - 基于进程 | MPI |
| 控制流导向 - 基于线程 | OpenMP、OpenACC、OpenCL、UPC |
| 控制流导向 - 基于任务 | Intel T
超级会员免费看
订阅专栏 解锁全文
981

被折叠的 条评论
为什么被折叠?



