JP6287923B2 - マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法 - Google Patents

マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法 Download PDF

Info

Publication number
JP6287923B2
JP6287923B2 JP2015064435A JP2015064435A JP6287923B2 JP 6287923 B2 JP6287923 B2 JP 6287923B2 JP 2015064435 A JP2015064435 A JP 2015064435A JP 2015064435 A JP2015064435 A JP 2015064435A JP 6287923 B2 JP6287923 B2 JP 6287923B2
Authority
JP
Japan
Prior art keywords
periodic tasks
cores
periodic
generated
tasks
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
Application number
JP2015064435A
Other languages
English (en)
Other versions
JP2016184308A (ja
Inventor
啓史 佐久間
啓史 佐久間
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 JP2015064435A priority Critical patent/JP6287923B2/ja
Priority to US15/074,379 priority patent/US10552716B2/en
Priority to CN201610164637.3A priority patent/CN106027834B/zh
Publication of JP2016184308A publication Critical patent/JP2016184308A/ja
Application granted granted Critical
Publication of JP6287923B2 publication Critical patent/JP6287923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Software Systems (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法に関する。
画像形成装置の制御は、ユーザーインターフェース、ネットワーク、印刷ジョブの管理、印刷処理の制御等であるシステム制御と、画像形成装置の機械部品の制御等であるメカ制御とに区分することができる。一般的に、システム制御はメインのCPU(Central Processing Unit)で、メカ制御は専用のマイクロプロセッサで実行する構成がとられる。一方、昨今は、CPUの性能向上、およびコストダウンの要求等から、システム制御とメカ制御とを単一のCPUで実行することが求められている。
しかし、システム制御とメカ制御とを単一のCPUで実行する場合、システム制御に必要な機能性と、メカ制御に必要なリアルタム性とを両立する必要があるが、汎用OS(Operating System)を用いた制御ではメカ制御のリアルタイム性を確保することが困難という問題がある。
下記特許文献1に開示された先行技術においては、マルチコアプラットホームにおいて、優先順位の最も高い作業スレッドを次に実行するコアを、コアの負荷状況に基づいて決定する。そして、決定したコアに、当該作業スレッドを実行しているコアから、当該作業スレッドの実行と並行して、あらかじめ当該作業スレッドを実行するために必要なデータを転送する。これにより、周期的に実行する作業スレッドのソフトリアルタイム性を確保するという。
特開2013−125549号公報
しかし、マルチコア環境におけるリアルタイム性の阻害要因は複数あり、上記先行技術は、タスクマイグレーション後の作業スレッドの実行指示から実際の実行開始までのタイムラグによるソフトリアルタイム性の低下を抑止できるが、それ以外の要因によるリアルタイム性の低下を抑止できず、メカ制御に要求されるリアルタイム性を確保できないという問題がある。
前述の問題は、画像形成装置に限らず、システム制御とメカ制御とを単一のCPUで実行する装置全般に共通するものであった。
本発明は、このような問題を解決するためになされたものである。すなわち、マルチコアプロセッサーにおいて汎用OSを用いる場合に、システム制御の機能性を確保しつつ、メカ制御に要求されるリアルタイム性を確保可能な装置を提供する。
本発明の上記課題は、以下の手段によって解決される。
(1)システム制御を行うためのシステム制御タスクを生成するシステム制御アプリケーションプログラムと、メカ制御を行うためのメカ制御アプリケーションプログラムとを、汎用OS上で実行可能な装置であって、前記メカ制御に関し、周期的に所定の処理を行うための同一の周期タスクを複数生成し、生成した複数の周期タスクを、複数のコアを有するマルチコアプロセッサーの少なくともいずれか二以上のコアにそれぞれ実行させる制御部を有する装置。
(2)前記制御部は、前記マルチコアプロセッサーの負荷の状況に基づいて生成する周期タスクの数をさらに決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、上記(1)に記載の装置。
(3)前記装置は画像形成装置であり、前記制御部は、前記周期タスクの数を、前記画像形成装置の動作モードに基づいて決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、上記(1)に記載の装置。
(4)システム制御を行うためのシステム制御タスクを生成するシステム制御アプリケーションプログラムと、メカ制御を行うためのメカ制御アプリケーションプログラムとを汎用OS上で実行可能な装置において実行される、前記メカ制御アプリケーションプログラムであって、前記装置に、前記メカ制御に関し、周期的に所定の処理を行うための同一の周期タスクを複数生成し、生成した複数の周期タスクを、複数のコアを有するマルチコアプロセッサーの少なくともいずれか二以上のコアにそれぞれ実行させる手順を実行させるプログラム。
(5)前記手順は、前記マルチコアプロセッサーの負荷の状況に基づいて生成する周期タスクの数をさらに決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、上記(4)に記載のプログラム。
(6)前記装置は画像形成装置であり、前記手順は、前記周期タスクの数を、前記画像形成装置の動作モードに基づいて決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、上記(4)に記載のプログラム。
)上記(4)〜(6)のいずれかに記載のプログラムを記録した前記装置により読み取り可能な記憶媒体。
)システム制御を行うためのシステム制御タスクを生成するシステム制御アプリケーションプログラムと、メカ制御を行うためのメカ制御アプリケーションプログラムとを、汎用OS上で実行可能な装置における方法であって、前記メカ制御に関し、周期的に所定の処理を行うための同一の周期タスクを複数生成し、生成した複数の周期タスクを、複数のコアを有するマルチコアプロセッサーの少なくともいずれか二以上のコアにそれぞれ実行させる段階を有する方法。
(9)前記段階は、前記マルチコアプロセッサーの負荷の状況に基づいて生成する周期タスクの数をさらに決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、上記(8)に記載の方法。
(10)前記装置は画像形成装置であり、前記段階は、前記周期タスクの数を、前記画像形成装置の動作モードに基づいて決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、上記(8)に記載の方法。
同一の周期タスクを複数生成し、マルチコアプロセッサーの複数のコアにそれぞれ実行させる。これにより、一のコアにおいて周期タスクのリアルタイム性が阻害されても他のコアにおいて周期タスクのリアルタイム性が維持されるため、マルチコアプロセッサーにおいて汎用OSを用いる場合に、システム制御の機能性を確保しつつ、メカ制御に要求されるリアルタイム性を確保することができる。
本発明の第1実施形態に係る画像形成装置のブロック図である。 マルチコアプロセッサー上で動作するOSと、OS上で動作するシステム制御アプリケーションおよびメカ制御アプリケーションの構成を示す説明図である。 画像形成装置の例としてのタンデム型カラー画像形成装置の構成図である。 従来の装置におけるタスクの実行のスケジューリングに関する説明図である。 周期タスクのデッドラインオーバーに関する説明図である。 本発明の第一実施形態に係る画像形成装置における、タスクのスケジューリング結果を示す説明図である。 本発明の第1実施形態に係る、図6に記載のスケジュールが実行される様子を示す説明図である。 本発明の第1実施形態に係る、マルチコアプロセッサーにタスクを実行させる方法のフローチャートである。 本発明の第2実施形態に係る、マルチコアプロセッサーにタスクを実行させる方法のフローチャートである。
(第1実施形態)
以下、図面を参照して、本発明の第1実施形態に係る、マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法について詳細に説明する。
図1は、本発明に係る装置の一例である画像形成装置のブロック図である。
画像形成装置100は、マルチコアプロセッサー110、メインメモリ120、不揮発メモリ130、画像処理部140、ネットワーク部150、ユーザーインターフェース160、画像入力装置170、および画像出力装置180を有する。マルチコアプロセッサー110、メインメモリ120、および不揮発メモリ130は、メインメモリ120または不揮発メモリ130に記憶された、後述するメカ制御プログラムとともに制御部を構成する。
画像入力装置170は、例えばスキャナーであり、原稿台の所定の読み取り位置にセットされた原稿に蛍光ランプ等の光源で光を当て、その反射光をCCD(Charge Coupled Device)イメージセンサー等の撮像装置で光電変換して、その電気信号から画像データを生成する。
画像出力装置180は、例えばエンジンであり、電子写真方式により帯電、露光、現像、転写、および定着の各工程を経て、用紙に画像データに基づく画像形成を行い出力する。
画像処理部140は、ネットワーク部150により受信された印刷ジョブに含まれる印刷データのレイアウト処理およびラスタライズ処理を行い、画像データを生成する。印刷ジョブとは、画像形成装置100に対する印刷命令の総称であり、印刷データおよび印刷設定が含まれる。印刷データとは、印刷の対象である文書のデータであり、印刷データには、例えば、イメージデータ、ベクタデータ、テキストデータといった各種データが含まれる。具体的には、印刷データは、PDL(Page Description Language)データ、PDF(Portable Document Format)データまたはTIFF(Tagged Image File Format)データであり得る。印刷設定とは、用紙への画像形成に関する設定および印刷物の後処理に関する設定であり、例えば、グレースケールまたはフルカラー、2in1、両面印刷、ステープラー、穴あけ、および折り等の各種設定が含まれる。
ネットワーク部150は、画像形成装置100と外部機器との間で通信を行うためのインターフェースであり、イーサネット(登録商標)、SATA、PCI Express、USB、IEEE1394等の規格によるネットワークインターフェースや、Bluetooth(登録商標)、IEEE802.11等の無線通信インターフェース等の各種ローカル接続インターフェース等が用いられる。
ユーザーインターフェース160は、各種設定入力を行うタッチパネル、コピー枚数等を設定するテンキー、動作の開始を指示するスタートキー、動作の停止を指示するストップキー、各種設定条件を初期化するリセットキー等により構成されることができる。
マルチコアプロセッサー110は、複数のコアが集積されたプロセッサーである。コアは、演算処理を行うための論理回路およびキャッシュメモリを有する。
メインメモリ120は、例えば、RAM(Random Access Memory)により構成され、マルチコアプロセッサー110により実行されるプログラムおよび各種データを一時的に記憶する。
不揮発メモリは、例えば、ROM(Read Only Memory)、SSD(Solid State Drive)、HDD(Hard Disk Drive)により構成され、OS(Operating System)、システム制御アプリケーション(システム制御アプリケーションプログラム)、およびメカ制御アプリケーション(メカ制御アプリケーションプログラム)を含む各種プログラムおよび各種データを記憶する。OSはコンピュータにおいて、ハードウェアを抽象化したインターフェースをユーザーまたはアプリケーションソフトウェアに提供するソフトウェアであり、OSがマルチコアプロセッサー110上で動作する。OSとしては、汎用OSであるLinux(登録商標)を利用することができる。
図2は、マルチコアプロセッサー上で動作するOSと、OS上で動作するシステム制御アプリケーションおよびメカ制御アプリケーションの構成を示す説明図である。
システム制御アプリケーション230は、画像処理部140、ネットワーク部150、ユーザーインターフェース160、および周辺機器等の制御、ならびに印刷ジョブの管理をマルチコアプロセッサー110(すなわち、各コア111〜114)に実行させるためのプログラムである。以下、システム制御アプリケーション230による制御および管理をシステム制御と称する。
メカ制御アプリケーション220は、画像入力装置170および画像出力装置180の機械部品であるメカ部の制御および管理をマルチコアプロセッサー110に実行させるためのプログラムである。以下、メカ制御アプリケーション220による管理および制御を、メカ制御と称する。メカ部には、例えば、用紙の搬送を行うためのモーター、センサー、クラッチ、およびソレノイドが含まれる。メカ制御アプリケーションは、例えば、用紙の搬送を行うための、モーター、センサー、クラッチ、およびソレノイドの制御や、用紙の搬送の際のこれらの構成部品の異常およびこれらの構成部品による用紙の搬送の異常を検出する。
システム制御アプリケーション230およびメカ制御アプリケーション220は、それぞれシステム制御およびメカ制御をマルチコアプロセッサー110に実行させるためのタスクを生成する。OS210は、システム制御アプリケーション230およびメカ制御アプリケーション220により生成されるタスクをマルチコアプロセッサー110に実行させるための実行順序、およびタスクを実行させるコア111〜114を決定し、決定したコア111〜114にタスクを割り当てて実行させる。以下、システム制御を行うためのタスクをシステム制御タスクと、メカ制御を行うためのタスクをメカ制御タスクと称する。
図3は、画像形成装置の例としてのタンデム型カラー画像形成装置の構成図である。タンデム型カラー画像形成装置は、4組の画像形成部によりカラー画像形成を行う。
原稿台上に載置された原稿は画像入力装置170の査露光装置の光学系により画像が走査露光され、ラインイメージセンサーに読み込まれ、光電変換された画像情報信号は、画像処理部140において、アナログ処理、A/D変換、シェーディング補正、画像圧縮処理等を行った後、画像形成部の光書込部に入力される。
4組の画像形成部はイエロー(Y)色の画像を形成する画像形成部11Y、マゼンタ(M)色の画像を形成する画像形成部11M、シアン(C)色の画像を形成する画像形成部11C、黒(K)色の画像を形成する画像形成部11Kであり、それぞれ共通する符号11の後に形成する色をあらわす符号Y、M、C、Kを付して表記する。
画像形成部11Yは、感光体ドラム1Y及びその周囲に配置された帯電部2Y、光書込部3Y、現像装置4Y及びドラムクリーナー5Yを有して構成される。
同様に、画像形成部11Mは、感光体ドラム1Mの周囲に配置された帯電部2M、光書込部3M、現像装置4M及びドラムクリーナー5Mを、画像形成部11Cは、感光体ドラム1Cの周囲に配置された帯電部2C、光書込部3C、現像装置4C及びドラムクリーナー5Cを、画像形成部11Kは、感光体ドラム1Kの周囲に配置された帯電部2K、光書込部3K、現像装置4K及びドラムクリーナー5Kを有して構成される。
画像形成部11Y、11M、11C、11Kにおけるそれぞれの感光体ドラム1Y、1M、1C、1K、帯電部2Y、2M、2C、2K、光書込部3Y、3M、3C、3K、現像装置4Y、4M、4C、4K及びドラムクリーナー5Y、5M、5C、5Kはそれぞれ共通する内容の構成である。
画像形成部11Y、11M、11C、11Kは、それぞれ光書込部3C、3M、3Y、3Kにて画像情報信号を感光体ドラム1C、1M、1Y、1Kに書き込み、感光体ドラム1C、1M、1Y、1Kに画像情報信号に基づく潜像を形成する。そして潜像は現像装置4C、4M、4Y、4Kにより現像され、感光体ドラム1C、1M、1Y、1K上に可視画像であるトナー画像が形成される。
画像形成部11Y、11M、11C、11Kのそれぞれ感光体ドラム1Y、1M、1C、1Kに、それぞれ、イエロー(Y)色、マゼンタ(M)色、シアン(C)色、黒(K)色、の画像が形成される。
中間転写ベルト6は、複数のローラーにより巻回され、走行可能に支持されている。
画像形成部11Y、11M、11C、11Kより形成された各色のトナー画像は、走行する中間転写ベルト6上に一次転写部7Y、7M、7C、7Kにより逐次転写されてY(イエロー)、M(マゼンタ)、C(シアン)、K(黒)の各色層が重畳したトナーによるカラー画像(以下、「トナー画像」と称する)が形成される。
用紙搬送部HR10は用紙Sを搬送する。用紙Sは給紙トレイ291、292、293に収容されており、第1給紙部12により給紙され、レジストローラー13を経て、二次転写部7Aに搬送され、用紙S上に中間転写ベルト6上のトナー画像が転写される。二次転写部7Aは転写手段の一例であり、トナー画像を用紙Sに転写させ該用紙Sを搬送する。
トナー画像が転写された用紙Sは、定着部14にて熱と圧力とを加えることにより用紙S上のトナー画像が定着され、トナー画像の転写および定着により画像形成がされた用紙Sは定着搬送ローラー15及び排紙ローラー16を経て装置外に排出される。
定着部14は、定着ローラー31、押圧ローラー32、加熱ローラー33、および定着ベルト34を有する。定着ローラー31は押圧ローラー32により押圧され、用紙S上のトナー画像が載った側が凸になるように略円弧状のニップ領域が形成される。ニップ領域において用紙Sは加熱ローラー33を介して加熱された定着ベルト34とともに挟持される。そして、用紙S上に付着されたトナー画像のトナーが加熱および加圧されてトナー画像が用紙Sに定着される。定着部14は定着手段の一例であり、二次転写部7Aにより用紙Sに転写されたトナー画像を用紙Sに定着させ、該用紙Sを搬送する。
画像形成装置100は用紙反転部24を備えており、定着がなされた用紙を定着搬送ローラー15から用紙反転部24に導いて表裏を反転し排出、あるいは用紙の両面に画像形成を行うことを可能としている。
画像形成装置100の本体上部に設置されたユーザーインターフェース160から画像形成を行うに際しての用紙Sのサイズ、枚数等を設定できる。さらに、ユーザーインターフェース160から用紙の種類および各種通紙条件を設定できる。
画像形成のための画像出力装置180の上記各部の作動、および用紙Sを搬送するための各部の作動は、マルチコアプロセッサー110によるタスクの実行により制御される。
図4は、従来の装置におけるタスクの実行のスケジューリングに関する説明図である。
タスクのスケジューリングとは、マルチコアプロセッサー110の複数のコア111〜114のうちタスクを実行させるコアと、当該コアにおけるタスクの実行順序とを決定することである。OS210の機能であるスケジューラーが、システム制御アプリケーション230が生成したシステム制御タスク群と、メカ制御アプリケーション220が生成したメカ制御タスク群を、対応するコアのランキューに登録することで、タスクのスケジューリングが行われる。ランキューは、メインメモリ120に記憶され、各コアが実行するタスクが、実行順序に従って登録される。
ここで、最終的なジョブのスケジューリングはOS210の機能であるスケジューラーにより行われるが、システム制御アプリケーション230及びメカ制御アプリケーション220は、タスクを生成するタイミングや、生成したタスクをOS210に通知する(渡す)タイミングを変更することにより、ランキューに対してどのようにタスクが登録されるかを制御することができる。
図4において、Tはスケジーラーがスケジューリングを行う周期を示しており、スケジューラーは、周期Tに1度、所定数のタスクについてスケジューリングを行うことができる。例えば、各周期T[0]、T[1]、T[2]、T[3]において、それぞれコア111〜114ごとに4つのタスクのスケジューリングが行われることができる。
図4において太線枠で示された周期タスクは、一定周期で実行される必要のあるメカ制御タスクである。周期タスクには、例えば、画像入力装置170および画像出力装置180のメカ部の異常検出を行うメカ制御タスクが含まれる。メカ部の異常検出を行うメカ制御タスクは、異常発生から所定期間内に、異常検出および検出した異常への対処を行うことが要求される。そこで、メカ部の異常検出を行うメカ制御タスクは、必ず一定周期で実行される。
メカ部の異常検出を行うメカ制御タスクの中で実行される用紙搬送の異常検出においては、モーターのステップ数の制御量と連動してセンサーにより用紙の先端位置の検出が周期的に行われ、当該ステップ数の制御量から予測される位置において用紙が検出されない場合に異常検出がなされる。そして、異常検出、および検出した異常への対処であるモーターの停止およびアラームの発信は、異常発生から所定期間内に行われる必要がある。
図4に示すように、周期タスクは、少なくともいずれかのコア111〜114において、3回のタスク処理に対し1回という周期で、タスクが実行されている。
なお、各周期T[0]、T[1]、T[2]、T[3]において、同じ番号のタスクは、同じ種類のタスクを示しており、例えば、タスク1はシステム制御タスクである画像処理のタスクとすることができる。なお、タスク1〜タスク10はシステム制御タスクであり、タスク11〜タスク12および周期タスクはメカ制御タスクである。
図5は、周期タスクのデッドラインオーバーに関する説明図である。
デッドラインオーバーとは、図5の点線範囲で示すように、タスクの処理の完了が、タスクの処理の完了が必要となる時間であるデッドライン時間を超えることをいう。図5において、各処理は周期タスクの処理を示している。レイテンシとは、周期タスクの予定されていた処理開始時間の遅延である。ランタイム時間とは、周期タスクの処理時間である。周期tとは、1つのタスクに割り当てられた所定の時間である。なお、図5においては、周期タスク以外のタスクを省略し、周期タスクのみを記載している。
周期タスクは、OS210により一定周期で実行されるようにスケジューリングされるが、マルチコアプロセッサー110を用いるマルチコア環境において、コア111〜114の負荷分散を目的としたタスクマイグレーションが行われた際の、キャッシュ、TLB(Translation Lookaside Buffer)のヒット率低下、周期タスクの実行の前に実行されているタスクの処理完了遅延、メモリバスの競合、割り込みの集中発生など、様々なリアルタイム性の阻害要因が存在する。図5においては、3つの周期タスクのうち、2番目に実行された周期タスクに関し、レイテンシおよびランタイム時間が長くなり、その結果、当該周期タスクがデッドラインオーバーとなっている。このように、たとえ一定周期で周期タスクが実行されるようにスケジューリングされていた場合においても、デッドラインオーバーとなる可能性がある。
周期タスクの処理がデッドラインオーバーになると、例えば、原稿搬送精度の低下、ジャム検出遅れによる原稿詰まり、メカの故障などの問題が生じ得る。
例えば、ジャム検出という異常検出処理を行う周期タスクは、ジャムの検出後に搬送動作を停止する処理を、当該周期タスクに割り当てられた所定の時間(図5における周期t)内に完了する必要がある。そして、当該周期タスクの処理がデッドラインオーバーになると、動作停止などの処理が遅れることで原稿詰まりを深刻化させる可能性がある。
図6は、本実施形態に係る画像形成装置における、タスクのスケジューリング結果を示す説明図である。図6において、周期タスクは、コア111〜114のそれぞれに割り当てられる。これにより、周期タスクについて、コア111〜114のいずれかにおいてデッドラインオーバーが発生した場合でも、デッドラインオーバーが発生しないコアにより、リアルタイム性を維持して周期タスクすることができる。
図7は、本実施形態に係る、図6に記載のスケジュールが実行される様子を示す説明図である。なお、図7において、周期タスク以外のタスクは省略されている。
マルチコアプロセッサー110のコア1〜コア4に割り当てられる周期タスクは同一のタスクである。すなわち、メカ制御アプリケーション220は、同一の周期タスクを複数生成し、生成した複数の周期タスクをOS210に渡すことで、コア111〜114(コア1〜コア4)に周期タスクを実行させるスケジューリングを行う。
図7においては、点線範囲で示すように、コア1において2番目に実行された周期タスクがデッドラインオーバーとなっているが、コア1以外のコア2〜コア4においてそれぞれ2番目に実行された周期タスクはデッドラインオーバーとはなっていない。したがって、メカ制御アプリケーション220はコア2〜コア4においてそれぞれ2番目に実行された周期タスクのうちのいずれかの周期タスクの処理結果を採用して、メカ制御を行うことができる。例えば、メカ制御アプリケーション220は最も早く処理が完了した周期タスクの処理結果を採用することができる。これにより、一のコアにおいて周期タスクのリアルタイム性が阻害されても他のコアにおいて周期タスクのリアルタイム性が維持されるため、メカ制御に要求されるリアルタイム性を確保することができる。
図6において、コア111〜114のそれぞれに、同じ順番(図6において横方向に揃ったタイミング)で登録された周期タスクは、図7を参照して、必ずしも互いに同期して実行されるわけではない。これは、コア111〜114のそれぞれにおいて、割り当てられたタスクが非同期で実行されるためである。なお、各コアで実行される同一の周期タスクを同期させることで、周期タスクがコア相互で並列に実行されるようにしてもよい。
なお、図6、7においては、コア111〜114の全てに周期タスクを割り当てる例を示したが、コア111〜114のうちのすくなくとも2つのコアに周期タスクを割り当てれば、メカ制御に要求されるリアルタイム性を確保することができる。
メカ制御アプリケーション220は、前述の通り、生成した複数の周期タスクをOS210に渡すことで、複数のコアに周期タスク実行させることができる。このとき、メカ制御アプリケーション220は、周期タスクを実行させるコアを指定することができ、OS210は、指定されたコアに周期タスクを割り当てる。メカ制御アプリケーション220は、例えば、コア111〜114のうち、コア111とコア112だけに周期タスクが割り当てられるように、周期タスクを実行させるコアを指定することができる。
図8は、本実施形態に係る、マルチコアプロセッサーにタスクを実行させる方法のフローチャートである。本フローチャートの方法は、マルチコアプロセッサー110がメカ制御アプリケーション220を実行することにより実現される。
メカ制御アプリケーション220は、規定数の周期タスクを生成する(S101)。規定数は、例えば1とすることができる。
メカ制御アプリケーション220は、マルチコアプロセッサー110の負荷状態を取得し(S102)、不揮発メモリ130にあらかじめ記憶させたテーブルを参照して、周期タスクの必要数を決定する(S103)。テーブルは次のように作成されることができる。すなわち、マルチコアプロセッサー110の負荷状態に応じた、周期タスクのデッドラインオーバーの頻度を計測し、計測結果に基づいて、リアルタイム性を確保するために必要な周期タスク数を決定し、当該負荷状態と周期タスクの必要数とを対応付けることにより作成される。
メカ制御アプリケーション220は、現在生成した周期タスク数が、テーブルに記載された周期タスクの必要数より少ないと判断した場合は(S104:YES)、当該必要数と現在作成したタスク数との差分の数の周期タスクを生成する(S105)。これにより、マルチコアプロセッサー110の負荷状態に基づいて必要とされる数の周期タスクが生成され、生成された複数の周期タスクがマルチコアプロセッサー110の複数のコアにより実行される。
メカ制御アプリケーション220は、現在生成した周期タスク数が、テーブルに記載された周期タスクの必要数より多いと判断した場合は(S104:NO、S106:NO)、当該必要数と現在作成したタスク数との差分の数の周期タスクを消去する。これにより、テーブルに記載された必要数の周期タスクがマルチコアプロセッサー110の複数のコアにより実行される。
メカ制御アプリケーション220は、現在生成した周期タスク数が、テーブルに記載された周期タスクの必要数と同じと判断した場合は(S104:NO、S106:YES)、現在生成した周期タスクが複数のコアにより実行される。
このように、マルチコアプロセッサー110の負荷状態に基づいて必要最低限の数の周期タスクをマルチコアプロセッサー110の複数のコア111〜114に実行させることにより、マルチコアプロセッサー110の利用効率を向上させつつ、メカ制御に必要となるリアルタイム性を確保できる。
本実施形態は以下の効果を奏する。
同一の周期タスクを複数生成し、マルチコアプロセッサーの複数のコアにそれぞれ実行させる。これにより、一のコアにおいて周期タスクのリアルタイム性が阻害されても他のコアにおいて周期タスクのリアルタイム性が維持されるため、マルチコアプロセッサーにおいて汎用OSを用いる場合に、システム制御の機能性を確保しつつ、メカ制御に要求されるリアルタイム性を確保することができる。
さらに、周期タスクを実行させることによるマルチコアプロセッサーの負荷の状況に基づいて、生成する周期タスクの数を決定する。これにより、マルチコアプロセッサーの利用効率を向上させつつ、メカ制御に必要となるリアルタイム性を確保できる。
(第2実施形態)
本発明の第2実施形態に係る、マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法について詳細に説明する。本実施形態と第1実施形態とで異なる点は、第1実施形態は、マルチコアプロセッサー110の負荷状態に基づいて各コアにそれぞれ実行させる周期タスクの数を決定するのに対し、本実施形態は、ジョブの動作モードに基づいてマルチコアプロセッサー110の各コアに実行させる周期タスクの数を決定する点である。これ以外の点は、本実施形態は第1実施形態と同様であるため、重複する説明は省略または簡略化する。
図9は、本実施形態に係る、マルチコアプロセッサーにタスクを実行させる方法のフローチャートである。本フローチャートの方法は、マルチコアプロセッサーがメカ制御アプリケーション220を実行することにより実現される。
メカ制御アプリケーション220は、規定数の周期タスクを生成する(S201)。
メカ制御アプリケーション220は、ジョブがネットワーク部150により受信されるのを待ち(S202)、印刷ジョブが受信されたときは(S202:YES)、印刷ジョブに含まれるジョブ情報から画像形成装置100の動作モードを特定する(S203)。ジョブには、印刷ジョブの他、例えば、コピージョブ、スキャンジョブ、FAXジョブが含まれる。画像形成装置100の動作モードとしては、例えば、ジョブ種別、カラー/モノクロ等の処理画像種別、印刷とコピーの同時実施等のマルチ動作状態が含まれる。
メカ制御アプリケーション220は、特定した動作モードに基づき、不揮発メモリ130にあらかじめ記憶させたテーブルを参照して、周期タスクの必要数を決定する(S204)。テーブルは次のように作成されることができる。すなわち、動作モードごとにマルチコアプロセッサー110の周期タスクのデッドラインオーバーの頻度を計測し、計測結果に基づいて、リアルタイム性を確保するために必要な周期タスク数を決定し、動作モードと周期タスク数の必要数とを対応付けることにより作成される。
メカ制御アプリケーション220は、現在生成した周期タスク数が、テーブルに記載された周期タスクの必要数より少ないと判断した場合は(S205:YES)、当該必要数と現在作成したタスク数との差分の数の周期タスクを生成する(S206)。これにより、マルチコアプロセッサー110の動作モードに応じて必要とされる数の周期タスクが生成され、生成された複数の周期タスクがマルチコアプロセッサー110の複数のコアにより実行される。
メカ制御アプリケーション220は、現在生成した周期タスク数が、テーブルに記載された周期タスクの必要数より多いと判断した場合は(S205:NO、S106:NO)、当該必要数と現在作成したタスク数との差分の数の周期タスクを消去する。これにより、テーブルに記載された必要数の周期タスクがマルチコアプロセッサー110の複数のコアにより実行される。
メカ制御アプリケーション220は、現在生成した周期タスク数が、テーブルに記載された周期タスクの必要数と同じと判断した場合は(S104:NO、S106:YES)、現在生成した周期タスクが複数のコアにより実行される。
このように、画像形成装置100の動作モードに基づいて必要最低限の数の周期タスクをマルチコアプロセッサー110の複数のコア111〜114に実行させることにより、マルチコアプロセッサー110の利用効率を向上させつつ、メカ制御に必要となるリアルタイム性を確保できる。
メカ制御アプリケーション220は、ジョブが終了したと判断したときは(S209:YES)、周期タスク数を規定数に戻し(S210)、次のジョブの受信を待つ(S202)。
本実施形態は以下の効果を奏する。
画像形成装置の動作モードに基づいて、周期タスクの数を決定する。これにより、マルチコアプロセッサーの利用効率を向上させつつ、メカ制御に必要となるリアルタイム性を確保できる。
本発明は上述した実施形態に限定されない。
例えば、上述した実施形態においては、図8および図9のフローチャートの方法をマルチコアプロセッサーがメカ制御アプリケーションを実行することにより実現されるものとして説明したが、メカ制御アプリケーションを実行することにより実現される機能の一部または全部を回路等のハードウェアに置き換えて実現されてもよい。
また、図7においては、マルチコアプロセッサーのすべてのコアに同一の周期タスクを実行させているが、少なくともいずれか二以上のコアに同一の周期タスクを実行させればよく、必要に応じて、周期タスクを実行させるコアの数を限定してもよい。
また、上述した実施形態においては、画像形成装置に実装されたマルチコアプロセッサーにタスクを実行させるものとして説明したが、マルチコアプロセッサーが実装される装置は、当該装置のメカ部のメカ制御を周期タスクにより実施する装置であればよく、例えば、素材の加工装置であってもよい。
100 画像形成装置。

Claims (10)

  1. システム制御を行うためのシステム制御タスクを生成するシステム制御アプリケーションプログラムと、メカ制御を行うためのメカ制御アプリケーションプログラムとを、汎用OS上で実行可能な装置であって、
    前記メカ制御に関し、周期的に所定の処理を行うための同一の周期タスクを複数生成し、生成した複数の周期タスクを、複数のコアを有するマルチコアプロセッサーの少なくともいずれか二以上のコアにそれぞれ実行させる制御部を有する装置。
  2. 前記制御部は、前記マルチコアプロセッサーの負荷の状況に基づいて生成する周期タスクの数をさらに決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、請求項1に記載の装置。
  3. 前記装置は画像形成装置であり、
    前記制御部は、前記周期タスクの数を、前記画像形成装置の動作モードに基づいて決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、請求項1に記載の装置。
  4. システム制御を行うためのシステム制御タスクを生成するシステム制御アプリケーションプログラムと、メカ制御を行うためのメカ制御アプリケーションプログラムとを汎用OS上で実行可能な装置において実行される、前記メカ制御アプリケーションプログラムであって、前記装置に、
    前記メカ制御に関し、周期的に所定の処理を行うための同一の周期タスクを複数生成し、生成した複数の周期タスクを、複数のコアを有するマルチコアプロセッサーの少なくともいずれか二以上のコアにそれぞれ実行させる手順を実行させるプログラム。
  5. 前記手順は、前記マルチコアプロセッサーの負荷の状況に基づいて生成する周期タスクの数をさらに決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、請求項4に記載のプログラム。
  6. 前記装置は画像形成装置であり、
    前記手順は、前記周期タスクの数を、前記画像形成装置の動作モードに基づいて決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、請求項4に記載のプログラム。
  7. 請求項4〜6のいずれか一項に記載のプログラムを記録した前記装置により読み取り可能な記憶媒体。
  8. システム制御を行うためのシステム制御タスクを生成するシステム制御アプリケーションプログラムと、メカ制御を行うためのメカ制御アプリケーションプログラムとを、汎用OS上で実行可能な装置における方法であって、
    前記メカ制御に関し、周期的に所定の処理を行うための同一の周期タスクを複数生成し、生成した複数の周期タスクを、複数のコアを有するマルチコアプロセッサーの少なくともいずれか二以上のコアにそれぞれ実行させる段階を有する方法。
  9. 前記段階は、前記マルチコアプロセッサーの負荷の状況に基づいて生成する周期タスクの数をさらに決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、請求項8に記載の方法。
  10. 前記装置は画像形成装置であり、
    前記段階は、前記周期タスクの数を、前記画像形成装置の動作モードに基づいて決定し、決定した数の前記周期タスクを生成し、生成した周期タスクを前記複数のコアに実行させる、請求項8に記載の方法。
JP2015064435A 2015-03-26 2015-03-26 マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法 Active JP6287923B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015064435A JP6287923B2 (ja) 2015-03-26 2015-03-26 マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法
US15/074,379 US10552716B2 (en) 2015-03-26 2016-03-18 Apparatus, method, and program for causing multicore processor to execute tasks, and recording medium storing the program
CN201610164637.3A CN106027834B (zh) 2015-03-26 2016-03-22 使多核处理器执行任务的装置以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015064435A JP6287923B2 (ja) 2015-03-26 2015-03-26 マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法

Publications (2)

Publication Number Publication Date
JP2016184308A JP2016184308A (ja) 2016-10-20
JP6287923B2 true JP6287923B2 (ja) 2018-03-07

Family

ID=56975464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015064435A Active JP6287923B2 (ja) 2015-03-26 2015-03-26 マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法

Country Status (3)

Country Link
US (1) US10552716B2 (ja)
JP (1) JP6287923B2 (ja)
CN (1) CN106027834B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110045992B (zh) * 2019-04-24 2020-03-13 北京翼辉信息技术有限公司 一种适用于多核板卡的通用系统及方法
JP7362475B2 (ja) 2019-12-27 2023-10-17 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
KR102441045B1 (ko) * 2020-12-14 2022-09-05 현대오토에버 주식회사 멀티 코어 구조의 전자 제어 유닛에서 수행되는 방법, 그리고 이를 구현하기 위한 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073354A (ja) * 2000-08-29 2002-03-12 Ricoh Co Ltd タスク制御装置とタスク制御方法
JP2007076165A (ja) * 2005-09-14 2007-03-29 Canon Inc 画像形成装置、その制御方法、制御プログラム及び画像形成システム
JP5053109B2 (ja) * 2008-01-23 2012-10-17 株式会社日立製作所 制御装置
JP5459475B2 (ja) * 2009-08-25 2014-04-02 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、および画像形成装置の制御方法
JP2012135878A (ja) * 2010-12-24 2012-07-19 Canon Inc 画像処理装置、情報処理方法及びプログラム
US9235819B2 (en) * 2011-11-04 2016-01-12 Canon Kabushiki Kaisha Printing system, image forming apparatus, and method
KR101901587B1 (ko) * 2011-12-13 2018-10-01 삼성전자주식회사 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치
JP5746100B2 (ja) 2011-12-27 2015-07-08 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5988780B2 (ja) * 2012-08-31 2016-09-07 キヤノン株式会社 画像形成システム、及び情報処理装置
JP2014102683A (ja) * 2012-11-20 2014-06-05 Fujitsu Ltd 情報処理装置の制御プログラム、情報処理装置の制御方法および情報処理装置
US9700908B2 (en) * 2012-12-27 2017-07-11 Kateeva, Inc. Techniques for arrayed printing of a permanent layer with improved speed and accuracy
JP6038726B2 (ja) * 2013-05-15 2016-12-07 京セラドキュメントソリューションズ株式会社 画像形成装置及び割り込み制御方法
AT514444A2 (de) 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Verfahren und Vorrichtung zur zeitrichtigen Datenübergabe an die zyklischen Tasks in einem verteilten Echtzeitsystem
JP2015006736A (ja) * 2013-06-24 2015-01-15 キヤノンファインテック株式会社 画像形成装置、通知方法およびプログラム
JP6312076B2 (ja) * 2013-12-02 2018-04-18 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム

Also Published As

Publication number Publication date
US10552716B2 (en) 2020-02-04
CN106027834A (zh) 2016-10-12
US20160283265A1 (en) 2016-09-29
CN106027834B (zh) 2019-04-26
JP2016184308A (ja) 2016-10-20

Similar Documents

Publication Publication Date Title
US7859703B2 (en) Image forming apparatus, image forming method and recording medium having program recorded thereon
US9398189B2 (en) Image forming apparatus, and method and program for controlling parallel processing
JP6287923B2 (ja) マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法
JP2013103407A (ja) 印刷装置、印刷装置の制御方法、及びプログラム
JP2007030476A (ja) 印刷システム
US8792127B2 (en) Image forming apparatus, control method thereof, and storage medium
JP2017194629A (ja) 画像形成装置
JP5392153B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2012083921A (ja) 画像形成装置及びその処理方法
US9340051B2 (en) Printing apparatus, method for controlling printing apparatus, and storage medium for test printing
JP6465384B2 (ja) 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法
US9727019B2 (en) Image forming apparatus and image forming system
US20180107906A1 (en) Image forming apparatus and information processing method
JP6311509B2 (ja) 画像形成装置
JP2013123813A (ja) 印刷装置、印刷システム、印刷装置の制御方法、及びプログラム
JP5253825B2 (ja) 画像形成装置
JP6459562B2 (ja) 画像形成装置の管理プログラム、画像形成装置の管理プログラムを記録した記録媒体、および画像形成装置の管理方法
JP2003326811A (ja) 画像形成装置
JP5984350B2 (ja) 印刷装置及びその制御方法、並びにプログラム
JP2012042673A (ja) 画像形成装置、画像転写位置制御プログラム
JP5429249B2 (ja) 画像形成装置
JP2004262026A (ja) 画像形成装置
JP6395691B2 (ja) 印刷制御装置とその制御方法
US9025201B2 (en) Image processing apparatus and image processing method
JP2009113308A (ja) 画像形成システムおよびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170707

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R150 Certificate of patent or registration of utility model

Ref document number: 6287923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150