JP2017049814A - Information processing apparatus and image forming apparatus - Google Patents
Information processing apparatus and image forming apparatus Download PDFInfo
- Publication number
- JP2017049814A JP2017049814A JP2015172629A JP2015172629A JP2017049814A JP 2017049814 A JP2017049814 A JP 2017049814A JP 2015172629 A JP2015172629 A JP 2015172629A JP 2015172629 A JP2015172629 A JP 2015172629A JP 2017049814 A JP2017049814 A JP 2017049814A
- Authority
- JP
- Japan
- Prior art keywords
- core
- cache memory
- executing
- information processing
- cache
- 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
Links
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、情報処理装置および画像形成装置に関する。 The present invention relates to an information processing apparatus and an image forming apparatus.
マルチコアのプロセッサを用いた情報処理装置が知られている。このような情報処理装置においては、各コアに対し処理(タスクやスレッド)をどのように割り当てるかという問題は、大きな技術課題の一つである。特許文献1は、キャッシュのヒット率を向上させるため、一旦終了したタスクと類似するタスクにコアを割り当てる場合、前回使用したコアと同一のキャッシュメモリを使うコアにそのタスクを割り当てる技術を開示している。特許文献2は、同一のキャッシュメモリを使うプロセッサをグループ化し、スレッドをグループ内の複数のプロセッサに割り当てる技術を開示している。 An information processing apparatus using a multi-core processor is known. In such an information processing apparatus, the problem of how to allocate processing (tasks and threads) to each core is one of the major technical issues. Patent Document 1 discloses a technique for assigning a task to a core that uses the same cache memory as the previously used core when assigning a core to a task similar to a task that has been once completed in order to improve the hit rate of the cache. Yes. Patent Document 2 discloses a technique for grouping processors that use the same cache memory and allocating threads to a plurality of processors in the group.
キャッシュメモリを多く使用する処理が、同一のキャッシュメモリを使用する2つのコアに割り当てられた場合、これら2つのコアで互いにキャッシュメモリを上書きしあうこととなり、プロセッサが性能を発揮できないという問題があった。 When a process that uses a large amount of cache memory is assigned to two cores that use the same cache memory, these two cores overwrite each other, and the processor cannot exhibit its performance. It was.
本発明は、複数のコアで共用されるキャッシュメモリの使用効率を改善する技術を提供する。 The present invention provides a technique for improving the use efficiency of a cache memory shared by a plurality of cores.
本発明は、第1コア、第2コア、および第3コアを含み、各々異なる処理を並列実行する複数のコアと、前記第1コアおよび前記第2コアで共用される第1キャッシュメモリと、少なくとも前記第3コアで用いられる第2キャッシュメモリと、前記第1コアが第1処理を実行している場合において、第2処理の割り当て先を決定する際、当該第2処理を実行する際のキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定する決定手段とを有する情報処理装置を提供する。 The present invention includes a first core, a second core, and a third core, each of a plurality of cores that execute different processes in parallel, and a first cache memory that is shared by the first core and the second core, When determining the allocation destination of the second process when at least the second cache memory used in the third core and the first core are executing the first process, the second process is executed. An information processing apparatus is provided that includes a determination unit that determines a core to be assigned to the second process based on a cache memory usage amount.
前記第2処理を実行する際のキャッシュメモリ使用量および前記第1処理を実行する際のキャッシュメモリ使用量の和が前記第1キャッシュメモリの空き容量より大きい場合、前記決定手段は、前記第3コアに当該第2処理を割り当ててもよい。 If the sum of the amount of cache memory used when executing the second process and the amount of cache memory used when executing the first process is greater than the free capacity of the first cache memory, the determining means The second process may be assigned to the core.
前記第2処理を実行する際のキャッシュメモリ使用量および前記第1処理を実行する際のキャッシュメモリ使用量の和が前記第1キャッシュメモリの空き容量より小さい場合、前記決定手段は、前記複数のコアのうち負荷の低いコアに当該第2処理を割り当ててもよい。 When the sum of the amount of cache memory used when executing the second process and the amount of cache memory used when executing the first process is smaller than the free capacity of the first cache memory, the determining means You may assign the said 2nd process to a core with a low load among cores.
前記第2処理を実行する際のキャッシュメモリ使用量および前記第1処理を実行する際のキャッシュメモリ使用量の和が前記第1キャッシュメモリの空き容量より小さい場合、前記決定手段は、前記第1コアまたは前記第2コアに当該第2処理を割り当ててもよい。 If the sum of the amount of cache memory used when executing the second process and the amount of cache memory used when executing the first process is smaller than the free capacity of the first cache memory, the determining means The second process may be assigned to the core or the second core.
この情報処理装置は、前記第1処理および前記第2処理の関連性が基準より高いか判断する判断手段を有し、前記関連性が前記基準より高いと判断された場合、前記決定手段は、前記第1コアまたは前記第2コアに当該第2処理を割り当ててもよい。 The information processing apparatus includes a determination unit that determines whether or not the relevance between the first process and the second process is higher than a reference. When the relevance is determined to be higher than the reference, the determination unit includes: The second process may be assigned to the first core or the second core.
前記関連性が前記基準より低いと判断された場合、前記決定手段は、前記第2処理を実行する際のキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定してもよい。 When it is determined that the relevance is lower than the reference, the determining unit determines a core to which the second process is assigned based on a cache memory usage amount when the second process is executed. Also good.
前記判断手段は、前記第1処理および前記第2処理について、命令の種別および当該命令を発行したプログラムの少なくとも一方に基づいて前記関連性が前記基準より高いか判断してもよい。 The determination unit may determine whether the relevance of the first process and the second process is higher than the reference based on at least one of an instruction type and a program that issued the instruction.
この情報処理装置は、前記第2処理を実行する際のキャッシュメモリ使用量を予測する予測手段を有し、前記決定手段は、前記予測手段により予測されたキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定してもよい。 The information processing apparatus includes a prediction unit that predicts a cache memory usage amount when the second process is executed, and the determination unit is configured to perform the first processing based on the cache memory usage amount predicted by the prediction unit. You may determine the core which becomes the allocation destination of 2 processes.
この情報処理装置は、命令に関する属性およびキャッシュメモリ使用量を対応付けたテーブルを記憶した記憶手段を有し、前記予測手段は、前記記憶手段に記憶されているテーブルを参照して前記キャッシュメモリ使用量を予測してもよい。 The information processing apparatus includes a storage unit that stores a table in which attributes related to instructions and cache memory usage are associated with each other, and the prediction unit refers to the table stored in the storage unit and uses the cache memory The amount may be predicted.
前記第1処理および前記第2処理は、画像の形成に関する命令であり、前記テーブルは、前記命令に関する属性として、前記画像が形成される媒体のサイズおよび当該画像の解像度の少なくとも一方を含んでもよい。 The first process and the second process are instructions relating to image formation, and the table may include at least one of a size of a medium on which the image is formed and a resolution of the image as attributes relating to the instruction. .
また、本発明は、第1コア、第2コア、および第3コアを含み、各々異なる処理を並列実行する複数のコア、当該第1コアおよび当該第2コアで共用される第1キャッシュメモリ、並びに少なくとも当該第3コアで用いられる第2キャッシュメモリを含む処理手段と、前記第1コアが画像形成に関する第1処理を実行している場合において、画像形成に関する第2処理の割り当て先を決定する際、当該第2処理を実行する際のキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定する決定手段と、前記処理手段により処理された命令に応じて画像を形成する画像形成手段とを有する画像形成装置を提供する。 The present invention also includes a first core, a second core, and a third core, each of a plurality of cores that execute different processes in parallel, a first cache memory shared by the first core and the second core, In addition, when the processing means including at least the second cache memory used in the third core and the first core are executing the first process relating to image formation, the assignment destination of the second process relating to image formation is determined. At this time, based on the cache memory usage amount when executing the second process, a determination unit that determines a core to which the second process is allocated, and an image is formed according to the instruction processed by the processing unit An image forming apparatus is provided.
請求項1に係る情報処理装置によれば、第1キャッシュメモリの使用効率を改善することができる。
請求項2に係る情報処理装置によれば、第2処理を第1コアまたは第2コアに割り当てた場合と比較して、第1キャッシュメモリの使用効率を改善することができる。
請求項3に係る情報処理装置によれば、キャッシュメモリ使用量が問題にならない場合には負荷が低いコアに処理を割り当てることができる。
請求項4に係る情報処理装置によれば、単に負荷が低いコアに処理を割り当てる場合と比較して、より第1キャッシュメモリの使用効率を改善することができる。
請求項5に係る情報処理装置によれば、第1処理と第2処理との関連性によらずコアの割り当てを決定する場合と比較して、より第1キャッシュメモリの使用効率を改善することができる。
請求項6に係る情報処理装置によれば、第1処理と第2処理との関連性によらずキャッシュメモリ使用量だけを考慮する場合と比較して、より第1キャッシュメモリの使用効率を改善することができる。
請求項7に係る情報処理装置によれば、命令の種別およびその命令を発行したプログラムに応じて関連性を判断することができる。
請求項8に係る情報処理装置によれば、キャッシュメモリ使用量を実測する場合と比較してより負荷を低減することができる。
請求項9に係る情報処理装置によれば、テーブルを用いずキャッシュメモリ使用量を予測する場合と比較してより簡単にキャッシュメモリ使用量を予測することができる。
請求項10に係る情報処理装置によれば、画像形成に係るパラメータに応じてキャッシュメモリ使用量を予測することができる。
請求項11に係る画像形成装置によれば、第1キャッシュメモリの使用効率を改善することができる。
According to the information processing apparatus of the first aspect, the usage efficiency of the first cache memory can be improved.
According to the information processing apparatus of the second aspect, the usage efficiency of the first cache memory can be improved as compared with the case where the second process is assigned to the first core or the second core.
According to the information processing apparatus of the third aspect, when the cache memory usage does not become a problem, the processing can be assigned to the core having a low load.
According to the information processing apparatus of the fourth aspect, the usage efficiency of the first cache memory can be further improved as compared with the case where processing is simply assigned to a core having a low load.
According to the information processing apparatus according to claim 5, the use efficiency of the first cache memory can be further improved as compared with the case where the core allocation is determined regardless of the relationship between the first process and the second process. Can do.
According to the information processing apparatus according to claim 6, the use efficiency of the first cache memory is further improved as compared with the case where only the cache memory use amount is considered regardless of the relationship between the first process and the second process. can do.
According to the information processing apparatus of the seventh aspect, the relevance can be determined according to the type of the instruction and the program that issued the instruction.
According to the information processing apparatus of the eighth aspect, the load can be further reduced as compared with the case where the cache memory usage is actually measured.
According to the information processing apparatus of the ninth aspect, it is possible to predict the cache memory usage more easily than when the cache memory usage is predicted without using a table.
According to the information processing apparatus of the tenth aspect, it is possible to predict the cache memory usage amount according to the parameter relating to image formation.
According to the image forming apparatus of the eleventh aspect, the usage efficiency of the first cache memory can be improved.
1.概要
図1は、関連技術に係る情報処理装置9の構成を例示する図である。情報処理装置9は、CPU(Central Processing Unit)90を有する。CPU90は、複数のコア、この例では、コア901〜904の4つのコアを有する。ここで、プロセッサの「コア」とは、プロセッサのうち命令の実行および演算を行う部分をいう。CPU90は、さらに、キャッシュメモリ911〜914およびキャッシュメモリ921〜922を有する。キャッシュメモリ911〜914は一次キャッシュ(いわゆるL1キャッシュ)であり、それぞれ、コア901〜904に専用のものである。キャッシュメモリ921および922は二次キャッシュ(いわゆるL2キャッシュ)である。キャッシュメモリ921はコア901および902で共用され、キャッシュメモリ922はコア903および904で共用される。なお一般にはL1キャッシュまで含めて「コア」という場合があるが、ここでは「コア」にL1キャッシュは含まれない。
1. Overview FIG. 1 is a diagram illustrating a configuration of an information processing apparatus 9 according to related technology. The information processing apparatus 9 includes a CPU (Central Processing Unit) 90. The CPU 90 has a plurality of cores, in this example, four cores 901 to 904. Here, the “core” of the processor refers to a portion of the processor that executes instructions and performs operations. The CPU 90 further includes
一次キャッシュとはコアから最優先にアクセスされるキャッシュメモリをいい、二次キャッシュとは一次キャッシュの次の優先順位でアクセスされるキャッシュメモリをいう。一次キャッシュは、二次キャッシュよりも高速でかつ容量が小さい。メインメモリ(外部メモリ)へのアクセス要求が発生すると、コアはまずアクセス先のアドレスのデータが一次キャッシュに格納されているか調べる。アクセス先のアドレスのデータ(以下単に「アクセス先のデータ」という)が一次キャッシュに格納されていた場合、コアは一次キャッシュからデータを読み出す。アクセス先のデータがキャッシュメモリに格納されていることを「ヒット」といい、ヒットが発生する割合を「ヒット率」という。アクセス先のデータが一次キャッシュに格納されていなかった場合、コアは、アクセス先のデータが二次キャッシュに格納されていないか調べる。アクセス先のデータが二次キャッシュに格納されていた場合、コアは二次キャッシュからデータを読み出す。アクセス先のデータが二次キャッシュに格納されていなかった場合、コアはメインメモリからデータを読み出す。 The primary cache is a cache memory that is accessed with the highest priority from the core, and the secondary cache is a cache memory that is accessed with the next priority of the primary cache. The primary cache is faster and has a smaller capacity than the secondary cache. When an access request to the main memory (external memory) occurs, the core first checks whether the data at the access destination address is stored in the primary cache. When data at an access destination address (hereinafter simply referred to as “access destination data”) is stored in the primary cache, the core reads data from the primary cache. The fact that the access destination data is stored in the cache memory is called “hit”, and the rate at which hits occur is called “hit rate”. If the access destination data is not stored in the primary cache, the core checks whether the access destination data is stored in the secondary cache. When the access destination data is stored in the secondary cache, the core reads the data from the secondary cache. If the access destination data is not stored in the secondary cache, the core reads the data from the main memory.
また、CPU90は、いわゆるSMP(Symmetric Multi Processing)型のプロセッサであり、各コアの機能は同一である。マルチコア型のプロセッサには、この他、AMP(Asymmetric Multi Processing)型のプロセッサも存在するが、例えば、いわゆる複合機のように、処理すべきタスクが多く、かつ、プリント、スキャン、ファクシミリ送受信、UI処理、ネットワーク処理など、処理の組み合わせが多数ある機器においては、一般にSMP型のプロセッサが用いられる。例えば、画像処理のようにパイプラインにより連続演算を前提としたデータ処理を行う場合、キャッシュのヒット率が下がるとメインメモリへのアクセスによるコアの待ち時間が発生してプロセッサのパフォーマンスが低下してしまう。したがって、どのコアにどの処理を割り当てるかというのは、プロセッサのパフォーマンスを左右する問題である。 The CPU 90 is a so-called SMP (Symmetric Multi Processing) type processor, and the functions of the cores are the same. In addition to the multi-core type processors, there are also AMP (Asymmetric Multi Processing) type processors. For example, there are many tasks to be processed like a so-called multi-function machine, and printing, scanning, facsimile transmission / reception, UI In a device having many combinations of processes such as processes and network processes, an SMP type processor is generally used. For example, when performing data processing on the premise of continuous operation by pipeline, such as image processing, if the cache hit rate decreases, the core wait time due to access to the main memory occurs and the performance of the processor decreases. End up. Therefore, which process is assigned to which core is a problem that affects the performance of the processor.
特に、キャッシュメモリの使用量(以下「キャッシュ使用量」という)が多い処理のコアへの割り当てが適切でないと、キャッシュメモリの使用効率が下がり、結果としてプロセッサは十分に性能を発揮できなくなってしまう。 In particular, if the allocation of processing with a large amount of cache memory usage (hereinafter referred to as “cache usage”) to the core is not appropriate, the usage efficiency of the cache memory decreases, and as a result, the processor cannot fully perform. .
より具体的な例を用いて説明する。この例では、キャッシュメモリ921および922(L2キャッシュ)の容量は、それぞれ512kBである。コア901はコピー処理を実行している。コピー処理におけるキャッシュ使用量は384kBである。すなわち、キャッシュメモリ921のうち384kBはコピー処理に使用されている。この状況で、新たにプリント処理を割り当てる例を考える。プリント処理におけるキャッシュ使用量は256kBである。 This will be described using a more specific example. In this example, the capacities of the cache memories 921 and 922 (L2 cache) are each 512 kB. The core 901 is executing a copy process. The cache usage amount in the copy process is 384 kB. That is, 384 kB of the cache memory 921 is used for copy processing. Consider an example in which a new print process is assigned in this situation. The cache usage in the print process is 256 kB.
この例で、新たに発生した処理は、負荷(使用率)の低いコアに割り当てられる。例えばコア902の負荷が低い場合にプリント処理をコア902に割り当てると、コピー処理およびプリント処理によるキャッシュ使用量の合計は384kB+256kB=640kBとなり、キャッシュメモリ921の容量を超えてしまう。この場合、コピー処理およびプリント処理が互いにキャッシュメモリ921を上書きしあうこととなり、プロセッサは十分に性能を発揮できない。本実施形態は、このような問題に対処する。
In this example, newly generated processing is assigned to a core having a low load (usage rate). For example, if the print processing is assigned to the
2.構成
図2は、一実施形態に係る画像形成装置1の構成を例示する図である。画像形成装置1は、画像を形成する機能を有する情報処理装置の一例であり、例えばいわゆる複合機である。画像形成装置1は、CPU10、メモリコントローラー20、主記憶装置(メインメモリ)30、IOコントローラー40、補助記憶装置41、画像読み取りユニット42、画像形成ユニット43、および通信ユニット44を有する。
2. Configuration FIG. 2 is a diagram illustrating a configuration of the image forming apparatus 1 according to an embodiment. The image forming apparatus 1 is an example of an information processing apparatus having a function of forming an image, and is a so-called multifunction machine, for example. The image forming apparatus 1 includes a
CPU10は、画像形成装置1の各部を制御する制御装置であり、各々異なる処理を実行する複数のコアを含む処理手段の一例である。CPU10は、コア101〜104、キャッシュメモリ111〜114、およびキャッシュメモリ121〜122を有する。キャッシュメモリ111〜114は一次キャッシュ(L1キャッシュ)であり、それぞれコア101〜104に専用のものである。キャッシュメモリ121〜122は二次キャッシュ(L2キャッシュ)である。キャッシュメモリ121はコア101および102で共用され、キャッシュメモリ122はコア103および104で共用される。
The
メモリコントローラー20は、主記憶装置30に対するデータの読み書きを制御する。主記憶装置30は主記憶装置であり、例えばDRAM(Dynamic Random Access Memory)を含む。主記憶装置30は、CPU10がプログラムを実行する際のワークエリアとして機能し、種々のデータを記憶する記憶手段の一例である。
The
IOコントローラー40は、周辺装置をCPU10に接続して制御する装置である。この例で、IOコントローラー40には、補助記憶装置41、画像読み取りユニット42、画像形成ユニット43、および通信ユニット44が接続されている。補助記憶装置41はデータおよびプログラムを記憶する不揮発性の記憶装置であり、例えばHDD(Hard Disk Drive)を含む。画像読み取りユニット42は、原稿を光学的に読み取る装置であり、例えばいわゆるスキャナーを含む。画像形成ユニット43は、媒体(例えば紙)に画像を形成する装置であり、例えば電子写真技術またはインクジェット技術により画像形成を行う。通信ユニット44は、他の機器と通信を行うインターフェースである。
The
図3は、画像形成装置1のソフトウェア構成を例示する図である。補助記憶装置41は、画像形成装置1のOS(Operating System)を機能させるためのプログラム(以下「OSプログラム」という)および各種アプリケーション(コピー機能、スキャナー機能、ファクシミリ送受信機能等)を実現するためのプログラム(以下「アプリケーションプログラム」という)を記憶している。CPU10がこれらのプログラムを実行することにより、画像形成装置1にOS50およびアプリケーション61〜63が実装される。
FIG. 3 is a diagram illustrating a software configuration of the image forming apparatus 1. The
アプリケーション61〜63は、それぞれOS50に対し処理の実行を命令する。すなわち処理を要求する。ここでいう処理とは、画像形成装置1のハードウェア資源を利用した処理、具体的には、例えば、画像読み取りユニット42を用いて原稿から画像を読み取る処理、画像形成ユニット43を用いて媒体に画像を形成する処理、および通信ユニット44を用いてファクシミリ送信を行う処理をいう。OS50は、アプリケーションにより要求された処理を複数のコアのうちいずれかのコアに割り当てる。コア101〜104は、OS50によってそれぞれ独立したCPUとして認識される(以降の図においてCPU1〜4と表記する)。
Each of the
アプリケーションにおいて新たな処理の要求が発生すると、OS50は、その処理をどのコアに実行させるか決定する。詳細には以下のとおりである。OS50は、検知手段51、判断手段52、予測手段53、および決定手段54を有する。
When a request for a new process occurs in the application, the
検知手段51は、アプリケーション61〜63により新たに要求された処理を検知する。いまここで、コア101にある処理(以下「第1処理」という)が既に割り当てられており、かつコア101が第1処理を実行中である場合において、検知手段51が新たな処理(以下「第2処理」という)の要求を検知した例を考える。OS50は、第2処理の割り当て先となるコアすなわち第2処理を実行するコアを決定する。
The
判断手段52は、第1処理および第2処理の関連性が基準より高いか判断する。第1処理および第2処理の関連性が基準より高いと判断された場合、決定手段54は、コア101とL2キャッシュを共用するコア(すなわちコア101またはコア102)に第2処理を割り当てる。
The
第1処理および第2処理の関連性が低いと判断された場合、予測手段53は、第2処理を実行する際のキャッシュメモリ使用量を予測する。決定手段54は、予測手段53により予測されたキャッシュメモリ使用量に基づいて、第2処理の割り当て先となるコアを決定する。具体的には、第2処理を実行する際のキャッシュメモリ使用量および第1処理を実行する際のキャッシュメモリ使用量の和がキャッシュメモリ121(第1キャッシュメモリの一例)の空き容量より大きい場合、決定手段54は、コア103(第3コアの一例)に第2処理を割り当てる。また、第2処理を実行する際のキャッシュメモリ使用量および第1処理を実行する際のキャッシュメモリ使用量の和がキャッシュメモリ121の空き容量より小さい場合、決定手段54は、複数のコアのうち負荷の低いコアに第2処理を割り当てる。
When it is determined that the relevance between the first process and the second process is low, the
3.動作
図4は、画像形成装置1の動作を示すフローチャートである。図3のフローは、新たな処理(以下「新規処理」という。第2処理の一例)の要求が検知されたことを契機として開始する。以下の説明において、OS50等のソフトウェアを処理の主体として記載することがあるが、これは、そのソフトウェアを実行しているCPU10が他のハードウェア資源と共同して処理を実行することを意味する。
3. Operation FIG. 4 is a flowchart showing the operation of the image forming apparatus 1. The flow in FIG. 3 starts when a request for a new process (hereinafter referred to as “new process”, an example of a second process) is detected. In the following description, software such as the
ステップS101において、OS50は、新規処理がキャッシュメモリを使用するものであるか判断する。キャッシュメモリ使用の有無は、例えば、処理毎に定められている。より詳細には、主記憶装置30が、処理とキャッシュメモリ使用の有無とを対応付けたテーブル(図示略)を記憶しており、OS50はこのテーブルを参照して、新規処理がキャッシュメモリを使用するものであるか否か判断する。新規処理がキャッシュメモリを使用するものであると判断された場合(S101:YES)、OS50は、処理をステップS102に移行する。新規処理がキャッシュメモリを使用するものでないと判断された場合(S101:NO)、OS50は、処理をステップS111に移行する。
In step S101, the
ステップS102において、OS50は、複数のコアのうちいずれかのコアが既に実行している処理(以下「先行処理」という。第1処理の一例)があるか判断する。先行処理の有無は、処理管理テーブルを用いて判断される。
In step S <b> 102, the
図5は、処理管理テーブルを例示する図である。処理管理テーブルは、実行中の処理に関連して、ユーザID、処理ID、関連処理ID、処理、キャッシュ使用量、およびコアのレコードを含んでいる。「ユーザID」は、コアを使用する主体すなわちこの例ではアプリケーションを特定する識別子である。「処理ID」は、処理を一意に特定する識別子である。「関連処理ID」は、その処理との関連性が高い処理の処理IDである。「処理種別」はその処理の種別を示す。この例では、処理の種別として「コピー」および「プリント」が記載されている。「キャッシュ使用量」は、その処理によるL2キャッシュの使用量を示す。「コア」は、その処理が割り当てられた(その処理を実行している)コアを示す。 FIG. 5 is a diagram illustrating a process management table. The process management table includes a user ID, a process ID, a related process ID, a process, a cache usage, and a core record related to the process being executed. The “user ID” is an identifier that identifies a subject that uses the core, that is, an application in this example. “Process ID” is an identifier for uniquely specifying a process. The “related process ID” is a process ID of a process that is highly related to the process. “Processing type” indicates the type of the process. In this example, “copy” and “print” are described as processing types. “Cache usage” indicates the usage of the L2 cache by the processing. “Core” indicates a core to which the process is assigned (execution of the process).
処理管理テーブルには、現在実行中の処理に関するレコードが記録されている。処理管理テーブルに何らかのレコードが記録されている場合、先行処理があるということである。処理管理テーブルが空で何も記録されていない場合、先行処理がないということである。処理管理テーブルは、主記憶装置30に記憶されている。OS50は、主記憶装置30に記憶されている処理管理テーブルを参照して、先行処理の有無を判断する。
In the process management table, a record relating to the process currently being executed is recorded. If any record is recorded in the process management table, this means that there is a preceding process. If the process management table is empty and nothing is recorded, there is no preceding process. The process management table is stored in the
再び図4を参照する。先行処理があると判断された場合(S102:YES)、OS50は、処理をステップS103に移行する。先行処理がないと判断された場合(S102:NO)、OS50は、処理をステップS111に移行する。
Refer to FIG. 4 again. When it is determined that there is a preceding process (S102: YES), the
ステップS103において、OS50は、新規処理と同じ種別の先行処理があるか判断する。OS50は、主記憶装置30に記憶されている処理管理テーブルを参照して、新規処理と同じ種別の先行処理があるか判断する。新規処理と同じ種別の先行処理があると判断された場合(S103:YES)、OS50は、処理をステップS104に移行する。新規処理と同じ種別の先行処理がないと判断された場合(S103:NO)、OS50は、処理をステップS108に移行する。
In step S103, the
ステップS104において、OS50は、新規処理と同じユーザ(すなわち同じアプリケーション)による先行処理があるか判断する。OS50は、主記憶装置30に記憶されている処理管理テーブルを参照して、新規処理と同じユーザによる先行処理があるか判断する。新規処理と同じユーザによる先行処理があると判断された場合(S104:YES)、OS50は、処理をステップS105に移行する。新規処理と同じユーザによる先行処理がないと判断された場合(S104:NO)、OS50は、処理をステップS108に移行する。
In step S104, the
ステップS105において、OS50は、新規処理に関する「関連処理ID」のレコードを、処理管理テーブルに登録する。この例では、新規処理と処理種別およびユーザIDが同じ先行処理が、新規処理と関連性が高い先行処理と判断され、その先行処理の処理IDが、新規処理に対する関連処理IDとして登録される。
In step S105, the
なおこの時点ではまだ新規処理のレコードが処理管理テーブルに登録されていないので、OS50は、新規処理のレコードを処理管理テーブルに登録する。ここではまず、ユーザID、処理ID、処理種別、およびキャッシュ使用量が登録される。キャッシュ使用量は、まだ処理が開始されていない段階で実測値を記録することが難しいので、予測値が記録される。
At this point, since the new process record has not been registered in the process management table, the
図6は、キャッシュ使用量の予測値を得るための使用量予測テーブルを例示する図である。使用量予測テーブルは主記憶装置30に記憶されており、OS50は主記憶装置30に記憶されている使用量予測テーブルを参照してキャッシュ使用量の予測値を得る。使用量予測テーブルにおいては、処理に用いられるパラメータとキャッシュ使用量の予測値とが対応付けられている。図6は、一例として、プリント処理に係るキャッシュ使用量の予測値を示している。この例では、プリント処理に用いられるパラメータとして、「用紙サイズ」、「解像度」、および「モード」が用いられている。「用紙サイズ」は画像が形成される媒体の大きさを示す。媒体が大きいほどキャッシュ使用量が増える傾向がある。「解像度」は、形成される画像の解像度を示す。解像度が高いほどキャッシュ使用量が増える傾向がある。「モード」は形成される画像の種別を示す。形成される画像の種別に応じて、例えば異なる画像処理が行われる。この例では、「モード」は「文字」または「写真」である。「文字」よりも「写真」の方がキャッシュ使用量が多い。
FIG. 6 is a diagram illustrating a usage amount prediction table for obtaining a cache usage amount prediction value. The usage amount prediction table is stored in the
図5を参照して、新規処理に対する「関連処理ID」の登録について説明する。例えば処理ID「100」および「101」の処理が実行中である場合において、ユーザID「002」のアプリケーションにより「プリント」処理が要求された状況を考える。すなわち、図5のテーブルにおいて処理ID「100」および「101」の処理が先行処理であり、処理ID「102」の処理が新規処理である状況である。このとき、先行処理のうち処理ID「101」の処理は、ユーザIDおよび処理種別が新規処理と同じである。したがって、新規処理は、処理ID「101」の処理と関連性が高いと判断され、処理ID「102」に対応する関連処理IDのレコードには「101」が記録される。 With reference to FIG. 5, registration of a “related process ID” for a new process will be described. For example, consider a situation in which “print” processing is requested by the application with the user ID “002” when the processing with the processing IDs “100” and “101” is being executed. That is, in the table of FIG. 5, the process IDs “100” and “101” are the preceding processes, and the process ID “102” is the new process. At this time, the process with the process ID “101” in the preceding process has the same user ID and process type as the new process. Therefore, it is determined that the new process is highly related to the process with the process ID “101”, and “101” is recorded in the record of the related process ID corresponding to the process ID “102”.
再び図4を参照する。ステップS106において、OS50は、先行処理とL2キャッシュを共用するコアに処理を割り当てる。例えば先ほどの、図5のテーブルにおいて処理ID「100」および「101」の処理が先行処理であり、処理ID「102」の処理が新規処理である状況を考えると、先行処理を実行しているコアであるCPU3(コア103)とL2キャッシュを共用するコアであるCPU3またはCPU4(コア103またはコア104)に新規処理が割り当てられる。CPU3およびCPU4のどちらに処理を割り当てるかは、例えば、コアの負荷に応じて決められる。すなわち、OS50は、最も負荷が低いコアに新規処理を割り当てる。コアの割り当てが決定すると、OS50は、処理管理テーブルにコアのレコードを登録する。
Refer to FIG. 4 again. In step S106, the
ステップS107において、処理が割り当てられたコアは、新規処理の実行を開始する。処理を開始すると、図4のフローは終了する。 In step S107, the core to which the process is assigned starts executing a new process. When the process is started, the flow of FIG. 4 ends.
ステップS108において、OS50は、新規処理のレコードを処理管理テーブルに登録する。なおここでは、新規処理に対する「関連処理ID」は登録されず空値のままである。
In step S108, the
ステップS109において、OS50は、L2キャッシュの空き容量が十分なコアがあるか判断する。具体的には、OS50は、L2キャッシュの各々について、先行処理のキャッシュ使用量および新規処理のキャッシュ使用量の和が、L2キャッシュの容量未満であるか判断する。先行処理および新規処理のキャッシュ使用量は、使用量予測テーブルを用いて予測される。この和がL2キャッシュの容量未満である場合、OPS50は、そのL2キャッシュの空き容量は十分であると判断する。L2キャッシュの空き容量が十分なコアがあると判断された場合(S109:YES)、OS50は、処理をステップS110に移行する。L2キャッシュの空き容量が十分なコアがないと判断された場合(S109:NO)、OS50は、処理をステップS112に移行する。
In step S109, the
ステップS110において、OS50は、OS50は、先行処理とL2キャッシュを共用しないコアに処理を割り当てる。この場合、先行処理のキャッシュ使用量および新規処理のキャッシュ使用量の和はL2キャッシュの容量以下であるので、単一のL2キャッシュが先行処理および新規処理で共用されても互いにキャッシュメモリを上書きしあうことはない。コアの割り当てが決定すると、OS50は、処理管理テーブルにコアのレコードを登録する。テーブルへの登録が完了すると、OS50は、処理をステップS107に移行する。
In step S110, the
なお、L2キャッシュの空き容量が十分なコアが複数ある場合、OS50は、例えば以下のいずれかの基準により選択された1つのコアに新規処理を割り当てる。
(1)L2キャッシュの空き容量が最も少ないコア
(2)負荷が最も低いコア
(3)関連性がより高い先行処理を実行しているコア
(4)処理種別毎にあらかじめ決められたコア
基準(1)によれば、今後要求される処理に対してより大きな空き容量のL2キャッシュが確保される。基準(2)によれば、負荷が分散される。基準(3)によれば、キャッシュのヒット率が向上する可能性が高まる。基準(4)によれば、コアを選択する処理の負荷が低減される。なお関連性がより高い先行処理とは、新規処理と処理種別またはユーザIDが同じ先行処理をいう。
When there are a plurality of cores with sufficient free capacity in the L2 cache, the
(1) Core with the least free space in the L2 cache (2) Core with the lowest load (3) Core executing a predecessor with higher relevance (4) Core criteria determined in advance for each processing type ( According to 1), an L2 cache having a larger free space is secured for processing that will be requested in the future. According to criterion (2), the load is distributed. According to the criterion (3), the possibility of improving the cache hit rate is increased. According to criterion (4), the processing load for selecting a core is reduced. The preceding process having higher relevance means a preceding process having the same process type or user ID as the new process.
ステップS111において、OS50は、新規処理のレコードを処理管理テーブルに登録する。なおここでは、新規処理に対する「関連処理ID」は登録されず空値のままである。
In step S111, the
ステップS112において、OS50は、新規処理を割り当てるコアを、コアの負荷に応じて決定する。すなわち、OS50は、負荷が最も低いコアに新規処理を割り当てる。コアの割り当てが決定すると、OS50は、処理管理テーブルにコアのレコードを登録する。テーブルへの登録が完了すると、OS50は、処理をステップS107に移行する。
In step S112, the
図5を参照してより詳細な動作例(動作例1)を説明する。動作例1は、種別が異なる複数の処理が実行される例である。具体的には、ユーザID「001」のアプリケーションがコピー処理を、ユーザID「002」のアプリケーションがプリント処理を要求する例を示している。この例では、処理IDが若い方がより先に要求された処理である。 A more detailed operation example (operation example 1) will be described with reference to FIG. The operation example 1 is an example in which a plurality of processes with different types are executed. Specifically, an example in which an application with a user ID “001” requests a copy process and an application with a user ID “002” requests a print process. In this example, the younger process ID is the process requested earlier.
(1)動作例1−1
新規処理:101
先行処理:100
先行処理と新規処理とは処理種別が異なるので、空き容量が十分なコアのうち、負荷が最も低いコアに新規処理が割り当てられる。この例ではCPU3(コア103)の負荷が最も低い。新規処理はCPU3に割り当てられる。
(1) Operation example 1-1
New processing: 101
Pre-processing: 100
Since the process types of the preceding process and the new process are different, the new process is assigned to the core with the lowest load among the cores with sufficient free space. In this example, the load on the CPU 3 (core 103) is the lowest. New processing is assigned to the CPU 3.
(2)動作例1−2
新規処理:102
先行処理:100、101
先行処理のうち処理ID「101」の処理が、新規処理とユーザIDおよび処理種別が同じである。したがって関連処理IDとして「101」が登録され、CPU3とL2キャッシュを共用するCPU3またはCPU4(コア103またはコア104)が割り当て先の候補である。このうち、負荷が最も低いコアに新規処理が割り当てられる。この例ではCPU4(コア104)の負荷が最も低い。新規処理はCPU4に割り当てられる。
(2) Operation example 1-2
New processing: 102
Pre-processing: 100, 101
Among the preceding processes, the process ID “101” has the same user ID and process type as the new process. Therefore, “101” is registered as the related process ID, and the CPU 3 or the CPU 4 (
(3)動作例1−3
新規処理:103
先行処理:100、101、102
先行処理のうち処理ID「100」の処理が、新規処理とユーザIDおよび処理種別が同じである。したがって関連処理IDとして「100」が登録され、CPU1とL2キャッシュを共用するCPU1またはCPU2(コア101またはコア102)が割り当て先の候補である。このうち、負荷が最も低いコアに新規処理が割り当てられる。この例ではCPU2(コア102)の負荷が最も低い。新規処理はCPU2に割り当てられる。
(3) Operation example 1-3
New processing: 103
Pre-processing: 100, 101, 102
Among the preceding processes, the process ID “100” has the same user ID and process type as the new process. Therefore, “100” is registered as the related process ID, and CPU1 or CPU2 (
例えば同一ユーザによる同一処理の場合、用いられるデータは共通である可能性が高い。したがって、L2キャッシュが共通のコアにこれらの処理を割り当てることによって、キャッシュのヒット率が向上する可能性が高まる。 For example, in the case of the same processing by the same user, there is a high possibility that the data used is common. Therefore, the L2 cache assigns these processes to a common core, thereby increasing the possibility of improving the cache hit rate.
図6は、動作例2に係る処理管理テーブルを例示する図である。動作例2は、種別が同じ複数の処理が実行される例である。具体的には、ユーザID「001」のアプリケーションがあるページのプリント処理を、ユーザID「002」のアプリケーションが別のページのプリント処理を要求する例を示している。この例では、処理IDが若い方がより先に要求された処理である。 FIG. 6 is a diagram illustrating a process management table according to the second operation example. The operation example 2 is an example in which a plurality of processes having the same type are executed. Specifically, an example is shown in which an application with a user ID “001” requests print processing of a page, and an application with a user ID “002” requests print processing of another page. In this example, the younger process ID is the process requested earlier.
(1)動作例2−1
新規処理:101
先行処理:100
先行処理と新規処理とは処理種別が異なるので、空き容量が十分なコアのうち、負荷が最も低いコアに新規処理が割り当てられる。この例ではCPU3(コア103)の負荷が最も低い。新規処理はCPU3に割り当てられる。
(1) Operation example 2-1
New processing: 101
Pre-processing: 100
Since the process types of the preceding process and the new process are different, the new process is assigned to the core with the lowest load among the cores with sufficient free space. In this example, the load on the CPU 3 (core 103) is the lowest. New processing is assigned to the CPU 3.
(2)動作例2−2
新規処理:102
先行処理:100、101
先行処理のうち処理ID「101」の処理が、新規処理とユーザIDおよび処理種別が同じである。したがって関連処理IDとして「101」が登録され、CPU3とL2キャッシュを共用するCPU3またはCPU4(コア103またはコア104)が割り当て先の候補である。このうち、負荷が最も低いコアに新規処理が割り当てられる。この例ではCPU4(コア104)の負荷が最も低い。新規処理はCPU4に割り当てられる。
(2) Operation example 2-2
New processing: 102
Pre-processing: 100, 101
Among the preceding processes, the process ID “101” has the same user ID and process type as the new process. Therefore, “101” is registered as the related process ID, and the CPU 3 or the CPU 4 (
(3)動作例2−3
新規処理:103
先行処理:100、101、102
先行処理のうち処理ID「100」の処理が、新規処理とユーザIDおよび処理種別が同じである。したがって関連処理IDとして「100」が登録され、CPU1とL2キャッシュを共用するCPU1またはCPU2(コア101またはコア102)が割り当て先の候補である。このうち、負荷が最も低いコアに新規処理が割り当てられる。この例ではCPU2(コア102)の負荷が最も低い。新規処理はCPU2に割り当てられる。
(3) Operation example 2-3
New processing: 103
Pre-processing: 100, 101, 102
Among the preceding processes, the process ID “100” has the same user ID and process type as the new process. Therefore, “100” is registered as the related process ID, and CPU1 or CPU2 (
例えば同一のページの画像をプリントする場合、用いられるデータは共通である可能性が高い。したがって、L2キャッシュが共通のコアにこれらの処理を割り当てることによって、キャッシュのヒット率が向上する可能性が高まる。 For example, when printing images of the same page, there is a high possibility that the data used is common. Therefore, the L2 cache assigns these processes to a common core, thereby increasing the possibility of improving the cache hit rate.
4.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
4). Modifications The present invention is not limited to the above-described embodiments, and various modifications can be made. Hereinafter, some modifications will be described. Two or more of the following modifications may be used in combination.
CPU10の構成は図2に例示したものに限定されない。コアの数やキャッシュメモリの階層構造はあくまで例示である。CPU10は、少なくとも、第1キャッシュメモリを共用する2つのコアと、第1キャッシュメモリと別の第2キャッシュメモリを用いる少なくとも1つのコアを有して入ればよい。第1キャッシュメモリが3つ以上のコアで共用されてもよい。また、CPU10は、L2キャッシュの下層にL3キャッシュを有していてもよい。
The configuration of the
また、CPU10は、物理的に1つのチップに複数のコアおよびキャッシュメモリを搭載したものに限定されない。複数のCPUチップで1つのキャッシュメモリを共用する情報処理装置に対し、本発明が適用されてもよい。
Further, the
さらに、実施形態における「複数のコア」は物理的に異なる複数のコアに限定されない。物理的に1つのコアが、時分割で論理的に(擬似的に)複数のコアとして用いられてもよい。 Furthermore, the “plurality of cores” in the embodiments is not limited to a plurality of physically different cores. One physical core may be used as a plurality of cores in a logical (pseudo) manner in a time division manner.
本発明に係る情報処理装置は、図2に例示した画像形成装置1に限定されない。CPU10を用いて複数の処理を並列実行するものであれば、情報処理装置はどのような装置であってもよい。例えば、情報処理装置は、パーソナルコンピュータ、スマートフォン、またはタブレット端末であってもよい。
The information processing apparatus according to the present invention is not limited to the image forming apparatus 1 illustrated in FIG. As long as a plurality of processes are executed in parallel using the
情報処理装置のソフトウェア構成は図3に例示したものに限定されない。OSおよびアプリケーションによる機能の分担はあくまで例示である。情報処理装置は、処理を発生させるソフトウェアコンポーネント、および発生した処理を実行させるコアを決定するソフトウェアコンポーネントを有していればよい。 The software configuration of the information processing apparatus is not limited to that illustrated in FIG. The sharing of functions by the OS and application is merely an example. The information processing apparatus only needs to have a software component that generates a process and a software component that determines a core that executes the generated process.
情報処理装置の動作は図4に例示したものに限定されない。例えば、ステップS112におけるコアの割り当ては、コアの負荷に応じて割り当てるものに限定されない。L2キャッシュの空き容量が最も少ないコア、関連性がより高い先行処理を実行しているコア、または処理種別毎にあらかじめ決められたコアに新規処理が割り当てられてもよい。 The operation of the information processing apparatus is not limited to that illustrated in FIG. For example, the core assignment in step S112 is not limited to the assignment according to the core load. A new process may be assigned to a core having the smallest free space in the L2 cache, a core that is executing a prior process with higher relevance, or a core that is predetermined for each process type.
先行処理および新規処理の関連性を評価する方法は、実施形態で例示したものに限定されない。実施形態においては処理種別およびユーザIDが同一かどうかを基準として関連性が評価されたが、これ以外の基準が用いられてもよい。 The method for evaluating the relationship between the preceding process and the new process is not limited to the one exemplified in the embodiment. In the embodiment, the relevance is evaluated based on whether the processing type and the user ID are the same, but other criteria may be used.
キャッシュ使用量を得る方法は実施形態で例示したものに限定されない。例えば、各アプリケーションは、OS50に処理を要求する際に、キャッシュ使用量を通知してもよい。OS50は、アプリケーションから通知されたキャッシュ使用量を用いて、L2キャッシュに十分な空き容量があるか判断する。
The method for obtaining the cache usage is not limited to the one exemplified in the embodiment. For example, each application may notify the cache usage when requesting processing from the
十分な空き容量があるか判断の対象となるキャッシュメモリは、L2キャッシュに限定されない。複数のコアで共用されるものであれば、どの階層のキャッシュメモリが対象となってもよい。 The cache memory that is the target of determining whether there is sufficient free space is not limited to the L2 cache. Any level of cache memory can be used as long as it is shared by a plurality of cores.
また、CPU10は、物理的に1つのチップに複数のコアおよびキャッシュメモリを搭載したものに限定されない。複数のCPUチップで1つのキャッシュメモリを共用する情報処理装置に対し、本発明が適用されてもよい。
Further, the
1…画像形成装置、9…情報処理装置、10…CPU、20…メモリコントローラー、30…主記憶装置、40…IOコントローラー、41…補助記憶装置、42…画像読み取りユニット、43…画像形成ユニット、44…通信ユニット、50…OS、51…検知手段、52…判断手段、53…予測手段、54…決定手段、61〜63…アプリケーション、90…CPU、101〜104…コア、111〜114…キャッシュメモリ(L1)、121〜122…キャッシュメモリ(L2)、901〜904…コア、911〜914…キャッシュメモリ(L1)、921〜922…キャッシュメモリ(L2) DESCRIPTION OF SYMBOLS 1 ... Image forming apparatus, 9 ... Information processing apparatus, 10 ... CPU, 20 ... Memory controller, 30 ... Main storage device, 40 ... IO controller, 41 ... Auxiliary storage device, 42 ... Image reading unit, 43 ... Image forming unit, 44 ... Communication unit, 50 ... OS, 51 ... Detection means, 52 ... Judgment means, 53 ... Prediction means, 54 ... Determination means, 61-63 ... Application, 90 ... CPU, 101-104 ... Core, 111-114 ... Cache Memory (L1), 121-122 ... Cache memory (L2), 901-904 ... Core, 911-914 ... Cache memory (L1), 921-922 ... Cache memory (L2)
Claims (11)
前記第1コアおよび前記第2コアで共用される第1キャッシュメモリと、
少なくとも前記第3コアで用いられる第2キャッシュメモリと、
前記第1コアが第1処理を実行している場合において、第2処理の割り当て先を決定する際、当該第2処理を実行する際のキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定する決定手段と
を有する情報処理装置。 A plurality of cores including a first core, a second core, and a third core, each executing different processes in parallel;
A first cache memory shared by the first core and the second core;
A second cache memory used in at least the third core;
In the case where the first core is executing the first process, when determining the allocation destination of the second process, the allocation of the second process is based on the cache memory usage amount when executing the second process. An information processing apparatus comprising: a determining unit that determines a core that is a destination.
ことを特徴とする請求項1に記載の情報処理装置。 If the sum of the amount of cache memory used when executing the second process and the amount of cache memory used when executing the first process is greater than the free capacity of the first cache memory, the determining means The information processing apparatus according to claim 1, wherein the second process is assigned to a core.
ことを特徴とする請求項2に記載の情報処理装置。 When the sum of the amount of cache memory used when executing the second process and the amount of cache memory used when executing the first process is smaller than the free capacity of the first cache memory, the determining means The information processing apparatus according to claim 2, wherein the second process is assigned to a core having a low load among the cores.
ことを特徴とする請求項3に記載の情報処理装置。 If the sum of the amount of cache memory used when executing the second process and the amount of cache memory used when executing the first process is smaller than the free capacity of the first cache memory, the determining means The information processing apparatus according to claim 3, wherein the second process is assigned to a core or the second core.
前記関連性が前記基準より高いと判断された場合、前記決定手段は、前記第1コアまたは前記第2コアに当該第2処理を割り当てる
ことを特徴とする請求項1ないし4のいずれか一項に記載の情報処理装置。 Determining means for determining whether the relevance of the first process and the second process is higher than a reference;
The determination means allocates the second process to the first core or the second core when the relevance is determined to be higher than the reference. 5. The information processing apparatus described in 1.
ことを特徴とする請求項5に記載の情報処理装置。 When it is determined that the relevance is lower than the reference, the determining unit determines a core to which the second process is allocated based on a cache memory usage amount when the second process is executed. The information processing apparatus according to claim 5.
ことを特徴とする請求項6に記載の情報処理装置。 The determination means determines whether the relevance of the first process and the second process is higher than the reference based on at least one of an instruction type and a program that issued the instruction. 6. The information processing apparatus according to 6.
前記決定手段は、前記予測手段により予測されたキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定する
ことを特徴とする請求項7に記載の情報処理装置。 Predicting means for predicting the amount of cache memory used when executing the second process;
The information processing apparatus according to claim 7, wherein the determination unit determines a core to be assigned to the second process based on the cache memory usage predicted by the prediction unit.
前記予測手段は、前記記憶手段に記憶されているテーブルを参照して前記キャッシュメモリ使用量を予測する
ことを特徴とする請求項8に記載の情報処理装置。 Storage means for storing a table in which attributes relating to instructions and cache memory usage are associated with each other;
The information processing apparatus according to claim 8, wherein the prediction unit predicts the cache memory usage with reference to a table stored in the storage unit.
前記テーブルは、前記命令に関する属性として、前記画像が形成される媒体のサイズおよび当該画像の解像度の少なくとも一方を含む
ことを特徴とする請求項9に記載の情報処理装置。 The first process and the second process are instructions related to image formation,
The information processing apparatus according to claim 9, wherein the table includes at least one of a size of a medium on which the image is formed and a resolution of the image as an attribute related to the command.
前記第1コアが画像形成に関する第1処理を実行している場合において、画像形成に関する第2処理の割り当て先を決定する際、当該第2処理を実行する際のキャッシュメモリ使用量に基づいて、当該第2処理の割り当て先となるコアを決定する決定手段と、
前記処理手段により処理された命令に応じて画像を形成する画像形成手段と
を有する画像形成装置。 A plurality of cores including a first core, a second core, and a third core, each executing different processes in parallel, a first cache memory shared by the first core and the second core, and at least the third core Processing means including a second cache memory used in
When the first core is executing the first process related to image formation, when determining the allocation destination of the second process related to image formation, based on the cache memory usage amount when executing the second process, Determining means for determining a core to be assigned to the second process;
An image forming apparatus comprising: an image forming unit that forms an image according to a command processed by the processing unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015172629A JP6551069B2 (en) | 2015-09-02 | 2015-09-02 | INFORMATION PROCESSING APPARATUS AND IMAGE FORMING APPARATUS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015172629A JP6551069B2 (en) | 2015-09-02 | 2015-09-02 | INFORMATION PROCESSING APPARATUS AND IMAGE FORMING APPARATUS |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017049814A true JP2017049814A (en) | 2017-03-09 |
JP6551069B2 JP6551069B2 (en) | 2019-07-31 |
Family
ID=58279813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015172629A Active JP6551069B2 (en) | 2015-09-02 | 2015-09-02 | INFORMATION PROCESSING APPARATUS AND IMAGE FORMING APPARATUS |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6551069B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006024180A (en) * | 2004-06-10 | 2006-01-26 | Hitachi Ltd | Computer system and its resource allocation method |
JP2009075827A (en) * | 2007-09-20 | 2009-04-09 | Panasonic Corp | Program execution device |
-
2015
- 2015-09-02 JP JP2015172629A patent/JP6551069B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006024180A (en) * | 2004-06-10 | 2006-01-26 | Hitachi Ltd | Computer system and its resource allocation method |
JP2009075827A (en) * | 2007-09-20 | 2009-04-09 | Panasonic Corp | Program execution device |
Also Published As
Publication number | Publication date |
---|---|
JP6551069B2 (en) | 2019-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI674502B (en) | Memory system and control method | |
WO2017054610A1 (en) | Computer, and method and apparatus for controlling quality of service | |
US20180039523A1 (en) | Information processing system that determines a memory to store program data for a task carried out by a processing core | |
JP5121896B2 (en) | Multi-core processor system and multi-core processor | |
US8645612B2 (en) | Information processing device and information processing method | |
CN104090847A (en) | Address distribution method of solid-state storage device | |
JP4609521B2 (en) | Information processing apparatus, information processing method, and computer program | |
KR101097777B1 (en) | A method, system and computer readable media for managing hybrid memory | |
JP6244949B2 (en) | Information processing apparatus, control method, and control program | |
JP2007026094A (en) | Execution device and application program | |
US7911639B2 (en) | Image forming device | |
JP2007188523A (en) | Task execution method and multiprocessor system | |
JP5832556B2 (en) | Image processing apparatus and image forming apparatus | |
JP6631124B2 (en) | Information processing apparatus and image forming apparatus | |
JP2014044527A (en) | Information processing apparatus, control method therefor, program therefor, and storage medium | |
JP2012059152A (en) | System for performing data processing and method for allocating memory | |
US20210191777A1 (en) | Memory Allocation in a Hierarchical Memory System | |
JP5158576B2 (en) | I / O control system, I / O control method, and I / O control program | |
US9552170B2 (en) | Memory managing apparatus and image processing apparatus | |
JP6551069B2 (en) | INFORMATION PROCESSING APPARATUS AND IMAGE FORMING APPARATUS | |
US20230222058A1 (en) | Zoned namespaces for computing device main memory | |
WO2015161804A1 (en) | Cache partitioning method and device | |
JP2014153931A (en) | Processor system, electronic apparatus, and system control program | |
JP5790532B2 (en) | Electronic device and memory control method | |
KR101932523B1 (en) | Method for dynamically increasing and decreasing the slots of virtual gpu memory allocated to a virtual machine and computing device implementing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180717 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190529 |
|
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: 20190604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6551069 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |