什么是 MUP(多 Uni 处理器)?
What are MUP (Multi Uni Processors)?
MUP(Multi Uni Processors)是否与多核处理器相同,或者它们是否具有相互连接的独立 CPU 以进行通信?我觉得 AMP 还是不一样的。谁能澄清一下?
在阅读有关 RTAI(linux 的实时扩展)调度程序时遇到这个问题。请检查 link,最好是第一行和相关的最后一段。
https://www.rtai.org/userfiles/documentation/magma/html/api/sched_overview.html
这是 RTAI (http://en.wikipedia.org/wiki/RTAI, https://www.rtai.org/) specific term to specify one of three scheduler kinds. They were defined in 2003 paper https://www.rtai.org/userfiles/documentation/documents/motioncontrol2003.pdf
"Linux Real Time Application Interface (RTAI) in low cost high performance motion control"
RTAI makes available three schedulers: Uniprocessor (UP), optimised for uniprocessor machines; Symmetric Multi Processors (SMP) and Multi UniProcessor (MUP) for symmetric multiprocessors applications. The SMP scheduler affords the best compromise between flexibility and efficiency in kernel space applications using RTAI proper kernel tasks, as it can schedule any ready task on any CPU, while allowing to selectively impose selected tasks to run on a specific CPU or CPUs cluster. The MUP scheduler instead imposes that any task is assigned to a specific CPU from its very creation and can achieve better performances because it can exploit memory caching more efficiently. ...
There is no restriction in the use of any scheduler, real time tasks can interact without any constraint, irrespective of what CPU they are running on. SMP and MUP schedulers can be used also with uniprocessors.
因此,"UP" 调度程序只能使用单核处理器。 "SMP" 调度程序可以使用多个内核(或 CPUs 集群 - NUMA 中的物理处理器)在其上规划任务,并且可以将任务从一个内核重新映射到另一个内核。 "MUP" 调度程序可以使用多个内核,但不会将任务从一个内核移动到另一个内核。与 "SMP" 不同的是,当任务可能会从其缓存数据中移走时,任务将始终将其数据保存在最近的 MUP 缓存中。
有些资源在 MUP 调度程序中不共享,这对于在一台机器上组合多个实时任务很有用。 MUP 每个 CPU 使用一个定时器(而 SMP 有公共定时器?):
It is also important to note that the MUP scheduler uses independent per CPU timers and each of them can run independently from any other, so that timers
mode of operation can be freely assigned, e.g. there can be periodic and oneshot timers and periodic timers need not to run at the same period.
www.cs.ucf.edu/~lboloni/Teaching/EEL6897_2007/presentations/ZubairIlhan_RTAI.ppt
SMP&MUP Scheduler
- SMP can schedule tasks to more than one CPU. Different degrees of additional services can be dealt with on a specific CPU.
- SMP scheduler remains a priority driven scheduler.
- MUP scheduler views a multiprocessor machine as a collection of many uniprocessors. Each CPU can have its timer programmed differently.
- With MPU, a CPU can run in periodic mode while another running in one-shot mode.
MUP(Multi Uni Processors)是否与多核处理器相同,或者它们是否具有相互连接的独立 CPU 以进行通信?我觉得 AMP 还是不一样的。谁能澄清一下? 在阅读有关 RTAI(linux 的实时扩展)调度程序时遇到这个问题。请检查 link,最好是第一行和相关的最后一段。 https://www.rtai.org/userfiles/documentation/magma/html/api/sched_overview.html
这是 RTAI (http://en.wikipedia.org/wiki/RTAI, https://www.rtai.org/) specific term to specify one of three scheduler kinds. They were defined in 2003 paper https://www.rtai.org/userfiles/documentation/documents/motioncontrol2003.pdf
"Linux Real Time Application Interface (RTAI) in low cost high performance motion control"
RTAI makes available three schedulers: Uniprocessor (UP), optimised for uniprocessor machines; Symmetric Multi Processors (SMP) and Multi UniProcessor (MUP) for symmetric multiprocessors applications. The SMP scheduler affords the best compromise between flexibility and efficiency in kernel space applications using RTAI proper kernel tasks, as it can schedule any ready task on any CPU, while allowing to selectively impose selected tasks to run on a specific CPU or CPUs cluster. The MUP scheduler instead imposes that any task is assigned to a specific CPU from its very creation and can achieve better performances because it can exploit memory caching more efficiently. ... There is no restriction in the use of any scheduler, real time tasks can interact without any constraint, irrespective of what CPU they are running on. SMP and MUP schedulers can be used also with uniprocessors.
因此,"UP" 调度程序只能使用单核处理器。 "SMP" 调度程序可以使用多个内核(或 CPUs 集群 - NUMA 中的物理处理器)在其上规划任务,并且可以将任务从一个内核重新映射到另一个内核。 "MUP" 调度程序可以使用多个内核,但不会将任务从一个内核移动到另一个内核。与 "SMP" 不同的是,当任务可能会从其缓存数据中移走时,任务将始终将其数据保存在最近的 MUP 缓存中。
有些资源在 MUP 调度程序中不共享,这对于在一台机器上组合多个实时任务很有用。 MUP 每个 CPU 使用一个定时器(而 SMP 有公共定时器?):
It is also important to note that the MUP scheduler uses independent per CPU timers and each of them can run independently from any other, so that timers mode of operation can be freely assigned, e.g. there can be periodic and oneshot timers and periodic timers need not to run at the same period.
www.cs.ucf.edu/~lboloni/Teaching/EEL6897_2007/presentations/ZubairIlhan_RTAI.ppt
SMP&MUP Scheduler
- SMP can schedule tasks to more than one CPU. Different degrees of additional services can be dealt with on a specific CPU.
- SMP scheduler remains a priority driven scheduler.
- MUP scheduler views a multiprocessor machine as a collection of many uniprocessors. Each CPU can have its timer programmed differently.
- With MPU, a CPU can run in periodic mode while another running in one-shot mode.