多核计算系统的操作系统:挑战与解决方案
1. 异构计算资源管理
在多核计算中,异构计算资源的管理是一个重要问题。例如,GPU 通常以高度并行的单指令多数据(SIMD)方式执行代码,一般通过用户空间框架(如 OpenCL 或 CUDA)进行编程。主机 CPU 上运行的顺序应用代码会将并行部分放在 GPU 上执行。
然而,这种软件架构存在缺点,操作系统无法完全控制 GPU 资源。这可能导致 GPU 资源调度与 CPU 调度策略冲突,且操作系统无法利用 GPU 执行自身的计算密集型任务。
为解决这些问题,研究人员提出了一些方案:
- PTasks :Rossbach 等人提出的 PTasks 是一种通用计算模型,每个 PTask 是数据流图中的一个节点,可以细粒度地调度到 GPU 或 CPU 上,有助于操作系统做出优化的调度决策。
- Gdev :Gdev 解决了操作系统利用 GPU 的问题,通过在操作系统中实现加密文件系统的原型,利用 GPU 加速实现了 2 倍的速度提升。
2. 可靠性挑战及应对措施
2.1 可靠性挑战的来源
多核芯片的发展导致芯片尺寸增大和结构密度增加,同时为控制热量产生,供电电压需保持在最低水平。这增加了瞬态硬件故障的概率,如宇宙粒子撞击导致的位翻转。此外,芯片活跃区域的热应力会导致老化效应,引发永久性硬件故障。
2.2 硬件层面的应对措施
- ECC 技术 :RAM 可配备 SEC - DED ECC 或更昂