JP5631022B2 - 処理装置、処理の割り当て方法及びプログラム - Google Patents

処理装置、処理の割り当て方法及びプログラム Download PDF

Info

Publication number
JP5631022B2
JP5631022B2 JP2010049315A JP2010049315A JP5631022B2 JP 5631022 B2 JP5631022 B2 JP 5631022B2 JP 2010049315 A JP2010049315 A JP 2010049315A JP 2010049315 A JP2010049315 A JP 2010049315A JP 5631022 B2 JP5631022 B2 JP 5631022B2
Authority
JP
Japan
Prior art keywords
processing
task
executed
processing means
cpu
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.)
Expired - Fee Related
Application number
JP2010049315A
Other languages
English (en)
Other versions
JP2011186619A (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2010049315A priority Critical patent/JP5631022B2/ja
Publication of JP2011186619A publication Critical patent/JP2011186619A/ja
Application granted granted Critical
Publication of JP5631022B2 publication Critical patent/JP5631022B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

複数の処理を時分割で実行することが可能な処理装置に関するものである。
従来、タスクと呼ばれるプログラムの実行単位を並列に実行して、複数の機能を提供するデータ処理装置がある(例えば特許文献1、特許文献2)。CPUが一つである場合には、CPUが時分割で複数のタスクを実行するため、タスクの数が増大するのに従い、単位時間あたりにCPUで実行されるタスクの数は減少する。その結果、一つのタスクで行われる処理にかかる時間は長くなる。
特開2005−301890号公報 特開2007−149001号公報
複数のCPUあるいは単一パッケージに複数のCPUコアを実装したマルチコアプロセッサを用いて、複数のタスクを物理的に並列に実行することにより、単位時間あたりに実行されるタスクの数を増やす方法がある。
しかしながら、この方法でも、CPUの数を超える多数のタスクが存在する場合には、CPUが一つである場合と同様に、複数のCPUのそれぞれが時分割で複数のタスクを実行する。そのため、一つのタスクで行われる処理にかかる時間が長くなってしまうことがある。
データ処理装置の種類によっては、特定のタスクで行われる処理については、それにかかかる時間が長くなるのを避けたい場合がある。例えば、印刷ジョブに基づいて印刷を実行する印刷装置では、印刷ジョブから画像データを生成する処理に時間がかかってしまうと、印刷出力に時間がかかってしまう。従って、印刷ジョブから画像データを生成する処理にかかる時間が長くならないよう、多数のタスクが存在する場合でも、印刷ジョブから画像データを生成するタスクにはより多くの時間CPUを使えるようにしたい。
本発明はこのような課題を解決するため、その他の処理の実行を完全に停止してしまうことなく、特定の処理をより多く実行できるようにすることを目的とする。
本発明に係わる処理装置は、複数の処理を時分割で実行することが可能な第1の処理手段と、複数の処理を時分割で実行することが可能な第2の処理手段と、実行すべき処理を前記第1の処理手段と前記第2の処理手段のそれぞれに割り当てる割り当て手段とを有し、実行すべき処理が予め決められた特定の処理である場合、前記割り当て手段は、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直、前記特定の処理を前記第1の処理手段に割り当て、前記特定の処理が終了するまで前記特定の処理ではない処理を前記第1の処理手段に新たに割り当てるのを制限することを特徴とする。
また、本発明に係わる割り当て方法は、複数の処理を時分割で実行することが可能な第1の処理手段と複数の処理を時分割で実行することが可能な第2の処理手段とのそれぞれに実行すべき処理を割り当てる割り当て方法であって、実行すべき処理が予め決められた特定の処理である場合、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直す第1の割り当てステップと実行すべき処理が前記特定の処理である場合、前記特定の処理を前記第1の処理手段に割り当てる第2の割り当てステップとを有し、前記特定の処理が終了するまで前記特定の処理ではない処理を前記第1の処理手段に新たに割り当てるのを制限することを特徴とする。
また、本発明に係わるプログラムは、複数の処理を時分割で実行することが可能な第1の処理手段と複数の処理を時分割で実行することが可能な第2の処理手段とのそれぞれに実行すべき処理を割り当てる、コンピュータにより読み取り可能なプログラムであって、実行すべき処理が予め決められた特定の処理である場合、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直す第1の割り当てステップと実行すべき処理が前記特定の処理である場合、前記特定の処理を前記第1の処理手段に割り当てる第2の割り当てステップとを前記コンピュータに実行させ、前記特定の処理が終了するまで前記特定の処理ではない処理を前記第1の処理手段に新たに割り当てるのを制限することを特徴とする。
本発明によれば、複数の処理を時分割で実行することが可能な処理手段を複数有する処理装置において、他の処理の実行を完全に停止してしまうことなく、特定の処理をより多く実行できるようにすることができる。
データ処理装置の内部構成を示す図である。 タスク処理を説明するための概念図である。 タスク情報の一例を示す図である。 タスク投入処理を示すフローチャートである。 タスクスケジュール処理を示すフローチャートである。 マルチコアCPUの内部構成の一例を示す図である。
本発明に係る実施形態を説明する。
図1は本発明を適用可能なデータ処理装置の内部構成を示す図である。データ処理装置は大きく分けてメインボード100とサブボード108から構成されている。なお、メインボードとサブボードとに分けずにそれらを一つのボードにすることも可能であるが、下記では、データ処理装置がメインボード100とサブボード108の2つのボードから構成される場合を説明する。
メインボード100は、CPU101、不揮発性メモリ102、揮発性メモリ103、バスコントローラ104、ディスクコントローラ105及びUSBコントローラ106を備える。
CPU101は起動プログラム及び他のプログラムを実行する演算装置である。CPU101は複数のチップからなるマルチプロセッサとしてあるいは単一チップ内に複数の演算装置を組み込んだマルチコアプロセッサとして構成されている。図1ではそれぞれをCPU#1及びCPU#2としている。なお、OSが複数のCPUを扱うことが可能であれば、単体のCPUをそれぞれ別々に複数個用意しても良い。下記では、複数のCPUコアのそれぞれもCPUと呼ぶ。
不揮発性メモリ(BOOT ROM)102は起動プログラムやOS(オペレーティングシステム)を格納している。なお、OSは後述のハードディスク装置107に格納されていても良い。揮発性メモリ(Volatile Memory)103はプログラムやデータを一時的に格納する。
バスコントローラ(Bus Controller)104はサブボード108と接続し、サブボード108との間の通信を制御する。ディスクコントローラ(Disk Controller)105はハードディスク装置(HDD)107を制御する。ハードディスク装置107は各種アプリケーションプログラムや各種データを格納し、ディスクコントローラ105はそれらの書き込みや読み出しを制御する。USBコントローラ(USB Controller)106はUSBメモリ等のUSBデバイス(不図示)を制御する。
サブボード108は不揮発性メモリ109、CPU110、揮発性メモリ111、バスコントローラ112、デバイスコントローラ113及びイメージプロセッサ114を備える。
不揮発性メモリ(BOOT ROM)109は起動プログラムを格納する。CPU110は起動プログラムやその他のプログラムを実行する演算装置である。揮発性メモリ(Volatile Memory)111はプログラムやデータを一時的に格納する。
バスコントローラ(Bus Controller)112はメインボード100と接続し、メインボード100との間の通信を制御する。デバイスコントローラ(Device Controller)113は画像処理デバイスを制御し、それぞれ異なる画像処理を画像処理デバイスに実行させる。図1では、画像処理デバイスとしてスキャン装置(Scan Engine)115、印刷装置(Print Engine)116、ファクシミリ装置(Fax Engine)117がデバイスコントローラ113と接続している。イメージプロセッサ(Image Processor)114は画像データの生成などの画像形成処理を高速に実行する。
図2はCPU101で行われるタスク(プログラムの実行単位)の実行処理を説明するための概念図である。
同時に複数の処理を並行して実行できるOS(マルチタスクOS)では、タイムスライスと呼ばれる規定時間の間CPUを一つのタスクに占有させる制御を繰り返すことにより、マルチタスク動作を実現する。つまり、CPUは規定時間の間一つのタスクを実行して、複数のタスクを時分割で実行する。これをマルチタスクスケジューリングと呼ぶ。
図2では、CPU#1(201)においてネットワークタスク202が現在実行されており、CPU#2(204)においてはストレージタスク205が現在実行されている。
OSの一部であるタスクスケジューラ207はタイムスライスの経過や割り込みの発生などに起因して、現在実行中のネットワークタスク202の実行状態をタスク情報として実行待ち行列203に退避する。つまり、実行待ち行列203にあるネットワークタスクのタスク情報はCPUのレジスタ値などにより更新される。一方、実行待ち行列203にあるUI制御タスクのタスク情報をCPU#1に設定して、UI制御タスクをCPU#1に実行させる。同様に、タスクスケジューラ207はタイムスライスの経過や割り込みの発生などに起因して、現在実行中のストレージタスク205の実行状態を実行待ち行列206のタスク情報に退避する。つまり、実行待ち行列206にあるストレージタスクのタスク情報はCPUのレジスタ値などにより更新される。一方、実行待ち行列206にあるスキャンタスクのタスク情報をCPU#2に設定して、スキャンタスクをCPU#2に実行させる。このようなCPUにおけるタスクの実行の切り替えをタスクスイッチと呼ぶ。タスク情報の詳細は後述する(図4)。
タスクスケジューラ207はプログラムとしては一つであるが、CPU#1及びCPU#2のそれぞれで独立に実行されることにより、論理的には2つ存在することになる。よって、タスクスケジューラ#1がCPU#1でのタスクスケジューリングを制御し、タスクスケジューラ#2がCPU#2でのタスクスケジューリングを制御する。
このようなマルチタスクスケジューリングで、全てのタスクがタイムスライスを完全に使い切ると仮定した場合、実行待ち行列に配置されているタスクの数が多くになるにつれて、ある一つのタスクがCPUで実行された後、次に実行されるまでの時間は長くなる。
例えば、PDL処理タスクは、ローカルエリアネットワーク(LAN)等を経由して情報処理装置から受信したプリントジョブをイメージデータに展開し、そのイメージデータをサブボード108のCPU110に送信する。そのあと、印刷装置116がCPU110、イメージプロセッサ114及びデバイスコントローラ113の制御の下、イメージデータに基づく画像を紙媒体に印刷する。実行待ち行列206に配置されたタスクの数が増えると、PDL処理タスクが単位時間あたりにCPU#2を占有できる回数(または時間)は減少するため、PDL処理タスクがプリントジョブをイメージデータに展開するのに掛かる時間は長くなる。すると、データ処理装置の性能指標の一つであるPPM値(Page Per Minute:1分間あたりの印刷ページ数)が下がる場合が生じてしまう。
図2の占有タスク208については後述する。
図3は、実行待ち行列203または206に配置されるタスクのタスク情報の一例を示す図である。複数のタスクのそれぞれごとに図3のようなタスク情報が存在する。
タスクID301はタスクを一意に識別する識別子である。タスク状態302はタスクの状態を示す。コード・アドレスリスト303はタスク自身の実行コードが配置されたメモリアドレス群を示す。データ・アドレスリスト304はタスクが用いるデータが配置されたメモリアドレス群を示す。レジスタ情報305はそのタスクを実行していたときのCPUのレジスタ値を示す。
タスクスケジューラ207は実行待ち行列203または206に配置されているタスク情報を参照して、CPUのレジスタ値等の設定または操作をすることにより、タスクの切り替えを実行する。
下記では、図4及び図5のフローチャートを参照しながら、メインボード100で行われるタスク制御処理を説明する。
図4は、メインボード100がCPU#1及びCPU#2の2つのCPUを有する場合にタスクスケジューラ207が実行するタスク投入処理を示すフローチャートである。ここでは、タスクスケジューラ207が、実行すべきタスクをCPU#1及びCPU#2のいずれかに割り当てる。
まず、タスクスケジューラ207は、あるタスクを実行するためにそのタスクを投入するにあたり、そのタスクが占有タスクであるかどうかを判定する(S401)。
占有タスクとは、CPUを連続的に占有しつづけることのできるタスクである。占有タスクが占有することになっているCPUを占有CPUと呼ぶ。いずれのタスクを占有タスクにするか、いずれのCPUを占有CPUにするかは指定可能であり、指定されたタスクを占有タスクとして登録し、指定されたCPUを占有CPUとして登録する。図2の例では、PDL処理タスクが占有タスク、CPU#2が占有CPUになっている。
タスクが占有タスクであれば、タスクスケジューラ207は、CPU#2で実行中のタスクについて実行待ち行列206中のタスク情報を更新する。さらにCPU#2の実行待ち行列206に配置されている各タスクのタスク情報を別のCPUであるCPU#1の実行待ち行列203に移動する(S402)。図2の例では、ストレージタスク、スキャンタスク、ファックスタスク及びプリントタスクのそれぞれのタスク情報を実行待ち行列206から実行待ち行列203に移動する。
つぎに、タスクスケジューラ207は占有タスクであるPDL処理タスクのタスク情報をCPU#2の実行待ち行列206に配置する(S403)。さらに、タスクスケジューラ207は占有タスク動作モードフラグに1を設定する(S404)。この占有タスク動作モードフラグは揮発性メモリ103に記憶されており、その初期値は0(零)である。
占有タスクではないとS401で判定した場合には、タスクスケジューラ207は占有タスク動作モードフラグが1であるかどうかを判定する(S405)。占有タスク動作モードフラグが1である場合には、占有タスクがCPU#2を占有しているので、タスクスケジューラ207はタスクのタスク情報をCPU#1の実行待ち行列203に配置する(S406)。占有タスク動作モードフラグが1ではない場合には、どちらのCPUも占有タスクによって占有されていないので、タスクスケジューラ207は実行待ちのタスクが少ない方の実行待ち行列にタスクのタスク情報を配置する(S407)。実行待ちのタスクの数が実行待ち行列203と実行待ち行列206との間で同じである場合、タスクスケジューラ207は占有CPUではないCPU#1の実行待ち行列203にタスクのタスク情報を配置するものとする。ただし、これに限るものではない。
図5は、タスクスケジューラ207が実行するタスクスケジュール処理を示すフローチャートである。タスクスケジュール処理では、タスクスケジューラ207は各CPUにて、実行待ち行列から一つのタスクを選択して、そのタスクをタイムスライスの間CPUに実行させるためのタスクスケジューリングを行う。
タスクスケジューラ207は、CPUで現在実行中のタスクの処理が完了したかどうかを判定する(S501)。そのタスクの処理が完了した場合には、タスクスケジューラ207はそのタスクのタスク情報を実行待ち行列から削除する(S502)。さらに、タスクスケジューラ207はそのタスクが占有タスクであるかどうかを判定する(S503)。タスクが占有タスクであれば、タスクスケジューラ207は占有タスク動作モードフラグに0(零)を設定する(S504)。
タスクの処理が完了していないとS501で判定した場合には、タスクスケジューラ207はタイムスライスが終了したかどうかを判定する(ステップS505)。タイムスライスが終了したかどうかの判断は、規定時間を初期値とするカウンタをデクリメントしていきながらカウンタが0になったかどうかを判定しても良いし、ハードウェアタイマで時間を計測して規定時間が経過したかどうかを判定しても良い。
タイムスライスが終了していなければ、そのタスクはCPUを使用することができるので、タスクスケジューラ207はそのタスクをCPUに実行させる(S508)。
一方、タイムスライスが終了している場合には、タスクスケジューラ207は、そのCPUが規定時間の間CPUを使い果たしたと判断して、現在のCPUのレジスタ値等をタスク情報として実行待ち行列に保存する(S506)。さらに、タスクスケジューラ207は新たなタスクをCPUに実行させるため、実行待ち行列から一つのタスクを選択し、そのタスクのタスク情報をCPUのレジスタ値として設定する(S507)。そして、タスクスケジューラ207はそのタスクをCPUに実行させる(S508)。
上記のタスクスケジューラ207の処理により、占有タスクとして登録されたタスクの実行を開始する場合、占有CPUとして指定されたCPUの実行待ち行列に配置されているタスクのタスク情報を他のCPUの実行待ち行列に移動することができる。その際に占有タスク動作モードフラグに1を設定することにより、それ以降は、他のタスクを占有CPUに割り当てずに他のCPUに割り当てることとなり、占有タスクをタスクの処理が完了するまで占有CPUで常に実行可能である。そのため、所望の実行性能を実現することができる。
占有タスクの処理が完了すると、占有タスク動作モードフラグに0(零)を設定することにより、それ以降は、タスクを実行待ちのタスクが少ない方のCPUに配置することが可能となり、各CPUの負荷が平準化される。
図6はマルチコアCPUの内部構成の一例を示す図である。図6(A)は複数のCPUでL2キャッシュを共有する形式を示す。図6(B)は複数のCPUごとにL2キャッシュを分離する形式を示す。
本実施形態では、タスク情報を特定のCPUの実行待ち行列から他方のCPUの実行待ち行列に移動させることにより、特定のCPUで特定のタスクを実行させている。そのため、実行待ち行列をL2キャッシュ上に構築し、さらにそのL2キャッシュを複数のCPUで共有させることができれば(図6(A)の形式)、他方のCPUは比較的高速にタスク情報にアクセス可能である。一方、L2キャッシュを複数のCPUがそれぞれ持つ場合(図6(B)の形式)、特定のCPU側のL2キャッシュには、このCPUではもう使われることがないもののメモリにまだ書き込まれていない移動すべきタスク情報が存在する。他方のCPU側のL2キャッシュには、移動されたタスク情報を参照しようとしても、そのタスク情報が格納されていない。よって、アクセスが遅くなる可能性がある。このため、タスク情報を移動するのに先立ちL2キャッシュのフラッシュを行い、L2キャッシュからメモリへのデータの書き込みを確定させることで、他方のCPUによるタスク情報へのアクセスの遅延を抑制することが望ましい。逆に、L2キャッシュを共有する場合には、他方のCPUがL2キャッシュのタスク情報を参照可能であるため、タスク情報の移動時にはL2キャッシュのフラッシュを行わないことが望ましい。
以上説明したように、本実施形態によれば、CPUコア或いはCPUを連続的に占有しつづけるタスクを占有タスクとして予め登録する。占有タスクの実行を開始するときには、占有タスクを特定のCPUコア或いは特定のCPUで実行させると共に、他のタスクは他のCPUコア或いは他のCPUで実行させるように制御する。そして、占有タスクの処理が完了した場合には、他のタスクを特定のCPUコア或いは特定のCPUでも実行可能にする。こうすることにより、複数のタスクが並列にCPUで実行される場合においても、特定のタスクを優先的に実行して、データ処理装置における所定の性能(例えば、製品カタログなどで提示されている性能)を実現することができる。
〔第2の実施形態〕
上記の実施形態では、占有タスクとして登録されているタスクの実行を開始するときに、他のタスクのタスク情報を他のCPUの実行待ち行列に移動していた。しかしながら、占有タスクの投入後、その占有タスクが他のタスクからのイベントを待つ状態(イベント待ち状態)になった場合、他のタスクからのイベント通知があるまで、別段処理を行わない。この場合は、占有タスクが占有CPUを独占しておく必要がないにもかかわらず、他のタスクは占有CPUを利用することができない。これでは、CPUの利用効率が下がる。
例えば、PDL処理タスクが占有タスクであり、そのPDL処理タスクがジョブ管理タスクからプリントジョブを受信したことを示すジョブ到着イベントを通知されるのを待っている場合、PDL処理タスクは処理を行わない。
このような課題に対処するべく、占有タスクの単位時間あたりの実行回数をカウントするカウンタを設けてもよい。このカウント値は揮発性メモリ103に記憶されるものとする。
タスクスケジューラ207はS401でタスクが占有タスクであると判定した場合、占有タスクの単位時間あたりの実行回数をカウントし始める。そのカウント値が第1の閾値(例えば5回)を下回っている間は、占有CPUの実行待ち行列に配置されている他のタスクのタスク情報を他のCPUの実行待ち行列に移動させない。つまり、占有タスクの処理が本格的に開始するまで、他のタスクのタスク情報を移動させず、他のタスクを占有CPUで実行させる。なお、第1の閾値は適宜指定可能である。
第2の実施形態によれば、占有タスクの単位時間あたりの実行回数を計測し、これが予め指定された回数を下回っている間は、占有タスク以外のタスクのタスク情報を他のCPUの実行待ち行列に移動させない。例えば、PDL処理タスクがプリントジョブを受信しイメージデータへの展開を開始するまでは、他のタスクを占有CPUで実行可能にする。こうすることで、CPUの利用効率を下げないようにすることが可能である。
なお、占有タスクの単位時間あたりの実行頻度を計測するものであれば、単位時間あたりの実行回数のほか、単位時間あたりの実行時間でもよい。
〔第3の実施形態〕
上記の実施形態では、占有タスク以外の全てのタスクがCPU#1に割り当てられるため、多数のタスクが並列に動作している場合には、CPU#1の負荷が多大になる。例えば、ローカルUIの制御を司るUI制御タスクのように、ユーザからの指示を速やかに受信するとともにその指示に対して必要な情報を速やかに表示する必要があるタスクの処理が滞ると、操作性が著しく低下してしまう。
このような課題に対処するべく、占有タスク以外の特定のタスクの単位時間あたりの実行回数をカウントするカウンタを設けてもよい。このカウント値は揮発性メモリ103に記憶されるものとする。
占有タスク以外の特定のタスクがUI制御タスクである場合には、タスクスケジューラ207はS401でタスクがUI制御タスクであると判定するのに応じて、UI制御タスクの単位時間あたりの実行回数をカウントし始める。そのカウント値が第2の閾値(例えば3回)を下回った場合には、占有タスク動作モードを解除するべく、占有タスク動作モードフラグに0(零)を設定する。こうすることで、占有タスク以外のタスクの動作があまりにも遅くなった場合には、占有CPUで他のタスクも実行可能にする。第2の閾値は適宜指定可能である。
なお、一時的に操作性が低下しても印刷を高速に行わせたいケースも存在するので、第2の閾値に基づいて占有タスク動作モードを解除する機能を働かせるかどうかについてはそれを選択可能に構成することが望ましい。
また、UI制御タスクの単位時間あたりの実行頻度を計測するものであれば、単位時間あたりの実行回数でも、単位時間あたりの実行時間でもよい。
第3の実施形態によれば、占有タスク以外の特定のタスクの単位時間あたりの実行回数を計測し、これが予め指定された回数を下回った場合には占有タスク動作モードを解除する。こうすることで、例えば操作性が著しく低下するのを防止することができる。
〔その他の実施形態〕
上記の実施形態では、CPUコア或いはCPUが2つの場合を説明してきたが、CPUコア或いはCPUが3つ以上である場合でも、本発明は適用可能である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
100 メインボード
101 CPU
102 不揮発性メモリ
103 揮発性メモリ
104 バスコントローラ
105 ディスクコントローラ
106 USBコントローラ
107 ハードディスク装置
108 サブボード
109 不揮発性メモリ
110 CPU
111 揮発性メモリ
112 バスコントローラ
113 デバイスコントローラ
114 イメージプロセッサ
115 スキャン装置
116 印刷装置
117 ファクシミリ装置

Claims (12)

  1. 複数の処理を時分割で実行することが可能な第1の処理手段と、
    複数の処理を時分割で実行することが可能な第2の処理手段と、
    実行すべき処理を前記第1の処理手段と前記第2の処理手段のそれぞれに割り当てる割り当て手段とを有し
    実行すべき処理が予め決められた特定の処理である場合、前記割り当て手段は、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直、前記特定の処理を前記第1の処理手段に割り当て、前記特定の処理が終了するまで前記特定の処理ではない処理を前記第1の処理手段に新たに割り当てるのを制限することを特徴とする処理装置。
  2. 少なくとも一つの処理を前記特定の処理として登録する登録手段を有することを特徴とする請求項1に記載の処理装置。
  3. 前記特定の処理が終了した場合、前記割り当て手段は、前記第1の処理手段に前記特定の処理ではない処理を割り当て可能にすることを特徴とする請求項1または2に記載の処理装置。
  4. 前記特定の処理の単位時間あたりの実行頻度を計測する計測手段を有し、
    実行すべき処理が前記特定の処理である場合であって、かつ前記計測手段で計測した実行頻度が所定の値を超えた場合に、前記割り当て手段は、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直すことを特徴とする請求項1乃至3のいずれか1項に記載の処理装置。
  5. 前記特定の処理ではない処理の単位時間あたりの実行頻度を計測する第2の計測手段を有し、
    前記第2の計測手段で計測した実行頻度が第2の所定の値を下回った場合に、前記割り当て手段は、前記第1の処理手段に前記特定の処理ではない処理を割り当て可能にすることを特徴とする請求項1乃至4のいずれか1項に記載の処理装置。
  6. 前記第2の計測手段で計測した実行頻度が第2の所定の値を下回った場合に前記第1の処理手段に前記特定の処理ではない処理を割り当て可能にする機能を働かせるか否かを選択可能にする選択手段を有することを特徴とする請求項5項に記載の処理装置。
  7. 前記第1の処理手段で実行されるべき処理の実行待ち行列と前記第2の処理手段で実行されるべき処理の待ち行列を有し、
    前記割り当て手段は、前記第1の処理手段の実行待ち行列に並んでいる処理を前記第2の処理手段の待ち行列に移動することを特徴とする請求項1乃至6のいずれか1項に記載の処理装置。
  8. 前記第1の処理手段及び前記第2の処理手段は、プログラムの実行単位である複数のタスクを時分割で実行可能なCPUであり、
    前記第1の処理手段及び前記第2の処理手段で実行される処理は、タスクによって行われる処理であることを特徴とする請求項1乃至7のいずれか1項に記載の処理装置。
  9. 前記割り当て手段は、実行すべき処理が前記特定の処理であるかどうかを判定することを特徴とする請求項1乃至8のいずれか1項に記載の処理装置。
  10. 前記割り当て手段は、実行すべき処理が前記特定の処理である場合、前記特定の処理ではない処理を前記第1の処理手段に割り当てないモードに設定し、前記特定の処理が終了した場合、前記モードを解除することを特徴とする請求項1乃至9のいずれか1項に記載の処理装置。
  11. 複数の処理を時分割で実行することが可能な第1の処理手段と複数の処理を時分割で実行することが可能な第2の処理手段とのそれぞれに実行すべき処理を割り当てる割り当て方法であって、
    実行すべき処理が予め決められた特定の処理である場合、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直す第1の割り当てステップと
    実行すべき処理が前記特定の処理である場合、前記特定の処理を前記第1の処理手段に割り当てる第2の割り当てステップとを有し、
    前記特定の処理が終了するまで前記特定の処理ではない処理を前記第1の処理手段に新たに割り当てるのを制限することを特徴とする割り当て方法。
  12. 複数の処理を時分割で実行することが可能な第1の処理手段と複数の処理を時分割で実行することが可能な第2の処理手段とのそれぞれに実行すべき処理を割り当てる、コンピュータにより読み取り可能なプログラムであって、
    実行すべき処理が予め決められた特定の処理である場合、前記第1の処理手段にすでに割り当てられている処理を前記第2の処理手段に割り当て直す第1の割り当てステップと
    実行すべき処理が前記特定の処理である場合、前記特定の処理を前記第1の処理手段に割り当てる第2の割り当てステップとを前記コンピュータに実行させ
    前記特定の処理が終了するまで前記特定の処理ではない処理を前記第1の処理手段に新たに割り当てるのを制限することを特徴とするプログラム。
JP2010049315A 2010-03-05 2010-03-05 処理装置、処理の割り当て方法及びプログラム Expired - Fee Related JP5631022B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010049315A JP5631022B2 (ja) 2010-03-05 2010-03-05 処理装置、処理の割り当て方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010049315A JP5631022B2 (ja) 2010-03-05 2010-03-05 処理装置、処理の割り当て方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011186619A JP2011186619A (ja) 2011-09-22
JP5631022B2 true JP5631022B2 (ja) 2014-11-26

Family

ID=44792829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010049315A Expired - Fee Related JP5631022B2 (ja) 2010-03-05 2010-03-05 処理装置、処理の割り当て方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5631022B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0730946A (ja) * 1993-07-08 1995-01-31 N T T Idou Tsuushinmou Kk 移動通信サービス制御装置
JPH07114517A (ja) * 1993-10-15 1995-05-02 Fujitsu Ltd マルチプロセッサシステムのプログラム実行制御方式
JP3893136B2 (ja) * 2004-05-13 2007-03-14 ファームウェアシステム株式会社 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
JP4961931B2 (ja) * 2006-09-29 2012-06-27 富士通株式会社 ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置
JP2008186208A (ja) * 2007-01-30 2008-08-14 Hitachi Ltd Cpu負荷低減方法および監視/制御サーバ

Also Published As

Publication number Publication date
JP2011186619A (ja) 2011-09-22

Similar Documents

Publication Publication Date Title
JP5598229B2 (ja) ジョブ分散処理システム、情報処理装置及びプログラム
JP5050601B2 (ja) ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
JP6341628B2 (ja) 情報処理装置、情報処理方法、情報処理システム、プログラム
JP5482528B2 (ja) 印刷文書変換装置及びプログラム
JP6136020B2 (ja) 画像形成装置及び並列処理の制御方法並びに制御プログラム
JP2012081626A (ja) 画像形成装置、画像処理方法、プログラム
JP2009241584A (ja) プリンタに提出された印刷ジョブの取消し方法
JP2012059093A (ja) 印刷制御装置、印刷システムおよびプログラム
JP6372262B2 (ja) 印刷装置、およびプログラム
JP6206451B2 (ja) 分散印刷制御プログラム及び分散印刷制御装置及び分散印刷制御方法
JP2012022503A (ja) 印刷文書変換装置及びプログラム
US9250842B2 (en) Image forming apparatus processing a plurality of pages in parallel
JP5631022B2 (ja) 処理装置、処理の割り当て方法及びプログラム
US10209931B2 (en) Image processing apparatus and image forming apparatus
JP2016096414A (ja) 画像形成装置、同装置におけるマルチコアプロセッサの制御処理の割り当て方法およびプログラム
JP2011046034A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP3724536B2 (ja) 画像出力制御装置およびその処理実行制御方法
US10635157B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
JP2012008838A (ja) 印刷文書変換装置およびプログラム
JP6128104B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP6157260B2 (ja) 画像形成装置
JP2014091240A (ja) 画像形成装置およびプリンタコントローラ
JP2018010640A (ja) 分散印刷制御プログラム及び分散印刷制御装置及び分散印刷制御方法
JP6372705B2 (ja) 画像形成装置
JP2012000778A (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140407

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141007

R151 Written notification of patent or utility model registration

Ref document number: 5631022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees