【发布时间】:2023-03-10 15:22:01
【问题描述】:
谁能告诉我,在高负载系统中使用多线程的最佳架构模式或方式是什么? 我已经阅读了多路复用方法,还有别的吗? 谢谢。
【问题讨论】:
标签: multithreading architecture high-load
谁能告诉我,在高负载系统中使用多线程的最佳架构模式或方式是什么? 我已经阅读了多路复用方法,还有别的吗? 谢谢。
【问题讨论】:
标签: multithreading architecture high-load
我不确定您所说的 高负载系统 是什么意思,但我假设您指的是商业服务器环境。如今,高端服务器芯片的趋势是许多复制内核,每个内核都允许某种程度的多线程。很难说哪种多线程技术是最好的,因为每种技术都提供了可能更适合特定应用程序工作负载的优势。
以 Sun UltraSPARC T1 为例。它有 8 个内核,每个内核可以在单个共享管道上支持多达 4 个线程。核心能够在线程之间毫无延迟地切换。这种方法称为细粒度时间多线程:细粒度因为线程可以在每个周期切换,时间因为线程在周期之间交错。
另一种称为同时多线程 (SMT) 的方法允许来自多个线程的指令同时处于同一流水线阶段。该技术要求处理器是超标量,即能够在单个周期内向流水线发出多条指令。您在服务器市场上往往看不到这种情况,因为超标量处理器往往更大、更耗电,不符合服务器场和数据中心所需的规模经济。
【讨论】: