多处理器系统技术方案

技术编号:4983999 阅读:183 留言:0更新日期:2012-04-11 18:40
抑制执行事件处理等的非固定执行的程序的处理器集中,提高多处理器系统的性能。为此,多处理器系统(100)具备:第一上下文存储器(110),存储由多个处理器中的某一个处理器非固定执行的程序的上下文数据,该第一上下文存储器(110)被共享;保存恢复控制部(103),设有与上述多个处理器的个数相同的个数,分别在对应的处理器有程序的执行请求的情况下,如果该程序是上述非固定执行的程序,则进行与上述第一上下文存储器之间的上下文数据的保存及恢复;以及选择请求部(109),每当发生上述非固定执行的程序的执行请求时,对所选择的处理器进行该程序的执行请求。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及在多处理器系统中高效率地并行执行多个程序的技术。
技术介绍
在以往的多处理器系统中,有如下方法程序或任务的切换由OS (Operating System 操作系统)执行,作为任务所固有的信息、且执行任务所需要的程序计数器及堆栈 等的上下文的切换由OS管理(例如参照专利文献1)。此外,在处理器中,也有通过硬件进行上下文的切换的方法(例如参照专利文献 2)。专利文献1 日本特开2005-043959号公报专利文献2 日本特开2003-271399号公报但是,在由OS执行上下文的切换的情况下,会发生因上下文的保存及恢复造成的 开销,成为性能变差的原因。此外,在按照多个处理器执行基于硬件的上下文切换的情况 下,如果对指定的处理器进行由非固定执行的程序的执行请求带来的中断,则仅在该处理 器中发生因非固定执行的程序的中断带来的调度的妨碍。因此,不能取得多个处理器间的 平衡,除了对于指定的处理器的固定执行的多个程序的需要性能以外,单单非固定执行的 程序的需要性能(对其添加了发生频率)也成为处理器的要求性能。
技术实现思路
所以,目的是解决上述问题,不会发生因上下文保存恢复带来的开销,并且通过取 得多个处理器中的性能平衡,在使各处理器中的需要性能为最小的同时,作为系统整体得 到较高的性能。为了解决上述问题,有关本专利技术的多处理器系统具备多个处理器,将多个程序一 边切换一边执行;第一上下文存储器,存储由上述多个处理器中的某一个处理器非固定执 行的程序的上下文数据,该第一上下文存储器由上述多个处理器共享;第二上下文存储器, 设有与上述多个处理器的个数相同的个数,分别存储对应的上述处理器固定执行的程序的 上下文数据,该第二上下文存储器由相关处理器专用;保存恢复控制部,同样设有与上述多 个处理器的个数相同的个数,分别在对于对应的上述处理器有程序的执行请求的情况下, 如果该程序是上述非固定执行的程序,则选择上述第一上下文存储器,并且如果是上述固 定执行的程序,则选择上述第二上下文存储器,在所选择的上下文存储器与该处理器之间 进行该程序的上下文数据的保存及恢复,该保存恢复控制部由相关处理器专用;以及选择 请求部,每当发生上述非固定执行的程序的执行请求时,选择上述多个处理器中的某一个 处理器,对所选择的处理器进行该程序的执行请求。另外,将“多个A中的各个A进行B (为 B),,称作“多个A分别进行B (为B) ”。多个第二上下文存储器中的各个第二上下文存储器 存储与该第二上下文存储器对应的处理器固定执行的程序的上下文数据。该第二上下文存 储器由该处理器专用。根据该结构,多个处理器能够分别使用该处理器专用的第二上下文存储器,与其 他处理器的动作无关地、自由地执行固定执行的程序。例如,能够不受其他处理器的动作妨 碍而自由地进行选择在固定执行的多个程序中执行哪一个的调度,或不需要从其他处理器 的该程序的数据传送等的大量的数据传送。另一方面,例如通过用户输入带来的中断等的 非固定中断而由多个处理器中的某一个处理器非固定执行的程序等的、由多个处理器中的 某一个处理器非固定执行的程序,通过由执行该程序的处理器使用第二上下文存储器,不 论是哪个处理器都能够执行。由此,每当发生执行请求时,由在该发生时选择的处理器执 行,能够防止执行的处理器集中于例如1个处理器等的少数处理器而多处理器系统的性能 下降的情况。此外,通过将执行非固定执行的程序的处理器充分分散到多个处理器,能够减 少例如因非固定执行的程序的执行而阻碍上述固定执行的程序的执行的情况,相反能够阻 碍因固定执行的程序的执行而阻碍非固定执行的程序的执行。因此,能够防止多处理器系 统的性能下降、提高多处理器系统的性能。另外,固定执行的程序例如可以是所谓的服务程序,也可以是所谓的守护 (daemon)程序,也可以是HTTP (HyperText Transfer Protocol 超文本传输协议)服务器 等的服务器用程序,也可以是常时监视对象的监视程序。另一方面,非固定执行的程序也可以是处理键输入等的用户输入、基于通信的输 入、对发生0的除法等的各种事件进行处理的事件处理用的程序。这里,该多处理器也可以是具备由上述多个处理器共享的主存储器;上述多个处 理器分别使用该主存储器,分别执行上述非固定执行的程序及上述固定执行的程序。根据该结构,例如上述多个处理器分别使用该处理器专用的专用存储器执行程 序。由此,与所选择的处理器从该处理器以外的其他处理器的其专用存储器花费较长时间 取得非固定执行的程序的处理过程中的中间数据等的数据的情况等相比,使非固定执行的 程序的处理过程中的数据的取得的延迟变少,多处理器系统能够更高速地动作。这里,该多处理器也可以是,上述多个处理器分别具备多个寄存器组;以及寄存 器组选择部,在上述多个寄存器组中选择某一个寄存器组,作为该处理器在程序的执行中 利用的执行用的寄存器组,并且将所选择的寄存器组以外的其他某一个寄存器组选择为上 下文数据的保存恢复用的寄存器组;上述多个处理器分别使用相关处理器的相关寄存器组 选择部选择为上述执行用的寄存器的寄存器组执行程序;在相关处理器使用所选择的上述 执行用的寄存器组来执行程序的同时,上述保存恢复控制部对所选择的上述保存恢复用的 寄存器组,进行上下文数据的保存及恢复。根据该结构,通过例如与使用执行用寄存器组的程序的执行并行地进行上下文数 据的保存恢复等、与该执行同时进行上下文数据的保存恢复,防止在保存及恢复的处理、程 序的执行的处理中发生开销(延迟时间),能够使多处理器系统高速化。这里,该多处理器系统也可以是上述多个处理器分别具有本地高速缓冲存储器的 共享存储器型多处理器系统。根据该结构,能够避免使固定执行的程序的处理在执行该程序的处理器的外部产 生无用的动作,并能够防止因为外部的动作、为了该程序的处理而在该处理器中发生无用 的动作,能够使多处理器系统的动作高速化。这里,也可以是,上述选择请求部在每当发生上述非固定执行的程序的执行请求时,在上述多个处理器之中,选择与上次发生上述非固定执行的程序的执行请求时选择的 处理器不同的处理器。根据该结构,不论哪个处理器都能够将非固定执行的程序的处理各进行相同的处 理量,能够可靠且充分地将非固定执行的程序的处理分散到多个处理器中,能够充分且可 靠地提高多处理器系统的性能。另外,例如选择请求部也可以保持确定多个处理器中的1个处理器的确定数据, 选择由所保持的确定数据确定的处理器,并且在每当进行该选择时,将保持的确定数据更 新为确定所选择的上述处理器以外的其他处理器的确定数据。这里,也可以是,上述选择请求部检测上述多个处理器的动作状态,选择对于所检 测到的动作状态具有预先设定的对应关系的处理器。如果是该结构,则能够检测例如在各处理器中哪个是睡眠状态(空闲状态)等的 动作状态,即检测哪个处理器处于有用来执行非固定执行的程序的富余的预先设定的状态 等的各处理器的动作状态。并且,能够基于该检测选择处于睡眠状态的处理器等、对应于动 作状态的适当的处理器,能够可靠地选择适合于选择时的动作状态的实际情况的处理器, 能够充分且可靠地提高多处理器系统的性能。此外,在解决上述问题时,有关本专利技术的他的多处理器系本文档来自技高网...

【技术保护点】
一种多处理器系统,具备:  多个处理器,将多个程序一边切换一边执行;  第一上下文存储器,存储由上述多个处理器中的某一个处理器非固定执行的程序的上下文数据,该第一上下文存储器由上述多个处理器共享;  第二上下文存储器,设有与上述多个处理器的个数相同的个数,分别存储对应的上述处理器固定执行的程序的上下文数据,该第二上下文存储器由相关处理器专用;  保存恢复控制部,同样设有与上述多个处理器的个数相同的个数,分别在对于对应的上述处理器有程序的执行请求的情况下,如果该程序是上述非固定执行的程序,则选择上述第一上下文存储器,并且如果是上述固定执行的程序,则选择上述第二上下文存储器,在所选择的上下文存储器与该处理器之间进行该程序的上下文数据的保存及恢复,该保存恢复控制部由相关处理器专用;以及  选择请求部,每当发生上述非固定执行的程序的执行请求时,选择上述多个处理器中的某一个处理器,对所选择的处理器进行该程序的执行请求。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:细木哲
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1