JP2016091305A - 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法 - Google Patents

画像形成装置及び並列処理制御プログラム並びに並列処理制御方法 Download PDF

Info

Publication number
JP2016091305A
JP2016091305A JP2014225038A JP2014225038A JP2016091305A JP 2016091305 A JP2016091305 A JP 2016091305A JP 2014225038 A JP2014225038 A JP 2014225038A JP 2014225038 A JP2014225038 A JP 2014225038A JP 2016091305 A JP2016091305 A JP 2016091305A
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.)
Granted
Application number
JP2014225038A
Other languages
English (en)
Other versions
JP6465384B2 (ja
Inventor
裕樹 碇
Hiroki Ikari
裕樹 碇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014225038A priority Critical patent/JP6465384B2/ja
Publication of JP2016091305A publication Critical patent/JP2016091305A/ja
Application granted granted Critical
Publication of JP6465384B2 publication Critical patent/JP6465384B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】処理のリアルタイム性を確保しつつ、処理性能を向上させる。
【解決手段】キャッシュメモリを保持するプロセッサコアを複数有し、複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置であって、制御部は、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、メインメモリへのメモリアクセス負荷を算出する負荷算出部と、期間毎のメモリアクセス負荷に基づいて、メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する期間予測部と、第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、第1の期間よりも前の期間に、複数のジョブの処理を行っていないプロセッサコアでダミー実行し、ダミー実行完了後、当該処理ステップを実実行する処理制御部と、を備える。
【選択図】図11

Description

本発明は、画像形成装置及び並列処理制御プログラム並びに並列処理制御方法に関し、特に、マルチコアプロセッサを備える画像形成装置及び当該画像形成装置における並列処理を制御する並列処理制御プログラム並びに並列処理制御方法に関する。
動作周波数を上げてプロセッサの性能向上を図ることは、消費電力及び冷却の観点から困難になっていることから、消費電力を抑えつつ処理性能を向上させる手法としてマルチコアプロセッサが普及している。マルチコアプロセッサでは、複数のプロセッサコアを使用して並列処理を行うことにより、処理性能の向上を図ることができ、プロセッサコア1つあたりの動作周波数を下げることにより、省電力化を図ることができる。
マルチコアプロセッサを使用して並列処理を行うシステムに関して、例えば、下記特許文献1には、複数のコアを有する複数のマルチコアプロセッサと、各マルチコアプロセッサの資源を共有する共有資源とを有するマルチコアシステムであって、前記各マルチコアプロセッサの負荷情報と、前記共有資源に対するアクセス時の負荷情報とを取得する負荷情報収集手段と、前記負荷情報収集手段により取得した前記各マルチコアプロセッサの負荷情報と、前記アクセス時の負荷情報との条件に基づいて、負荷分散を行うか否かの判定を行う負荷分散判定手段と、前記負荷分散判定手段により、前記負荷分散を行うと判断された際には、負荷を分散する負荷分散手段とを有する構成が開示されている。
特開2008−191949号公報
上記マルチコアプロセッサは様々な装置に採用することができるが、特に、複数の機能を備える装置に採用することにより、大きな効果を発揮することができる。例えば、MFP(Multi Function Peripheral)などの画像形成装置にマルチコアプロセッサを採用することにより、コピー/プリント/スキャン/FAX等の複数の機能を並列処理することが可能となる。
ここで、複数の機能を複数のプロセッサコアで並列処理する場合、それぞれのプロセッサコアは、メインメモリにアクセスして、対象となる機能の処理に必要な命令(プログラム)やデータを取得する必要がある。そのため、メインメモリへのアクセスが集中し、各プロセッサコアとメインメモリとを繋ぐメモリバスの負荷が大きくなり、この負荷がボトルネックとなって処理性能の低下を招く可能性がある。その結果、制限時間内に各機能の処理を完了させることができず、処理のリアルタイム性の確保が困難になるという問題があった。
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、マルチコアプロセッサを採用した構成において、処理のリアルタイム性を確保しつつ、処理性能を向上させることができる画像形成装置及び並列処理制御プログラム並びに並列処理制御方法を提供することにある。
本発明の一側面は、キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置であって、前記画像形成装置の動作を制御する制御部は、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する負荷算出部と、前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する期間予測部と、前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを実実行する処理制御部と、を備えることを特徴とする。
本発明の一側面は、キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置で動作する並列処理制御プログラムであって、前記画像形成装置に、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理、前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理、前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを実実行する第3処理、を実行させることを特徴とする。
本発明の一側面は、キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置における並列処理制御方法であって、複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理と、前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理と、前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを実実行する第3処理と、を実行することを特徴とする。
本発明の画像形成装置及び並列処理制御プログラム並びに並列処理制御方法によれば、マルチコアプロセッサを採用した構成において、メモリアクセス負荷を分散させることが可能となり、メモリアクセスのボトルネックが解消され、処理のリアルタイム性を確保しつつ、処理性能を向上させることができる。
本発明の一実施例に係る画像形成装置の構成を示すブロック図である。 本発明の一実施例に係る画像形成装置の制御部の構成を示すブロック図である。 本発明の一実施例に係る画像形成装置の制御部により実行される機能を示すブロック図である。 本発明の一実施例に係る画像形成装置の動作を示すフローチャート図である。 本発明の一実施例に係る画像形成装置におけるコピーの処理ステップの構成を示す図である。 本発明の一実施例に係る画像形成装置におけるコピーの各処理ステップのメモリアクセス負荷を示すテーブルである。 本発明の一実施例に係る画像形成装置におけるプリントの処理ステップの構成を示す図である。 本発明の一実施例に係る画像形成装置におけるプリントの各処理ステップのメモリアクセス負荷を示すテーブルである。 本発明の一実施例に係る画像形成装置におけるコピー/プリント並列処理の期間を示す図である。 本発明の一実施例に係る画像形成装置におけるコピー/プリント並列処理の各期間のメモリアクセス負荷を示すテーブルである。 本発明の一実施例に係る画像形成装置におけるコピー/プリント並列処理における並列処理制御の一例を示す模式図である。 本発明の一実施例に係る画像形成装置におけるコピー/プリント並列処理における並列処理制御の他の例を示す模式図である。 本発明の一実施例に係る画像形成装置におけるコピー/プリント1、2並列処理の期間を示す図である。 本発明の一実施例に係る画像形成装置におけるコピー/プリント1、2の並列処理の各期間のメモリアクセス負荷を示すテーブルである。 本発明の一実施例に係る画像形成装置におけるコピー/プリント1、2の並列処理における処理制御の一例を示す模式図である。 本発明の一実施例に係る画像形成装置におけるコピー/プリント1、2の並列処理における処理制御の他の例を示す模式図である。
背景技術で示したように、消費電力を抑えつつ処理性能を向上させる手法としてマルチコアプロセッサが普及しており、様々な装置に利用されている。特に、コピー/プリント/スキャン/FAX等の複数の機能を備えるMFPなどの画像形成装置では、複数の機能の処理を同時に行う必要があることから、マルチコアプロセッサを採用するケースが増えている。
マルチコアプロセッサを用いて並列処理を行う場合、それぞれのプロセッサコアはメインメモリにアクセスして、必要な命令やデータを取得するため、メモリアクセスが集中して、処理性能の低下を招く可能性がある。そして、処理性能の低下によって制限時間内に各処理を完了させることができなくなった場合には、処理のリアルタイム性が確保できなくなる。
この問題に対して、特許文献1では、プログラム実行中に、一定間隔で各プロセッサコアの負荷情報とメモリアクセス時の負荷情報を取得し、システムにおける負荷の偏りを判定し、偏りがある場合は負荷分散が必要であると判断して、移動対象スレッドを決定し、別のプロセッサコアに移動させる方法を提案している。しかしながら、この方法では、メモリアクセス負荷の大きい処理が連続した場合には、スレッドを移動させてもメモリアクセス負荷を軽減することができず、また、スレッドを移動させることによって処理のリアルタイム性が確保できなくなる。
そこで、本発明の一実施の形態では、キャッシュメモリを保持するプロセッサコアを複数有し、複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置において、メモリアクセス負荷が大きい期間に実行する処理ステップを、メインメモリから命令のみを読み込んでキャッシュメモリに保存する第1段階(ダミー実行と呼ぶ。)と、メインメモリからデータを読み込んで、キャッシュメモリに保存した命令を実行する第2段階(実実行と呼ぶ。)と、に分割して実行するようにする。
具体的には、新規ジョブの受信開始時に、予め用意した各処理ステップのメモリアクセス負荷情報から、複数のジョブの処理ステップの重なりに応じて規定される期間毎のメモリアクセス負荷を算出し、メインメモリへのアクセスが集中する期間(第1の期間)を予測する。そして、メインメモリへのアクセスが集中する期間に実行する予定のいずれかの処理ステップを、第1の期間よりも前の第2の期間に、別のプロセッサコアでダミー実行し、その後、その処理ステップを、ダミー実行したプロセッサコアで実実行する。
このように、ダミー実行において、メインメモリにアクセスして命令を読み込むことにより、実実行時のメインメモリへのアクセス回数を低減することができるため、メモリアクセス負荷を分散させることができ、処理性能の低下を防ぐことができる。また、メインメモリへのアクセスが集中する期間よりも前の期間にダミー実行を行うため、ダミー実行と実実行の2段階に分割することによる処理の遅延を抑制して、処理のリアルタイム性を確保することができる。
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る画像形成装置及び並列処理制御プログラム並びに並列処理制御方法について、図1乃至図16を参照して説明する。図1は、本実施例の画像形成装置の構成を示すブロック図であり、図2は、制御部の構成を示すブロック図である。また、図3は、制御部により実行される機能を示すブロック図であり、図4は、本実施例の画像形成装置の動作を示すフローチャート図である。また、図5及び図7は、画像形成装置のコピー/プリントの処理ステップの構成を示す図であり、図6及び図8は、コピー/プリントの各処理ステップのメモリアクセス負荷を示すテーブルである。また、図9及び図13は、並列処理の期間を示す図、図10及び図14は、並列処理の各期間のメモリアクセス負荷を示すテーブルであり、図11、図12、図15及び図16は、並列処理における並列処理制御の一例を示す模式図である。
本実施例の画像形成装置10は、MFPなどの画像形成装置などであり、図1に示すように、マルチコアプロセッサ12とメインメモリ13とを含み、画像形成装置10の動作を制御する制御部11と、HDD(Hard Disk Drive)15と、ネットワークI/F部16と、スキャナ部17と、FAX制御部18と、画像形成部19と、操作表示部20などで構成される。
マルチコアプロセッサ12は、図2に示すように、複数のプロセッサコア12a(ここでは0〜N−1のN個のプロセッサコア)と、各々のプロセッサコア12aに接続されるキャッシュメモリ12bと、で構成される。そして、各々のプロセッサコア12aとキャッシュメモリ12bのセットが、メモリバス14を介して接続されたメインメモリ13を共有する構成となっている。
上記メインメモリ13には、画像形成装置10の各機能の処理を実行するための命令(プログラムのコード)及び各機能の処理を実行するためのデータが記録される。そして、制御部11がコピーやプリント、FAXなどの機能を制御する際、当該機能に割り当てられたプロセッサコア12aは、メインメモリ13から命令及びデータを読み出し、キャッシュメモリ12bに保存して実行することによって当該機能の処理を行う。
具体的には、制御部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出力する。
なお、上記マルチコアプロセッサ12は、各プロセッサコア12aに特定の機能を割り当てるAMP(Asymmetric Multiprocessing)にて動作させてもよいし、個々のプロセッサコア12aが対等の条件でメインメモリ13を共有するSMP(Symmetric Multiprocessing)にて動作させてもよいし、AMPとSMPを併合したBMP(Bound Multiprocessing)にて動作させてもよい。AMPで動作させる場合は、本実施例の並列処理制御プログラム(必要に応じてOS(Operating System)など)は特定のプロセッサコア12aで実行され、SMPで動作させる場合は、本実施例の処理制御プログラム(必要に応じてOSなど)は全てのプロセッサコア12aで実行されることになる。
また、マルチコアプロセッサ12におけるプロセッサコア12aの数は特に限定されない。また、複数のプロセッサコア12aは、同種の(規模や構成、処理能力が同じ)コアとしてもよいし、規模や構成、処理能力が異なるコアとしてもよい。
HDD15は、外部のコンピュータ装置から取得したプリントジョブ、プリントジョブから生成した中間データ(ディスプレイリスト)、ディスプレイリストから生成した画像データ(プリントデータ)、スキャナ部17が原稿から読み取った画像データ(コピーデータ)、FAX制御部18が送受信する画像データ(FAXデータ)などを保存する。
ネットワークI/F部16は、電話回線に接続するためのモデムや、LAN(Local Area Network)などの構内通信網に接続するためのNIC(Network Interface Card)などであり、電話回線を介して接続されるFAX装置とのFAX通信や構内通信網を介して接続されるコンピュータ装置との通信を可能にする。
スキャナ部17は、原稿台上に載置された原稿から画像データを光学的に読み取る部分であり、原稿を走査する光源と、原稿で反射された光を電気信号に変換するCCD(Charge Coupled Devices)等のイメージセンサと、電気信号をA/D変換するA/D変換器等により構成され、原稿から読み取った画像データ(コピーデータ)を制御部11に出力する。
FAX制御部18は、ネットワークI/F部16を制御し、外部のFAX装置に対してFAXデータを送信したり、外部のFAX装置からFAXデータを受信し、受信したFAXデータを制御部11に出力したりする。
画像形成部19(エンジン)は、制御部11からVIDEO出力される画像データに基づき、用紙への印刷処理を行う。具体的には、電子写真方式の場合は、帯電装置により帯電された感光体ドラムに、露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに1次転写し、転写ベルトから用紙に2次転写し、更に定着装置で用紙上のトナー像を定着させる処理を行う。
操作表示部20は、LCD(Liquid Crystal Display)等の表示部上に格子状の透明電極からなるタッチセンサなどの操作部が配置されたタッチパネル、ハードキーなどで構成され、画像形成装置10の操作画面を提示し、ユーザからの操作を受け付け、操作に応じた信号を制御部11に出力する。
なお、図1では、画像形成装置10にスキャナ部17とFAX制御部18と画像形成部19とを設けたが、本実施例の画像形成装置10は、並列処理のための複数の機能を備えていればよく、例えば、コピーとプリントのみを実行する場合はFAX制御部18を省略することができる。また、画像形成部19(エンジン)は、必ずしも画像形成装置10に内蔵されている必要はなく、画像形成部19が別の装置として分離した構成としてもよい。また、本実施例では、マルチコアプロセッサ12による並列処理を制御するプログラム(並列処理制御プログラム)をマルチコアプロセッサ12自身に実行させる構成とするが、マルチコアプロセッサ12以外のプロセッサに実行させることも可能であり、その場合は、マルチコアプロセッサ12を管理するプロセッサ(CPU(Central Processing Unit)など)を備える構成とすることもできる。
上記構成の画像形成装置10において、コピーを行う場合は、スキャナ部17に原稿をスキャンさせ、スキャンデータを次ステップの入力形式に変換するデータ変換を行い、エッジ強調処理やスムージング処理、色変換処理等の画像処理を行った後、画像形成部19にVIDEO出力する。また、プリントを行う場合は、PDL等で記述されたプリントジョブのデータを受信し、プリントジョブに含まれる各ページをラスタライズしてページ毎の画像データを生成し(RIP(Raster Image Processing)処理と呼ぶ。)、生成した画像データに対して上記画像処理を行った後、画像形成部19にVIDEO出力する。また、FAX受信を行う場合は、FAX制御部18からFAXデータを受信し、FAXデータを次ステップの入力形式に変換するデータ変換を行い、変換した画像データに対して上記画像処理を行った後、画像形成部19にVIDEO出力する。
上記コピーやプリント、FAXにおける各々の処理ステップを実行する際に、プロセッサコア12aは、メモリバス14を介してメインメモリ13から命令やデータを読み出すため、複数の機能を同時に実行する場合、処理ステップが重なり、メインメモリ13へのメモリアクセス負荷が大きくなり、処理能力が低下する。この場合、重なった処理ステップをずらして実行する(特許文献1のようにスレッドを移動させる)ことによって、メモリバス14へのメモリアクセス負荷を軽減することはできるが、この方法では、メモリアクセス負荷の大きい処理が連続した場合は、処理ステップをずらすことができないし、処理ステップをずらすことによって処理の実行タイミングが遅れ、処理のリアルタイム性を確保することができない。
そこで、本実施例では、処理のリアルタイム性を確保しつつ、処理能力を向上させるために、図3に示すように、制御部11に、負荷算出部11a、期間予測部11b、処理制御部11cとしての機能を持たせる。すなわち、制御部11を、負荷算出部11a、期間予測部11b及び処理制御部11cとして機能させる並列処理制御プログラムを、いずれか1つのプロセッサコア12aに実行させるようにする。
負荷算出部11aは、並列処理に際して複数のジョブの処理ステップの重なりに応じて規定される(すなわち、各処理ステップの開始タイミング又は終了タイミングによって区切られる)期間毎に、メインメモリ13へのメモリアクセス負荷を算出する。期間予測部11bは、算出された期間毎のメモリアクセス負荷に基づいて、メインメモリ13へのメモリアクセスが集中する(最大となる)期間(第1の期間と呼ぶ。)を予測する。処理制御部11cは、上記予測した第1の期間に実行される予定のいずれかの処理ステップを、第1の期間よりも前の期間(以下、第2の期間と呼ぶ。)に、複数のジョブの処理を行っていないアイドル状態のプロセッサコア12aでダミー実行し、その後、その処理ステップを、ダミー実行を行ったプロセッサコア12aで実実行する。
なお、ダミー実行とは、処理ステップを実行するために必要な命令のみをメインメモリ13から読み出してキャッシュメモリに保存する実行形態であり、実実行とは、その処理ステップを実行するために必要なデータをメインメモリ13から読み出し、読み出したデータを参照して、キャッシュメモリに予め保存した命令を実行する実行形態である。
このように、ダミー実行及び実実行は、処理ステップを通常通りに実行する(命令とデータを併せて読み出す場合)よりもメインメモリ13へのメモリアクセスが少ないため、処理ステップが重なることによるメモリアクセス負荷の増加を抑制することができ、また、メモリアクセス負荷が最大になる期間よりも前の期間にダミー実行を行うことにより、処理の遅延を抑制して、処理のリアルタイム性を確保することができる。
以下、本実施例の画像形成装置10の動作について説明する。マルチコアプロセッサ12は、並列処理制御プログラムを実行することにより、図4のフローチャート図に示す処理を実行する。なお、図4は、コピーとプリントの並列処理を行った場合(コピー中にプリントジョブを受信した場合)の制御フローである。
まず、制御部11(負荷算出部11a)は、新規プリントジョブを受信すると、各期間におけるメモリアクセス負荷を算出する(S101)。
具体的には、図5に示すように、コピーは、スキャン/データ変換/画像処理/VIDEO出力の4つの処理ステップで構成されることから、図6に示すように、コピーの各処理ステップに対して予めメモリアクセス負荷を設定しておく。また、図7に示すように、プリントは、データ受信/RIP処理/画像処理/VIDEO出力の4つの処理ステップで構成されることから、図8に示すように、プリントの各処理ステップに対して予めメモリアクセス負荷を設定しておく。
なお、この処理ステップ毎のメモリアクセス負荷は、実測値としてよいし計算値としてもよい。また、絶対値としてもよいし、相対値としてもよい。また、コピーやプリントにおける用紙サイズや解像度、カラー/モノクロなどの条件によってメモリアクセス負荷が変化することから、メモリアクセス負荷は、各種条件の平均値としてもよいし、よく使用される条件での代表値としてもよく、条件毎のメモリアクセス負荷を用意してもよい。
そして、コピーの途中で新規のプリントジョブを受信した場合、負荷算出部11aは、図9に示すように、処理ステップの重なりに応じて規定される期間を設定し、図5及び図7のテーブルを参照して、各々の期間の各処理ステップのメモリアクセス負荷を加算して期間毎のメモリアクセス負荷を算出する。図10は、期間毎のメモリアクセス負荷を記述したテーブルの一例である。
例えば、期間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となる。
図4のフローチャート図に戻って、制御部11(期間予測部11b)は、コピーのデータ変換とプリントのRIP処理とが重なるか期間があるかどうかを判定する(S102)。なお、この判定を行うのは、画像形成装置10では、コピーとプリントがよく使用される機能であり、コピーのデータ変換及びプリントのRIP処理は、共にメインメモリ13へのアクセスが多いからである。そして、コピーのデータ変換とプリントのRIP処理とが重なる場合は、制御部11(処理制御部11c)は、後のジョブの方の処理ステップ(ここではプリントのRIP処理)を、ダミー実行の対象の処理ステップに決定する(S103)。
一方、コピーのデータ変換とプリントのRIP処理とが重ならない場合は、制御部11(期間予測部11b)は、算出した期間毎のメモリアクセス負荷を比較して、メモリアクセス負荷が最大となる期間(第1の期間)を予測する(S104)。そして、制御部11(処理制御部11c)は、第1の期間に実行される予定の複数の処理ステップの中から、ダミー実行の対象となる処理ステップを決定する(S105)。ここでは、図10のテーブルより、メモリアクセス負荷が最大となる期間は期間2であり、図9より、期間2に行われる処理ステップはコピーのデータ変換とプリントのRIP処理であることから、後のジョブ(プリント)のRIP処理をダミー実行の対象の処理ステップに決定する。
次に、制御部11(処理制御部11c)は、ダミー実行を開始するタイミングを決定する(S106)。このダミー実行開始タイミングは、メモリアクセス負荷が最大の期間(第1の期間)よりも前の期間の内のメモリアクセス負荷が最小の期間(第2の期間)を選択する。ここでは、第1の期間が期間2であるため、期間1を第2の期間として決定する。
次に、制御部11(処理制御部11c)は、ダミー実行に使用するプロセッサコア12aを決定する(S107)。このダミー実行用のプロセッサコア12aは、アイドル状態のプロセッサコア12aの中から選択する。例えば、プロセッサコア0でコピーを行い、プロセッサコア1でプリントを行っている場合は、プロセッサコア2をダミー実行用に割り当てる。
次に、制御部11(処理制御部11c)は、対象の処理ステップのダミー実行を開始する(S108)。このダミー実行では、実実行時に必要な命令をキャッシュメモリ12bに読み込むために命令を1通り実行(データを参照せずに命令のみを実行)する。ここで、ダミー実行から実実行までの間に、ダミー実行を行ったプロセッサコア12a(ここではプロセッサコア2)で他の処理を実行すると、キャッシュメモリ12bに読み込んだ命令が失われてしまうため、制御部11(処理制御部11c)は、ダミー実行完了後、ダミー実行用プロセッサコア12aへの処理の割り当てを禁止(例えば、フラグを設定)する(S109)。
次に、制御部11(処理制御部11c)は、ダミー実行を行った処理プロセスに対して実実行が開始できるかを判定する(S110)。この判定を行うのは、ダミー実行は、その処理ステップを行う期間よりも前の期間に行うため、ダミー実行が終了した段階で、その処理ステップの前の処理ステップが終了していない場合が生じるからである。具体的には、プリントのRIP処理をダミー実行する場合、RIP処理の実実行はその前の処理ステップであるデータ受信が完了していないと実施することができないため、データ受信が完了しているか否かに応じて、実実行が開始できるかを判定する。
実実行を開始できない場合(すなわち、ダミー実行を行った処理プロセスの前の処理プロセスが終了していない場合)は、実実行を開始できるようになるまで待機する。実実行を開始できる場合は、制御部11(処理制御部11c)は、ダミー実行用プロセッサコアへの処理割り当ての禁止を解除(例えば、フラグを解除)し(S111)、ダミー実行用プロセッサコアに対象となる処理ステップを割り当てて実実行を行い(S112)、その処理ステップ以降の処理ステップもダミー実行用プロセッサコアに実行させる。例えば、プロセッサコア2でRIP処理をダミー実行した場合は、プロセッサコア2でRIP処理の実実行を行うと共に、プロセッサコア2で画像処理及びVIDEO出力も行う。
以下、上記フローのダミー実行及び実実行について図面を参照して具体的に説明する。
図11は、プロセッサコア0でコピーを実行している際に、プリントジョブを受信した場合の並列処理制御の一例である。この場合、各期間のメモリアクセス負荷は図10のテーブルのようになり、期間2のメモリアクセス負荷が最大となるため、期間2に実行する予定の処理ステップ(プリントのRIP処理)に対して並列処理制御を行う。具体的には、期間2よりも前の期間である期間1にて、プロセッサコア2を用いてプリントのRIP処理のダミー実行(一点鎖線で表記)を行う。ここでは、RIP処理のダミー実行が終了した段階でプリントのデータ受信が完了しておらず、データ受信が完了しないとRIP処理の実実行ができないため、期間2の開始と同時にRIP処理の実実行(二点鎖線で表記)を行う。なお、実実行ではメインメモリ13から命令を読み込む必要がない(ダミー実行で読み込み済である)ため、通常のRIP処理(破線で表記)よりも短時間に処理を完了させることができる。その後、ダミー実行及び実実行を行ったプロセッサコア2で画像処理及びVIDEO出力を行う。
このような並列処理制御を行うことにより、処理のリアルタイム性を確保しつつ、メインメモリ13へのメモリアクセス負荷を軽減して処理能力を向上させることができる。また、実実行の処理時間が通常の処理時間に比べて短くなり、更に、メモリアクセス負荷を軽減することによって制御対象のジョブ以外のジョブの処理時間も短くなるため、処理全体の終了タイミングを早めることができ、複数の処理を効率的に実行することができる。
なお、上記説明では、処理ステップが重なった場合、後のジョブの処理ステップを制御対象としたが、先のジョブの処理ステップを制御対象とすることも可能である。図12は、プロセッサコア0でコピーを実行している際に、プリントジョブを受信した場合の並列処理制御の他の例である。コピーの画像処理のメモリアクセス負荷が大きな値(例えば、データ変換よりも大きい”40”)であるとすると、期間3のメモリアクセス負荷が最大(40+40=80)となるため、期間3に実施する予定のコピーの画像処理に対して並列処理制御を行うこともできる。具体的には、期間3よりも前の期間(ここでは期間1)にて、プロセッサコア2を用いてコピーの画像処理のダミー実行を行う。ここでも、画像処理のダミー実行が終了した段階でコピーのデータ変換が完了しておらず、データ変換が完了しないと画像処理の実実行ができないため、期間3の開始と同時に画像処理の実実行を行う。このような並列処理制御を行うことによっても、メモリアクセス負荷を軽減して処理能力を向上させることができ、また、処理のリアルタイム性を確保することができる。
以上、コピーとプリントの2つを並列処理する場合について記載したが、3つ以上の処理を並列処理する場合も同様に制御することができる。例えば、コピーのジョブの処理中にプリント1のジョブを受信し、更に、コピー及びプリント1のジョブの処理中にプリント2のジョブを受信した場合、処理ステップの重なりに応じて規定される期間は図13のようになる。そして、コピー及びプリントの各処理ステップのメモリアクセス負荷が図6及び図8のように設定されている場合、各々の期間のメモリアクセス負荷は図14に示すテーブルのようになる。
この場合、期間3のメモリアクセス負荷が最も大きいため、期間3に実行する予定の処理ステップに対して並列処理制御を行う。例えば、図15に示すように、期間3よりも前の期間である期間(ここでは、メモリアクセス負荷は期間2よりも期間1の方が小さいため期間1)にて、プロセッサコア3を用いてプリント2のRIP処理2のダミー実行を行う。RIP処理2のダミー実行が終了した段階でプリント2のデータ受信2が完了していないため、期間3の開始と同時にRIP処理2の実実行を行う。その後、ダミー実行及び実実行を行ったプロセッサコア3で画像処理2及びVIDEO出力2を行う。このように、3つ以上のジョブを並列処理する場合でも、いずれかのジョブの処理ステップに対して並列処理制御を行うことにより、メモリアクセス負荷を軽減して処理能力を向上させることができると共に、処理のリアルタイム性を確保することができる。
図15では、最も後のジョブ(ここではプリント2)に対して本実施例の並列処理制御を行ったが、図12と同様に、先のジョブ(コピーのジョブ又はプリント1のジョブ)に対して本実施例の並列処理制御を行うこともできる。
また、図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つ以上のジョブを並列処理する場合に、複数のジョブの処理ステップに対して本実施例の並列処理制御を行うことにより、メモリアクセス負荷を軽減して処理能力を向上させることができると共に、処理のリアルタイム性を確保することができる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。
例えば、上記実施例では、コピーとプリントを並列処理する場合について記載したが、コピーとFAX、プリントとFAX、コピーとプリントとFAXを並列処理する場合に対しても、本発明の並列処理制御を同様に適用することができる。また、コピー/プリント/FAX以外の処理(例えば、スキャン)を含む並列処理に対しても、本発明の並列処理制御を同様に適用することができる。
また、上記実施例では、先のジョブの処理中に後のジョブを受信した場合について記載したが、複数のジョブを同時に受信した場合に対しても、本発明の並列処理制御を同様に適用することができる。また、上記実施例では、コピー、プリントを各々4つの処理ステップに分割したが、処理ステップの分割数は任意である。
また、上記実施例では、第1の期間よりも前の第2の期間が存在する場合について記載したが、第1の期間が最も早い期間の場合は、第1の期間に、対象となる処理ステップのダミー実行を行うことになる。その場合、処理ステップの実実行が終了するタイミングは、当該処理ステップを通常通り実行する場合よりも遅くなるが、メインメモリ13へのメモリアクセス負荷を軽減することは可能である。
本発明は、複数のプロセッサコアで構成されるマルチコアプロセッサを備える画像形成装置、及び当該画像形成装置における並列処理を制御する並列処理制御プログラム、並びに当該並列処理制御プログラムを記録した記録媒体、並びに当該画像形成装置における並列処理制御方法に利用可能である。
10 画像形成装置
11 制御部
11a 負荷算出部
11b 期間予測部
11c 処理制御部
12 マルチコアプロセッサ
12a プロセッサコア
12b キャッシュメモリ
13 メインメモリ
14 メモリバス
15 HDD
16 ネットワークI/F部
17 スキャナ部
18 FAX制御部
19 画像形成部
20 操作表示部

Claims (12)

  1. キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置であって、
    前記画像形成装置の動作を制御する制御部は、
    複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する負荷算出部と、
    前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する期間予測部と、
    前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを実実行する処理制御部と、を備える、
    ことを特徴とする画像形成装置。
  2. 前記処理制御部は、前記第1の期間に実行される予定の前記複数の処理ステップの内の後のジョブの処理ステップに対して、前記ダミー実行及び前記実実行を行う、
    ことを特徴とする請求項1に記載の画像形成装置。
  3. 前記負荷算出部は、各ジョブの各処理ステップに対して予め設定されたメモリアクセス負荷情報に基づいて、前記期間毎のメモリアクセス負荷を算出する、
    ことを特徴とする請求項1又は2に記載の画像形成装置。
  4. 前記期間予測部は、前記複数のジョブがコピージョブ及びプリントジョブであり、前記コピージョブにおけるデータ変換と前記プリントジョブにおけるRIP処理とが重なる場合は、当該処理が重なる期間を、前記第1の期間と判断する、
    ことを特徴とする請求項1乃至3のいずれか一に記載の画像形成装置。
  5. 前記期間予測部は、新規ジョブの受信開始時に、前記第1の期間の予測を行う、
    ことを特徴とする請求項1乃至4のいずれか一に記載の画像形成装置。
  6. 前記処理制御部は、前記第1の期間よりも前、かつ、前記メモリアクセス負荷が最小となる第2の期間に、前記ダミー実行を行う、
    ことを特徴とする請求項1乃至5のいずれか一に記載の画像形成装置。
  7. 前記処理制御部は、前記ダミー実行を行ったプロセッサコアで、前記実実行を行う、
    ことを特徴とする請求項1乃至6のいずれか一に記載の画像形成装置。
  8. 前記処理制御部は、前記ダミー実行と前記実実行との切り替えを、フラグにより制御する、
    ことを特徴とする請求項1乃至7のいずれか一に記載の画像形成装置。
  9. 前記ダミー実行は、前記メインメモリからジョブに応じた命令を読み出して前記キャッシュメモリに保存する実行形態であり、前記実実行は、前記メインメモリから前記ジョブに応じたデータを読み出し、読み出した前記データを参照して、前記キャッシュメモリに保存した前記命令を実行する実行形態である、
    ことを特徴とする請求項1乃至8のいずれか一に記載の画像形成装置。
  10. 前記処理制御部は、前記処理ステップの前記ダミー実行に際して、前記データを参照せずに前記命令を実行する、
    ことを特徴とする請求項9に記載の画像形成装置。
  11. キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置で動作する並列処理制御プログラムであって、
    前記画像形成装置に、
    複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理、
    前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理、
    前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを実実行する第3処理、を実行させる、
    ことを特徴とする並列処理制御プログラム。
  12. キャッシュメモリを保持するプロセッサコアを複数有し、前記複数のプロセッサコアが1つのメインメモリを共有するマルチコアプロセッサを搭載する画像形成装置における並列処理制御方法であって、
    複数のジョブの処理ステップの重なりに応じて規定される期間毎に、前記メインメモリへのメモリアクセス負荷を算出する第1処理と、
    前記期間毎のメモリアクセス負荷に基づいて、前記メインメモリへのメモリアクセス負荷が最大となる第1の期間を予測する第2処理と、
    前記第1の期間に実行される予定の複数の処理ステップの内のいずれかの処理ステップを、前記第1の期間よりも前の期間に、前記複数のジョブの処理を行っていないプロセッサコアでダミー実行し、前記ダミー実行完了後、当該処理ステップを実実行する第3処理と、を実行する、
    ことを特徴とする並列処理制御方法。
JP2014225038A 2014-11-05 2014-11-05 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法 Active JP6465384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014225038A JP6465384B2 (ja) 2014-11-05 2014-11-05 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014225038A JP6465384B2 (ja) 2014-11-05 2014-11-05 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法

Publications (2)

Publication Number Publication Date
JP2016091305A true JP2016091305A (ja) 2016-05-23
JP6465384B2 JP6465384B2 (ja) 2019-02-06

Family

ID=56017034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014225038A Active JP6465384B2 (ja) 2014-11-05 2014-11-05 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法

Country Status (1)

Country Link
JP (1) JP6465384B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028749A (ja) * 2017-07-31 2019-02-21 コニカミノルタ株式会社 画像処理装置、スナップショット取得方法、およびコンピュータプログラム
JP7405008B2 (ja) 2020-06-08 2023-12-26 富士通株式会社 情報処理装置、情報処理プログラム、及び、情報処理方法
JP7476638B2 (ja) 2020-04-15 2024-05-01 株式会社デンソー マルチプロセッサシステム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334057A (ja) * 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 分散システム環境におけるバッチジョブの動的負荷分散処理方法およびそのシステム
US20070150655A1 (en) * 2005-12-26 2007-06-28 Denso Corporation Microcomputer provided with instruction cache memory
JP2008191949A (ja) * 2007-02-05 2008-08-21 Nec Corp マルチコアシステムおよびマルチコアシステムの負荷分散方法
WO2008108129A1 (ja) * 2007-03-06 2008-09-12 Nec Corporation メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム
JP2014191663A (ja) * 2013-03-27 2014-10-06 Fujitsu Ltd 演算処理装置、情報処理装置、および演算処理装置の制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334057A (ja) * 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 分散システム環境におけるバッチジョブの動的負荷分散処理方法およびそのシステム
US20070150655A1 (en) * 2005-12-26 2007-06-28 Denso Corporation Microcomputer provided with instruction cache memory
JP2007200277A (ja) * 2005-12-26 2007-08-09 Denso Corp マイクロコンピュータ
JP2008191949A (ja) * 2007-02-05 2008-08-21 Nec Corp マルチコアシステムおよびマルチコアシステムの負荷分散方法
WO2008108129A1 (ja) * 2007-03-06 2008-09-12 Nec Corporation メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム
JP2014191663A (ja) * 2013-03-27 2014-10-06 Fujitsu Ltd 演算処理装置、情報処理装置、および演算処理装置の制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028749A (ja) * 2017-07-31 2019-02-21 コニカミノルタ株式会社 画像処理装置、スナップショット取得方法、およびコンピュータプログラム
JP7476638B2 (ja) 2020-04-15 2024-05-01 株式会社デンソー マルチプロセッサシステム
JP7405008B2 (ja) 2020-06-08 2023-12-26 富士通株式会社 情報処理装置、情報処理プログラム、及び、情報処理方法

Also Published As

Publication number Publication date
JP6465384B2 (ja) 2019-02-06

Similar Documents

Publication Publication Date Title
JP6136020B2 (ja) 画像形成装置及び並列処理の制御方法並びに制御プログラム
US8446605B2 (en) Division of rendering block in image forming apparatus
JP5482528B2 (ja) 印刷文書変換装置及びプログラム
JP6465384B2 (ja) 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法
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
JP2012022503A (ja) 印刷文書変換装置及びプログラム
US20150317547A1 (en) Print processing method and printing system
JP2017130071A (ja) 画像処理装置及びメモリ制御プログラム並びにメモリ制御方法
US10552716B2 (en) Apparatus, method, and program for causing multicore processor to execute tasks, and recording medium storing the program
JP6372315B2 (ja) 画像処理装置及び並列処理制御プログラム並びに並列処理制御方法
US20170060644A1 (en) Image processing apparatus, control task allocation method, and recording medium
JP2011076043A (ja) 画像形成装置、画像形成装置の制御方法及び制御プログラム
JP2011201146A (ja) 画像処理装置及び画像処理プログラム
JP2011183757A (ja) 画像処理装置、画像処理方法及びプログラム
US10382637B2 (en) Print controller, image forming system, and image forming apparatus
JP2016177481A (ja) 画像処理装置、画像形成装置、及びプログラム
JP6740821B2 (ja) 印刷システム、印刷制御方法及び印刷制御プログラム
JP7006173B2 (ja) 画像形成装置及びプログラム
JP2015020404A (ja) 画像形成装置
JP6128104B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP7172193B2 (ja) 画像形成装置およびプログラム
JP2012008838A (ja) 印刷文書変換装置およびプログラム
JP2011013815A (ja) 画像処理装置およびプログラム
JP6206056B2 (ja) 処理プログラム及び処理装置並びに処理方法
JP2002359739A (ja) 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体

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 Request for written amendment filed

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