本发明专利技术涉及图像处理设备和方法以及图像形成设备。管理特定处理期间所生成的线程,其中,将启动处理期间所生成的线程的运行核固定为特定核,并且不设置在启动处理完成之后所生成的针对特定处理的线程的运行核。此外,启动处理完成的时刻之前所生成的针对特定处理的线程的运行核的设置恢复为原始设置。
【技术实现步骤摘要】
本专利技术涉及在多核处理器上执行多线程程序的情况下动态地改变向程序的线程的运行核的分配的程序处理设备和方法以及图像形成设备。
技术介绍
近年来,设置有多个核(进行运算处理的部分)的处理器已成为主流。以这种方式配置的处理器被称为“多核处理器”,并且各处理器核可以同时执行多个线程(处理的执行单位)。多核处理器不仅被配置为安装在台式PC和服务器设备中,而且还被配置为安装在诸如图像形成设备等的嵌入式装置中。在多核处理器安装在图像形成设备的情况下,经常使用针对各核设置高速缓存并且共用RAM的结构。在这种结构的情况下,由于用于维持高速缓存一致性(即,维持各核的高速缓存和RAM之间的一致性)的处理,因而依赖于正在运行的程序而频繁发生高速缓存丢失。具体地,在存在针对两个以上核的表示同一数据的高速缓存的情况下,如果其中一个核改变了该数据,则在另一核中高速缓冲的数据变为无效并且可能发生高速缓存丢失。该问题通常被称为假共享(false sharing)。在假共享频繁发生的情况下,使高速缓存同步的开销变得极大,因此与利用单核处理器进行工作的情况下的性能相比,性能显著下降。已知有通过将特定线程固定地分配给特定核来降低高速缓存丢失的频率并高效地执行程序以解决这些问题的技术(例如,参见日本特开2012-133682,第0075-0076段等)。然而,在由于假共享所引起的性能下降局限于执行特定线程上的特定处理时的情况下,如果运行该线程的核始终是固定的,则在没有执行该特定处
理的情况下的性能下降。例如,在诸如仅在进行用于启动图像形成设备中的特定程序的处理时由于假共享而性能下降等的情况下,如果针对该特定程序的线程的运行核保持固定,则即使防止了启动时的性能下降,也存在性能会在用户使用启动后的图像形成设备的功能的情况下发生劣化的担忧。因而,无法提供具有本应实现的性能的产品,因此用户友好性受损。
技术实现思路
在本专利技术中,通过采用在执行特定处理时使线程的运行核固定并且在该特定处理完成之后恢复相关线程的运行核的设置的结构,使得特定处理的执行期间的运行性能与特定处理完成之后的运行性能相平衡。本专利技术具有以下结构。根据本专利技术的一方面,提供一种程序处理设备,所述程序处理设备用于使用多核处理器执行多个线程,所述多核处理器包括多个处理器核和各处理器核所用的高速缓存,所述程序处理设备包括:线程管理部,用于存储所生成的线程的标识符;分配部,用于在预定运行状态下将特定程序的所生成的线程固定地分配给特定处理器核;以及用于在检测到取消了所述预定运行状态的情况下、解除具有所述线程管理部所管理的标识符的线程向所述特定处理器核的固定分配的部件。根据本专利技术的另一方面,提供一种图像处理设备,所述图像处理设备包括:程序处理装置,用于使用多核处理器执行多个线程,所述多核处理器包括多个处理器核和各处理器核所用的高速缓存,其中所述程序处理装置包括:线程管理部,用于存储所生成的线程的标识符,分配部,用于在预定运行状态下将特定程序的所生成的线程固定地分配给特定处理器核,以及用于在检测到取消了所述预定运行状态的情况下、解除具有所述线程管理部所管理的标识符的线程向所述特定处理器核的固定分配的部件;扫描器,用于读
取图像;打印机,用于打印图像;以及控制部,用于提供所述扫描器、所述打印机以及所述程序处理装置所执行的应用程序之间的接口。根据本专利技术的又一方面,提供一种程序处理方法,所述程序处理方法用于利用多核处理器执行多个线程,所述多核处理器包括多个处理器核和各处理器核所用的高速缓存,所述程序处理方法包括:存储所生成的线程的标识符;在预定运行状态下将特定程序的所生成的线程固定地分配给特定处理器核;以及在检测到取消了所述预定运行状态的情况下,解除具有所存储的标识符的线程向所述特定处理器核的固定分配。根据本专利技术的再一方面,提供一种程序处理设备,所述程序处理设备用于使用多核处理器执行多个线程,所述多核处理器包括多个处理器核和各处理器核所用的高速缓存,所述程序处理设备包括:生成部,用于生成应用程序的线程;以及分配部,用于将所述应用程序的线程分配给所述多个处理器核中的一个处理器核,其中,所述分配部在所述应用程序的启动期间,将所述应用程序的线程固定地分配给第一处理器核,并且在所述应用程序的启动完成之后,不将所述应用程序的线程固定地分配给所述第一处理器核。根据本专利技术,通过采用在执行特定处理时使线程的运行核固定并且在该特定处理完成之后恢复相关线程的运行核的设置的结构,使得特定处理的执行期间的运行性能与特定处理完成之后的运行性能相平衡,因而用户友好性得到改善。通过以下参考附图对典型实施例的说明,本专利技术的其它特征将变得明显。附图说明图1是示出图像形成设备的硬件结构的框图。图2是示出图像形成设备的软件结构的框图。图3是示出根据本专利技术的软件中所包括的特征功能的框图。图4是针对使用线程生成控制部所生成的线程的处理的流程图。图5是Java(注册商标)应用管理部的启动处理的流程图。具体实施方式以下将参考附图来详细说明根据本专利技术的实施例。注意,以下实施例并不限制根据权利要求书的范围的本专利技术,并且实施例中所述的特征的所有组合也不被限制为对于根据本专利技术的解决方案而言是必须的。此外,实施例中所出现的Java是注册商标,但由于在此明确陈述了该事实,因此将该事实从以下说明中省略。第一实施例图1是示出作为本专利技术所适用的程序处理设备的示例的图像形成设备的硬件结构的框图。图1中的图像形成设备包括操作部131、作为图像输入设备的扫描器部132、作为图像输出设备的打印机部133和管理图像形成设备的控制的控制器100。操作部131包括触摸面板显示器等并且具有向用户显示信息和接收来自用户的输入的功能。扫描器部132进行用于读取该扫描器部132上所放置的原稿上的图像的操作以生成图像数据。打印机部133使从控制器100接收到的图像数据在薄片上形成为打印数据。控制器100电气地连接至操作部131、扫描器部132和打印机部133,并且还经由网络I/F 106连接至LAN 140,并且可以从外部装置接收打印作业。CPU 101基于ROM 103中所存储的控制程序等对控制器100中所进行的各种处理进行一体化控制。此外,作为多核处理器的CPU 101具有2个内部处理器核(核0 121和核1 122)、与各处理器核相对应的高速缓冲存储器(高速缓冲存储器0 124和高速缓冲存储器1 125)以及控制高速缓冲存储器的高速缓冲控制部123。核0 121和核1 122是构成处理器的中央核的部分,并且进行实际的运算处理。高速缓冲存储器是用于对程序所使用的RAM 102上的数据进行高速缓冲的高速存储器。高速缓冲存储器0 124对核0 121所处理的数据进行高速缓冲,并且高速缓冲存储器1 125对核1 122所处理的数据进行高速缓冲。注意,RAM 102和高速缓冲存储器之间的速度差通常极大,因此通常安装二级高速缓存和三级高速缓存以缓解该速度差,但为了便于说明,将说明仅包括主高速缓存的示例。高速缓冲控制部123控制高速缓冲存储器0 124和高速缓冲存储器1 125中的数据。此外,高速缓冲控制部123进行用以维持高速缓存一致性(RAM 102和高速缓冲存储器本文档来自技高网...
【技术保护点】
一种程序处理设备,用于使用多核处理器执行多个线程,所述多核处理器包括多个处理器核和各处理器核所用的高速缓存,所述程序处理设备包括:线程管理部,用于存储所生成的线程的标识符;分配部,用于在预定运行状态下将特定程序的所生成的线程固定地分配给特定处理器核;以及用于在检测到取消了所述预定运行状态的情况下、解除具有所述线程管理部所管理的标识符的线程向所述特定处理器核的固定分配的部件。
【技术特征摘要】
2015.03.09 JP 2015-0463441.一种程序处理设备,用于使用多核处理器执行多个线程,所述多核处理器包括多个处理器核和各处理器核所用的高速缓存,所述程序处理设备包括:线程管理部,用于存储所生成的线程的标识符;分配部,用于在预定运行状态下将特定程序的所生成的线程固定地分配给特定处理器核;以及用于在检测到取消了所述预定运行状态的情况下、解除具有所述线程管理部所管理的标识符的线程向所述特定处理器核的固定分配的部件。2.根据权利要求1所述的程序处理设备,其中,所述预定运行状态是将同一数据高速缓冲存储在所述多个处理器核各自的高速缓存中的状态。3.根据权利要求1或2所述的程序处理设备,其中,所述特定程序是用于执行应用程序的虚拟机,以及所述预定运行状态是从所述特定程序开始所述应用程序的启动起直到完成要启动的所有应用程序的启动为止的状态。4.根据权利要求1或2所述的程序处理设备,其中,所述分配部在运行状态不是所述预定运行状态的情况下不将所生成的线程分配给所述特定处理器核,并且由操作系统来进行对没有分配给所述特定处理器核的线程的处理器核分配。5.根据权利要求1所述的程序处理设备,其中,所述特定处理器核是所述多个处理器核中的一个特定的处理器核。6.根据权利要求3所述的程序处理设备,其中,所述虚拟机是Java虚拟机,并且所述应用程序是Java应用。7.一种图像处理设备,包括:程序处理装置,用于...
【专利技术属性】
技术研发人员:坂井克也,
申请(专利权)人:佳能株式会社,
类型:发明
国别省市:日本;JP
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。