JP4982971B2 - 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP4982971B2
JP4982971B2 JP2005167911A JP2005167911A JP4982971B2 JP 4982971 B2 JP4982971 B2 JP 4982971B2 JP 2005167911 A JP2005167911 A JP 2005167911A JP 2005167911 A JP2005167911 A JP 2005167911A JP 4982971 B2 JP4982971 B2 JP 4982971B2
Authority
JP
Japan
Prior art keywords
physical
processor
logical
address
processors
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
JP2005167911A
Other languages
English (en)
Other versions
JP2006127462A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2005167911A priority Critical patent/JP4982971B2/ja
Priority to TW094131138A priority patent/TWI287717B/zh
Priority to MYPI20054441A priority patent/MY142170A/en
Priority to PCT/JP2005/017649 priority patent/WO2006035731A1/ja
Priority to BRPI0506384-1A priority patent/BRPI0506384A/pt
Priority to EP05785989A priority patent/EP1679594A4/en
Priority to RU2006118704/09A priority patent/RU2397536C2/ru
Priority to KR1020067010317A priority patent/KR101222823B1/ko
Priority to US11/236,720 priority patent/US8286161B2/en
Publication of JP2006127462A publication Critical patent/JP2006127462A/ja
Application granted granted Critical
Publication of JP4982971B2 publication Critical patent/JP4982971B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Description

本発明は、情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムに関する。さらに詳細には、複数のオペレーションシステム(OS)が同時に動作するシステムにおいて、各OSに対して設定される論理パーティションに対応して設定される論理プロセッサに、物理プロセッサを時分割で対応付けてデータ処理を行なう情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムに関する。
1つのシステム内に複数のオペレーティングシステム(OS)を搭載したマルチOSシステムにおいては、各OSはそれぞれ異なるプロセスが実行可能であり、システムで共通のハードウェア、すなわちCPUやメモリ等を時系列に順次切り替えて利用した処理が行なわれる。
複数OSの各々の実行プロセス(タスク)のスケジューリングは、例えばパーティション管理ソフトウェアによって実行される。1つのシステムにOS(α)とOS(β)の2つのオペレーティングシステムが並存する場合、OS(α)の処理をパーティションAとし、OS(β)の処理をパーティションBとすると、パーティション管理ソフトウェアは、パーティションAとパーティションBの実行スケジュールを決定し、決定したスケジュールに基づいて、ハードウェア資源を割り当てて各OSにおける処理を実行する。
マルチOS型のシステムにおけるタスク管理を開示した従来技術として、例えば、特許文献1がある。特許文献1には、複数のOSの各々において実行されるタスク管理において、緊急性の高い処理を優先的に処理させるためのタスクスケジューリング手法を開示している。
このようなマルチOSシステムにおいて、各種のデータ処理の実行主体は例えばパーティションとして設定される。具体的には、システム内の資源分配を受ける主体としての論理パーティションが設定され、論理パーティションに対して、物理プロセッサユニットの使用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配分され、配分されたリソースを適用した処理が実行される。論理パーティションには、いずれかの物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッサに基づくデータ処理が実行される。論理プロセッサと物理プロセッサは必ずしも1対1の関係にはなく、1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあり、複数の論理プロセッサに1つの物理プロセッサが対応付けられる場合もある。
論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは、複数の論理プロセッサによってスケジューリングされて使用されることになる。すなわち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行なうことになる。
複数の論理プロセッサによるデータ処理を複数の物理プロセッサを適用して実行する場合は、論理プロセッサと物理プロセッサとの最適な対応関係の設定および更新を行なうことがデータ処理効率を高めるための1つの方法である。また、1つの物理プロセッサを長時間に渡って使用すると、発熱によって高温となるという問題が発生する。従って、複数の物理プロセッサが、存在する場合は、適宜、これらを切り替えて利用する構成とすることが好ましい。
特開2003−345612号公報
本発明は、複数の論理プロセッサによるデータ処理を複数の物理プロセッサを適用して実行するデータ処理構成において、論理プロセッサと物理プロセッサとの最適な対応関係の設定および更新を可能とし、効率的なデータ処理、物理プロセッサの過剰な継続利用の防止を実現する情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明は、仮想アドレス空間と、論理パーティションアドレス(仮想物理アドレス)空間と、物理アドレス空間との異なるアドレス空間のアドレス変換に適用するテーブルを設定し、これを適宜、更新する処理を実行することにより、最適な論理プロセッサと物理プロセッサとの対応の設定、更新を行い、効率的なデータ処理を実現する情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
情報処理装置であり、
論理プロセッサを時分割で物理プロセッサに対応付ける処理を実行する制御OSと、
論理プロセッサの適用主体としての論理パーティションの設定対象であるゲストOSとを有し、
前記制御OSは、
論理プロセッサと物理プロセッサの対応関係を決定するアドレス変換テーブルとして、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第1変換テーブルと、ゲストOS側に設定される仮想アドレス空間と物理アドレス空間の対応関係を設定した第2変換テーブルとの2つのアドレス変換テーブルの設定および更新処理を実行することにより、論理プロセッサと物理プロセッサの対応関係の設定および更新を行なう構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記制御OSは、論理パーティションアドレスに基づいて決定される前記第1変換テーブルのインデックスに対応する物理アドレスを取得するとともに、仮想アドレスに基づいて決定される前記第2変換テーブルのインデックスに対応する物理アドレスの更新処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記制御OSは、論理プロセッサと物理プロセッサの対応関係の切り替えに際して、物理プロセッサに対応付けられた論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスを取得し、取得した物理アドレスを保持する前記第2変換テーブルの全てのエントリを無効化する処理を実行するとともに、物理プロセッサを新たに対応付ける論理プロセッサに対応する前記第1変換テーブルのインデックスを取得し、該取得インデックスに対応する物理アドレスとして、対応付けを行なう物理プロセッサの物理アドレス情報を格納する処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記物理アドレスは、物理プロセッサのMMIOレジスタの物理アドレスであることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記制御OSは、1つの物理プロセッサを適用した処理の継続時間が、予め定めた閾値時間に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なう構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記制御OSは、物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なう構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記制御OSは、並列に動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続された物理プロセッサ群として設定されるように論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記制御OSは、情報処理装置内の異なる位置に設定されたメモリに対する物理プロセッサのアクセス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定する構成であり、物理プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成におけるプロセス制御方法であり、
論理プロセッサの適用主体としてのゲストOS側に論理パーティションを設定するステップと、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第1変換テーブルと、前記ゲストOS側に設定される仮想アドレス空間と物理アドレス空間の対応関係を設定した第2変換テーブルとの2つのアドレス変換テーブルの設定または更新を実行するテーブル更新ステップと、
を有することを特徴とするプロセス制御方法にある。
さらに、本発明のプロセス制御方法の一実施態様において、前記テーブル更新ステップは、論理パーティションアドレスに基づいて決定される前記第1変換テーブルのインデックスに対応する物理アドレスを取得するステップと、仮想アドレスに基づいて決定される前記第2変換テーブルのインデックスに対応する物理アドレスの更新処理を実行するステップとを含むことを特徴とする。
さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方法は、さらに、論理プロセッサと物理プロセッサの対応関係の切り替えに際して、物理プロセッサに対応付けられた論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスを取得し、取得した物理アドレスを保持する前記第2変換テーブルの全てのエントリを無効化する処理を実行するステップと、物理プロセッサを新たに対応付ける論理プロセッサに対応する前記第1変換テーブルのインデックスを取得し、該取得インデックスに対応する物理アドレスとして、対応付けを行なう物理プロセッサの物理アドレス情報を格納する処理を実行するステップと、を有することを特徴とする。
さらに、本発明のプロセス制御方法の一実施態様において、前記物理アドレスは、物理プロセッサのMMIOレジスタの物理アドレスであることを特徴とする。
さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方法は、さらに、1つの物理プロセッサを適用した処理の継続時間が、予め定めた閾値時間に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なうことを特徴とする。
さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方法は、さらに、物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なうことを特徴とする。
さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方法は、さらに、並列に動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続された物理プロセッサ群として設定されるように論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行するステップを有することを特徴とする。
さらに、本発明のプロセス制御方法の一実施態様において、前記プロセス制御方法は、さらに、情報処理装置内の異なる位置に設定されたメモリに対する物理プロセッサのアクセス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定するステップを有し、物理プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行することを特徴とする。
さらに、本発明の第3の側面は、
論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成におけるプロセス制御を実行するコンピュータ・プログラムであり、
論理プロセッサの適用主体としてのゲストOS側に論理パーティションを設定するステップと、
論理パーティションアドレス空間と物理アドレス空間の対応関係を設定した第1変換テーブルと、前記ゲストOS側に設定される仮想アドレス空間と物理アドレス空間の対応関係を設定した第2変換テーブルとの2つのアドレス変換テーブルの設定または更新を実行するテーブル更新ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成によれば、論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成において、仮想アドレス空間と、論理パーティションアドレス(仮想物理アドレス)空間と、物理アドレス空間との異なるアドレス空間のアドレス変換に適用するテーブルを設定し、これを適宜、更新する処理を実行することにより、最適な論理プロセッサと物理プロセッサとの対応の設定、更新を行い、効率的なデータ処理が実現される。
本発明の一実施例の構成によれば、制御OSが2つのアドレス変換テーブル、すなわち、論理パーティションアドレス(仮想物理アドレス)空間を物理アドレス空間に変換する第1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第2変換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行することで、論理プロセッサと物理プロセッサとの対応関係を変更する構成であるので、状況に応じて、論理プロセッサ−物理プロセッサの対応関係の設定、変更が可能となり、データ処理シーケンスに応じた物理プロセッサのタイムシェアリングによるデータ処理が可能であり、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適なデータ処理が実行可能となる。
本発明の一実施例の構成によれば、例えば物理プロセッサのローテーション処理、すなわちマイグレーションを制御OSによる変換テーブルの更新によって実現することが可能となり、物理プロセッサの継続的な使用による発熱の抑制が可能となる。
また、本発明の一実施例の構成によれば、例えば異なる電源供給ラインに接続された物理プロセッサ群が設定されている構成において、複数の論理プロセッサがそれぞれ異なる物理プロセッサに対応付けられて並列に実行されるプロセスがある場合、1つの電源供給ラインに接続された物理プロセッサに対して論理プロセッサをそれぞれ割り当てることで、アイドル状態にある物理プロセッサ群に対する電源供給を停止することが可能となり、消費電力を低減することが可能となる。
また、本発明の一実施例の構成によれば、装置内における物理的位置が異なる複数のメモリを有する構成において、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行する。このプロセッサ対応付け処理によって、データアクセスの高速化が実現され、より高い効率でのデータ処理が可能となる。
以下、図面を参照しながら、本発明の情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムの詳細について説明する。
まず、図1を参照して、本発明の情報処理装置のハードウェア構成例について説明する。プロセッサモジュール101は、複数のプロセッサ(Processing Unit)から構成されたモジュールであり、ROM(Read Only Memory)104、HDD123等に記憶されているプログラムに従って、オペレーティングシステム(OS:Operating System)、OS対応のアプリケーション・プログラムなど、各種プログラムに従ったデータ処理を実行する。プロセッサモジュール101の詳細については、さらに、後段で、図2を参照して説明する。
グラフィックエンジン102は、プロセッサモジュール101から入力される指示に従って、出力部122を構成する表示デバイスに画面出力するためのデータ生成、例えば3Dグラフィック描画処理を実行する。メインメモリ(DRAM)103には、プロセッサモジュール101において実行するプログラムやその実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス111により相互に接続されている。
ホストバス111は、ブリッジ105を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス112に接続されている。ブリッジ105は、ホストバス111、外部バス112間、およびコントローラ106、メモリカード107、その他のデバイスとのデータ入出力制御を実行する。
入力部121は、キーボード、ポインティングデバイスなどのユーザにより操作される入力デバイスからの入力情報を入力する。出力部122は、液晶表示装置やCRT(Cathode Ray Tube)などの画像出力部とスピーカ等からなる音声出力部から構成される。
HDD(Hard Disk Drive)123は、ハードディスクを内蔵し、ハードディスクを駆動し、プロセッサモジュール101によって実行するプログラムや情報を記録または再生させる。
ドライブ124は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体127に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース113、外部バス112、ブリッジ105、およびホストバス111を介して接続されているメインメモリ(DRAM)103に供給する。
接続ポート125は、外部接続機器128を接続するポートであり、USB,IEEE1394等の接続部を持つ。接続ポート125は、インタフェース113、外部バス112、ブリッジ105、およびホストバス111を介してプロセッサモジュール101等に接続されている。通信部126は、ネットワークに接続され、プロセッサモジュール101や、HDD123等から提供されるデータの送信、外部からのデータ受信を実行する。
次に、プロセッサモジュールの構成例について、図2を参照して説明する。図2に示すように、プロセッサモジュール200は、複数のメインプロセッサからなるメインプロセッサグループ201、複数のサブプロセッサからなる複数のサブプロセッサグループ202〜20nによって構成されている。それぞれにメモリコントローラ、2次キャッシュが設けられている。各プロセッサグループ201〜20nの各々は例えば8つのプロセッサユニットを有し、クロスバーアーキテクチャ、あるいはパケット交換式ネットワークなどによって接続されている。メインプロセッサグループ201のメインプロセッサの指示のもとに、複数のサブプロセッサグループ202〜20nの1以上のサブプロセッサが選択され、所定のプログラムが実行される。
各プロセッサグループに設置されたメモリフローコントローラは、図1に示すメインメモリ103とのデータ入出力制御を実行し、2次キャッシュは、各プロセッサグループにおける処理用データの記憶領域として利用される。
次に、図3を参照して、本発明の情報処理装置におけるオペレーティングシステム(OS)構成を説明する。本発明の情報処理装置は複数のオペレーティングシステム(OS)が共存するマルチOS構成を持つ。図3に示すように、論理的な階層構成を持つ複数のオペレーティングシステム(OS)を持つ。
図3に示すように、下位レイヤに制御OS301を有し、上位レイヤに複数のゲストOS302,303、およびシステム制御OS304が設定される。制御OS301は、システム制御OS304とともに図1、図2を参照して説明したプロセッサモジュールにおいて実行する1以上のプロセスによって適用される論理パーティションを実現し、システム内のハードウェア資源(計算機資源としてのメインプロセッサ、サブプロセッサ、メモリ、デバイス等)を各論理パーティションに割り振る処理を実行する。
ゲストOS302,303は、例えばゲームOSやWindows(登録商標)、Linux(登録商標)などの各種のOSであり、制御OS301の制御の下に動作するOSである。なお、図3には、ゲストOS302,303の2つのゲストOSのみを示してあるが、ゲストOSは任意の数に設定することが可能である。
ゲストOS302,303は、制御OS301およびシステム制御OS304によって設定された論理パーティション内で動作し、その論理パーティションに割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して各種のデータ処理を実行する。
例えば、ゲストOS(a)302は、制御OS301およびシステム制御OS304によって設定された論理パーティション2に割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して、ゲストOS(a)302対応のアプリケーション・プログラム305を実行する。また、ゲストOS(b)303は、論理パーティションnに割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して、ゲストOS(b)303対応のアプリケーション・プログラム306を実行する。制御OS301は、ゲストOSの実行に必要なインタフェースとしてゲストOSプログラミングインタフェースを提供する。
システム制御OS304は、論理パーティション管理情報を含むシステム制御プログラム307を生成し、システム制御プログラム307に基づくシステムの動作制御を制御OS301とともに実行する。システム制御プログラム307は、システム制御プログラム・プログラミングインタフェースを用いてシステムのポリシを制御するプログラムである。システム制御プログラム・プログラミングインタフェースは、制御OS301からシステム制御OS304に提供される。例えばリソース配分の上限値を設定するなど、プログラムによる柔軟なカスタマイズのための手段を提供するのがシステム制御プログラム307の役割である。
システム制御プログラム307はシステム制御プログラム・プログラミングインタフェースを用いてシステムの振る舞いを制御することができる。例えば、新しく論理パーティションを作成し、その論理パーティションで新しいゲストOSを起動することができる。複数のゲストOSが動作するシステムでは、それらのゲストOSはシステム制御プログラムにあらかじめプログラムされた順序で起動されることになる。また、ゲストOSから提出された資源割り当て要求を制御OS301が受理する前に検査し、システムのポリシに従って修正したり、要求そのものを拒否したりすることができる。これにより、特定のゲストOSだけが資源を独占することがないようにすることができる。このように、システムのポリシをプログラムとして実現したものがシステム制御プログラムである。
制御OS301はシステム制御OS304のために特別な論理パーティション(図では論理パーティション1)を割り当てる。制御OS301は、ハイパバイザモードで動作する。ゲストOSはスーパバイザモードで動作する。システム制御OS、アプリケーション・プログラムはプロブレムモード(ユーザモード)で動作する。
論理パーティションはシステム内の資源分配を受ける主体である。たとえばメインメモリ103(図1参照)はいくつかの領域へ分割され、それぞれの領域の使用権が論理パーティションに対して与えられる。論理パーティションに分配される資源の種別には以下のものがある。
a)物理プロセッサユニット使用時間
b)仮想アドレス空間
c)論理パーティション内で動作するプログラムがアクセスできるメモリ
d)制御OSが論理パーティションの管理のために用いるメモリ
e)イベントポート
f)デバイスの使用権
g)キャッシュパーティション
h)バス使用権
前述したように、ゲストOSは論理パーティションの中で動作する。ゲストOSは論理パーティションに割り当てられた資源を独占して各種のデータ処理を実行する。多くの場合、システム上で動作する個々のゲストOS毎に1つの論理パーティションが作成される。各論理パーティションにはユニークな識別子が与えられる。システム制御OS304は、論理パーティション管理情報として生成するシステム制御プログラムに識別子を対応づけて管理する。
論理パーティションは、制御OS301およびシステム制御OS304によって生成される。生成直後の論理パーティションは何も資源を持たず、使用資源の制限も設定されていない。論理パーティションには活動状態と終了状態という2つの状態がある。生成直後の論理パーティションは活動状態にある。論理パーティション内で動作するゲストOSの要求に基づいて論理パーティションは終了状態に遷移し、論理パーティションに割り当てられている全ての論理プロセッサが停止する。
なお、論理プロセッサは、論理パーティションに割り当てられる論理的なプロセッサであり、いずれかの物理プロセッサ、すなわち、図2に示すプロセッサグループ内のプロセッサに対応する。ただし、論理プロセッサと物理プロセッサは必ずしも1対1の関係にはなく、1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあり、複数の論理プロセッサに1つの物理プロセッサが対応付けられる場合もある。論理プロセッサと物理プロセッサの対応付けは、制御OS301が決定する。
制御OS301は、各論理パーティションが使用する資源の量を制限する機能を備えている。ゲストOS302,303がシステム制御OS304との通信を行うことなく割り当て/解放が行える資源については使用量の制限が可能となっている。
各論理パーティションは制御シグナルポートを備えている。このポートには論理パーティション間のデータ交換/共有に必要な様々な制御シグナルが到着する。制御シグナルの例を以下に挙げる。
a)論理パーティション間イベントポートの接続依頼
b)論理パーティション間メッセージチャネルの接続依頼
c)共有メモリ領域への接続依頼
各論理パーティションに到着した制御シグナルは制御シグナルポートでキューイングされる。キューの深さは、メモリ資源が許す範囲であれば、制限は無い。キューイングに必要なメモリ資源は制御シグナルを送った論理パーティションから確保される。このポートから制御シグナルを取り出すためには、ゲストOSプログラミングインタフェースを呼び出す。空の制御シグナルポートに制御シグナルが到着したときに、任意のイベントポートにイベントを送信することが可能である。イベントポートの指定はゲストOSプログラミングインタフェースを呼び出すことによって行える。
制御OSは論理パーティションに対し、物理サブプロセッサを抽象化した論理サブプロセッサをリソース(計算機資源)として与える。前述したように物理サブプロセッサと論理サブプロセッサは一対一に対応付けされていない上、数が同じである必要もない。これを実現するために、制御OSは必要に応じて一つの物理サブプロセッサを複数の論理サブプロセッサに対応付けることができるようになっている。
論理サブプロセッサの数が物理サブプロセッサの数より多い場合、制御OSは物理サブプロセッサを時分割して処理する。このため論理サブプロセッサは、時間の経過をともなって動作停止や動作再開を繰り返す可能性がある。ゲストOSはこれらの状態の変化を観測することができる。
データ処理の実行に際しては、システム内の資源分配を受ける主体としての論理パーティションが設定され、論理パーティションに対して、物理プロセッサユニットの使用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配分され、配分されたリソースを適用した処理が実行される。論理パーティションには、いずれかの物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッサに基づくデータ処理が実行される。論理プロセッサと物理プロセッサは必ずしも1対1の関係にはなく、1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあり、複数の論理プロセッサに1つの物理プロセッサが対応付けられる場合もある。
論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは、複数の論理プロセッサによってスケジューリングされて使用されることになる。すなわち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行なうことになる。
図4を参照して、タイムシェアリングによる物理プロセッサの使用形態について説明する。図4(a)は、1つの物理プロセッサに対して、いずれかのOSに対応する1つの論理プロセッサが割り当てられている処理形態である。論理プロセッサ(ア)が物理プロセッサ(1)を占有して利用し、論理プロセッサ(イ)が物理プロセッサ(2)を占有して利用している。
図4(b)は、1つの物理プロセッサに対して複数の論理プロセッサが割り当てられ、タイムシェアリングによる処理を実行している処理形態を示している。物理プロセッサ1は、論理プロセッサ(ウ)→(ア)→(ウ)→(ア)→(イ)→(ウ)→(イ)の順にタイムシェアされて、各々の論理プロセッサ、すなわちいずれかのOSに対応する処理が実行される。物理プロセッサ2は、論理プロセッサ(イ)→(エ)→(イ)→(エ)→(ウ)→(エ)→(ア)の順にタイムシェアされて、各々の論理プロセッサ、すなわちいずれかのOSに対応する処理が実行されるによる処理が実行される。
次に、図5を参照して、物理プロセッサと論理プロセッサとの対応について説明する。図5には1つのメインプロセッサ401と、4つの物理サブプロセッサ411〜414の物理プロセッサ構成を示し、さらに、2つの物理サブプロセッサ、すなわち物理サブプロセッサ(2)と、物理サブプロセッサ(4)の時分割処理によって動作する論理ザププロセッサのタイムシーケンスを示している。
図5の例では、物理サブプロセッサ(2)は、
時間ta0〜ta1:論理サブプロセッサ(ア)
時間ta1〜ta2:論理サブプロセッサ(イ)
時間ta2〜ta3:論理サブプロセッサ(ウ)
時間ta3〜 :論理サブプロセッサ(ア)
の時分割によって各論理サブプロセッサが割り当てられ、それぞれの割り当て時間において、各論理サブプロセッサは物理サブプロセッサ(2)を適用した処理を実行している。
また、物理サブプロセッサ(4)は、
時間tb0〜tb1:論理サブプロセッサ(イ)
時間tb1〜tb2:論理サブプロセッサ(ウ)
時間tb2〜tb3:論理サブプロセッサ(ア)
時間tb3〜 :論理サブプロセッサ(イ)
の時分割によって各論理サブプロセッサが割り当てられ、それぞれの割り当て時間において、各論理サブプロセッサは物理サブプロセッサ(4)を適用した処理を実行している。
各論理サブプロセッサが時分割によって物理サブプロセッサを利用した処理を実行し、さらに次の割り当て期間において物理サブプロセッサを適用したデータ処理を再開するために、データ処理中断時のハードウェア状態等の状態情報を保持しておくことが必要となる。この状態情報には、図に示す各物理サブプロセッサに対応するローカルストレージ(Local Storage)情報、MMIO(メモリマップドIO)レジスタ情報が含まれる。MMIO(メモリマップドIO)は、メモリマッピングによるハードウェアの制御を行う入出力制御機構であり、特定のメモリ位置を利用した書き込み処理または読み取り処理によって、ハードウェアの制御を可能としている。
論理サブプロセッサが物理サブプロセッサに割り当てられている期間は、その論理サブプロセッサに対応する論理パーティションアドレス空間内の領域に、論理サブプロセッサの状態を反映した物理サブプロセッサのMMIO領域とローカルストレージ(Local Storage)領域がマップされることになる。
次に、図6を参照して、本発明の情報処理装置において定義されるアドレス空間と、アドレス変換機構(マッピング)について説明する。
図6には、論理パーティションアドレス(仮想物理アドレス)空間501、仮想アドレス空間502、物理アドレス空間503と、各アドレス空間のアドレス変換機構としての変換テーブルとして、論理パーティションアドレス(仮想物理アドレス)空間501を物理アドレス空間503に変換する第1変換テーブル521、仮想アドレス空間502を物理アドレス空間503に変換する第2変換テーブル522を示している。
論理パーティションアドレス(仮想物理アドレス)空間501は、物理アドレス空間503を抽象化したアドレス空間であり、システム制御プログラムが論理パーティションを生成したときに同時に作られる。論理パーティションアドレス(仮想物理アドレス)空間501には論理プロセッサがアクセス可能な領域が含まれる。論理パーティションアドレス(仮想物理アドレス)空間501は、先に図3を参照して説明した、例えばゲストOSに対応して設定される論理パーティション毎に設定される。
仮想アドレス空間502は、例えば、ゲストOSによって、直接利用される仮想的なアドレス空間である。ゲストOSは、必要に応じて新たな仮想アドレス空間を生成することができ、必要であれば論理パーティション内に複数の仮想アドレス空間を生成することも可能である。物理アドレス空間503は、リアルアドレス空間である。このアドレスは、バス上でアクセス対象を指定するために用いられる。
各アドレス空間のアドレス変換には、アドレス変換テーブル521,522が適用される。第1変換テーブル521は、論理パーティションアドレス(仮想物理アドレス)空間を物理アドレス空間503に変換する。第1変換テーブルの構成例を図7を参照して説明する。
第1変換テーブルは、図7に示すように、論理パーティションアドレス(仮想物理アドレス)空間のページ番号をインデックスとして、対応する物理アドレス空間のページを参照可能な構成を持つテーブルとして設定される。物理アドレス空間のページ番号としては、物理サブプロセッサのMMIOレジスタの物理アドレスなどが設定され、設定された物理アドレスに基づいて特定の物理サブプロセッサを特定することができる。一方、インデックスとしての論理パーティションアドレス(仮想物理アドレス)空間のページ番号は、論理サブプロセッサからアクセス可能であり、第1変換テーブルの対応に基づいて、論理サブプロセッサと物理サブプロセッサは対応付けられる。
インデックス(論理パーティションアドレス(仮想物理アドレス)空間のページ番号)に基づいて参照可能な物理アドレス空間のページ番号(物理サブプロセッサのMMIOレジスタの物理アドレス)は、有効な物理アドレス、あるいはエントリが無効であることを示す値(null)が設定され、この値は、制御OSの制御によって随時、更新される。
次に、第2変換テーブルの構成について、図8を参照して説明する。第2変換テーブルは、仮想アドレス空間502を物理アドレス空間503に変換するテーブルであり、仮想アドレス空間のページ番号をインデックスとして、対応する物理アドレス空間のページを参照可能な構成を持つテーブルとして設定される。物理アドレス空間のページ番号としては、物理サブプロセッサのMMIOレジスタの物理アドレスなどが設定され、設定された物理アドレスに基づいて特定の物理サブプロセッサを特定することができる。一方、インデックスとしての仮想アドレス空間のページ番号は、ゲストOSからアクセス可能であり、第2変換テーブルの対応に基づいて特定される物理サブプロセッサによる処理が実行される。
インデックス(仮想アドレス空間のページ番号)に基づいて参照可能な物理アドレス空間のページ番号(物理サブプロセッサのMMIOレジスタの物理アドレス)は、有効な物理アドレス、あるいはエントリが無効であることを示す値(null)が設定され、この値は、制御OSの制御によって随時、更新される。
次に、図9、図10を参照して、制御OSが実行する第1変換テーブル、第2変換テーブルのエントリの更新処理シーケンスについて説明する。この更新処理によって、論理パーティションに対応する論理プロセッサと物理プロセッサの対応関係が設定されることになる。
図9のフローに従ってテーブルのエントリの更新処理シーケンスについて説明する。まず、ステップS101において、論理パーティションアドレス(仮想物理アドレス)から第1変換テーブルのインデックスを計算する。論理パーティションアドレス(仮想物理アドレス)は、先に図3を参照して説明した、例えばゲストOSに対応して設定される論理パーティション毎に設定されるアドレス空間におけるアドレスであり、このアドレスに対応する第1変換テーブルのインデックスを求める。ステップS102では、求めたインデックスに基づいて第1変換テーブルから物理アドレスを求める。
図10を参照して、この処理について説明する。論理パーティションアドレス(仮想物理アドレス)610から第1変換テーブル620のインデックス[qqqqq]621を求め、このインデックス[qqqqq]621に対応付けられた物理アドレス[uuuuu]622を得る。論理パーティションアドレス(仮想物理アドレス)610は、例えば図3に示すゲストOSの1つに設定された論理パーティションに対応するアドレス空間のアドレスであり、論理パーティションに対応する論理サブプロセッサ600の利用可能なアドレスである。
次に、ステップS103において、仮想アドレスから第2変換テーブルのインデックスを計算し、ステップS104において、第2変換テーブルを更新する。
図10を参照して、この処理について説明する。仮想アドレス630から第2変換テーブル640のインデックス[aaaaa]641を求め、このインデックス[aaaaa]641に対応付けられた物理アドレスを[uuuuu]642に更新する。結果として、論理パーティションアドレス(仮想物理アドレス)610からアクセス可能な物理サブプロセッサと、仮想アドレスからアクセス可能な物理サブプロセッサは、図10に示すように、同一の物理サブプロセッサ650として設定される。仮想アドレス630も、例えば図3に示すゲストOSの1つに設定された論理パーティションにおいて設定された仮想アドレス空間のアドレスであり、論理パーティションに対応する論理サブプロセッサ600の利用可能なアドレスである。
この変換テーブルの更新によって、論理サブプロセッサと、物理サブプロセッサとの対応が設定され、論理パーティションに対応付けられた論理サブプロセッサは、第1変換テーブル、第2変換テーブルによって関連づけられた物理サブプロセッサを適用した処理が実行可能となる。
次に、論理サブプロセッサの切り替え処理について、図11のフローおよび、図12、図13に示す具体的処理例を参照して説明する。この処理は、例えば、図3に示すゲストOS対応の論理パーティションでのデータ処理を実行する論理プロセッサに対応する物理プロセッサについて、論理プロセッサ−物理プロセッサの対応を解消し、新たな物理プロセッサを他の論理プロセッサに対応付ける処理として実行される。すなわち、論理プロセッサと物理プロセッサとの対応関係を変更する処理として実行する処理である。なお、この処理は、制御OSによって実行される。
まず、ステップS201において、対応関係を変更する物理サブプロセッサが割り付けられている論理サブプロセッサに対応する第1変換テーブルのインデックスを取得し、ステップS202において、取得インデックスに基づいて物理アドレスを取得する。
この処理について、図12を参照して説明する。対応関係を変更する物理サブプロセッサを物理サブプロセッサa701とする。物理サブプロセッサa701が割り付けられている論理サブプロセッサα702に対応する第1変換テーブル703のインデックスは、インデックス[qqqqq]704である。ステップS201では、このインデックス[qqqqq]704を取得し、ステップS202では、取得インデックス[qqqqq]704に基づいて物理アドレス[uuuuu]705を取得する。
次に、ステップS203において、第2変換テーブルの中で、当該物理アドレス、すなわち物理アドレス[uuuuu]を保持している全エントリをすべて無効[null]にする。図12を参照して説明する。第2変換テーブル710の中で、当該物理アドレス、すなわち物理アドレス[uuuuu]を保持しているエントリ711を無効[null]に設定する。なお、図12では、物理アドレス[uuuuu]を保持しているエントリを1つのみ示してあるが、このエントリは、複数存在する場合があり、複数存在する場合は、すべてのエントリを無効[null]に設定する。この処理によって、論理サブプロセッサα702によるデータ処理において、物理サブプロセッサa701を適用することはできなくなる。
次に、ステップS204において、新たに物理サブプロセッサを割り付けたい論理サブプロセッサに対応する第1変換テーブルのインデックスを取得し、ステップS205において、第1変換テーブルに、新たに割り付けを行なう物理サブプロセッサのMMIOレジスタの物理アドレスを格納する。
この処理について、図13を参照して説明する。物理サブプロセッサa701を論理サブプロセッサβ721に新たに割り付けたいものとする。ステップS204の処理は、論理サブプロセッサβ721に対応する第1変換テーブル703のインデックス、すなわち、インデックス[rrrrr]722を取得する処理である。ステップS205の処理は、第1変換テーブル703に、物理サブプロセッサa701のMMIOレジスタの物理アドレス[uuuuu]723を格納する処理である。
この処理によって、物理サブプロセッサa701は、論理サブプロセッサβ721に対応関係が設定され、論理サブプロセッサβ721による処理が引き続き実行されることになる。
この後、図11を参照して説明したエントリの更新を実行する。図14を参照して、この処理について説明する。仮想アドレス830から第2変換テーブル840のインデックス[bbbbb]841を求め、このインデックス[bbbbb]841に対応付けられた物理アドレスを[uuuuu]842に更新する。結果として、論理パーティションアドレス(仮想物理アドレス)810からアクセス可能な物理サブプロセッサと、仮想アドレスからアクセス可能な物理サブプロセッサは、図14に示すように、同一の物理サブプロセッサa701として設定される。
以上、物理プロセッサを現在割り付けられている論理プロセッサとは異なる論理プロセッサに割り付ける場合の説明をしたが、逆に、論理プロセッサに対して現在割り付けられている物理プロセッサとは異なる物理プロセッサを割り付けることもできる。図15に示すように、第1変換テーブル620に物理サブプロセッサb651のMMIOレジスタの物理アドレス[vvvvv]622を格納することにより、物理サブプロセッサb651を論理サブプロセッサα600に割り付けることができる。
なお、このような物理プロセッサの切り替えは、例えば、1つの物理プロセッサを適用したデータ処理が継続して実行された場合の過熱を防止するためのプロセッサ切り替え制御処理として実行される。制御OSは、1つの物理プロセッサの継続使用時間が、予め設定された最大継続プロセッサ使用時間に至った場合に、図15を参照して説明したプロセッサ切り替え処理を実行し、論理−物理プロセッサの対応関係を変更して、新たな物理プロセッサを適用した処理を行なう構成とすることができる。
例えば、図16に示すプロセッサモジュール200のように、各サブプロセッサグループ202〜20n毎にタイマユニット252〜25nを有する構成とし、タイマユニット252〜25nによって、各サブプロセッサグループ202〜20nのサブプロセッサユニットとしての物理プロセッサにおいて実行される処理の処理時間計測を行い、一定時間が経過したら論理プロセッサと物理プロセッサの対応関係を変更するようにしてもよい。図16に示す各サブプロセッサユニットを構成する各物理プロセッサの近傍に温度センサ271〜273,281〜283を設置し、各プロセッサの温度上昇を検知し、予め定めた閾値温度に至った場合に論理プロセッサと物理プロセッサの対応関係を切り替える処理により、過剰な温度上昇を防止することができる。
論理プロセッサと物理プロセッサの対応関係を切り替える処理構成としては、各サブプロセッサグループ202〜20n毎に設定されたタイマユニット252〜25nによる時間計測に基づいて、一定時間ごとに切り替える構成とした時間依存型のプロセッサ切り替え処理構成と、各サブプロセッサユニットを構成する各物理プロセッサの近傍に設置した温度センサ271〜273,281〜283によって各プロセッサの温度上昇を検知し、予め定めた閾値温度に至った場合に、論理プロセッサと物理プロセッサの対応を切り替える構成とした温度依存型のプロセッサ切り替え処理構成とのいずれか、あるいは両者を並行して実行する構成が可能である。論理プロセッサと物理プロセッサの対応関係を切り替えは、図15を参照して説明したプロセッサ切り替えによって実行される。
図17に、一定時間ごとに論理プロセッサと物理プロセッサの対応関係を切り替える時間依存型のプロセッサ切り替え処理を説明する概念図を示す。図17(a)〜(c)は、それぞれ、予め設定された時間間隔(ti)毎に切り替えられる論理プロセッサと物理プロセッサの対応関係を示している。例えば、
(a)時間T0における論理プロセッサと物理プロセッサの対応関係
論理プロセッサα=物理プロセッサa
論理プロセッサβ=物理プロセッサb
論理プロセッサγ=物理プロセッサc
(b)時間T0から時間ti経過後の時間T1における論理プロセッサと物理プロセッサの対応関係
論理プロセッサγ=物理プロセッサa
論理プロセッサα=物理プロセッサb
論理プロセッサβ=物理プロセッサc
(c)時間T1から時間ti経過後の時間T2における論理プロセッサと物理プロセッサの対応関係
論理プロセッサβ=物理プロセッサa
論理プロセッサγ=物理プロセッサb
論理プロセッサα=物理プロセッサc
を示している。その後も(a)→(b)→(c)を、時間(ti)経過毎に、繰り返して対応関係を切り替える処理が実行される。
図18は、各サブプロセッサユニットを構成する各物理プロセッサの近傍に設置した温度センサ271〜273,281〜283(図16参照)によって各プロセッサの温度上昇を検知し、予め定めた閾値温度に至った場合に、論理プロセッサと物理プロセッサの対応を切り替える構成とした温度依存型のプロセッサ切り替え処理を説明する概念図を示す。図18(a)〜(c)は、それぞれ、プロセッサの温度に応じて切り替えられる論理プロセッサと物理プロセッサの対応関係を示している。
例えば、(a)に示すように、論理プロセッサと物理プロセッサの対応関係が、
論理プロセッサα=物理プロセッサa
論理プロセッサβ=物理プロセッサb
論理プロセッサγ=物理プロセッサc
として設定されている場合、物理サブプロセッサaが予め設定した閾値温度以上の高温になった場合、一番温度の高い物理サブプロセッサaと対応関係にある論理サブプロセッサαと、一番温度の低い物理サブプロセッサbと対応関係にある論理サブプロセッサβの対応付けを交換して、(b)に示すように、論理プロセッサと物理プロセッサの対応関係を、
論理プロセッサβ=物理プロセッサa
論理プロセッサα=物理プロセッサb
論理プロセッサγ=物理プロセッサc
の設定に変更する。この処理によって、処理負荷の高いプロセスを実行していると予測される論理プロセッサα対応の処理が物理プロセッサaから物理プロセッサbに切り替えられて実行されることになり、論理プロセッサα対応の処理を継続して1つの物理プロセッサで実行することによる過剰な温度上昇を防止することができる。
また、温度センサによるプロセッサの温度上昇の検知を契機に対応付けの変更を行うのでなく、前記のタイマユニットを用いて、一定時間ごとに、一番温度の高い物理サブプロセッサと、一番温度の低い物理サブプロセッサとの間で対応付けを交換するようにしてもよい。このようなプロセッサ切り替え処理(マイグレーション処理)により、1つのプロセッサを長期にわたって使用することによる温度の過大な上昇が防止される。
本発明の構成においては、上述したように制御OSが2つのアドレス変換テーブル、すなわち、論理パーティションアドレス(仮想物理アドレス)空間を物理アドレス空間に変換する第1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第2変換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行することで、論理プロセッサと物理プロセッサとの対応関係を変更する構成であるので、状況に応じて、論理プロセッサ−物理プロセッサの対応関係の設定、変更が可能となり、データ処理シーケンスに応じた物理プロセッサのタイムシェアリングによるデータ処理が可能であり、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適なデータ処理が実行可能となる。
また、ゲストOS等に対応して設定される論理パーティション側からみた場合は、変換テーブルの変更によって、物理プロセッサが変更されても、論理パーティション側の処理を継続して実行することが可能であり、ゲストOS側では仮想的に1つの物理プロセッサを適用した処理を継続して実行していると同様の処理環境でのデータ処理が可能となる。
次に、図19を参照して論理プロセッサと物理プロセッサとを対応付ける際、初期からあるいは後発的に不良となった物理プロセッサを、論理プロセッサの対応付けの対象から除外する構成とした例について説明する。
複数の物理プロセッサを搭載する装置において、当初からデータ処理の実行ができない不良な物理プロセッサが含まれてしまう場合や、後発的にデータ処理の実行が不可能になる不良な物理プロセッサが含まれてしまう場合がある。このような不良物理プロセッサを、論理プロセッサの対応付けの対象から除外する。
図19には、4つの物理プロセッサa〜dが搭載された装置例を示している。これらの物理プロセッサに対して、論理プロセッサが割り当てられて処理が実行される。ここで物理プロセッサcが、初期的あるいは後発的に不良となりデータ処理機能が欠落あるいは低下してしまったものとする。
この場合、論理プロセッサα〜δの対応付け対象としての物理プロセッサを物理プロセッサa,b,dのみとする設定とし、物理プロセッサcを、論理プロセッサの対応付けの対象から除外する。前述したように物理プロセッサと論理プロセッサは一対一に対応付けされる必要はなく、数が同じである必要もない。
論理プロセッサを物理プロセッサに対応付ける処理を実行する制御OSは、不良な物理プロセッサを対応付け対象から除外して、前述の論理プロセッサと物理プロセッサとの対応関係を決定するアドレス変換テーブルを構成し、正常な物理プロセッサのみを論理プロセッサに対応付ける。初期的な不良を有する物理プロセッサを含む場合は、当初から不良な物理プロセッサを対応付け対象から除外したアドレス変換テーブルの設定とし、後発的に物理プロセッサの不良が発生した場合は、アドレス変換テーブルの更新を実行して、後発的な不良を発生させた物理プロセッサを論理プロセッサとの対応付け対象から除外したアドレス変換テーブルの設定に変更する。
このように、不良な物理プロセッサを使用せず、正常な物理プロセッサのみを使用する構成とすることで、データ処理におけるエラーを発生させることのない装置が実現される。また、例えばn個の物理プロセッサを搭載したチップを装着した装置において、m個の物理プロセッサ(n>m)のみを論理プロセッサとの対応付け対象とすることで、正常なm個のプロセッサを備えた装置として見せることができる。
なお、複数の物理プロセッサにおいて所定の割合で不良な物理プロセッサが含まれることが想定される場合は、n個の物理プロセッサを搭載した装置において実行するデータ処理プログラムを、例えばm個(n>m)のプロセッサのみを適用した処理として実行可能なプログラムを設計することが好ましい。この構成とすることで、n−m個の不良プロセッサが初期的にあるいは後発的に発生した場合、問題なくデータ処理を実行することが可能となる。
次に、図20を参照して、論理プロセッサと物理プロセッサとの対応を、各物理プロセッサと利用電源との関係に基づいて設定する構成例について説明する。複数の物理プロセッサを備えた装置において、電源からの電力供給ラインが共通する物理プロセッサ群が設定される場合がある。例えば図20(A)に示す例では、物理プロセッサaと、物理プロセッサbが1つの電力供給ライン901を介して電源Aからの電力供給を受け、物理プロセッサcと、物理プロセッサdがもう1つの電力供給ライン902を介して電源Bからの電力供給を受ける構成となっている。
このような装置構成において、例えばあるデータ処理の時間において、論理プロセッサに対応付けられた物理プロセッサbと物理プロセッサdが同時にデータ処理を実行し、物理プロセッサaと物理プロセッサcがアイドリング状態である場合、電源A,Bの双方から電力供給ライン901,902を介して電力供給を行なうことが必要となる。
このように、電源および電力供給ラインを双方とも利用した場合、一方のみの電力供給ラインを利用した場合に比較して消費電力が多くなる。従って、理想的には、同時に動作する物理プロセッサの数が少ない場合、利用する電源や電力供給ラインの数を可能な限り少なくすることが消費電力の低下のために好ましい設定である。
論理プロセッサを物理プロセッサに対応付ける処理を実行する制御OSは、各物理プロセッサの利用する電源との関係に基づいて、各論理プロセッサに対応付ける物理プロセッサを決定して、前述のアドレス変換テーブルの設定、更新処理を実行する。例えば図20(B)に示すように、異なる電力供給ライン901,902に接続された物理プロセッサa〜dを有し、2つの物理プロセッサa,bが1つの電源および電力供給ライン901に接続され、2つの物理プロセッサc,dがもう1つの電源および電力供給ライン902に接続されている構成において、論理プロセッサに対応付けられて同時に動作することが必要となる物理プロセッサが2つのみである場合、論理プロセッサを一方の電力供給ラインに接続された物理プロセッサのみに対応付ける。
図に示す例では、論理プロセッサを物理プロセッサcと物理プロセッサdに対応付けてデータ処理を行なう構成とする。この設定により、物理プロセッサa,bはアイドリング状態、すなわち非動作状態となり、電力供給を行なう必要がなくなり、電力供給ライン902のみを介して電力供給を行なうのみでデータ処理が可能となり、消費電力を低減させることができる。
論理プロセッサを物理プロセッサに対応付ける処理を実行する制御OSは、予めメモリに記憶した各物理プロセッサと電源との対応関係テーブルを参照し、各処理時間においてONとする電源や、電力供給ライン数を、可能な限り少ない設定とするように論理プロセッサと物理プロセッサとの対応関係を決定するアドレス変換テーブルを設定または更新を行なう。このような制御を行うことで、消費電力の低減が実現される。
次に、図21〜図23を参照して、論理プロセッサが対応付けられた物理プロセッサにおけるデータ処理において利用するメモリと、物理プロセッサとの位置関係に基づいて、論理プロセッサと物理プロセッサとの対応を設定する構成例について説明する。
図21に示す装置は、ある情報処理装置の有する4つの物理プロセッサa〜dと、装置内のメモリX、メモリYを示している。各物理プロセッサa〜dにおけるデータ処理において、各プロセッサは、必要に応じてメモリX、メモリYに対するアクセスを行なう。メモリXとメモリYは、情報処理装置内において、それぞれ離間した位置にあり、各物理プロセッサは、メモリX、メモリYに格納するデータあるいは読み出しデータのデータ転送を装置内のバス911を介して行なう。
メモリアクセス処理や、バスを介したデータ転送処理について考察した場合、物理プロセッサとメモリとの距離が物理的に近い方が、バスの効率的利用が実現され、アクセス時間、処理時間の短縮が実現される。
論理プロセッサを物理プロセッサに対応付ける処理を実行する制御OSは、論理プロセッサが対応付けられ、様々なプロセスを実行する物理プロセッサのメモリアクセス状況を検出する。制御OSは、アクセス状況に応じて、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付ける。
モニタ部921は、様々なプロセスに対応して設定される論理プロセッサと、論理プロセッサに対応するプロセスを実行する物理プロセッサの対応関係と、各物理プロセッサのメモリアクセス状況をモニタする。なお、図には、モニタ部921を1つのブロックとして示してあるが、モニタリング処理は、各物理プロセッサ個別に設定されたハードウェアによってカウントされるメモリアクセス回数を、制御OSの実行する監視プログラムによって取得する処理として実行される。具体例について、図22を参照して説明する。
図22(B)は、あるデータ処理シーケンスにおいて実行された論理プロセッサと物理プロセッサの対応付けと、物理プロセッサのメモリアクセス態様を示している。各物理プロセッサa〜dは、それぞれメモリX、メモリYにアクセスを実行している。メモリXとメモリYは、装置内の離間した物理位置に配置されたメモリである。メモリXは、物理プロセッサa,bに近い位置にあり、メモリYは、物理プロセッサc,dに近い位置に配置されている。
図22(A)は、図22(B)に示すように論理プロセッサと物理プロセッサの対応付けられたデータ処理において制御OSの実行するモニタリング処理、すなわちモニタ部921のモニタリングの実行結果として取得したデータ例を示している。モニタデータは、物理プロセッサと論理プロセッサの対応関係と、各物理プロセッサの実行したメモリXとメモリYに対するアクセス回数の記録データを含む。
例えば、物理プロセッサaは、論理プロセッサαに対応付けられて論理プロセッサα対応のプロセスを実行し、このプロセス実行処理においてメモリXに20回、メモリYに7回のアクセスを行ったことが記録される。他の物理プロセッサについても同様、対応付けられた論理プロセッサと、各メモリに対するアクセス数がそれぞれ記録される。なお、モニタリングを実行する期間は、様々な設定が可能であり、特定のプロセスの実行期間、あるいは、予め設定した時間などの設定が可能である。
図22(B)を参照して説明したように、物理プロセッサaと物理プロセッサbは、メモリXとの物理的距離が、メモリYとの物理的距離より近く、一方、物理プロセッサcと物理プロセッサdは、メモリYとの物理的距離が、メモリXとの物理的距離より近い。バスの効率的利用、アクセス時間、処理時間の短縮等を実現するためには、各物理プロセッサは、アクセス数の多いメモリが近い位置に設定されることが好ましい。
図22(A)に示すモニタ結果では、論理プロセッサαに対応付けられた物理プロセッサaは、メモリXのアクセス数が[20]、メモリYのアクセス数が[7]であり、物理プロセッサaに近いメモリXに対するアクセス数が、遠いメモリYに対するアクセス数より多くなっており、論理プロセッサαを物理プロセッサaに対応付けてプロセスを実行することで、効率的な処理が実行されると言える。
しかし、論理プロセッサγに対応付けられた物理プロセッサbは、メモリXのアクセス数が[2]、メモリYのアクセス数が[25]であり、物理プロセッサbに近いメモリXに対するアクセス数が、遠いメモリYに対するアクセス数より少なくなっており、論理プロセッサγを物理プロセッサbに対応付けてプロセスを実行することで、効率が低下していると推測される。
また、論理プロセッサβに対応付けられた物理プロセッサcは、メモリXのアクセス数が[5]、メモリYのアクセス数が[30]であり、物理プロセッサcに近いメモリYに対するアクセス数が、遠いメモリXに対するアクセス数より多くなっており、論理プロセッサβを物理プロセッサcに対応付けてプロセスを実行することで、効率的な処理が実行されると言える。
さらに、論理プロセッサδに対応付けられた物理プロセッサdは、メモリXのアクセス数が[12]、メモリYのアクセス数が[5]であり、物理プロセッサdに近いメモリYに対するアクセス数が、遠いメモリXに対するアクセス数より少なくなっており、論理プロセッサδを物理プロセッサdに対応付けてプロセスを実行することで、効率が低下していると推測される。
制御OSは、これらのモニタ結果に基づいて、次の同一プロセスの実行時には、論理プロセッサと物理プロセッサとの対応付けを変更する。すなわち、物理プロセッサのメモリアクセス状況に応じて、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付ける更新を行なう。前述したように、制御OSは、アドレス変換テーブルの更新によって、論理プロセッサと物理プロセッサとの対応関係を任意に設定可能であり、モニタ結果に基づいて、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行する。
図22(A)に示すモニタ結果から、
物理プロセッサa:論理プロセッサα
物理プロセッサc:論理プロセッサβ
は問題ない対応付けであるが、
物理プロセッサb:論理プロセッサγ
物理プロセッサd:論理プロセッサδ
の対応付けは、データ転送等の処理効率低下を招いている対応付けであるという判定ができる。制御OSは、アドレス変換テーブルの更新によって、これらの論理プロセッサと物理プロセッサとの対応関係を変更して、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付ける。
図23を参照して、更新処理後の論理プロセッサと物理プロセッサとの対応関係と、メモリアクセス頻度との関係について説明する。制御OSは、アドレス変換テーブルの更新によって、論理プロセッサと物理プロセッサとの対応関係を変更する。すなわち、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行する。
この処理によって、図23(C)に示すように、
物理プロセッサa:論理プロセッサα
物理プロセッサb:論理プロセッサδ
物理プロセッサc:論理プロセッサβ
物理プロセッサd:論理プロセッサγ
の各対応付けを行なう。
この対応付けにおいて図22を参照して説明したプロセスと同一プロセスを実行した場合、各物理プロセッサのメモリアクセスのモニタ結果は、図23(D)に示す結果となり、
論理プロセッサαに対応付けられた物理プロセッサaと、
論理プロセッサδに対応付けられた物理プロセッサb、
の各物理プロセッサは、より近い位置にあるメモリXに対するアクセス数が、遠い位置のメモリYに対するよりアクセス数より多くなり、高い処理効率での処理が実現される。
同様に、
論理プロセッサβに対応付けられた物理プロセッサcと、
論理プロセッサγに対応付けられた物理プロセッサd、
の各物理プロセッサは、より近い位置にあるメモリYに対するアクセス数が、遠い位置のメモリXに対するよりアクセス数より多くなり、高い処理効率での処理が実現される。
このように、論理プロセッサを物理プロセッサに対応付ける処理を実行する制御OSが、論理プロセッサの対応付けられた各物理プロセッサについてのメモリアクセス状況に応じてアドレス変換テーブルの更新を実行して論理プロセッサと物理プロセッサとの対応関係を変更する。すなわち、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行する。この処理によって、データアクセスの高速化が実現され、より高い効率でのデータ処理が可能となる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成によれば、論理プロセッサを物理プロセッサに対応付けてデータ処理を行なう構成において、仮想アドレス空間と、論理パーティションアドレス(仮想物理アドレス)空間と、物理アドレス空間との異なるアドレス空間のアドレス変換に適用するテーブルを設定し、これを適宜、更新する処理を実行することにより、最適な論理プロセッサと物理プロセッサとの対応の設定、更新を行い、効率的なデータ処理が実現される。
本発明の一実施例の構成によれば、制御OSが2つのアドレス変換テーブル、すなわち、論理パーティションアドレス(仮想物理アドレス)空間を物理アドレス空間に変換する第1変換テーブルと、仮想アドレス空間を物理アドレス空間に変換する第2変換テーブルとを適用して、テーブルのエントリ設定、および更新処理を実行することで、論理プロセッサと物理プロセッサとの対応関係を変更する構成であるので、状況に応じて、論理プロセッサ−物理プロセッサの対応関係の設定、変更が可能となり、データ処理シーケンスに応じた物理プロセッサのタイムシェアリングによるデータ処理が可能であり、ハードウェアの負荷、データ処理プログラムの態様を考慮した最適なデータ処理が実行可能となる。
本発明の一実施例の構成によれば、例えば物理プロセッサのローテーション処理、すなわちマイグレーションを制御OSによる変換テーブルの更新によって実現することが可能となり、物理プロセッサの継続的な使用による発熱の抑制が可能となる。
また、本発明の一実施例の構成によれば、例えば異なる電源供給ラインに接続された物理プロセッサ群が設定されている構成において、複数の論理プロセッサがそれぞれ異なる物理プロセッサに対応付けられて並列に実行されるプロセスがある場合、1つの電源供給ラインに接続された物理プロセッサに対して論理プロセッサをそれぞれ割り当てることで、アイドル状態にある物理プロセッサ群に対する電源供給を停止することが可能となり、消費電力を低減することが可能となる。
また、本発明の一実施例の構成によれば、装置内における物理的位置が異なる複数のメモリを有する構成において、アクセス頻度の高い方のメモリに近い位置にある物理プロセッサを、各プロセスに対応する論理プロセッサに対して対応付けるようにアドレス変換テーブルの更新を実行する。このプロセッサ対応付け処理によって、データアクセスの高速化が実現され、より高い効率でのデータ処理が可能となる。
本発明の情報処理装置の構成例を示す図である。 プロセッサモジュールの構成例を示す図である。 本発明の情報処理装置のオペレーションシステム構成を説明する図である。 タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理について説明する図である。 論理プロセッサと物理プロセッサとの対応付け処理について説明する図である。 本発明の情報処理装置において適用されるアドレス空間およびアドレス変換機構としての変換テーブルについて説明する図である。 本発明の情報処理装置において適用される第1変換テーブルの構成例について説明する図である。 本発明の情報処理装置において適用される第2変換テーブルの構成例について説明する図である。 変換テーブルのエントリの更新処理の手順を説明するフローチャートを示す図である。 変換テーブルのエントリの更新処理の具体的処理を説明する図である。 論理プロセッサ−物理プロセッサの対応関係の更新処理の手順を説明するフローチャートを示す図である。 論理プロセッサ−物理プロセッサの対応関係の更新処理の具体的処理を説明する図である。 論理プロセッサ−物理プロセッサの対応関係の更新処理の具体的処理を説明する図である。 論理プロセッサ−物理プロセッサの対応関係の更新処理の具体的処理を説明する図である。 論理プロセッサ−物理プロセッサの対応関係の更新処理の具体的処理を説明する図である。 タイマおよび温度センサを有するプロセッサモジュールの構成例を示す図である。 時間依存型の論理プロセッサ−物理プロセッサ対応関係の切り替え処理構成を説明する図である。 温度依存型の論理プロセッサ−物理プロセッサ対応関係の切り替え処理構成を説明する図である。 初期からあるいは後発的に不良となった物理プロセッサを、論理プロセッサの対応付けの対象から除外する構成例について説明する図である。 物理プロセッサと利用電源との関係に基づいて論理プロセッサと物理プロセッサとの対応を決定する構成例について説明する図である。 物理プロセッサのアクセス態様に基づく論理プロセッサと物理プロセッサとの対応付け決定例について説明する図である。 物理プロセッサのアクセス態様に基づく論理プロセッサと物理プロセッサとの対応付け決定例について説明する図である。 物理プロセッサのアクセス態様に基づく論理プロセッサと物理プロセッサとの対応付け決定例について説明する図である。
符号の説明
101 プロセッサモジュール
102 グラフィックエンジン
103 メインメモリ(DRAM)
104 ROM
105 ブリッジ
106 コントローラ
107 メモリカード
111 ホストバス
112 外部バス
113 インタフェース
121 入力部
122 出力部
123 HDD
124 ドライブ
125 接続ポート
126 通信部
127 リムーバブル記録媒体
128 外部接続機器
200 プロセッサモジュール
201 メインプロセッサグループ
202〜20n サブプロセッサグループ
252〜25n タイマユニット
271〜273 温度センサ
281〜283 温度センサ
301 制御OS
302,303 ゲストOS
304 システム制御OS
305,306 ゲストOSアプリケーション
307 システム制御プログラム
401 メインプロセッサ
411〜414 物理サブプロセッサ
501 論理パーティションアドレス(仮想物理アドレス)空間
502 仮想アドレス空間
503 物理アドレス空間
521 第1変換テーブル
522 第2変換テーブル
600 論理サブプロセッサα
610 論理パーティションアドレス(仮想物理アドレス)
620 第1変換テーブル
621 インデックス
622 物理アドレス
630 仮想アドレス
640 第2変換テーブル
641 インデックス
642 物理アドレス
650 物理プロセッサa
701 物理プロセッサa
702 論理サブプロセッサα
703 第1変換テーブル
704 インデックス
705 物理アドレス
710 第2変換テーブル
711 物理アドレス
720 物理プロセッサb
721 論理サブプロセッサβ
722 インデックス
723 物理アドレス
830 仮想アドレス
840 第2変換テーブル
841 インデックス
842 物理アドレス
901,902 電力供給ライン
911 バス
921 モニタ部

Claims (17)

  1. 情報処理装置であり、
    前記情報処理装置は、複数の物理プロセッサを有し、論理プロセッサに前記複数の物理プロセッサの少なくともいずれかを対応付けてデータ処理を実行する構成であり、
    論理プロセッサを時分割で物理プロセッサに対応付ける処理を実行する制御OSと、
    論理プロセッサの適用主体としての論理パーティションの設定対象であるゲストOSとを有し、
    前記制御OSは、
    論理プロセッサと物理プロセッサの対応関係を決定するアドレス変換テーブルとして、
    論理パーティションアドレス空間と、いずれかの物理プロセッサに対応する物理アドレス空間の対応関係を設定した第1変換テーブルと、ゲストOS側に設定される仮想アドレス空間と、いずれかの物理プロセッサに対応する物理アドレス空間の対応関係を設定した第2変換テーブルとの2つのアドレス変換テーブルの設定および更新処理を実行することにより、論理プロセッサと物理プロセッサの対応関係の設定および更新を行なう構成であり、
    論理プロセッサと物理プロセッサの対応関係の切り替えに際して、
    所定の論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスと、前記所定の論理プロセッサに対応する前記第2変換テーブルのインデックスから求められる物理アドレスとが、同一の物理プロセッサに対応する同一のアドレスとなるように、前記第1変換テーブルと前記第2変換テーブルのいずれか一方または両方を設定することによって、論理プロセッサと物理プロセッサの対応関係の切り替えを行うことを特徴とする情報処理装置。
  2. 前記制御OSは、
    論理パーティションアドレスに基づいて決定される前記第1変換テーブルのインデックスに対応する物理アドレスを取得するとともに、仮想アドレスに基づいて決定される前記第2変換テーブルのインデックスに対応する物理アドレスを、取得した第1変換テーブルのインデックスに対応する物理アドレスに一致させる更新処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御OSは、
    論理プロセッサと物理プロセッサの対応関係の切り替えに際して、
    物理プロセッサに対応付けられた論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスを取得し、取得した物理アドレスを保持する前記第2変換テーブルの全てのエントリを無効化する処理を実行するとともに、
    物理プロセッサを新たに対応付ける論理プロセッサに対応する前記第1変換テーブルのインデックスを取得し、該取得インデックスに対応する物理アドレスとして、対応付けを行なう物理プロセッサの物理アドレス情報を格納する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  4. 前記物理アドレスは、物理プロセッサのMMIOレジスタの物理アドレスであることを特徴とする請求項1乃至3いずれかに記載の情報処理装置。
  5. 前記制御OSは、
    1つの物理プロセッサを適用した処理の継続時間が、予め定めた閾値時間に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なう構成であることを特徴とする請求項1に記載の情報処理装置。
  6. 前記制御OSは、
    物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なう構成であることを特徴とする請求項1に記載の情報処理装置。
  7. 前記制御OSは、
    並列に動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続された物理プロセッサ群として設定されるように論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  8. 前記制御OSは、
    情報処理装置内の異なる位置に設定されたメモリに対する物理プロセッサのアクセス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定する構成であり、
    物理プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  9. 複数の物理プロセッサを有し、論理プロセッサに複数の物理プロセッサの少なくともいずれかを対応付けてデータ処理を行う情報処理装置において実行するプロセス制御方法であり、
    論理プロセッサの適用主体としてのゲストOS側に論理パーティションを設定するステップと、
    論理パーティションアドレス空間と、いずれかの物理プロセッサに対応する物理アドレス空間の対応関係を設定した第1変換テーブルと、ゲストOS側に設定される仮想アドレス空間と、いずれかの物理プロセッサに対応する物理アドレス空間の対応関係を設定した第2変換テーブルとの2つのアドレス変換テーブルの設定または更新を実行するテーブル更新ステップと、
    を有し、
    前記テーブル更新ステップにおいて、
    論理プロセッサと物理プロセッサの対応関係の切り替えを実行する場合は、
    所定の論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスと、前記所定の論理プロセッサに対応する前記第2変換テーブルのインデックスから求められる物理アドレスとが、同一の物理プロセッサに対応する同一のアドレスとなるように、前記第1変換テーブルと前記第2変換テーブルのいずれか一方または両方を設定することによって、論理プロセッサと物理プロセッサの対応関係の切り替えを行うことを特徴とするプロセス制御方法。
  10. 前記テーブル更新ステップは、
    論理パーティションアドレスに基づいて決定される前記第1変換テーブルのインデックスに対応する物理アドレスを取得するステップと、
    仮想アドレスに基づいて決定される前記第2変換テーブルのインデックスに対応する物理アドレスの更新処理を実行するステップと
    を含むことを特徴とする請求項9に記載のプロセス制御方法。
  11. 前記プロセス制御方法は、さらに、
    論理プロセッサと物理プロセッサの対応関係の切り替えに際して、
    物理プロセッサに対応付けられた論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスを取得し、取得した物理アドレスを保持する前記第2変換テーブルの全てのエントリを無効化する処理を実行するステップと、
    物理プロセッサを新たに対応付ける論理プロセッサに対応する前記第1変換テーブルのインデックスを取得し、該取得インデックスに対応する物理アドレスとして、対応付けを行なう物理プロセッサの物理アドレス情報を格納する処理を実行するステップと、
    を有することを特徴とする請求項9に記載のプロセス制御方法。
  12. 前記物理アドレスは、物理プロセッサのMMIOレジスタの物理アドレスであることを特徴とする請求項9乃至11いずれかに記載のプロセス制御方法。
  13. 前記プロセス制御方法は、さらに、
    1つの物理プロセッサを適用した処理の継続時間が、予め定めた閾値時間に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なうことを特徴とする請求項9に記載のプロセス制御方法。
  14. 前記プロセス制御方法は、さらに、
    物理プロセッサの温度が、予め定めた閾値温度に至ったことを条件として、論理プロセッサと物理プロセッサとの対応変更処理を実行し、物理プロセッサの切り替えを行なうことを特徴とする請求項9に記載のプロセス制御方法。
  15. 前記プロセス制御方法は、さらに、
    並列に動作状態となる複数の物理プロセッサが同一の電力供給ラインに接続された物理プロセッサ群として設定されるように論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行するステップを有することを特徴とする請求項9に記載のプロセス制御方法。
  16. 前記プロセス制御方法は、さらに、
    情報処理装置内の異なる位置に設定されたメモリに対する物理プロセッサのアクセス状況に基づいて論理プロセッサと物理プロセッサとの対応関係を設定するステップを有し、
    物理プロセッサにより近い位置にあるメモリのアクセス頻度が高くなるように、論理プロセッサと物理プロセッサとの対応関係を設定する処理を実行することを特徴とする請求項9に記載のプロセス制御方法。
  17. 複数の物理プロセッサを有し、論理プロセッサに複数の物理プロセッサの少なくともいずれかを対応付けてデータ処理を行う情報処理装置において、プロセス制御を実行させるコンピュータ・プログラムであり、
    論理プロセッサの適用主体としてのゲストOS側に論理パーティションを設定するステップと、
    論理パーティションアドレス空間と、いずれかの物理プロセッサに対応する物理アドレス空間の対応関係を設定した第1変換テーブルと、ゲストOS側に設定される仮想アドレス空間と、いずれかの物理プロセッサに対応する物理アドレス空間の対応関係を設定した第2変換テーブルとの2つのアドレス変換テーブルの設定または更新を実行するテーブル更新ステップと、
    を実行させ、
    前記テーブル更新ステップにおいては、
    論理プロセッサと物理プロセッサの対応関係の切り替えを実行する場合は、
    所定の論理プロセッサに対応する前記第1変換テーブルのインデックスから求められる物理アドレスと、前記所定の論理プロセッサに対応する前記第2変換テーブルのインデックスから求められる物理アドレスとが、同一の物理プロセッサに対応する同一のアドレスとなるように、前記第1変換テーブルと前記第2変換テーブルのいずれか一方または両方を設定することによって、論理プロセッサと物理プロセッサの対応関係の切り替えを実行させることを特徴とするコンピュータ・プログラム。
JP2005167911A 2004-09-29 2005-06-08 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム Expired - Fee Related JP4982971B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2005167911A JP4982971B2 (ja) 2004-09-29 2005-06-08 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
TW094131138A TWI287717B (en) 2004-09-29 2005-09-09 Information processing device, process control method, and recording medium recorded with computer readable program
MYPI20054441A MY142170A (en) 2004-09-29 2005-09-22 Information processing apparatus, process control method, and computer program
BRPI0506384-1A BRPI0506384A (pt) 2004-09-29 2005-09-26 aparelho de processamento de informação, e, método de controle de processo e programa de computador para processar dados
PCT/JP2005/017649 WO2006035731A1 (ja) 2004-09-29 2005-09-26 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
EP05785989A EP1679594A4 (en) 2004-09-29 2005-09-26 INFORMATION PROCESSING DEVICE, METHOD OF CONTROLLING PROCESSING COMPUTER PROGRAM
RU2006118704/09A RU2397536C2 (ru) 2004-09-29 2005-09-26 Устройство обработки информации, способ управления процессом и компьютерная программа
KR1020067010317A KR101222823B1 (ko) 2004-09-29 2005-09-26 정보 처리 장치, 프로세스 제어 방법, 및 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체
US11/236,720 US8286161B2 (en) 2004-09-29 2005-09-28 Apparatus, method, and computer program for setting and updating a relationship between a logical processor and a physical processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004283533 2004-09-29
JP2004283533 2004-09-29
JP2005167911A JP4982971B2 (ja) 2004-09-29 2005-06-08 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2006127462A JP2006127462A (ja) 2006-05-18
JP4982971B2 true JP4982971B2 (ja) 2012-07-25

Family

ID=36118876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167911A Expired - Fee Related JP4982971B2 (ja) 2004-09-29 2005-06-08 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Country Status (9)

Country Link
US (1) US8286161B2 (ja)
EP (1) EP1679594A4 (ja)
JP (1) JP4982971B2 (ja)
KR (1) KR101222823B1 (ja)
BR (1) BRPI0506384A (ja)
MY (1) MY142170A (ja)
RU (1) RU2397536C2 (ja)
TW (1) TWI287717B (ja)
WO (1) WO2006035731A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4946102B2 (ja) * 2006-03-10 2012-06-06 ソニー株式会社 不揮発性メモリシステムおよび不揮発性メモリの管理方法
JP4702127B2 (ja) * 2006-03-22 2011-06-15 日本電気株式会社 仮想計算機システム及びその物理リソース再構成方法並びにプログラム
JP4671041B2 (ja) * 2006-03-27 2011-04-13 日本電気株式会社 モジュール化物理リソース群特定方法、その装置及びプログラム
JP4923990B2 (ja) * 2006-12-04 2012-04-25 株式会社日立製作所 フェイルオーバ方法、およびその計算機システム。
US7685401B2 (en) * 2006-12-27 2010-03-23 Intel Corporation Guest to host address translation for devices to access memory in a partitioned system
US8180997B2 (en) * 2007-07-05 2012-05-15 Board Of Regents, University Of Texas System Dynamically composing processor cores to form logical processors
JP5433837B2 (ja) * 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
JP2009223842A (ja) * 2008-03-19 2009-10-01 Fujitsu Ltd 仮想計算機制御プログラム及び仮想計算機システム
US8127086B2 (en) * 2008-06-06 2012-02-28 International Business Machines Corporation Transparent hypervisor pinning of critical memory areas in a shared memory partition data processing system
JP5327224B2 (ja) 2008-08-04 2013-10-30 富士通株式会社 マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体
US10083407B2 (en) 2008-11-19 2018-09-25 International Business Machines Corporation Ad hoc task creation and process modification
US20100198947A1 (en) * 2009-02-04 2010-08-05 Raytheon Company System and Method for Dynamically Processing Electronic Data Between Multiple Data Sources
US8090911B2 (en) * 2009-04-16 2012-01-03 International Business Machines Corporation Selecting a target number of pages for allocation to a partition
US8418187B2 (en) * 2010-03-01 2013-04-09 Arm Limited Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system
JP5178778B2 (ja) * 2010-06-02 2013-04-10 株式会社日立製作所 仮想計算機およびcpu割り当て方法
JP5354108B2 (ja) * 2010-09-01 2013-11-27 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法
US8560584B2 (en) * 2010-12-15 2013-10-15 Teradata Us, Inc. Database partition management
JP5681527B2 (ja) * 2011-02-28 2015-03-11 パナソニックIpマネジメント株式会社 電力制御装置及び電力制御方法
US8910177B2 (en) * 2011-04-14 2014-12-09 Advanced Micro Devices, Inc. Dynamic mapping of logical cores
US9183030B2 (en) 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
US8756601B2 (en) * 2011-09-23 2014-06-17 Qualcomm Incorporated Memory coherency acceleration via virtual machine migration
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions
US8830716B2 (en) * 2012-09-29 2014-09-09 Intel Corporation Intelligent far memory bandwith scaling
KR101416890B1 (ko) * 2013-05-03 2014-07-08 주식회사 엘지유플러스 데이터 처리 방법 및 장치
RU2547636C1 (ru) * 2013-12-30 2015-04-10 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Устройство для преобразования виртуальных адресов в физические адреса
JP5820001B2 (ja) * 2014-02-24 2015-11-24 ファナック株式会社 Cpuの異常検出機能を備えた制御装置
US9286105B1 (en) 2015-03-16 2016-03-15 AO Kaspersky Lab System and method for facilitating joint operation of multiple hypervisors in a computer system
CN114528022A (zh) * 2015-04-24 2022-05-24 优创半导体科技有限公司 实现虚拟地址的预转换的计算机处理器
US10169044B2 (en) 2015-06-26 2019-01-01 Microsoft Technology Licensing, Llc Processing an encoding format field to interpret header information regarding a group of instructions
US10409599B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Decoding information about a group of instructions including a size of the group of instructions
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
US11755484B2 (en) 2015-06-26 2023-09-12 Microsoft Technology Licensing, Llc Instruction block allocation
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
TWI705374B (zh) 2017-01-23 2020-09-21 威鋒電子股份有限公司 電子裝置及其操作方法
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
US10437503B2 (en) 2017-08-02 2019-10-08 Mastercard International Incorporated Systems and methods for redundant array data alignment
KR20210066288A (ko) * 2019-11-28 2021-06-07 한국전자통신연구원 전자 장치, 인터럽트 설정 제어 방법 및 저장 매체
WO2024013828A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 信号処理リソース切替装置、信号処理リソース切替システム、信号処理リソース切替方法およびプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5619153A (en) * 1979-07-25 1981-02-23 Fujitsu Ltd Virtual computer system
JP2977688B2 (ja) * 1992-12-18 1999-11-15 富士通株式会社 マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US5784706A (en) * 1993-12-13 1998-07-21 Cray Research, Inc. Virtual to logical to physical address translation for distributed memory massively parallel processing systems
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5835743A (en) * 1994-06-30 1998-11-10 Sun Microsystems, Inc. Application binary interface and method of interfacing binary application program to digital computer
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US5815686A (en) 1996-09-12 1998-09-29 Silicon Graphics, Inc. Method and apparatus for address space translation using a TLB
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6226734B1 (en) * 1998-06-10 2001-05-01 Compaq Computer Corporation Method and apparatus for processor migration from different processor states in a multi-processor computer system
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6260068B1 (en) * 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6381682B2 (en) * 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
JP4634548B2 (ja) 1997-11-04 2011-02-16 ヒューレット・パッカード・カンパニー マルチプロセッサコンピュータシステム及びその動作方法
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US20020016891A1 (en) * 1998-06-10 2002-02-07 Karen L. Noel Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
US6332180B1 (en) * 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
JP2000215189A (ja) * 1998-11-04 2000-08-04 Digital Equip Corp <Dec> 多数のオペレーティングシステムインスタンス及びソフトウェア制御式リソース割り当てを伴うマルチプロセッサコンピュータアーキテクチャ
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
FR2795196B1 (fr) * 1999-06-21 2001-08-10 Bull Sa Processus de liberation de pages physiques pour mecanisme d'adressage virtuel
US6725289B1 (en) * 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
JP2003345612A (ja) 2002-05-28 2003-12-05 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム
US6895491B2 (en) * 2002-09-26 2005-05-17 Hewlett-Packard Development Company, L.P. Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching
US7984108B2 (en) * 2003-10-08 2011-07-19 Unisys Corporation Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US7194641B2 (en) * 2004-01-22 2007-03-20 International Business Machines Corporation Method and apparatus for managing power and thermal alerts transparently to an operating system in a data processing system with increased granularity in reducing power usage and thermal generation
US7222221B1 (en) * 2004-02-06 2007-05-22 Vmware, Inc. Maintaining coherency of derived data in a computer system
US7200734B2 (en) * 2004-07-31 2007-04-03 Hewlett-Packard Development Company, L.P. Operating-system-transparent distributed memory
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor

Also Published As

Publication number Publication date
US20060075207A1 (en) 2006-04-06
BRPI0506384A (pt) 2006-12-26
MY142170A (en) 2010-10-15
TW200622676A (en) 2006-07-01
WO2006035731A1 (ja) 2006-04-06
RU2397536C2 (ru) 2010-08-20
EP1679594A1 (en) 2006-07-12
KR20070054138A (ko) 2007-05-28
EP1679594A4 (en) 2011-03-02
JP2006127462A (ja) 2006-05-18
TWI287717B (en) 2007-10-01
RU2006118704A (ru) 2007-12-20
KR101222823B1 (ko) 2013-01-15
US8286161B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
JP4982971B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP4322232B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US7987464B2 (en) Logical partitioning and virtualization in a heterogeneous architecture
US10552272B2 (en) Maintaining high availability during N-node failover
US9619287B2 (en) Methods and system for swapping memory in a virtual machine environment
KR20070057692A (ko) 정보 처리 장치, 프로세스 제어 방법, 및 컴퓨터 프로그램
JP4345630B2 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
WO2015169145A1 (zh) 内存管理方法和设备
US20060085794A1 (en) Information processing system, information processing method, and program
JP2005501333A (ja) プロセッサに譲渡するためのシステム
JP2006127461A (ja) 情報処理装置、通信処理方法、並びにコンピュータ・プログラム
WO2015024475A1 (en) Detection of hot pages for partition hibernation
WO2014206078A1 (zh) 内存访问方法、装置及系统
JP2010003257A (ja) 仮想計算機システム及びネットワークデバイス共有方法
JP4692912B2 (ja) リソース割り当てシステム、及びリソース割り当て方法
US8799625B2 (en) Fast remote communication and computation between processors using store and load operations on direct core-to-core memory
US8139595B2 (en) Packet transfer in a virtual partitioned environment
JP2006099333A (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2008165318A (ja) 計算機システム
US11586549B2 (en) Method and apparatus for managing memory in memory disaggregation system
JP5382471B2 (ja) 電力制御方法、計算機システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120409

R151 Written notification of patent or utility model registration

Ref document number: 4982971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees