每个处理器 128 个线程对超级计算机意味着什么?
What does 128 threads per processor mean for a supercomputer?
This article about YARC 提到超级计算机每个处理器有 128 个线程。
与超线程是同一个概念,其中本质上 cpu 具有允许充当多个处理器的附加寄存器?
是的,物理处理器会有很多代表虚拟 CPUs ("threads") 的寄存器集。
128 个线程让物理处理器执行的操作是让虚拟处理器在外部延迟(例如,内存访问)时休眠,然后切换到另一个不等待任何事情的虚拟处理器。这意味着物理 CPU 几乎总是有工作要做,因此效率很高。内存访问的延迟是隐藏的,因此它可以是高度不均匀的。
要驾驭这样的系统,您需要一个高度并行的应用程序。如果您的应用程序只有几个并行元素,这样的处理器将没有足够多的线程不等待内存访问,因此效率不高。那么所有这些虚拟 CPU 只是浪费资源(更糟糕的是,它们会产生额外的热量)。
This article about YARC 提到超级计算机每个处理器有 128 个线程。
与超线程是同一个概念,其中本质上 cpu 具有允许充当多个处理器的附加寄存器?
是的,物理处理器会有很多代表虚拟 CPUs ("threads") 的寄存器集。
128 个线程让物理处理器执行的操作是让虚拟处理器在外部延迟(例如,内存访问)时休眠,然后切换到另一个不等待任何事情的虚拟处理器。这意味着物理 CPU 几乎总是有工作要做,因此效率很高。内存访问的延迟是隐藏的,因此它可以是高度不均匀的。
要驾驭这样的系统,您需要一个高度并行的应用程序。如果您的应用程序只有几个并行元素,这样的处理器将没有足够多的线程不等待内存访问,因此效率不高。那么所有这些虚拟 CPU 只是浪费资源(更糟糕的是,它们会产生额外的热量)。