(57)【要約】【課題】  マルチプロセッシングでのメモリ管理装置及びその方法を提供する。【解決手段】  情報を生成する情報生成プロセスと生成された情報を消費する情報消費プロセスとが互いに共有し、該共有する情報を保存する共有キューの状態に基づいて、情報消費プロセスに割り当てられたプロセッサの数や情報割り当て単位を調整するメモリ管理装置。これにより、情報消費プロセスが使う作業キューの接近を適切に制限することによって、マルチコアやマルチプロセッサ環境でマルチプロセッシングを効率的に遂行しうる。【選択図】      図１
2010079908.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロセッシング環境でのメモリ管理装置において、
ジョブの生成に割り当てられねばならない一つまたはそれ以上の情報生産プロセッサと、
前記生成されたジョブの消費に割り当てられねばならない一つまたはそれ以上の情報消費プロセッサと、
メモリと前記プロセッサとの間の帯域状態に基づいて、前記一つまたはそれ以上の情報消費プロセッサを管理する制御部と、
を含むことを特徴とするメモリ管理装置。
【請求項２】
前記制御部は、
前記メモリと前記プロセッサとの間の帯域状態をチェックする帯域監視部をさらに含むことを特徴とする請求項１に記載のメモリ管理装置。
【請求項３】
前記帯域監視部は、
前記プロセッサが互いに共有する共有キューで処理されるジョブの数によって決定される共有キューの長さをチェックするキュー状態監視部を含むことを特徴とする請求項２に記載のメモリ管理装置。
【請求項４】
前記帯域監視部は、
前記プロセッサが互いに共有する共有キューで処理されるジョブの数と所定時間とによって決定される、共有キューの移動平均（ｍｏｖｉｎｇ  ａｖｅｒａｇｅ）を計算するキュー状態監視部を含むことを特徴とする請求項２に記載のメモリ管理装置。
【請求項５】
前記制御部は、
前記メモリと前記プロセッサとの間の帯域状態に基づいて、前記生成されたジョブの消費に割り当てられるプロセッサの数を調整することを特徴とする請求項１に記載のメモリ管理装置。
【請求項６】
前記制御部は、
前記プロセッサが互いに共有する、前記チェックされた共有キューの長さが、所定の上限値以上であれば、前記情報消費プロセッサの数を増加させ、所定の下限値以下であれば、前記情報消費プロセッサの数を減少させるプロセス調整部を含むことを特徴とする請求項５に記載のメモリ管理装置。
【請求項７】
前記制御部は、
前記プロセッサが互いに共有する、前記チェックされた共有キューの長さが、所定の上限値以上であれば、前記情報消費プロセッサで消費するデータの割り当て単位の大きさを減少させ、所定の下限値以下であれば、前記情報消費プロセッサで消費するデータの割り当て単位の大きさを増加させるプロセス調整部を含むことを特徴とする請求項５に記載のメモリ管理装置。
【請求項８】
前記制御部は、
前記プロセッサが互いに共有する共有キュー長さが、所定時間の間に持続的に増加すれば、前記情報消費プロセッサの数を増加させ、所定時間の間に持続的に減少すれば、前記情報消費プロセッサの数を減少させることを特徴とする請求項５に記載のメモリ管理装置。
【請求項９】
前記制御部は、
前記プロセッサが互いに共有する共有キュー長さが、所定時間の間に持続的に増加すれば、前記情報消費プロセッサで消費するデータの割り当て単位の大きさを減少させ、所定時間の間に持続的に減少すれば、前記情報消費プロセッサで消費するデータの割り当て単位の大きさを増加させることを特徴とする請求項５に記載のメモリ管理装置。
【請求項１０】
情報生成プロセス、情報消費プロセス及びメモリを含むマルチプロセッシング環境でのメモリ管理方法において、
前記メモリと、前記情報生成プロセッサと情報消費プロセスに割り当てられる一つまたはそれ以上のプロセッサとの間の帯域状態をチェックする段階と、
前記帯域状態に基づいて、前記情報消費プロセスを管理する段階と、
を含むことを特徴とするメモリ管理方法。
【請求項１１】
前記チェックする段階は、
前記情報生成プロセッサと情報消費プロセスとが共有する共有キューで処理されるジョブの数によって決定される共有キューの長さを決定することを特徴とする請求項１０に記載のメモリ管理方法。
【請求項１２】
前記管理する段階は、
前記帯域状態に基づいて、前記情報消費プロセスに割り当てられるプロセッサの数を調整することを特徴とする請求項１０に記載のメモリ管理方法。
【請求項１３】
前記プロセッサの数を調整することは、
前記情報生成プロセッサと情報消費プロセスとが互いに共有する、前記チェックされた共有キューの長さが、所定の上限値以上であれば、前記情報消費プロセスに割り当てられるプロセッサの数を増加させ、所定の下限値以下であれば、前記情報消費プロセスに割り当てられるプロセッサの数を減少させることを特徴とする請求項１２に記載のメモリ管理方法。
【請求項１４】
前記プロセッサの数を調整することは、
前記情報生成プロセッサと情報消費プロセスとが互いに共有する共有キュー長さが、所定時間の間に持続的に増加すれば、前記情報消費プロセスに割り当てられるプロセッサの数を増加させ、所定時間の間に持続的に減少すれば、前記情報消費プロセスに割り当てられるプロセッサの数を減少させることを特徴とする請求項１２に記載のメモリ管理方法。
【請求項１５】
前記管理する段階は、
前記情報生成プロセッサと情報消費プロセスとが互いに共有する、前記チェックされた共有キューの長さが、所定の上限値以上であれば、前記情報消費プロセスで消費するデータの割り当て単位の大きさを減少させ、所定の下限値以下であれば、前記情報消費プロセスで消費するデータの割り当て単位の大きさを増加させることを特徴とする請求項１０に記載のメモリ管理方法。
【請求項１６】
前記管理する段階は、
前記情報生成プロセッサと情報消費プロセスとが互いに共有する共有キュー長さが、所定時間の間に持続的に増加すれば、前記情報消費プロセスで消費するデータの割り当て単位の大きさを減少させ、所定の下限値以下であれば、前記情報消費プロセスで消費するデータの割り当て単位の大きさを増加させることを特徴とする請求項１０に記載のメモリ管理方法。
【請求項１７】
前記帯域状態をチェックすることは、前記情報生成プロセッサと情報消費プロセスとが互いに共有する共有キューの移動平均を計算することで共有キューの長さ変化量を決定することを特徴とする請求項１０に記載のメモリ管理方法。
【請求項１８】
ジョブを生成する第１プロセスと前記第１プロセスによって生成されたジョブを消費する第２プロセスとによって共有される共有キューと、
前記共有キューの状態に基づいて、前記第２プロセスを管理する制御部と、
を含むことを特徴とするマルチプロセッシングで使われるコンピューティング装置。
【請求項１９】
前記制御部は、
前記共有キューの状態に基づいて、前記第２プロセスに割り当てられるプロセッサの数を調整することを特徴とする請求項１８に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２０】
前記制御部は、
前記共有キューで処理されるジョブの数によって決定される共有キューの長さをチェックするキュー状態監視部をさらに含むことを特徴とする請求項１８に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２１】
前記制御部は、
前記共有キューの長さが、所定の上限値以上であれば、前記第２プロセスに割り当てられるプロセッサの数を増加させ、所定の下限値以下であれば、前記第２プロセスに割り当てられるプロセッサの数を減少させるプロセス調整部をさらに含むことを特徴とする請求項２０に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２２】
前記制御部は、
前記共有キューの長さが、所定の上限値以上であれば、前記第２プロセスに消費されるデータの割り当て単位の大きさを減少させ、所定の下限値以下であれば、前記第２プロセスに消費されるデータの割り当て単位の大きさを増加させるプロセス調整部をさらに含むことを特徴とする請求項２０に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２３】
前記制御部は、
前記共有キューで処理せねばならないジョブの数と所定時間とによって決定される前記共有キューの移動平均を計算するキュー状態監視部をさらに含むことを特徴とする請求項１８に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２４】
前記制御部は、
前記共有キュー長さが、所定時間の間に持続的に増加すれば、前記第２プロセスに割り当てられるプロセッサの数を増加させ、所定時間の間に持続的に減少すれば、前記第２プロセスに割り当てられるプロセッサの数を減少させるプロセス調整部をさらに含むことを特徴とする請求項２３に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２５】
前記制御部は、
前記共有キュー長さが、所定時間の間に持続的に増加すれば、前記第２プロセスで消費されるデータの割り当て単位の大きさを減少させ、所定時間の間に持続的に減少すれば、前記第２プロセスで消費されるデータの割り当て単位の大きさを増加させるプロセス調整部をさらに含むことを請求項２３に記載のマルチプロセッシングで使われるコンピューティング装置。
【請求項２６】
第１プロセスと第２プロセスとが互いに共有し、前記第１プロセスが生成するデータは、前記第２プロセスによって処理される作業（ｊｏｂ）であり、このデータを保存する共有キューと、
前記共有キューの状態に基づいて、前記第２プロセスに割り当てられたプロセッサの数を調整するか、前記第２プロセスで消費する情報の割り当て単位を調整する調整部と、
を含むことを特徴とするマルチプロセッシングでの管理装置。
【請求項２７】
前記制御部は、
前記共有キューで処理せねばならないジョブの数によって決定される共有キューの長さをチェックするキュー状態監視部と、
前記チェックされた共有キューの長さが、所定の上限値以上であれば、前記第２プロセスに割り当てられたプロセッサの数を増加させるか、前記第２プロセスで消費するデータの割り当て単位を減少させ、所定の下限値以下であれば、前記第２プロセスに割り当てられたプロセッサの数を減少させるか、前記第２プロセスで消費するデータの割り当て単位を増加させるプロセス調整部と、
を含むことを特徴とする請求項２６に記載のマルチプロセッシングでのメモリ管理装置。
【請求項２８】
前記制御部は、
前記チェックされた共有キューの移動平均を計算して、共有キュー長さの変化量が持続的に増加すれば、前記第２プロセスに割り当てられたプロセッサの数を増加させるか、前記第２プロセスで消費するデータの割り当て単位の大きさを減少させ、持続的に減少すれば、前記第２プロセスに割り当てられたプロセッサの数を減少させるか、前記第２プロセスで消費するデータの割り当て単位の大きさを増加させることを特徴とする請求項２６に記載のマルチプロセッシングでのメモリ管理装置。
【請求項２９】
前記制御部は、
前記少なくとも一つのプロセッサをスリープモードで置くことによって、前記第２プロセスに割り当てられたプロセッサの数を調整することを特徴とする請求項２６に記載のマルチプロセッシングでのメモリ管理装置。
【請求項３０】
データとエントリーを生成する第１プロセスと前記生成されたデータとエントリーを消費する第２プロセスとが互いに共有し、前記共有されるデータとエントリーを保存する共有キューの長さまたは長さの変動分を把握する段階と、
前記把握された共有キュー長さ状態に基づいて、前記第２プロセスを管理する段階と、
を含むマルチプロセッシングでのメモリ管理方法をコンピュータで実行させることができるプログラムを記録したコンピュータで読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッシングに係り、より詳細には、マルチプロセッシングでのメモリ管理装置及びその方法に関する。
【背景技術】
【０００２】
マルチコア（ｍｕｌｔｉｃｏｒｅ）やマルチプロセッサ（ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）が存在するマルチプロセッシング環境で、それぞれのコアやプロセッサに割り当てられるプロセス（ｐｒｏｃｅｓｓ）やスレッド（ｔｈｒｅａｄ）は、キュー（ｑｕｅｕｅ）のようなメモリを互いに共有しながら作業キューに保存された情報を処理する。
【０００３】
マルチプロセッシング環境では、ある作業（ｗｏｒｋｌｏａｄ）を行うのに当って、多数のプロセスが存在することができる。これらプロセス中には、作業を行いながら情報を生成する情報生成プロセス（ｐｒｏｄｕｃｅｒ  ｐｒｏｃｅｓｓ）もあり、作業を行いながら情報を消費する情報消費プロセス（ｃｏｎｓｕｍｅｒ  ｐｒｏｃｅｓｓ）がある。例えば、ビデオデコーダをマルチプロセスとして具現する場合、可変長デコーディング（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｄｅｃｏｄｉｎｇ）を行うプロセスは情報生成プロセスに該当し、マクロブロック（ｍａｃｒｏｂｌｏｃｋ）を処理するプロセスは情報消費プロセスに該当する。
【０００４】
このように情報生成プロセスと情報消費プロセスとをともに動作させるプロデューサコンシューマ（ｐｒｏｄｕｃｅｒ−ｃｏｎｓｕｍｅｒ）形態の作業処理時、情報生成プロセスと情報消費プロセスとが共有する作業キューを効率的に活用できるようにして、全体的な作業効率（ｐｅｒｆｏｒｍａｎｃｅ）を高めることが重要である。
【０００５】
しかし、従来には、マルチプロセッシング環境で作業効率を高めるために、プロセスに割り当てられたプロセッサの数を一方的に増やして処理速度を高めようとする場合がある。しかし、作業キューの状態を確認せずに一方的にプロセスに割り当てられたプロセッサの数のみ増やす場合、他のプロセスに割り当てられねばならない作業キュー接近時間が減って、むしろ全体の作業効率が低下する。これにより、プロセスに割り当てられたプロセッサの数を一定数に制限するか、予め決定する場合もあるが、これも作業の特性と無関係に一定数のプロセッサを使わせることによって、作業の特性を反映することはできない。さらに、他の伝統的な方法は、メモリバスの構造（ａｒｃｈｉｔｅｃｔｕｒｅ）の変更を必要とすると知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の一態様によって、マルチコアやマルチプロセッサのようなマルチプロセッシング環境でのメモリ管理装置及び方法を提供しようとする。
【課題を解決するための手段】
【０００７】
本発明の一態様によるメモリ管理装置は、マルチプロセッシング環境でのメモリ管理装置において、データの生成に割り当てられねばならない一つまたはそれ以上の情報生産プロセッサと、前記生成されたデータの消費に割り当てられねばならない一つまたはそれ以上の情報消費プロセッサと、メモリと前記プロセッサとの間の帯域状態に基づいて、前記一つまたはそれ以上の情報消費プロセッサを管理する制御部と、を含む。
【０００８】
前記制御部は、前記メモリと前記プロセッサとの間の帯域状態をチェックする帯域監視部をさらに含みうる。
【０００９】
また、本発明の他の態様によるマルチプロセッシングでのメモリ管理方法は、情報生成プロセス、情報消費プロセス及びメモリを含むマルチプロセッシング環境でのメモリ管理方法において、前記メモリと、前記情報生成プロセッサと情報消費プロセスに割り当てられる一つまたはそれ以上のプロセッサとの間の帯域状態をチェックする段階と、前記帯域状態に基づいて、前記情報消費プロセスを管理する段階と、を含む。
【００１０】
一方、本発明のまた他の態様によるマルチプロセッシングでのメモリ管理装置は、データを生成する第１プロセスと前記第１プロセスによって生成されたデータを消費する第２プロセスとによって共有される共有キューと、前記共有キューの状態に基づいて、前記第２プロセスを管理する制御部と、を含む。
【００１１】
また、本発明の他の態様によるマルチプロセッシングでの管理装置は、第１プロセスと第２プロセスとが互いに共有し、前記第１プロセスが生成するデータは、前記第２プロセスによって処理される作業（ｊｏｂ）であり、このデータを保存する共有キューと、前記共有キューの状態に基づいて、前記第２プロセスに割り当てられたプロセッサの数を調整するか、前記第２プロセスで消費する情報の割り当て単位を調整する制御部と、を含む。
【発明の効果】
【００１２】
本発明の一態様によれば、情報消費プロセスが使う作業キューの接近を適切に制限することによって、マルチコアやマルチプロセッサ環境でマルチプロセッシングを効率的に遂行しうる。
【００１３】
そして、不要なプロセッサは休ませることによって、全体の使用電力も減少させることができる。また、処理作業や使われる情報の特性によって適応的にプロセッサの割り当てを調整するので、作業遂行に先立って予めプロセッサの数や情報の割り当て程度を設定する必要がない。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるメモリとメモリ管理装置とを含むコンピューティング装置の構成図である。
【図２Ａ】共有キューの長さによって情報消費プロセスに割り当てられたプロセッサの数を調整することを説明するための参照図である。
【図２Ｂ】共有キューの長さによって情報消費プロセスに割り当てられたプロセッサの数を調整することを説明するための参照図である。
【図３】共有キューの長さによって情報消費プロセスに割り当てられる情報割り当て単位の大きさを調整することを説明するための参照図である。
【図４】本発明の一実施形態によるメモリ管理方法のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付した図面を参照して、本発明の望ましい実施形態を詳しく説明する。本発明を説明するに当って、関連した公知機能または構成についての具体的な説明が、本発明の要旨を不明にする恐れがあると判断される場合には、その詳細な説明を省略する。また、後述する用語は、本発明での機能を考慮して定義された用語であって、これは、ユーザ、運用者の意図または慣例などによって変わりうる。したがって、その定義は、本明細書全般に亘った内容に基づいて下されなければならない。
【００１６】
図１は、本発明の一実施形態によるメモリ１１０とメモリ管理装置とを含むコンピューティング装置の構成図である。
【００１７】
メモリ１１０は、共有キュー１１１とデータ領域１１２とを含みうる。メモリ管理装置は、メモリ１１０をアクセスし、制御部１４０と多数のプロセッサ１２１、１３２、１３４、１３６とを含む。制御部１４０は、一つまたはそれ以上のプロセッサ上で具現可能である。そして、制御部１４０は、帯域監視部１４１とプロセス調整部１４４とをさらに含む。帯域監視部１４１は、キュー状態監視部１４２をさらに含みうる。
【００１８】
共有キュー１１１は、ジョブ（ｊｏｂ）とジョブとのためのデータを生成する情報生成プロセス１２０と、ジョブを処理することでデータを消費する情報消費プロセス１３０とによって互いに共有される。ここで、ジョブは、例えば、情報消費プロセス１３０によって処理されるジョブについて説明（ｄｅｓｃｒｉｐｔｉｏｎ）になりうる。そして、作業過程で情報生成プロセス１２０によって作られたジョブは、共有キュー１１１に保存され、ジョブのためのデータは、データ領域１１２に保存されうる。情報消費プロセス１３０は、共有キュー１１１に保存されたジョブによって、メモリ１１０のデータ領域１１２にあるジョブのためのデータを読み取って処理することができる。情報生成プロセス１２０は、ジョブを共有キュー１１１に入れる。情報消費プロセス１３０は、この共有キュー１１１からジョブを読み取り、ジョブ説明（ｄｅｓｃｒｉｐｔｉｏｎ）によってデータ領域１１２からデータを処理する。したがって、共有キュー１１１の長さは、情報生成プロセス１２０によって生成されるジョブの数と情報消費プロセス１３０によって消費されるジョブの数とによって可変される。
【００１９】
例えば、情報生成プロセス１２０が、１０個のジョブを生成して情報消費プロセス１３０が４個のジョブを消費したならば、共有キュー１１１の長さは６になる。したがって、共有キュー１１１の長さは、情報生成プロセス１２０がジョブを生成する速度と情報消費プロセス１３０がジョブを消費する速度とによって可変される。一方、情報生成プロセス１２０は、情報生成プロセッサ１２１が割り当てられねばならず、情報消費プロセス１３０は、複数個の情報消費プロセッサ１３２、１３４、１３６が割り当てられて動作することができる。
【００２０】
制御部１４０は、メモリ１１０とプロセッサ１２１、１３２、１３４、１３６との間の帯域状態に基づいて、情報消費プロセス１３０を管理する。
【００２１】
一例として、制御部１４０は、メモリ１１０とプロセッサ１２１、１３２、１３４、１３６との間のメモリ帯域状態に基づいて、情報消費プロセス１３０に割り当てられたプロセッサの個数を調整することができる。メモリ帯域状態は、共有キュー１１１の状態を見てチェックされることができる。
【００２２】
例えば、もし、情報消費プロセス１３０に情報消費プロセッサが相対的に別に割り当てられなくてメモリ帯域が飽和されていない状態とすれば、共有キュー１１１の長さが長くなり、制御部１４０は、情報消費プロセス１３０に割り当てられたプロセッサの個数を増やす。そして、例えば、もし、情報消費プロセス１３０に情報消費プロセッサが相対的にあまりにも多く割り当てられてメモリ帯域が飽和されれば、共有キュー１１１の長さが短くなり、制御部１４０は、情報消費プロセス１３０に割り当てられたプロセッサの個数を減らす。言い換えれば、処理しなければならないデータが共有キュー１１１に積もれば、これを消費する情報消費プロセス１３０に割り当てられたプロセッサの数を増加させる。
【００２３】
情報消費プロセス１３０に割り当てられたプロセッサの数を増加させるか、減少させる前述した作業を行うために、制御部１４０は、帯域監視部１４１とプロセス調整部１４４とを含みうる。帯域監視部１４１は、キュー状態監視部１４２を含みうる。帯域監視部１４１は、キュー状態監視部１４２によって決定されることができる共有キュー１１１の長さに基づいて、メモリとプロセッサとの間の帯域をチェックする。そして、プロセス調整部１４４は、チェックされた共有キューの長さが、例えば、一定の上限値以上であれば、情報消費プロセス１３０に割り当てられたプロセッサの数を増加させ、一定の下限値以下であれば、情報消費プロセス１３０に割り当てられたプロセッサの数を減少させる。上限値と下限値は、さまざまな作業を行って最適の性能が表われる値を平均値にして、それより５％〜３０％程度上に上限値を設定し、平均値より５％〜３０％低い位置に下限値を設定することができる。このようにして定められた数のプロセッサのみ情報消費プロセス１３０作業に参与し、それ以外に情報処理を行わないプロセッサを待機（ｓｌｅｅｐ）させることによって、電力消費を減少させることができる。
【００２４】
一方、共有キュー１１１の長さの変化量を有して情報消費プロセス１３０に割り当てられたプロセッサの個数を調整することもできる。言い換えれば、キュー状態監視部１４２は、チェックされた共有キューの移動平均（ｍｏｖｉｎｇ  ａｖｅｒａｇｅ）を計算して共有キュー長さの変化量を測定する。この変化量が一定の時間の間に持続的に増加すれば、情報消費プロセス１３０に割り当てられたプロセッサの数を増加させ、一定の時間の間に持続的に減少すれば、情報消費プロセス１３０に割り当てられたプロセッサの数を減少させる。
【００２５】
他の一例として、制御部１４０は、メモリ１１０とプロセッサ１２１、１３２、１３４、１３６との間の帯域状態に基づいて、情報消費プロセス１３０で消費するデータの割り当て単位の大きさを調整することができる。メモリ帯域の状態は、共有キュー１１１の状態に基づいて、チェックされることができる。割り当て単位の大きさ調整は、前述したプロセッサの数の調整の代わりに、またはこれに追加して遂行されうる。例えば、制御部１４０は、共有キュー１１１の長さが長ければ、情報消費プロセス１３０に伝達するデータの割り当て単位を小さくし、長さが短くなれば、情報消費プロセス１３０に伝達するデータの割り当て単位を大きくする。例えば、共有キュー１１１に保存されたデータ、すなわち、エントリー（ｅｎｔｒｙ）を即時に情報消費プロセス１３０で読み取って処理するものではなく、一定の割り当て単位になるまで待って、その単位になれば、情報消費プロセス１３０で処理する。
【００２６】
言い換えれば、共有キュー１１１にデータが少ない個数のみ積もってもすぐ情報消費プロセス１３０が処理するか、一定の程度積もるまで待って、処理するようにデータの割り当て単位を制御する。
【００２７】
したがって、キュー状態監視部１４２は、共有キュー１１１で処理せねばならないデータの数によって決定される共有キューの長さをチェックする。そして、プロセス調整部１４４は、チェックされた共有キューの長さが、特定の上限値以上であれば、情報消費プロセス１３０で消費するデータの割り当て単位の大きさを減少させ、特定の下限値以下であれば、情報消費プロセス１３０で消費するデータの割り当て単位の大きさを増加させる。
【００２８】
言い換えれば、共有キュー１１１に残っているエントリーの大きさが現在割り当て単位になるまで情報消費プロセスに割り当てられたプロセッサは、休止（ｓｌｅｅｐ）状態に入るようにして情報生産プロセス１２０がメモリをより円滑にアクセスできるようにする。そして、これにより、不要なプロセッサを休ませて電力消費も減らすことができる。また、割り当て単位を調整することによって、情報消費プロセスの休止状態持続如何を調整して情報生産プロセス１２０がメモリをより円滑にアクセスできるようにする。
【００２９】
一方、共有キューの長さではなく、共有キューの長さの変化量を有して情報消費プロセス１３０で消費するデータの割り当て単位の大きさを調整することもできる。したがって、プロセス調整部１４４は、チェックされた共有キューの移動平均を計算して共有キュー長さの変化量が一定の時間の間に持続的に増加すれば、情報消費プロセス１３０で消費する情報の割り当て単位の大きさを減少させ、一定の時間の間に持続的に減少すれば、情報消費プロセス１３０で消費するデータの割り当て単位の大きさを増加させる。
【００３０】
図２Ａ及び図２Ｂは、共有キューの長さによって情報消費プロセスに割り当てられたプロセッサの数を調整することを説明するための参照図である。
【００３１】
図１及び図２Ａを参照するに、最初に共有キュー１１１の長さが上限値以上であれば、例えば、情報消費プロセス１３０に少ない数の情報消費プロセッサが割り当てられて、メモリとプロセッサとの間の帯域が飽和されていない状態を意味する。したがって、制御部１４０は、情報消費プロセス１３０に割り当てられたプロセッサの数を増加させる。そして、共有キュー１１１の長さが下限値以下に落ちれば、これは、たとえば、情報消費プロセス１３０にあまりにも多いプロセッサが割り当てられて、メモリとプロセッサとの間の帯域が飽和された状態であるということを意味する。したがって、制御部１４０は、情報消費プロセス１３０に割り当てられたプロセッサの数を減少させる。このような過程を経て情報消費プロセス１３０に割り当てられたプロセッサの数を最適の数に調整する。
【００３２】
そして、図１及び図２Ｂを参照するに、共有キュー１１１長さの変動分が０より小さければ、例えば、情報生産プロセス１２０が生産するジョブより情報消費プロセス１３０が消費するジョブがさらに多くて共有キュー１１１の長さが減少し続ける場合には、情報消費プロセス１３０に割り当てられたプロセッサの数を減少させ、情報生産プロセス１２０が生産するジョブより情報消費プロセス１３０が消費するジョブがさらに少なくて共有キューの長さが増加し続ける場合には、情報消費プロセス１３０に割り当てられたプロセッサの数を増加させるということが分かる。
【００３３】
図３は、共有キューの長さによって情報消費プロセスに割り当てられる情報割り当て単位の大きさを調整することを説明するための参照図である。
【００３４】
図１及び図３を参照するに、最初に共有キュー１１１の長さが上限値以上であるので、情報消費プロセス１３０に割り当てられるデータ割り当て単位の大きさを減少させながら、下限値以下に落ちれば、情報消費プロセス１３０に割り当てられるデータ割り当て単位の大きさを増加させるということが分かる。このような過程を経て情報消費プロセス１３０に割り当てられるデータ割り当て単位の大きさを調整する。
【００３５】
図４は、本発明の一実施形態によるメモリ管理方法のフローチャートである。
【００３６】
本メモリ管理方法は、図１を参照して、前述したメモリ管理装置で遂行されうる。図１を参照するに、ジョブを生成する情報生産プロセスとそのように生成されたジョブを消費する多数の情報消費プロセスとが互いに共有し、該共有するジョブを保存する共有キューの長さまたは長さの変動分を把握する（Ｓ３１０）。
【００３７】
そして、把握された共有キュー１１１の状態に基づいて、情報消費プロセス１３０を管理する。例えば、プロセスが共有キュー１１１をそれ以上近付けられない程度にメモリ帯域が飽和状態であるか否かを判断する（Ｓ３２０）。そして、メモリ帯域が飽和状態であれば、例えば、共有キュー１１１の長さが一定の下限値以下であれば、情報消費プロセス１３０に割り当てられたプロセッサの数を減少させるか、及び／または情報消費プロセス１３０で消費するデータの割り当て単位の大きさを増加させる（Ｓ３３０）。一方、前述したように、共有キュー１１１の長さではなく、共有キュー１１１の長さの変化量が一定の時間の間に負である場合にも、情報消費プロセス１３０に割り当てられたプロセッサの数を減少させるか、情報消費プロセス１３０で消費するデータの割り当て単位の大きさを増加させることもできる。
【００３８】
メモリ帯域が飽和されていなければ、次に、共有キュー１１１を観察してメモリ帯域が余裕ある状態であるか否かを判断する（Ｓ３４０）。余裕ある状態（ｕｎｄｅｒ−ｓａｔｕｒａｔｅｄ）であれば、例えば、共有キュー１１１の長さが一定の上限値以上であれば、情報消費プロセス１３０に割り当てられたプロセッサの数を増加させるか、情報消費プロセス１３０で消費するデータの割り当て単位の大きさを減少させる（Ｓ３５０）。一方、共有キュー１１１の長さではなく、共有キュー１１１の長さの変化量が一定の時間の間に正である場合にも、情報消費プロセス１３０に割り当てられたプロセッサの数を増加させるか、及び／または情報消費プロセス１３０で消費するデータの割り当て単位の大きさを減少させることもできる。
【００３９】
次いで、情報生産プロセス１２０の動作が停止したか否かをさらに判断して（Ｓ３６０）、情報生産プロセス１２０の動作が停止したならば、終了し、そうではなければ、再び最初段階（Ｓ３１０）に戻って共有キュー１１１の状態を把握する。
【００４０】
以上、本発明の望ましい実施形態を中心に説明した。当業者は、本発明が、本発明の本質的な特性から外れない範囲で変形された形態として具現可能であるということを理解できるであろう。したがって、開示された実施形態は限定的な観点ではなく、説明的な観点で考慮されなければならない。本発明の範囲は、特許請求の範囲に表われており、それと同等な範囲内にあるあらゆる差点は、本発明に含まれたものと解析されなければならない。
【産業上の利用可能性】
【００４１】
本発明は、マルチプロセッシングでのメモリ管理装置及びその方法関連の技術分野に適用可能である。
【符号の説明】
【００４２】
１１０  メモリ
１１１  共有キュー
１１２  データ
１２０  情報生産プロセス
１２１  情報生産プロセッサ
１３２  第１情報消費プロセッサ
１３４  第２情報消費プロセッサ
１３６  第３情報消費プロセッサ
１３０  情報消費プロセス
１４１  帯域監視部
１４２  キュー状態監視部
１４４  プロセス調整部
１４０  制御部
【図１】
2010079908.tif 000003
【図２Ａ】
2010079908.tif 000004
【図２Ｂ】
2010079908.tif 000005
【図３】
2010079908.tif 000006
【図４】
2010079908.tif 000007