JP6465384B2 - Image forming apparatus, parallel processing control program, and parallel processing control method - Google Patents
Image forming apparatus, parallel processing control program, and parallel processing control method Download PDFInfo
- Publication number
- JP6465384B2 JP6465384B2 JP2014225038A JP2014225038A JP6465384B2 JP 6465384 B2 JP6465384 B2 JP 6465384B2 JP 2014225038 A JP2014225038 A JP 2014225038A JP 2014225038 A JP2014225038 A JP 2014225038A JP 6465384 B2 JP6465384 B2 JP 6465384B2
- Authority
- JP
- Japan
- Prior art keywords
- period
- image forming
- forming apparatus
- processing
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、画像形成装置及び並列処理制御プログラム並びに並列処理制御方法に関し、特に、マルチコアプロセッサを備える画像形成装置及び当該画像形成装置における並列処理を制御する並列処理制御プログラム並びに並列処理制御方法に関する。 The present invention relates to an image forming apparatus, a parallel processing control program, and a parallel processing control method, and more particularly to an image forming apparatus including a multi-core processor, a parallel processing control program for controlling parallel processing in the image forming apparatus, and a parallel processing control method.
動作周波数を上げてプロセッサの性能向上を図ることは、消費電力及び冷却の観点から困難になっていることから、消費電力を抑えつつ処理性能を向上させる手法としてマルチコアプロセッサが普及している。マルチコアプロセッサでは、複数のプロセッサコアを使用して並列処理を行うことにより、処理性能の向上を図ることができ、プロセッサコア1つあたりの動作周波数を下げることにより、省電力化を図ることができる。 Since it is difficult to improve the performance of the processor by increasing the operating frequency from the viewpoint of power consumption and cooling, multi-core processors are widely used as a method for improving processing performance while suppressing power consumption. A multi-core processor can improve processing performance by performing parallel processing using a plurality of processor cores, and can reduce power consumption by lowering the operating frequency per processor core. .
マルチコアプロセッサを使用して並列処理を行うシステムに関して、例えば、下記特許文献1には、複数のコアを有する複数のマルチコアプロセッサと、各マルチコアプロセッサの資源を共有する共有資源とを有するマルチコアシステムであって、前記各マルチコアプロセッサの負荷情報と、前記共有資源に対するアクセス時の負荷情報とを取得する負荷情報収集手段と、前記負荷情報収集手段により取得した前記各マルチコアプロセッサの負荷情報と、前記アクセス時の負荷情報との条件に基づいて、負荷分散を行うか否かの判定を行う負荷分散判定手段と、前記負荷分散判定手段により、前記負荷分散を行うと判断された際には、負荷を分散する負荷分散手段とを有する構成が開示されている。 Regarding a system that performs parallel processing using a multi-core processor, for example, Patent Document 1 below is a multi-core system that includes a plurality of multi-core processors having a plurality of cores and a shared resource that shares the resources of each multi-core processor. Load information collecting means for obtaining load information of each multi-core processor and load information at the time of accessing the shared resource, load information of each multi-core processor obtained by the load information collecting means, and at the time of access Load distribution determining means for determining whether or not to perform load distribution based on the condition of the load information, and when the load distribution determining means determines that the load distribution is to be performed, the load is distributed A configuration having load balancing means is disclosed.
上記マルチコアプロセッサは様々な装置に採用することができるが、特に、複数の機能を備える装置に採用することにより、大きな効果を発揮することができる。例えば、MFP(Multi Function Peripheral)などの画像形成装置にマルチコアプロセッサを採用することにより、コピー/プリント/スキャン/FAX等の複数の機能を並列処理することが可能となる。 The multi-core processor can be employed in various devices, but can be particularly effective when employed in a device having a plurality of functions. For example, by adopting a multi-core processor in an image forming apparatus such as an MFP (Multi Function Peripheral), a plurality of functions such as copy / print / scan / FAX can be processed in parallel.
ここで、複数の機能を複数のプロセッサコアで並列処理する場合、それぞれのプロセッサコアは、メインメモリにアクセスして、対象となる機能の処理に必要な命令(プログラム)やデータを取得する必要がある。そのため、メインメモリへのアクセスが集中し、各プロセッサコアとメインメモリとを繋ぐメモリバスの負荷が大きくなり、この負荷がボトルネックとなって処理性能の低下を招く可能性がある。その結果、制限時間内に各機能の処理を完了させることができず、処理のリアルタイム性の確保が困難になるという問題があった。 Here, when a plurality of functions are processed in parallel by a plurality of processor cores, each processor core needs to access the main memory to acquire instructions (programs) and data necessary for processing the target function. is there. For this reason, accesses to the main memory are concentrated, and the load on the memory bus connecting each processor core and the main memory becomes large. This load may become a bottleneck and cause a decrease in processing performance. As a result, the processing of each function cannot be completed within the time limit, and there is a problem that it is difficult to ensure real-time processing.
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、マルチコアプロセッサを採用した構成において、処理のリアルタイム性を確保しつつ、処理性能を向上させることができる画像形成装置及び並列処理制御プログラム並びに並列処理制御方法を提供することにある。 The present invention has been made in view of the above problems, and a main object thereof is an image forming apparatus capable of improving processing performance while ensuring real-time processing in a configuration employing a multi-core processor. And a parallel processing control program and a parallel processing control method.
本発明の一側面は、キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置であって、前記画像形成装置の動作を制御する制御部は、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する負荷算出部と、前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する期間予測部と、前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを、前記ダミー実行を行ったプロセッサコアで実実行する処理制御部と、を備えることを特徴とする。 One aspect of the present invention is an image forming apparatus including a plurality of processor cores that hold a cache memory, the multi-core processor in which the plurality of processor cores share one main memory, and the operation of the image forming apparatus A control unit that controls a load calculation unit that calculates a memory access load to the main memory for each period defined in accordance with an overlap of processing steps of a plurality of jobs, and a memory access load for each period A period predicting unit that predicts a first period in which the memory access load to the main memory is maximized, and any one of a plurality of processing steps scheduled to be executed in the first period. , Dummy execution is performed on a processor core that is not performing processing of the plurality of jobs in a period before the first period, and the dummy execution is completed , The process steps, characterized in that and a processing control unit for the actual executed in the processor core subjected to the dummy execution.
本発明の一側面は、キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置で動作する並列処理制御プログラムであって、前記画像形成装置に、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理、前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理、前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを、前記ダミー実行を行ったプロセッサコアで実実行する第3処理、を実行させることを特徴とする。 One aspect of the present invention is a parallel processing control program that operates in an image forming apparatus that includes a plurality of processor cores that hold cache memory, and the plurality of processor cores share a single main memory. The image forming apparatus has a first process for calculating a memory access load to the main memory for each period defined in accordance with an overlap of processing steps of a plurality of jobs, based on the memory access load for each period. , A second process for predicting a first period in which the memory access load to the main memory is maximized, and any one of a plurality of process steps scheduled to be executed in the first period, During a period prior to the first period, dummy execution is performed on a processor core that is not processing the plurality of jobs, and the dummy execution is completed. After, the processing steps, characterized in that to execute the third process, the actual executed in the processor core subjected to the dummy execution.
本発明の一側面は、キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置における並列処理制御方法であって、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理と、前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理と、前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを、前記ダミー実行を行ったプロセッサコアで実実行する第3処理と、を実行することを特徴とする。 One aspect of the present invention is a parallel processing control method in an image forming apparatus that includes a plurality of processor cores that hold a cache memory, and the plurality of processor cores includes a multi-core processor that shares one main memory. A first process for calculating a memory access load to the main memory for each period defined in accordance with an overlap of processing steps of the job, and a memory for the main memory based on the memory access load for each period The second process for predicting the first period in which the access load is maximized, and any one of the plurality of process steps scheduled to be executed in the first period is more than the first period. the previous period, the dummy run with multiple processor cores process is not performed in the job, after completion the dummy execution, the process steps And executes a third process that the actual executed in the processor core subjected to the dummy execution.
本発明の画像形成装置及び並列処理制御プログラム並びに並列処理制御方法によれば、マルチコアプロセッサを採用した構成において、メモリアクセス負荷を分散させることが可能となり、メモリアクセスのボトルネックが解消され、処理のリアルタイム性を確保しつつ、処理性能を向上させることができる。 According to the image forming apparatus, the parallel processing control program, and the parallel processing control method of the present invention, it is possible to distribute the memory access load in the configuration employing the multi-core processor, and the bottleneck of the memory access is eliminated. Processing performance can be improved while ensuring real-time performance.
背景技術で示したように、消費電力を抑えつつ処理性能を向上させる手法としてマルチコアプロセッサが普及しており、様々な装置に利用されている。特に、コピー/プリント/スキャン/FAX等の複数の機能を備えるMFPなどの画像形成装置では、複数の機能の処理を同時に行う必要があることから、マルチコアプロセッサを採用するケースが増えている。 As shown in the background art, a multi-core processor is widely used as a method for improving processing performance while suppressing power consumption, and is used in various apparatuses. In particular, in an image forming apparatus such as an MFP having a plurality of functions such as copy / print / scan / FAX, it is necessary to perform processing of a plurality of functions at the same time.
マルチコアプロセッサを用いて並列処理を行う場合、それぞれのプロセッサコアはメインメモリにアクセスして、必要な命令やデータを取得するため、メモリアクセスが集中して、処理性能の低下を招く可能性がある。そして、処理性能の低下によって制限時間内に各処理を完了させることができなくなった場合には、処理のリアルタイム性が確保できなくなる。 When performing parallel processing using a multi-core processor, each processor core accesses the main memory to obtain necessary instructions and data, so that memory access is concentrated and processing performance may be reduced. . If each process cannot be completed within the time limit due to a decrease in processing performance, the real-time property of the process cannot be ensured.
この問題に対して、特許文献1では、プログラム実行中に、一定間隔で各プロセッサコアの負荷情報とメモリアクセス時の負荷情報を取得し、システムにおける負荷の偏りを判定し、偏りがある場合は負荷分散が必要であると判断して、移動対象スレッドを決定し、別のプロセッサコアに移動させる方法を提案している。しかしながら、この方法では、メモリアクセス負荷の大きい処理が連続した場合には、スレッドを移動させてもメモリアクセス負荷を軽減することができず、また、スレッドを移動させることによって処理のリアルタイム性が確保できなくなる。 With respect to this problem, in Patent Document 1, load information of each processor core and load information at the time of memory access are acquired at regular intervals during program execution, and the load imbalance in the system is determined. A method is proposed in which it is determined that load distribution is necessary, a thread to be moved is determined, and the thread is moved to another processor core. However, with this method, when processing with a large memory access load continues, the memory access load cannot be reduced even if the thread is moved, and real-time processing is ensured by moving the thread. become unable.
そこで、本発明の一実施の形態では、キャッシュメモリを保持するプロセッサコアを複数有し、複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置において、メモリアクセス負荷が大きい期間に実行する処理ステップを、メインメモリから命令のみを読み込んでキャッシュメモリに保存する第1段階(ダミー実行と呼ぶ。)と、メインメモリからデータを読み込んで、キャッシュメモリに保存した命令を実行する第2段階(実実行と呼ぶ。)と、に分割して実行するようにする。 Therefore, in an embodiment of the present invention, a memory access load is large in an image forming apparatus that includes a plurality of processor cores that hold a cache memory and that includes a multi-core processor in which the plurality of processor cores share one main memory. The processing steps executed in the period are the first stage (referred to as dummy execution) in which only instructions are read from the main memory and stored in the cache memory, and the instructions stored in the cache memory are executed by reading data from the main memory. It is divided into the second stage (referred to as actual execution) and executed.
具体的には、新規ジョブの受信開始時に、予め用意した各処理ステップのメモリアクセス負荷情報から、複数のジョブの処理ステップの重なりに応じて規定される期間毎のメモリアクセス負荷を算出し、メインメモリへのアクセスが集中する期間(第1の期間)を予測する。そして、メインメモリへのアクセスが集中する期間に実行する予定のいずれかの処理ステップを、第1の期間よりも前の第2の期間に、別のプロセッサコアでダミー実行し、その後、その処理ステップを、ダミー実行したプロセッサコアで実実行する。 Specifically, at the start of receiving a new job, the memory access load for each period defined according to the overlap of the processing steps of a plurality of jobs is calculated from the memory access load information of each processing step prepared in advance. A period (first period) in which access to the memory is concentrated is predicted. Then, one of the processing steps scheduled to be executed in a period in which access to the main memory is concentrated is dummy-executed in another processor core in the second period before the first period, and then the processing is performed. The step is actually executed by the dummy processor core.
このように、ダミー実行において、メインメモリにアクセスして命令を読み込むことにより、実実行時のメインメモリへのアクセス回数を低減することができるため、メモリアクセス負荷を分散させることができ、処理性能の低下を防ぐことができる。また、メインメモリへのアクセスが集中する期間よりも前の期間にダミー実行を行うため、ダミー実行と実実行の2段階に分割することによる処理の遅延を抑制して、処理のリアルタイム性を確保することができる。 In this way, in dummy execution, by accessing the main memory and reading instructions, the number of accesses to the main memory during actual execution can be reduced, so the memory access load can be distributed and the processing performance Can be prevented. In addition, because dummy execution is performed before the period when access to the main memory is concentrated, processing delay due to division into two stages, dummy execution and actual execution, is suppressed, and real-time processing is ensured can do.
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る画像形成装置及び並列処理制御プログラム並びに並列処理制御方法について、図1乃至図16を参照して説明する。図1は、本実施例の画像形成装置の構成を示すブロック図であり、図2は、制御部の構成を示すブロック図である。また、図3は、制御部により実行される機能を示すブロック図であり、図4は、本実施例の画像形成装置の動作を示すフローチャート図である。また、図5及び図7は、画像形成装置のコピー/プリントの処理ステップの構成を示す図であり、図6及び図8は、コピー/プリントの各処理ステップのメモリアクセス負荷を示すテーブルである。また、図9及び図13は、並列処理の期間を示す図、図10及び図14は、並列処理の各期間のメモリアクセス負荷を示すテーブルであり、図11、図12、図15及び図16は、並列処理における並列処理制御の一例を示す模式図である。 In order to describe the above-described embodiment of the present invention in more detail, an image forming apparatus, a parallel processing control program, and a parallel processing control method according to an embodiment of the present invention will be described with reference to FIGS. To do. FIG. 1 is a block diagram illustrating the configuration of the image forming apparatus according to the present exemplary embodiment, and FIG. 2 is a block diagram illustrating the configuration of the control unit. FIG. 3 is a block diagram illustrating functions executed by the control unit, and FIG. 4 is a flowchart illustrating the operation of the image forming apparatus according to the present exemplary embodiment. 5 and 7 are diagrams showing the configuration of the copy / print processing steps of the image forming apparatus, and FIGS. 6 and 8 are tables showing the memory access load of each copy / print processing step. . 9 and 13 are diagrams showing periods of parallel processing, and FIGS. 10 and 14 are tables showing memory access loads in each period of parallel processing. FIG. 11, FIG. 12, FIG. 15 and FIG. These are schematic diagrams showing an example of parallel processing control in parallel processing.
本実施例の画像形成装置10は、MFPなどの画像形成装置などであり、図1に示すように、マルチコアプロセッサ12とメインメモリ13とを含み、画像形成装置10の動作を制御する制御部11と、HDD(Hard Disk Drive)15と、ネットワークI/F部16と、スキャナ部17と、FAX制御部18と、画像形成部19と、操作表示部20などで構成される。
An image forming apparatus 10 according to the present exemplary embodiment is an image forming apparatus such as an MFP, and includes a
マルチコアプロセッサ12は、図2に示すように、複数のプロセッサコア12a(ここでは0〜N−1のN個のプロセッサコア)と、各々のプロセッサコア12aに接続されるキャッシュメモリ12bと、で構成される。そして、各々のプロセッサコア12aとキャッシュメモリ12bのセットが、メモリバス14を介して接続されたメインメモリ13を共有する構成となっている。
As shown in FIG. 2, the
上記メインメモリ13には、画像形成装置10の各機能の処理を実行するための命令(プログラムのコード)及び各機能の処理を実行するためのデータが記録される。そして、制御部11がコピーやプリント、FAXなどの機能を制御する際、当該機能に割り当てられたプロセッサコア12aは、メインメモリ13から命令及びデータを読み出し、キャッシュメモリ12bに保存して実行することによって当該機能の処理を行う。
In the
具体的には、制御部11は、スキャナ部17が原稿から読み取った画像データ(コピーデータ)や、FAX制御部18が送受信する画像データ(FAXデータ)に対して、エッジ強調処理やスムージング処理、色変換処理等の画像処理を行う。また、外部のコンピュータ装置から取得したプリントジョブ(PJL(Printer Job Language)やPS(PostScript)、PCL(Printer Control Language)等のページ記述言語で記述されたPDL(Page Description Language)データ、または、PDF(Portable Document Format)データ)に対して、プリントジョブに含まれる各ページをラスタライズしてページ毎の画像データを生成し、生成した画像データ(プリントデータ)に対して上記画像処理を行う。そして、画像処理後の画像データを画像形成部19にVIDEO出力する。
Specifically, the control unit 11 performs edge enhancement processing and smoothing processing on image data (copy data) read from a document by the
なお、上記マルチコアプロセッサ12は、各プロセッサコア12aに特定の機能を割り当てるAMP(Asymmetric Multiprocessing)にて動作させてもよいし、個々のプロセッサコア12aが対等の条件でメインメモリ13を共有するSMP(Symmetric Multiprocessing)にて動作させてもよいし、AMPとSMPを併合したBMP(Bound Multiprocessing)にて動作させてもよい。AMPで動作させる場合は、本実施例の並列処理制御プログラム(必要に応じてOS(Operating System)など)は特定のプロセッサコア12aで実行され、SMPで動作させる場合は、本実施例の処理制御プログラム(必要に応じてOSなど)は全てのプロセッサコア12aで実行されることになる。
The
また、マルチコアプロセッサ12におけるプロセッサコア12aの数は特に限定されない。また、複数のプロセッサコア12aは、同種の(規模や構成、処理能力が同じ)コアとしてもよいし、規模や構成、処理能力が異なるコアとしてもよい。
Further, the number of
HDD15は、外部のコンピュータ装置から取得したプリントジョブ、プリントジョブから生成した中間データ(ディスプレイリスト)、ディスプレイリストから生成した画像データ(プリントデータ)、スキャナ部17が原稿から読み取った画像データ(コピーデータ)、FAX制御部18が送受信する画像データ(FAXデータ)などを保存する。
The
ネットワークI/F部16は、電話回線に接続するためのモデムや、LAN(Local Area Network)などの構内通信網に接続するためのNIC(Network Interface Card)などであり、電話回線を介して接続されるFAX装置とのFAX通信や構内通信網を介して接続されるコンピュータ装置との通信を可能にする。
The network I /
スキャナ部17は、原稿台上に載置された原稿から画像データを光学的に読み取る部分であり、原稿を走査する光源と、原稿で反射された光を電気信号に変換するCCD(Charge Coupled Devices)等のイメージセンサと、電気信号をA/D変換するA/D変換器等により構成され、原稿から読み取った画像データ(コピーデータ)を制御部11に出力する。
The
FAX制御部18は、ネットワークI/F部16を制御し、外部のFAX装置に対してFAXデータを送信したり、外部のFAX装置からFAXデータを受信し、受信したFAXデータを制御部11に出力したりする。
The
画像形成部19(エンジン)は、制御部11からVIDEO出力される画像データに基づき、用紙への印刷処理を行う。具体的には、電子写真方式の場合は、帯電装置により帯電された感光体ドラムに、露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに1次転写し、転写ベルトから用紙に2次転写し、更に定着装置で用紙上のトナー像を定着させる処理を行う。 The image forming unit 19 (engine) performs printing processing on paper based on the image data output from the control unit 11 as VIDEO. Specifically, in the case of an electrophotographic system, an electrostatic latent image is formed by irradiating light corresponding to an image from an exposure device onto a photosensitive drum charged by a charging device, and toner charged by a developing device is used. The toner image is attached and developed, and the toner image is primarily transferred to the transfer belt, secondarily transferred from the transfer belt to the paper, and further, the fixing device fixes the toner image on the paper.
操作表示部20は、LCD(Liquid Crystal Display)等の表示部上に格子状の透明電極からなるタッチセンサなどの操作部が配置されたタッチパネル、ハードキーなどで構成され、画像形成装置10の操作画面を提示し、ユーザからの操作を受け付け、操作に応じた信号を制御部11に出力する。
The
なお、図1では、画像形成装置10にスキャナ部17とFAX制御部18と画像形成部19とを設けたが、本実施例の画像形成装置10は、並列処理のための複数の機能を備えていればよく、例えば、コピーとプリントのみを実行する場合はFAX制御部18を省略することができる。また、画像形成部19(エンジン)は、必ずしも画像形成装置10に内蔵されている必要はなく、画像形成部19が別の装置として分離した構成としてもよい。また、本実施例では、マルチコアプロセッサ12による並列処理を制御するプログラム(並列処理制御プログラム)をマルチコアプロセッサ12自身に実行させる構成とするが、マルチコアプロセッサ12以外のプロセッサに実行させることも可能であり、その場合は、マルチコアプロセッサ12を管理するプロセッサ(CPU(Central Processing Unit)など)を備える構成とすることもできる。
In FIG. 1, the image forming apparatus 10 includes the
上記構成の画像形成装置10において、コピーを行う場合は、スキャナ部17に原稿をスキャンさせ、スキャンデータを次ステップの入力形式に変換するデータ変換を行い、エッジ強調処理やスムージング処理、色変換処理等の画像処理を行った後、画像形成部19にVIDEO出力する。また、プリントを行う場合は、PDL等で記述されたプリントジョブのデータを受信し、プリントジョブに含まれる各ページをラスタライズしてページ毎の画像データを生成し(RIP(Raster Image Processing)処理と呼ぶ。)、生成した画像データに対して上記画像処理を行った後、画像形成部19にVIDEO出力する。また、FAX受信を行う場合は、FAX制御部18からFAXデータを受信し、FAXデータを次ステップの入力形式に変換するデータ変換を行い、変換した画像データに対して上記画像処理を行った後、画像形成部19にVIDEO出力する。
In the image forming apparatus 10 having the above configuration, when copying, the
上記コピーやプリント、FAXにおける各々の処理ステップを実行する際に、プロセッサコア12aは、メモリバス14を介してメインメモリ13から命令やデータを読み出すため、複数の機能を同時に実行する場合、処理ステップが重なり、メインメモリ13へのメモリアクセス負荷が大きくなり、処理能力が低下する。この場合、重なった処理ステップをずらして実行する(特許文献1のようにスレッドを移動させる)ことによって、メモリバス14へのメモリアクセス負荷を軽減することはできるが、この方法では、メモリアクセス負荷の大きい処理が連続した場合は、処理ステップをずらすことができないし、処理ステップをずらすことによって処理の実行タイミングが遅れ、処理のリアルタイム性を確保することができない。
The
そこで、本実施例では、処理のリアルタイム性を確保しつつ、処理能力を向上させるために、図3に示すように、制御部11に、負荷算出部11a、期間予測部11b、処理制御部11cとしての機能を持たせる。すなわち、制御部11を、負荷算出部11a、期間予測部11b及び処理制御部11cとして機能させる並列処理制御プログラムを、いずれか1つのプロセッサコア12aに実行させるようにする。
Therefore, in this embodiment, in order to improve the processing capability while ensuring real-time processing, as shown in FIG. 3, the control unit 11 includes a
負荷算出部11aは、並列処理に際して複数のジョブの処理ステップの重なりに応じて規定される(すなわち、各処理ステップの開始タイミング又は終了タイミングによって区切られる)期間毎に、メインメモリ13へのメモリアクセス負荷を算出する。期間予測部11bは、算出された期間毎のメモリアクセス負荷に基づいて、メインメモリ13へのメモリアクセスが集中する(最大となる)期間(第1の期間と呼ぶ。)を予測する。処理制御部11cは、上記予測した第1の期間に実行される予定のいずれかの処理ステップを、第1の期間よりも前の期間(以下、第2の期間と呼ぶ。)に、複数のジョブの処理を行っていないアイドル状態のプロセッサコア12aでダミー実行し、その後、その処理ステップを、ダミー実行を行ったプロセッサコア12aで実実行する。
The
なお、ダミー実行とは、処理ステップを実行するために必要な命令のみをメインメモリ13から読み出してキャッシュメモリに保存する実行形態であり、実実行とは、その処理ステップを実行するために必要なデータをメインメモリ13から読み出し、読み出したデータを参照して、キャッシュメモリに予め保存した命令を実行する実行形態である。
The dummy execution is an execution form in which only instructions necessary for executing a processing step are read from the
このように、ダミー実行及び実実行は、処理ステップを通常通りに実行する(命令とデータを併せて読み出す場合)よりもメインメモリ13へのメモリアクセスが少ないため、処理ステップが重なることによるメモリアクセス負荷の増加を抑制することができ、また、メモリアクセス負荷が最大になる期間よりも前の期間にダミー実行を行うことにより、処理の遅延を抑制して、処理のリアルタイム性を確保することができる。
As described above, in the dummy execution and the actual execution, the memory access to the
以下、本実施例の画像形成装置10の動作について説明する。マルチコアプロセッサ12は、並列処理制御プログラムを実行することにより、図4のフローチャート図に示す処理を実行する。なお、図4は、コピーとプリントの並列処理を行った場合(コピー中にプリントジョブを受信した場合)の制御フローである。
Hereinafter, the operation of the image forming apparatus 10 of this embodiment will be described. The
まず、制御部11(負荷算出部11a)は、新規プリントジョブを受信すると、各期間におけるメモリアクセス負荷を算出する(S101)。
First, when receiving a new print job, the control unit 11 (
具体的には、図5に示すように、コピーは、スキャン/データ変換/画像処理/VIDEO出力の4つの処理ステップで構成されることから、図6に示すように、コピーの各処理ステップに対して予めメモリアクセス負荷を設定しておく。また、図7に示すように、プリントは、データ受信/RIP処理/画像処理/VIDEO出力の4つの処理ステップで構成されることから、図8に示すように、プリントの各処理ステップに対して予めメモリアクセス負荷を設定しておく。 Specifically, as shown in FIG. 5, a copy is composed of four processing steps of scan / data conversion / image processing / VIDEO output, so that as shown in FIG. A memory access load is set in advance. Also, as shown in FIG. 7, printing is composed of four processing steps of data reception / RIP processing / image processing / VIDEO output, so that as shown in FIG. A memory access load is set in advance.
なお、この処理ステップ毎のメモリアクセス負荷は、実測値としてよいし計算値としてもよい。また、絶対値としてもよいし、相対値としてもよい。また、コピーやプリントにおける用紙サイズや解像度、カラー/モノクロなどの条件によってメモリアクセス負荷が変化することから、メモリアクセス負荷は、各種条件の平均値としてもよいし、よく使用される条件での代表値としてもよく、条件毎のメモリアクセス負荷を用意してもよい。 The memory access load for each processing step may be an actually measured value or a calculated value. Also, it may be an absolute value or a relative value. In addition, since the memory access load varies depending on conditions such as paper size, resolution, and color / monochrome in copying and printing, the memory access load may be an average value of various conditions, or a representative of frequently used conditions. A memory access load for each condition may be prepared.
そして、コピーの途中で新規のプリントジョブを受信した場合、負荷算出部11aは、図9に示すように、処理ステップの重なりに応じて規定される期間を設定し、図5及び図7のテーブルを参照して、各々の期間の各処理ステップのメモリアクセス負荷を加算して期間毎のメモリアクセス負荷を算出する。図10は、期間毎のメモリアクセス負荷を記述したテーブルの一例である。
When a new print job is received in the middle of copying, the
例えば、期間1はプリントのデータ受信を行っている期間であり、その間、コピーではデータ変換を行っていることから、その期間のメモリアクセス負荷は35+15=50となる。また、期間2は、プリントのRIP処理を開始してからコピーのデータ変換が終了するまでの期間であり、その期間のメモリアクセス負荷は35+40=75となる。また、期間3は、コピーの画像処理を行っている期間であり、その間、プリントではRIP処理を行っていることから、その期間のメモリアクセス負荷は25+40=65となる。また、期間4は、コピーのVIDEO出力を開始してからプリントのRIP処理が終了するまでの期間であり、その期間のメモリアクセス負荷は20+40=60となる。また、期間5は、プリントの画像処理を開始してからコピーのVIDEO出力が終了するまでの期間であり、その期間のメモリアクセス負荷は20+25=45となる。
For example, period 1 is a period during which print data is being received, and during that time, data conversion is performed during copying, so the memory access load during that period is 35 + 15 = 50. Period 2 is a period from the start of print RIP processing to the end of copy data conversion, and the memory access load in that period is 35 + 40 = 75. Period 3 is a period during which image processing for copying is performed, and during that time, since RIP processing is performed for printing, the memory access load during that period is 25 + 40 = 65.
図4のフローチャート図に戻って、制御部11(期間予測部11b)は、コピーのデータ変換とプリントのRIP処理とが重なるか期間があるかどうかを判定する(S102)。なお、この判定を行うのは、画像形成装置10では、コピーとプリントがよく使用される機能であり、コピーのデータ変換及びプリントのRIP処理は、共にメインメモリ13へのアクセスが多いからである。そして、コピーのデータ変換とプリントのRIP処理とが重なる場合は、制御部11(処理制御部11c)は、後のジョブの方の処理ステップ(ここではプリントのRIP処理)を、ダミー実行の対象の処理ステップに決定する(S103)。
Returning to the flowchart of FIG. 4, the control unit 11 (
一方、コピーのデータ変換とプリントのRIP処理とが重ならない場合は、制御部11(期間予測部11b)は、算出した期間毎のメモリアクセス負荷を比較して、メモリアクセス負荷が最大となる期間(第1の期間)を予測する(S104)。そして、制御部11(処理制御部11c)は、第1の期間に実行される予定の複数の処理ステップの中から、ダミー実行の対象となる処理ステップを決定する(S105)。ここでは、図10のテーブルより、メモリアクセス負荷が最大となる期間は期間2であり、図9より、期間2に行われる処理ステップはコピーのデータ変換とプリントのRIP処理であることから、後のジョブ(プリント)のRIP処理をダミー実行の対象の処理ステップに決定する。
On the other hand, if the copy data conversion and the print RIP processing do not overlap, the control unit 11 (
次に、制御部11(処理制御部11c)は、ダミー実行を開始するタイミングを決定する(S106)。このダミー実行開始タイミングは、メモリアクセス負荷が最大の期間(第1の期間)よりも前の期間の内のメモリアクセス負荷が最小の期間(第2の期間)を選択する。ここでは、第1の期間が期間2であるため、期間1を第2の期間として決定する。 Next, the control part 11 (process control part 11c) determines the timing which starts dummy execution (S106). As the dummy execution start timing, a period (second period) in which the memory access load is minimum in a period before the period in which the memory access load is maximum (first period) is selected. Here, since the first period is period 2, period 1 is determined as the second period.
次に、制御部11(処理制御部11c)は、ダミー実行に使用するプロセッサコア12aを決定する(S107)。このダミー実行用のプロセッサコア12aは、アイドル状態のプロセッサコア12aの中から選択する。例えば、プロセッサコア0でコピーを行い、プロセッサコア1でプリントを行っている場合は、プロセッサコア2をダミー実行用に割り当てる。
Next, the control unit 11 (processing control unit 11c) determines the
次に、制御部11(処理制御部11c)は、対象の処理ステップのダミー実行を開始する(S108)。このダミー実行では、実実行時に必要な命令をキャッシュメモリ12bに読み込むために命令を1通り実行(データを参照せずに命令のみを実行)する。ここで、ダミー実行から実実行までの間に、ダミー実行を行ったプロセッサコア12a(ここではプロセッサコア2)で他の処理を実行すると、キャッシュメモリ12bに読み込んだ命令が失われてしまうため、制御部11(処理制御部11c)は、ダミー実行完了後、ダミー実行用プロセッサコア12aへの処理の割り当てを禁止(例えば、フラグを設定)する(S109)。
Next, the control unit 11 (process control unit 11c) starts dummy execution of the target process step (S108). In this dummy execution, one instruction is executed (only an instruction is executed without referring to data) in order to read an instruction necessary for actual execution into the
次に、制御部11(処理制御部11c)は、ダミー実行を行った処理プロセスに対して実実行が開始できるかを判定する(S110)。この判定を行うのは、ダミー実行は、その処理ステップを行う期間よりも前の期間に行うため、ダミー実行が終了した段階で、その処理ステップの前の処理ステップが終了していない場合が生じるからである。具体的には、プリントのRIP処理をダミー実行する場合、RIP処理の実実行はその前の処理ステップであるデータ受信が完了していないと実施することができないため、データ受信が完了しているか否かに応じて、実実行が開始できるかを判定する。 Next, the control unit 11 (processing control unit 11c) determines whether or not actual execution can be started for the processing process for which dummy execution has been performed (S110). This determination is performed because the dummy execution is performed in a period before the period during which the processing step is performed. Therefore, the processing step before the processing step may not be completed at the stage where the dummy execution is completed. Because. Specifically, when the RIP process for printing is executed in a dummy manner, the actual execution of the RIP process cannot be performed unless the data reception as the previous processing step is completed. It is determined whether or not actual execution can be started depending on whether or not.
実実行を開始できない場合(すなわち、ダミー実行を行った処理プロセスの前の処理プロセスが終了していない場合)は、実実行を開始できるようになるまで待機する。実実行を開始できる場合は、制御部11(処理制御部11c)は、ダミー実行用プロセッサコアへの処理割り当ての禁止を解除(例えば、フラグを解除)し(S111)、ダミー実行用プロセッサコアに対象となる処理ステップを割り当てて実実行を行い(S112)、その処理ステップ以降の処理ステップもダミー実行用プロセッサコアに実行させる。例えば、プロセッサコア2でRIP処理をダミー実行した場合は、プロセッサコア2でRIP処理の実実行を行うと共に、プロセッサコア2で画像処理及びVIDEO出力も行う。 When the actual execution cannot be started (that is, when the processing process before the processing process that performed the dummy execution has not ended), the process waits until the actual execution can be started. When the actual execution can be started, the control unit 11 (process control unit 11c) cancels the prohibition of the process assignment to the dummy execution processor core (for example, cancels the flag) (S111), and sets the dummy execution processor core. The target processing step is assigned and actual execution is performed (S112), and the processing steps subsequent to the processing step are also executed by the dummy execution processor core. For example, when the processor core 2 performs the RIP process as a dummy, the processor core 2 performs the actual execution of the RIP process, and the processor core 2 also performs image processing and VIDEO output.
以下、上記フローのダミー実行及び実実行について図面を参照して具体的に説明する。 Hereinafter, dummy execution and actual execution of the above flow will be specifically described with reference to the drawings.
図11は、プロセッサコア0でコピーを実行している際に、プリントジョブを受信した場合の並列処理制御の一例である。この場合、各期間のメモリアクセス負荷は図10のテーブルのようになり、期間2のメモリアクセス負荷が最大となるため、期間2に実行する予定の処理ステップ(プリントのRIP処理)に対して並列処理制御を行う。具体的には、期間2よりも前の期間である期間1にて、プロセッサコア2を用いてプリントのRIP処理のダミー実行(一点鎖線で表記)を行う。ここでは、RIP処理のダミー実行が終了した段階でプリントのデータ受信が完了しておらず、データ受信が完了しないとRIP処理の実実行ができないため、期間2の開始と同時にRIP処理の実実行(二点鎖線で表記)を行う。なお、実実行ではメインメモリ13から命令を読み込む必要がない(ダミー実行で読み込み済である)ため、通常のRIP処理(破線で表記)よりも短時間に処理を完了させることができる。その後、ダミー実行及び実実行を行ったプロセッサコア2で画像処理及びVIDEO出力を行う。 FIG. 11 is an example of parallel processing control when a print job is received while copying is performed by the processor core 0. In this case, the memory access load in each period is as shown in the table of FIG. 10, and the memory access load in period 2 is maximized. Control processing. Specifically, in the period 1 which is a period before the period 2, the processor core 2 is used to perform dummy execution of the print RIP process (indicated by a one-dot chain line). Here, the reception of the print data is not completed at the stage where the dummy execution of the RIP process is completed, and the actual execution of the RIP process cannot be performed unless the data reception is completed. (Denoted by a two-dot chain line). In actual execution, there is no need to read an instruction from the main memory 13 (already read in dummy execution), so that the process can be completed in a shorter time than a normal RIP process (indicated by a broken line). Thereafter, the processor core 2 that has performed dummy execution and actual execution performs image processing and VIDEO output.
このような並列処理制御を行うことにより、処理のリアルタイム性を確保しつつ、メインメモリ13へのメモリアクセス負荷を軽減して処理能力を向上させることができる。また、実実行の処理時間が通常の処理時間に比べて短くなり、更に、メモリアクセス負荷を軽減することによって制御対象のジョブ以外のジョブの処理時間も短くなるため、処理全体の終了タイミングを早めることができ、複数の処理を効率的に実行することができる。
By performing such parallel processing control, it is possible to reduce the memory access load to the
なお、上記説明では、処理ステップが重なった場合、後のジョブの処理ステップを制御対象としたが、先のジョブの処理ステップを制御対象とすることも可能である。図12は、プロセッサコア0でコピーを実行している際に、プリントジョブを受信した場合の並列処理制御の他の例である。コピーの画像処理のメモリアクセス負荷が大きな値(例えば、データ変換よりも大きい”40”)であるとすると、期間3のメモリアクセス負荷が最大(40+40=80)となるため、期間3に実施する予定のコピーの画像処理に対して並列処理制御を行うこともできる。具体的には、期間3よりも前の期間(ここでは期間1)にて、プロセッサコア2を用いてコピーの画像処理のダミー実行を行う。ここでも、画像処理のダミー実行が終了した段階でコピーのデータ変換が完了しておらず、データ変換が完了しないと画像処理の実実行ができないため、期間3の開始と同時に画像処理の実実行を行う。このような並列処理制御を行うことによっても、メモリアクセス負荷を軽減して処理能力を向上させることができ、また、処理のリアルタイム性を確保することができる。 In the above description, when the processing steps overlap, the processing step of the subsequent job is set as the control target. However, the processing step of the previous job can be set as the control target. FIG. 12 shows another example of parallel processing control when a print job is received while copying is performed by the processor core 0. If the memory access load for copy image processing is a large value (for example, “40” larger than data conversion), the memory access load in period 3 is the maximum (40 + 40 = 80). It is also possible to perform parallel processing control on the scheduled copy image processing. Specifically, dummy execution of copy image processing is performed using the processor core 2 in a period before the period 3 (here, period 1). Again, since the copy data conversion has not been completed at the stage where the dummy execution of the image processing has been completed, the actual execution of the image processing cannot be performed unless the data conversion is completed. I do. By performing such parallel processing control, it is possible to reduce the memory access load and improve the processing capability, and to ensure real-time processing.
以上、コピーとプリントの2つを並列処理する場合について記載したが、3つ以上の処理を並列処理する場合も同様に制御することができる。例えば、コピーのジョブの処理中にプリント1のジョブを受信し、更に、コピー及びプリント1のジョブの処理中にプリント2のジョブを受信した場合、処理ステップの重なりに応じて規定される期間は図13のようになる。そして、コピー及びプリントの各処理ステップのメモリアクセス負荷が図6及び図8のように設定されている場合、各々の期間のメモリアクセス負荷は図14に示すテーブルのようになる。 The case where two processes of copying and printing are processed in parallel has been described above, but the same control can be performed when three or more processes are processed in parallel. For example, when a print 1 job is received during the copy job processing and a print 2 job is received during the copy and print 1 job processing, the period defined according to the overlap of the processing steps is as follows. As shown in FIG. When the memory access load for each processing step of copying and printing is set as shown in FIGS. 6 and 8, the memory access load for each period is as shown in the table of FIG.
この場合、期間3のメモリアクセス負荷が最も大きいため、期間3に実行する予定の処理ステップに対して並列処理制御を行う。例えば、図15に示すように、期間3よりも前の期間である期間(ここでは、メモリアクセス負荷は期間2よりも期間1の方が小さいため期間1)にて、プロセッサコア3を用いてプリント2のRIP処理2のダミー実行を行う。RIP処理2のダミー実行が終了した段階でプリント2のデータ受信2が完了していないため、期間3の開始と同時にRIP処理2の実実行を行う。その後、ダミー実行及び実実行を行ったプロセッサコア3で画像処理2及びVIDEO出力2を行う。このように、3つ以上のジョブを並列処理する場合でも、いずれかのジョブの処理ステップに対して並列処理制御を行うことにより、メモリアクセス負荷を軽減して処理能力を向上させることができると共に、処理のリアルタイム性を確保することができる。 In this case, since the memory access load in period 3 is the largest, parallel processing control is performed for the processing steps scheduled to be executed in period 3. For example, as shown in FIG. 15, the processor core 3 is used in a period that is a period before the period 3 (here, the memory access load is smaller in the period 1 than in the period 2). Dummy execution of RIP processing 2 for print 2 is performed. Since the data reception 2 of the print 2 is not completed when the dummy execution of the RIP process 2 is completed, the RIP process 2 is actually executed simultaneously with the start of the period 3. Thereafter, image processing 2 and VIDEO output 2 are performed by the processor core 3 that has performed dummy execution and actual execution. In this way, even when three or more jobs are processed in parallel, by performing parallel processing control on the processing steps of any job, the memory access load can be reduced and the processing capability can be improved. Real-time processing can be ensured.
図15では、最も後のジョブ(ここではプリント2)に対して本実施例の並列処理制御を行ったが、図12と同様に、先のジョブ(コピーのジョブ又はプリント1のジョブ)に対して本実施例の並列処理制御を行うこともできる。 In FIG. 15, the parallel processing control of this embodiment is performed for the last job (print 2 in this case), but for the previous job (copy job or print 1 job), as in FIG. The parallel processing control of this embodiment can also be performed.
また、図15では、1つのジョブの処理ステップに対して本実施例の並列処理制御を行ったが、複数のジョブの処理ステップに対して、本実施例の並列処理制御を行うこともできる。例えば、図16に示すように、期間3よりも前の期間である期間(ここでは期間1)にて、プロセッサコア3を用いてプリント1のRIP処理1のダミー実行を行うと共に、プロセッサコア4を用いてプリント2のRIP処理2のダミー実行を行う。ここで、RIP処理1のダミー実行が終了した段階でプリント1のデータ受信1は完了しているため、RIP処理1の実実行を直ちに行う。また、RIP処理2のダミー実行が終了した段階でプリント2のデータ受信2は完了していないため、期間3の開始と同時にRIP処理2の実実行を行う。その後、ダミー実行及び実実行を行ったプロセッサコア3でプリント1の画像処理1及びVIDEO出力1を行うと共に、プロセッサコア4でプリント2の画像処理2及びVIDEO出力2を行う。このように、3つ以上のジョブを並列処理する場合に、複数のジョブの処理ステップに対して本実施例の並列処理制御を行うことにより、メモリアクセス負荷を軽減して処理能力を向上させることができると共に、処理のリアルタイム性を確保することができる。
In FIG. 15, the parallel processing control of this embodiment is performed for one job processing step. However, the parallel processing control of this embodiment may be performed for a plurality of job processing steps. For example, as shown in FIG. 16, dummy execution of the RIP process 1 for print 1 is performed using the processor core 3 in a period (period 1 in this case) before the period 3, and the
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。 In addition, this invention is not limited to the said Example, The structure and control can be changed suitably, unless it deviates from the meaning of this invention.
例えば、上記実施例では、コピーとプリントを並列処理する場合について記載したが、コピーとFAX、プリントとFAX、コピーとプリントとFAXを並列処理する場合に対しても、本発明の並列処理制御を同様に適用することができる。また、コピー/プリント/FAX以外の処理(例えば、スキャン)を含む並列処理に対しても、本発明の並列処理制御を同様に適用することができる。 For example, in the above-described embodiment, the case where copy and print are processed in parallel has been described. However, the parallel processing control of the present invention is also applied to the case where copy and FAX, print and FAX, and copy, print and FAX are processed in parallel. The same can be applied. The parallel processing control of the present invention can be similarly applied to parallel processing including processing (for example, scanning) other than copy / print / FAX.
また、上記実施例では、先のジョブの処理中に後のジョブを受信した場合について記載したが、複数のジョブを同時に受信した場合に対しても、本発明の並列処理制御を同様に適用することができる。また、上記実施例では、コピー、プリントを各々4つの処理ステップに分割したが、処理ステップの分割数は任意である。 In the above-described embodiment, the case where the subsequent job is received during the processing of the previous job is described. However, the parallel processing control of the present invention is similarly applied to the case where a plurality of jobs are received simultaneously. be able to. In the above embodiment, copying and printing are each divided into four processing steps, but the number of divisions of processing steps is arbitrary.
また、上記実施例では、第1の期間よりも前の第2の期間が存在する場合について記載したが、第1の期間が最も早い期間の場合は、第1の期間に、対象となる処理ステップのダミー実行を行うことになる。その場合、処理ステップの実実行が終了するタイミングは、当該処理ステップを通常通り実行する場合よりも遅くなるが、メインメモリ13へのメモリアクセス負荷を軽減することは可能である。
Moreover, in the said Example, although the case where the 2nd period before the 1st period existed was described, in the case where the 1st period is the earliest period, the process which becomes object in the 1st period A dummy execution of the step is performed. In this case, the timing at which the actual execution of the processing step ends is slower than when the processing step is normally executed, but the memory access load on the
本発明は、複数のプロセッサコアで構成されるマルチコアプロセッサを備える画像形成装置、及び当該画像形成装置における並列処理を制御する並列処理制御プログラム、並びに当該並列処理制御プログラムを記録した記録媒体、並びに当該画像形成装置における並列処理制御方法に利用可能である。 The present invention relates to an image forming apparatus including a multi-core processor composed of a plurality of processor cores, a parallel processing control program for controlling parallel processing in the image forming apparatus, a recording medium on which the parallel processing control program is recorded, and the The present invention can be used for a parallel processing control method in an image forming apparatus.
10 画像形成装置
11 制御部
11a 負荷算出部
11b 期間予測部
11c 処理制御部
12 マルチコアプロセッサ
12a プロセッサコア
12b キャッシュメモリ
13 メインメモリ
14 メモリバス
15 HDD
16 ネットワークI/F部
17 スキャナ部
18 FAX制御部
19 画像形成部
20 操作表示部
DESCRIPTION OF SYMBOLS 10 Image forming apparatus 11
16 Network I /
Claims (11)
前記画像形成装置の動作を制御する制御部は、
複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する負荷算出部と、
前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する期間予測部と、
前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを、前記ダミー実行を行ったプロセッサコアで実実行する処理制御部と、を備える、
ことを特徴とする画像形成装置。 An image forming apparatus including a plurality of processor cores that hold a cache memory, and a multi-core processor in which the plurality of processor cores share one main memory,
The control unit that controls the operation of the image forming apparatus includes:
A load calculating unit that calculates a memory access load to the main memory for each period defined in accordance with an overlap of processing steps of a plurality of jobs;
A period prediction unit that predicts a first period in which the memory access load on the main memory is maximized based on the memory access load for each period;
Any one of the plurality of processing steps scheduled to be executed in the first period is performed by a processor core that has not processed the plurality of jobs in a period before the first period. A dummy execution, and after completion of the dummy execution, a processing control unit that actually executes the processing step on the processor core that performed the dummy execution ,
An image forming apparatus.
ことを特徴とする請求項1に記載の画像形成装置。 The process control unit performs the dummy execution and the actual execution for a process step of a job after the plurality of process steps scheduled to be executed in the first period.
The image forming apparatus according to claim 1.
ことを特徴とする請求項1又は2に記載の画像形成装置。 The load calculation unit calculates a memory access load for each period based on memory access load information set in advance for each processing step of each job;
The image forming apparatus according to claim 1, wherein the image forming apparatus is an image forming apparatus.
ことを特徴とする請求項1乃至3のいずれか一に記載の画像形成装置。 When the plurality of jobs are a copy job and a print job, and the data conversion in the copy job and the RIP process in the print job overlap, the period predicting unit determines a period in which the processes overlap as the first period. To judge,
The image forming apparatus according to claim 1, wherein the image forming apparatus is an image forming apparatus.
ことを特徴とする請求項1乃至4のいずれか一に記載の画像形成装置。 The period predicting unit predicts the first period at the start of receiving a new job.
The image forming apparatus according to claim 1, wherein the image forming apparatus is an image forming apparatus.
ことを特徴とする請求項1乃至5のいずれか一に記載の画像形成装置。 The processing control unit performs the dummy execution before the first period and during a second period in which the memory access load is minimum.
The image forming apparatus according to claim 1, wherein the image forming apparatus is an image forming apparatus.
ことを特徴とする請求項1乃至6のいずれか一に記載の画像形成装置。 The processing control unit controls switching between the dummy execution and the actual execution using a flag.
The image forming apparatus according to claim 1, wherein the image forming apparatus is an image forming apparatus.
ことを特徴とする請求項1乃至7のいずれか一に記載の画像形成装置。 The dummy execution is an execution form in which an instruction corresponding to a job is read from the main memory and stored in the cache memory, and the actual execution is performed by reading the data corresponding to the job from the main memory and reading the data , And an execution mode for executing the instruction stored in the cache memory.
The image forming apparatus according to claim 1, wherein the image forming apparatus is an image forming apparatus.
ことを特徴とする請求項8に記載の画像形成装置。 The processing control unit executes the instruction without referring to the data in the dummy execution of the processing step.
The image forming apparatus according to claim 8 .
前記画像形成装置に、 In the image forming apparatus,
複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理、 A first process for calculating a memory access load to the main memory for each period defined in accordance with an overlap of processing steps of a plurality of jobs;
前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理、 A second process for predicting a first period in which the memory access load on the main memory is maximized based on the memory access load for each period;
前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを、前記ダミー実行を行ったプロセッサコアで実実行する第3処理、を実行させる、 Any one of the plurality of processing steps scheduled to be executed in the first period is performed by a processor core that has not processed the plurality of jobs in a period before the first period. Performing a dummy execution, and after the dummy execution is completed, causing the processing step to execute a third process that is actually executed by the processor core that performed the dummy execution.
ことを特徴とする並列処理制御プログラム。 A parallel processing control program characterized by that.
複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理と、 A first process for calculating a memory access load to the main memory for each period defined in accordance with an overlap of processing steps of a plurality of jobs;
前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理と、 A second process for predicting a first period in which the memory access load on the main memory is maximum based on the memory access load for each period;
前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを、前記ダミー実行を行ったプロセッサコアで実実行する第3処理と、を実行する、 Any one of the plurality of processing steps scheduled to be executed in the first period is performed by a processor core that has not processed the plurality of jobs in a period before the first period. Performing a dummy execution, and after the dummy execution is completed, execute the processing step and a third process that is actually executed by the processor core that performed the dummy execution.
ことを特徴とする並列処理制御方法。 The parallel processing control method characterized by the above-mentioned.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014225038A JP6465384B2 (en) | 2014-11-05 | 2014-11-05 | Image forming apparatus, parallel processing control program, and parallel processing control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014225038A JP6465384B2 (en) | 2014-11-05 | 2014-11-05 | Image forming apparatus, parallel processing control program, and parallel processing control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016091305A JP2016091305A (en) | 2016-05-23 |
JP6465384B2 true JP6465384B2 (en) | 2019-02-06 |
Family
ID=56017034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014225038A Active JP6465384B2 (en) | 2014-11-05 | 2014-11-05 | Image forming apparatus, parallel processing control program, and parallel processing control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6465384B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6904143B2 (en) * | 2017-07-31 | 2021-07-14 | コニカミノルタ株式会社 | Image processor, snapshot acquisition method, and computer program |
JP7405008B2 (en) | 2020-06-08 | 2023-12-26 | 富士通株式会社 | Information processing device, information processing program, and information processing method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10334057A (en) * | 1997-06-04 | 1998-12-18 | Nippon Telegr & Teleph Corp <Ntt> | Dynamic load dispersion processing method of batch job and system therefor in dispersion system environment |
JP4882625B2 (en) * | 2005-12-26 | 2012-02-22 | 株式会社デンソー | Microcomputer |
JP2008191949A (en) * | 2007-02-05 | 2008-08-21 | Nec Corp | Multi-core system, and method for distributing load of the same |
US8447933B2 (en) * | 2007-03-06 | 2013-05-21 | Nec Corporation | Memory access control system, memory access control method, and program thereof |
JP2014191663A (en) * | 2013-03-27 | 2014-10-06 | Fujitsu Ltd | Arithmetic processing unit, information processing unit and method for controlling arithmetic processing unit |
-
2014
- 2014-11-05 JP JP2014225038A patent/JP6465384B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016091305A (en) | 2016-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6136020B2 (en) | Image forming apparatus, parallel processing control method, and control program | |
US8446605B2 (en) | Division of rendering block in image forming apparatus | |
JP5482528B2 (en) | Printed document conversion apparatus and program | |
US20110043855A1 (en) | Print data processing apparatus, print data processing method, and storage medium | |
US9781295B2 (en) | Image processing apparatus, a method for performing specific process on an image processing apparatus, and a computer-readable storage medium for a program to be executed by an image processing apparatus | |
JP6465384B2 (en) | Image forming apparatus, parallel processing control program, and parallel processing control method | |
JP6524928B2 (en) | Image processing apparatus, memory control program and memory control method | |
US10552716B2 (en) | Apparatus, method, and program for causing multicore processor to execute tasks, and recording medium storing the program | |
JP6372315B2 (en) | Image processing apparatus, parallel processing control program, and parallel processing control method | |
US20170060644A1 (en) | Image processing apparatus, control task allocation method, and recording medium | |
JP2012111210A (en) | Apparatus, method and program for forming print data | |
JP2011183757A (en) | Image processor, image processing method, and program | |
JP2011201146A (en) | Image processing device and image processing program | |
US10382637B2 (en) | Print controller, image forming system, and image forming apparatus | |
JP2016177481A (en) | Image processing device, image forming apparatus, and program | |
JP6740821B2 (en) | Printing system, printing control method, and printing control program | |
JP2011143576A (en) | Print data generator, image forming apparatus and program | |
JP7006173B2 (en) | Image forming device and program | |
JP2015020404A (en) | Image formation device | |
JP6128104B2 (en) | Image processing apparatus, control method thereof, and program | |
JP7172193B2 (en) | Image forming device and program | |
JP2012008838A (en) | Print document conversion device and program | |
JP2011013815A (en) | Image processor and program | |
JP6206056B2 (en) | Processing program, processing apparatus, and processing method | |
JP2002359739A (en) | Image processing unit, image processing method and program to allow computer to perform the method, and computer-readable recording medium for recording the program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180821 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181005 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6465384 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |