JP6089349B2 - マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム - Google Patents

マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム Download PDF

Info

Publication number
JP6089349B2
JP6089349B2 JP2015559405A JP2015559405A JP6089349B2 JP 6089349 B2 JP6089349 B2 JP 6089349B2 JP 2015559405 A JP2015559405 A JP 2015559405A JP 2015559405 A JP2015559405 A JP 2015559405A JP 6089349 B2 JP6089349 B2 JP 6089349B2
Authority
JP
Japan
Prior art keywords
core
processing
operating system
memory segment
processing core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015559405A
Other languages
English (en)
Other versions
JP2016508647A (ja
JP2016508647A5 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016508647A publication Critical patent/JP2016508647A/ja
Publication of JP2016508647A5 publication Critical patent/JP2016508647A5/ja
Application granted granted Critical
Publication of JP6089349B2 publication Critical patent/JP6089349B2/ja
Active 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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Description

本発明の実施形態は、コンピュータ技術に関し、詳しくは、マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステムに関する。
大規模統合リソースプールに基づくクラウド記憶システムは、データ記憶および管理に焦点を合わせ、複数のサービスの統合展開を支援し、ディスクを効率的に使用し、オンデマンド供給を用いて投資損失を低減し、合理的なスケジューリングを用いてリソースを効率的に使用し、総合エネルギー消費を低減する。
従来技術では、マルチコアARMプロセッサおよび少数のハードディスクを有するサーバーが、採用される。例えば、縮小命令セットコンピューティング(Reduced Instruction Set Computing、略してRISC)に基づくARMサーバーは、ARMプロセッサの利点、すなわち低消費電力、高集積度、および低総合コストを発揮することもある。
しかしながら、従来技術での複数のハードディスクと一緒のマルチコアARMプロセッサの場合は、オペレーティングシステムは、マルチコアプロセッサで実行され、オペレーティングシステムが、機能しなくなるとき、サーバーの障害粒度は、複数のハードディスクである。さらに、単一ハードディスクの容量は、大きく、入力/出力(Input/Output、略してI/O)スループット帯域幅は、小さいので、データ復元量およびネットワーク送信データ量は両方とも、指数関数的に増大し、障害回復粒度は、粗く、大きな圧力をシステムにもたらす。
本発明の実施形態は、マルチコアプロセッサの障害ドメインが単一ハードディスクにとどまることを可能にするために、マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステムを提供する。
第1の態様によると、本発明の実施形態は、マルチコアアーキテクチャでのリソース分離を支援するためのシステムを提供し、ここでシステムは、プロセッサであって、プロセッサが、複数の処理コアを含み、複数の処理コアが、起動時一次コアおよび少なくとも1つの起動時二次コアを含む、プロセッサと、メモリ空間であって、メモリ空間が、共有メモリセグメントおよび処理コアのメモリセグメントを含む、メモリ空間とを含む。実行情報および処理コアの実行時エントリアドレスは、共有メモリセグメントに記憶される。実行情報は、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびにメモリセグメントのサイズおよび開始アドレスを含む。処理コアの実行時エントリアドレスは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージの記憶アドレスをそれぞれのメモリセグメントで示すために使用される。プロセッサは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶し、処理コアの実行時エントリアドレスを共有メモリセグメントに個別に書き込む。起動されるべき処理コアは、それぞれの実行時エントリアドレスを個別に取得し、それぞれのメモリセグメントに記憶されたオペレーティングシステムのカーネルイメージを実行する。
第1の態様の第1の可能な実施方式では、プロセッサの処理コアは、プリセット選出アルゴリズムに従って処理コアから実行時一次コアを選出して決定し、ここで実行時一次コアは、入力/出力I/Oリソースの調停制御を行うために使用される。
第1の態様の第1の可能な実施方式を参照すると、第2の可能な実施方式では、実行時二次コアは、I/O操作を必要とするデータを共有メモリセグメントに入れ、I/O操作に関連するメモリアドレスを実行時一次コアに通知し、その結果実行時一次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
第1の態様の第1の可能な実施方式を参照すると、第3の可能な実施方式では、実行時二次コアは、外部デバイスへのI/O操作を行うために、それ自身の局所的物理ドライを呼び出す。
第1の態様および第1の態様の第1から第3の可能な実施方式の任意の1つを参照すると、第4の可能な実施方式では、ブートローダーは、起動時一次コアの内部に配置され、プロセッサが、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶することは、ブートローダーが、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに実行情報に従って個別に記憶することを含む。
第1の態様および第1の態様の第1から第3の可能な実施方式の任意の1つを参照すると、第5の可能な実施方式では、ブートローダーは、起動時一次コアの内部に配置され、プロセッサが、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶することは、ブートローダーが、実行される必要があるオペレーティングシステムのカーネルイメージをプロセッサの少なくとも1つの処理コアに割り当てられるメモリセグメントに実行情報に従って記憶し、オペレーティングシステムのカーネルイメージを実行すること、およびオペレーティングシステムを実行する処理コアが、オペレーティングシステムを実行する必要があるプロセッサの他の処理コアに対応するオペレーティングシステムのカーネルイメージを他の処理コアのメモリセグメントに実行情報に従って個別に記憶することを含む。
第1の態様および第1の態様の第1から第5の可能な実施方式の任意の1つを参照すると、第6の可能な実施方式では、少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行し、さらに、処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有する、または処理コアは、相互に異なるオペレーティングシステムのカーネルイメージを実行する。
第2の態様によると、本発明の実施形態は、マルチコアアーキテクチャでのリソース分離を支援するためのシステムに適用可能な、マルチコアアーキテクチャでのリソース分離を支援するための方法を提供し、ここでシステムは、プロセッサおよびメモリ空間を含む。プロセッサは、複数の処理コアを含み、複数の処理コアは、起動時一次コアおよび少なくとも1つの起動時二次コアを含む。メモリ空間は、共有メモリセグメントおよび処理コアのメモリセグメントを含む。実行情報および処理コアの実行時エントリアドレスは、共有メモリセグメントに記憶される。実行情報は、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびにメモリセグメントのサイズおよび開始アドレスを含む。処理コアの実行時エントリアドレスは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージの記憶アドレスをそれぞれのメモリセグメントで示すために使用される。
マルチコアアーキテクチャでのリソース分離を支援するための方法は、
処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントにプロセッサによって個別に記憶し、処理コアの実行時エントリアドレスを共有メモリセグメントに個別に書き込むステップと、
それぞれの実行時エントリアドレスを、起動されるべき処理コアによって個別に取得し、それぞれのメモリセグメントに記憶されたオペレーティングシステムのカーネルイメージを実行するステップとを含む。
第2の態様の第1の可能な実施方式では、プロセッサの処理コアは、プリセット選出アルゴリズムに従って処理コアから実行時一次コアを選出して決定し、ここで実行時一次コアは、入力/出力I/Oリソースの調停制御を行うために使用される。
第2の態様の第1の可能な実施方式を参照すると、第2の可能な実施方式では、実行時二次コアは、I/O操作を必要とするデータを共有メモリセグメントに入れ、I/O操作に関連するメモリアドレスを実行時一次コアに通知し、その結果実行時一次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
第2の態様の第1の可能な実施方式を参照すると、第3の可能な実施方式では、実行時二次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
第2の態様および第2の態様の第1から第3の可能な実施方式を参照すると、第4の可能な実施方式では、ブートローダーは、起動時一次コアの内部に配置され、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントにプロセッサによって個別に記憶するステップは、
処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに実行情報に従ってブートローダーによって個別に記憶するステップを含む。
第2の態様および第2の態様の第1から第3の可能な実施方式を参照すると、第5の可能な実施方式では、ブートローダーは、起動時一次コアの内部に配置され、
処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントにプロセッサによって個別に記憶するステップは、
実行される必要があるオペレーティングシステムのカーネルイメージをプロセッサの少なくとも1つの処理コアに割り当てられるメモリセグメントに実行情報に従ってブートローダーによって記憶し、オペレーティングシステムのカーネルイメージを実行するステップ、およびオペレーティングシステムを実行する必要があるプロセッサの他の処理コアに対応するオペレーティングシステムのカーネルイメージを他の処理コアのメモリセグメントに実行情報に従って、オペレーティングシステムを実行する処理コアによって個別に記憶するステップとを含む。
第2の態様および第2の態様の第1から第5の可能な実施方式を参照すると、第6の可能な実施方式では、少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行し、さらに、処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有する、または処理コアは、相互に異なるオペレーティングシステムのカーネルイメージを実行する。
本発明の実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するための方法およびシステムでは、コア間オペレーティングシステム分離、メモリセグメント分離、およびI/Oリソース分離の方式が、採用され、その結果マルチコアプロセッサの異なる処理コアで実行されるオペレーティングシステムは、互いに影響を及ぼすことなく独立して実行されてもよい。従って、マルチコアプロセッサの高集積度および低総合コストの利点は、完全に使用され、マルチコアプロセッサの障害ドメインが単一ハードディスクにとどまることが、達成され、マルチコアプロセッサは、高信頼性を有する。
本発明の第1の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの概略構造図である。 本発明の第1の実施形態におけるマルチコアアーキテクチャでのリソース分離を支援するためのシステムを採用するクラウド記憶システムのトポロジーの概略構造図である。 図1aで示されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムでの共有メモリセグメントの部分的概略構造図である。 本発明の第2の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの概略構造図である。 本発明の第2の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの実行時二次コアが外部デバイスにアクセスする実施の概略図である。 本発明の第2の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの実行時二次コアが外部デバイスにアクセスする別の実施の概略図である。 本発明の第3の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するための方法のフローチャートである。
第1の実施形態
図1aは、本発明の第1の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの概略構造図である。図1aで示されるマルチコアアーキテクチャでのリソース分離を支援するためのシステム10は、大規模統合リソースプールに基づくクラウド記憶システムに適用可能である。図1bは、本発明の第1の実施形態におけるマルチコアアーキテクチャでのリソース分離を支援するためのシステムを採用するクラウド記憶システムのトポロジーの概略構造図である。図1bで示されるように、クラウド記憶システム100は、スイッチ102、マルチコアアーキテクチャでのリソース分離を支援するための少なくとも1つのシステム10、および少なくとも1つのアプリケーションサーバー101を含む。アプリケーションサーバー101は、スイッチ102に接続され、マルチコアアーキテクチャでのリソース分離を支援するためのシステム10は、スイッチ102に接続される。
図1aで示されるように、この実施形態におけるマルチコアアーキテクチャでのリソース分離を支援するためのシステム10は、プロセッサ11およびメモリ空間12を含む。
プロセッサ11は、複数の処理コア、すなわち起動時一次コア111および少なくとも1つの起動時二次コア112を含む。
メモリ空間12は、共有メモリセグメント123、起動時一次コア111のメモリセグメント121および起動時二次コア112のメモリセグメント122を含む。実行情報および処理コアの実行時エントリアドレスは、共有メモリセグメント123に記憶される。実行情報は、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびにメモリセグメントのサイズおよび開始アドレスを含む。処理コアの実行時エントリアドレスは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージの記憶アドレスをそれぞれのメモリセグメントで示すために使用される。
プロセッサ11は、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶し、処理コアの実行時エントリアドレスを共有メモリセグメント123に書き込む。起動されるべき処理コアは、それぞれの実行時エントリアドレスを個別に取得し、それぞれのメモリセグメントに記憶されたオペレーティングシステムのカーネルイメージを実行する。
具体的には、図1aで示されるように、プロセッサ11は、複数の処理コアを含むマルチコアプロセッサである。例えば、ARMまたはIntel ATOMプロセッサが、採用されてもよいが、しかし本発明は、それらに限定されない。プロセッサ11は、複数の処理コアを含み、図1aは、プロセッサ11が起動時一次コア111および起動時二次コア112を含む状況の例を示す。しかしながら、プロセッサ11は、1つまたは複数の起動時二次コアを含んでもよく、詳細は、再び本明細書では述べられない。起動時一次コア111は、ハードウェアによってあらかじめ決められた処理コアを指し、ブートローダー1111で構成される。さらに、起動時一次コア111は、他の処理コアが起動し、実行するようにトリガーする能力がある。起動時二次コア112は、プロセッサ11が起動されるときに起動時一次コア111によってトリガーされ、起動される別の処理コアを指す。具体的適用では、起動時一次コアの内部に配置されるブートローダー1111、例えばUBootは、デバイス初期化を実施してもよく、またオペレーティングシステムのカーネルイメージを、オペレーティングシステムを実行する必要がある処理コアのメモリセグメントに記憶してもよい。図1aは、起動時一次コア111とオペレーティングシステム1との間、および起動時二次コア112とオペレーティングシステム2との間のマッピング関係を示し、ここでオペレーティングシステム1およびオペレーティングシステム2は、LINUX(登録商標)、Windows(登録商標)、Solaris、DOS、OS/2、UNIX(登録商標)、XENIX、Netware、または同じオペレーティングシステムの異なるバージョンであってもよい。加えて、オペレーティングシステム1およびオペレーティングシステム2は、同一のオペレーティングシステムであってもよく、また同じタイプのオペレーティングシステムの異なるバージョン、または異なるタイプのオペレーティングシステムであってもよいが、しかし本発明は、それらに限定されない。
図2は、図1aで示されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムでの共有メモリセグメントの部分的概略構造図である。図1aおよび図2で示されるように、実行情報123a、起動時二次コア112の実行時エントリアドレス123b、および起動時一次コア111の実行時エントリアドレス123cは、共有メモリセグメント123に記憶される。実行情報123aは、メモリセグメントの計画情報を記録し、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびにメモリセグメントのサイズおよび開始アドレスを少なくとも含む、すなわち、次の情報、(1)起動時一次コア111がオペレーティングシステム1を実行すること、ならびに起動時一次コア111に割り当てられるメモリセグメント121のサイズおよび開始アドレス、(2)起動時二次コア112がオペレーティングシステム2を実行すること、ならびに起動時二次コア112に割り当てられるメモリセグメント122のサイズおよび開始アドレス、ならびに(3)共有メモリセグメント123のサイズおよび開始アドレスを少なくとも含む。メモリセグメントは、互いに独立しており、互いに分離され、それによって互いに独立しているメモリセグメントを異なるオペレーティングシステムに割り当てる。もし各メモリセグメントの開始アドレスが、指定されないならば、初期設定により開始アドレスは、アドレス0から始まる、または前のメモリセグメントの終端アドレスから始まる。実行情報アドレス1231は、共有メモリセグメント123での実行情報123aの記憶アドレスである。処理コアは、実行情報アドレス1231の一致に従い、実行情報アドレス1231を使用することによって実行情報を問い合わせる必要がある。オプションとして、処理コアの実行情報アドレスは、各処理コアによって記憶されたオペレーティングシステムのカーネルイメージで個別に示され、実行情報は、システム実行プロセスで動的に変更され、調整されてもよい。起動時二次コア112の実行時エントリアドレスポインタ1232は、起動時二次コア112の実行時エントリアドレス123bを指し、ここで実行時エントリアドレス123bは、起動時二次コア112が実行する必要があるオペレーティングシステム2のカーネルイメージの記憶アドレスをメモリセグメント122で示すために使用される。起動時一次コア111の実行時エントリアドレスポインタ1233は、起動時一次コア111の実行時エントリアドレス123cを指し、ここで実行時エントリアドレス123cは、起動時一次コア111が実行する必要があるオペレーティングシステム1のカーネルイメージの記憶アドレスをメモリセグメント121で示すために使用される。各処理コアの実行時エントリアドレスポインタは、システムが起動される前にUBootで個別にプリセットされる。
本発明の実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムでは、コア間オペレーティングシステム分離およびメモリセグメント分離の方式が、採用され、その結果マルチコアプロセッサの異なる処理コアで実行されるオペレーティングシステムは、互いに影響を及ぼすことなく独立して実行されてもよい。単一処理コアまたはその上で実行されるオペレーティングシステムが、機能しなくなるとき、他の処理コアまたは他の処理コアで実行されるオペレーティングシステムは、影響を受けないことになる。従って、マルチコアプロセッサの高集積度および低総合コストの利点は、完全に使用され、マルチコアプロセッサの障害ドメインが単一ハードディスクにとどまることが、達成され、マルチコアプロセッサは、高信頼性を有する。
前述の実施形態に基づいて、プロセッサ11は、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに少なくとも次の2つの方式で記憶する。
方式1、ブートローダー1111は、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに実行情報123aに従って個別に記憶する。
方式2、ブートローダー1111は、プロセッサの少なくとも1つの処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに実行情報123aに従って記憶し、処理コアは、オペレーティングシステムのカーネルイメージを実行し、オペレーティングシステムを実行する処理コアは、オペレーティングシステムを実行する必要がある他の処理コアに対応するオペレーティングシステムのカーネルイメージを他の処理コアのメモリセグメントに実行情報に従って個別に記憶する。
具体的には、実施方式2では、ブートローダー1111は、プロセッサの少なくとも1つの処理コアが実行する必要があるオペレーティングシステムのカーネルイメージをプロセッサのメモリセグメントに実行情報123aに従って記憶する。例えば、ブートローダー1111は、起動時一次コア111が実行する必要があるオペレーティングシステム1のカーネルイメージを起動時一次コア111に割り当てられるメモリセグメント121に実行情報123aに従って記憶し、次いで、起動時一次コア111は、メモリセグメント121でのオペレーティングシステム1のカーネルイメージを実行し、その後、起動時一次コア111は、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージをそれぞれのメモリセグメントで広げるために、起動時二次コア112が実行する必要があるオペレーティングシステム2のカーネルイメージを起動時二次コア112のメモリセグメント122に実行情報123aに従って、実行オペレーティングシステム1を使用することによって記憶する。この実施形態は、起動時一次コア111が、オペレーティングシステムを初めに実行する処理コアとしての役割を果たすという例を説明することに留意すべきであるが、しかし当業者は、オペレーティングシステムを初めに起動して実行する処理コアが、起動時一次コア111に限定されず、プロセッサ11の任意の処理コアが、例えば前もって指定された方式でオペレーティングシステムを初めに起動して実行する処理コアとして決定されてもよいことを理解するはずである。
本発明のこの実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムでは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージは、それぞれのメモリセグメントで広げられ、その結果異なる処理コアのメモリセグメントは、それぞれの処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを記憶し、メモリセグメント上のリソースは互いに分離される。
前述の実施形態に基づいて、実行情報に記録された各処理コアと各オペレーティングシステムとの間のマッピング関係は、次の2つの関係を少なくとも含む。
マッピング関係1、少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行する。オプションとして、処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有する。
具体的には、少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行する。処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有してもよい。処理コア群の数は、1つより多くてもよく、各処理コア群によって個別に実行されるオペレーティングシステムは、互いに独立している。互いに独立しているメモリセグメントは、異なるオペレーティングシステムに割り当てられ、その結果単一オペレーティングシステムでの障害は、他の処理コア群または他の処理コア群で実行されるオペレーティングシステムに影響を及ぼさず、それによってマルチコアプロセッサの障害ドメインが単一ハードディスクにとどまることが、達成される。
マッピング関係2、処理コアは、相互に異なるオペレーティングシステムのカーネルイメージを実行する。
オプションとして、実行情報に従って、処理コア群および独立した単一処理コアがプロセッサ11に共存するという状況があってもよい。
前述の実施形態に基づいて、互いに独立しているオペレーティングシステムは、処理コア群または独立した単一処理コアで実行され、それによってコア間オペレーティングシステム分離を達成する。マルチコアプロセッサのI/Oリソースおよびコプロセッサが、全体的に共有されることを考慮すると、処理コアが起動された後、I/Oリソースの統合調停制御を行うために処理コアから1つの処理コアを選択することが、必要とされる。さらに、プロセッサの処理コアは、プリセット選出アルゴリズムに従って処理コアから実行時一次コアを選出して決定する。実行時一次コアは、I/Oリソースの調停制御を行うために使用される。
オプションとして、実行時二次コアは、I/O操作を必要とするデータを共有メモリセグメントに入れ、I/O操作に関連するメモリアドレスを実行時一次コアに通知し、その結果実行時一次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
オプションとして、実行時二次コアは、外部デバイスへのI/O操作を行うために、それ自身の局所的物理ドライを呼び出す。
マルチコアアーキテクチャでのリソース分離を支援するための前述のシステムの具体的実施は、具体的実施形態を使用することによって詳細に述べられる。
第2の実施形態
図3は、本発明の第2の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの概略構造図である。この実施形態は、前述の実施形態に基づいて実施される。図3で示されるように、この実施形態におけるマルチコアアーキテクチャでのリソース分離を支援するためのシステム20は、プロセッサ21およびメモリ空間22を含む。プロセッサ21は、起動時一次コア111、起動時二次コア112、起動時二次コア211、および起動時二次コア212を含む。ブートローダー1111は、起動時一次コア111の内部に配置される。加えて、起動時一次コア111および起動時二次コア112は、オペレーティングシステム1およびオペレーティングシステム2をそれぞれ実行する。起動時二次コア211および起動時二次コア212は、処理コア群214を構成する。処理コア群214は、同じオペレーティングシステム3を実行する。起動時一次コア111は、メモリセグメント121に対応し、起動時二次コア112は、メモリセグメント122に対応し、処理コア群214は、メモリセグメント221に対応し、すべてのこれらの情報は、実行情報に記録される。
具体的には、実行情報は、例えば次の情報、(1)起動時一次コア111がオペレーティングシステム1を実行すること、ならびに起動時一次コア111に割り当てられるメモリセグメント121のサイズおよび開始アドレス、(2)起動時二次コア112がオペレーティングシステム2を実行すること、ならびに起動時二次コア112に割り当てられるメモリセグメント122のサイズおよび開始アドレス、ならびに(3)処理コア群214がオペレーティングシステム3を実行すること、ならびに処理コア群214に割り当てられるメモリセグメント221のサイズおよび開始アドレスを記録する。メモリ22では、メモリセグメントは、メモリセグメント121、メモリセグメント122、メモリセグメント221、および共有メモリセグメント123の間で分離される。
システムが起動された後、各処理コアは、スピン状態にあり、ここでスピン状態は、処理コアがアイドリングを保ち、外部事象によって起こされるのを待つということを指す。ブートローダー1111がデバイス初期化を完了した後、ブートローダー1111を使用することによって、プロセッサ21は、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびに実行情報に記録されるメモリセグメントのサイズおよび開始アドレスに従って、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージをプロセッサのメモリセグメントにブートローダーモードまたはダウンロードモードを使用することによって個別に記憶し、処理コアの実行時エントリアドレスを共有メモリセグメント123に個別に書き込む。
この実施形態では、オペレーティングシステムを初めに起動して実行する処理コアは、起動時一次コア111であるようにプリセットされるが、しかし本発明は、それに限定されず、オペレーティングシステムを初めに起動して実行する処理コアはまた、プロセッサ11の別の処理コアであるようにプリセットされてもよい。
起動時一次コア111は、それ自身の実行時エントリアドレスポインタを読み出し、有効な物理アドレスがあるかどうかを確認し、もしそうなら、実行時エントリアドレスポインタが指す起動時一次コア111の実行時エントリアドレスにジャンプし、オペレーティングシステム1を実行するために、オペレーティングシステム1のカーネルイメージを実行する。起動時一次コア111は、コア間通信機構を使用することによって起動されるべき処理コアを起こす。起動されるべき処理コアは、それぞれの実行時エントリアドレスポインタを個別に読み出し、有効な物理アドレスがあるかどうかを確認し、もしそうなら、それぞれの実行時エントリアドレスポインタが指す実行時エントリアドレスにジャンプし、対応するオペレーティングシステムを実行するために、対応するオペレーティングシステムのカーネルイメージを実行する。実行プロセスでは、処理コアは、実行情報を読み出すために実行情報アドレスにジャンプし、それぞれの処理コアが実行する必要があるオペレーティングシステム、ならびに割り当てられるメモリセグメントのサイズおよび開始アドレスを学習する。従って、処理コアは、共有メモリセグメント123およびそれぞれのメモリセグメントへの操作を行うことができるだけである。従って、この実施形態におけるマルチコアアーキテクチャでのリソース分離を支援するためのシステム20では、互いに独立しているオペレーティングシステムは、プロセッサの異なる処理コアまたは処理コア群で実行される。さらに、システムが、起動されるときだけ、起動時一次コア111で動くブートローダー1111は、各処理コアまたは処理コア群が実行する必要があるオペレーティングシステムのカーネルイメージを処理コアまたは処理コア群のメモリセグメントに記憶する。次いで、各処理コアは、他の処理コアの正常な実行に影響を及ぼすことなく、独立して再起動され、休止され、または終了されてもよい。特に、単一処理コアまたはそのオペレーティングシステムが、機能しなくなるとき、他の処理コアまたは他の処理コアで実行されるオペレーティングシステムは、影響を受けず、それによってコア間オペレーティングシステム分離を達成する。
オプションの実施シナリオは、独立して再起動されるとき、処理コアは、リセットされる必要があるだけであり、対応する実行時エントリアドレスを取得するために対応する実行時エントリアドレスポインタを読み出し、他の処理コアのオペレーティングシステムに依存することなく処理コアのメモリセグメントに記憶されたオペレーティングシステムのカーネルイメージを実行するということである。
別のオプションの実施シナリオは、システム実行プロセスにおいて、ある処理コアのために、他の処理コアが、システム要件に従って実行情報を変更してもよく、処理コアは、実行情報が変更されたことを学習した後リセットされ、再起動されるとき、処理コアは、実行情報アドレスでの新しい実行情報を読み出すことによって新しい実行情報を学習し、実行時エントリアドレスポインタでの実行時エントリアドレスを読み出すことによって再指定されるオペレーティングシステムを実行するということである。例えば、システムが起動された直後に、マルチコアプロセッサの処理コアaは、メモリセグメントをすでに占有しており、処理コアaでオペレーティングシステムAを実行し、処理コアbは、スピン状態にあり、処理コアcは、システム実行状態に従って実行情報を変更してもよく、変更された実行情報は、処理コアaおよび処理コアbが、処理コア群Tを構成し、処理コア群Tで同じオペレーティングシステムBを実行すること、処理コア群Tに割り当てられるメモリセグメントのサイズ、およびメモリセグメントの開始アドレスを再指定する。処理コアaが、実行情報が変えられたことを学習した後、オプションとして、処理コアaは、処理コアaで実行されるオペレーティングシステムAを初めにアンロードし、占有されたメモリセグメントを開放し、処理コアaは、再起動される。処理コア群T(処理コアaおよび処理コアb)は、変更された実行情報に従ってオペレーティングシステムBを実行し、新しいメモリセグメントを占有する。
プロセッサ21の処理コアが起動された後、互いに独立しているオペレーティングシステムは、処理コアまたは処理コア群で実行され、それによってメモリセグメント分離およびコア間オペレーティングシステム分離を達成する。マルチコアプロセッサのI/Oリソースおよびコプロセッサが、全体的に共有されることを考慮すると、処理コアが起動された後、プロセッサ21の処理コアから1つの実行時一次コアを選択することが、必要とされる。実行時一次コアは、プロセッサ21の処理コアが起動されるとき、処理コアで集中制御および調停を行うことができる処理コアを指す。実行時一次コアは、I/Oリソースの統合調停制御に関与する。具体的には、実行時一次コアは、プロセッサ21の処理コアによって処理コアからプリセット選出アルゴリズムに従って選出されて決定される。図3で示されるように、プロセッサ21の起動時一次コア111、起動時二次コア112、起動時二次コア211、および起動時二次コア212はすべて、実行状態にあり、実行状態にある4つの処理コアは、クラスタを構成すると仮定される。このクラスタでは、4つの処理コアは、実行時一次コアを選出して決定するために、コア間通信を使用することによって選出アルゴリズム、例えばPAXOSアルゴリズムを実行する。例えば、選出結果は、起動時一次コア111が実行時一次コアとして選出され、他の処理コアが実行時二次コアであるということである。マルチコアネゴシエーションを使用することによってクラスタによって選出される実行時一次コアは、起動時一次コア111に限定されず、任意の処理コアであってもよいことに留意すべきである。この実施形態は単に、起動時一次コアが、選出された実行時一次コアの役割を果たすという例を示すだけであり、本発明は、それに限定されない。選出された実行時一次コアが、機能しなくなるとき、処理コアのクラスタは、新しい実行時一次コアを再び選出する。実行時一次コアの一意性は、選出アルゴリズム、例えばPAXOSアルゴリズムによって確保される。
実行時一次コアは、I/Oリソースの統合調停制御に関与し、すべてのI/Oリソースおよびコプロセッサリソースの使用は、実行時一次コアによって承認される必要がある。
実行時二次コアが、外部デバイス23にアクセスする必要があるとき、実行時二次コアは、リソース使用要求を実行時一次コアに送る。リソース使用要求に従って、実行時一次コアは、システムリソース使用条件およびリソース割り当てポリシーに基づく排他性使用リソース調停の後、リソース要求応答を実行時二次コアに送る。リソース要求応答を受け取った後、実行時二次コアは、I/Oリソースの使用承認を取得し、外部デバイス23へのI/O操作を行うことを始める。
システムリソース使用条件およびリソース割り当てポリシーが、許可するとき、実行時一次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出してもよい。各実行時二次コアは、少なくとも次の2つの方式で外部デバイス23にアクセスするためにI/Oリソースを使用してもよい。
方式1、実行時二次コアは、I/O操作を必要とするデータを共有メモリセグメントに入れ、I/O操作に関連するメモリアドレスを実行時一次コアに通知し、その結果実行時一次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
方式2、実行時二次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
図4aは、本発明の第2の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの実行時二次コアが外部デバイスにアクセスする実施の概略図であり、図4bは、本発明の第2の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するためのシステムの実行時二次コアが外部デバイスにアクセスする別の実施の概略図である。
図4aで示されるように、実行時二次コア402は、I/O操作を必要とするデータを共有メモリセグメントに入れ、I/O操作に関連するメモリアドレスを実行時一次コア401に通知し、その結果実行時一次コア401は、外部デバイス23へのI/O操作を行うために、それ自身の局所的物理ドライ4011を呼び出す。実行時二次コア402が外部デバイス23へのI/O操作を行うことは、エージェントとしての実行時一次コア401によって実施される。実行時二次コア402は、このI/O操作を必要とするデータを共有メモリセグメントにメモリを共有する仕方で入れ、I/O操作に関連するメモリアドレスを実行時一次コア401に通知してもよい。実行時一次コア401は、実行時二次コア402によって送られる通知情報を受け取り、局所的物理ドライ4011を呼び出し、外部デバイス23にアクセスするために、データを外部デバイス23にI/Oリソースを用いて送る。例えば、実行時一次コア401は、外部デバイス23へのI/O操作を行い、アクセスが完了した後、I/Oリソースおよび外部デバイス23の関連するリソースを解放する。
図4bで示されるように、実行時二次コア402は、それ自身の局所的物理ドライ4021を呼び出し、外部デバイス23へのI/O操作を行う。実行時二次コア402が、外部デバイス23にアクセスする必要があるとき、実行時一次コア401は、実行時二次コア402がI/Oリソースを制御および調停の方式で使用することを承認する。実行時二次コア402は、実行時一次コア401によって送られるリソース要求応答に従って直線的方式で割り当てられる外部デバイスにアクセスし、それは、外部デバイス23へのI/O直線的操作を行うこと、および局所的物理ドライ4021を呼び出すことによってI/Oリソース操作を直接行うことを含む。すなわち、各処理コアは、直線的方式で外部デバイス23へのI/O操作を行い、操作が完了した後、I/Oリソースの制御を実行時一次コア401に開放する、すなわち、外部デバイス23へのI/O操作が完了したことを実行時一次コア401に通知する。実行時一次コア401は、リソースを他の処理コアに開放するために、通知に従ってI/Oリソースおよび外部デバイス23の関連するリソースを解放する。
オプションとして、状態同期情報は、実行時一次コアと実行時二次コアとの間で維持される。実行時一次コアが、ある処理コアと連絡を取れないということを見いだすとき、もしこの時に、実行時一次コアが、連絡を取れない処理コアに外部デバイスリソースをすでに割り当てているならば、実行時一次コアは、外部デバイスリソースを取り戻す。本発明の前述の実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムでは、実行時一次コアは、各処理コアが外部デバイスにアクセスするためにI/Oリソースを使用するように、I/Oの統合調停制御に関与する。本発明の前述の実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムはまた、各処理コアが共通機能部にアクセスするためにも使用されることに留意すべきである。共通機能部は、コプロセッサリソースを少なくとも含んでもよい。共有コプロセッサリソースの調停適用の詳細な実施方式については前述の実施形態の説明を参照されたく、詳細は、再び本明細書では述べられない。
本発明の実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するためのシステムでは、実行時一次コアは、I/Oリソースの統合調停制御に関与するように処理コアから選出され、それによってI/Oリソース分離を達成する。各処理コアまたは処理コア群で実行されるオペレーティングシステムが、互いに独立して実行される状況では、マルチコアプロセッサでの統合I/O能力およびコプロセッサスケジュール制御が、達成され、それによってマルチコアプロセッサの障害ドメインが単一ハードディスクにとどまることを確実にする。
第3の実施形態
図5は、本発明の第3の実施形態によるマルチコアアーキテクチャでのリソース分離を支援するための方法のフローチャートである。この実施形態の方法は、マルチコアアーキテクチャでのリソース分離を支援するためのシステムに適用可能であり、ここでシステムは、プロセッサおよびメモリ空間を含む。プロセッサは、複数の処理コアを含み、複数の処理コアは、起動時一次コアおよび少なくとも1つの起動時二次コアを含む。メモリ空間は、共有メモリセグメントおよび処理コアのメモリセグメントを含む。実行情報および処理コアの実行時エントリアドレスは、共有メモリセグメントに記憶される。実行情報は、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびにメモリセグメントのサイズおよび開始アドレスを含む。処理コアの実行時エントリアドレスは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージの記憶アドレスをそれぞれのメモリセグメントで示すために使用される。図5で示されるように、この実施形態での方法は、次のステップを含む。
501、プロセッサは、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶し、処理コアの実行時エントリアドレスを共有メモリセグメントに個別に書き込む。
502、起動されるべき処理コアは、それぞれの実行時エントリアドレスを取得し、それぞれのメモリセグメントに記憶されたオペレーティングシステムのカーネルイメージを実行する。
オプションとして、プロセッサの処理コアは、プリセット選出アルゴリズムに従って処理コアから実行時一次コアを選出して決定し、ここで実行時一次コアは、入力/出力I/Oリソースの調停制御を行うために使用される。
オプションとして、実行時二次コアは、I/O操作を必要とするデータを共有メモリセグメントに入れ、I/O操作に関連するメモリアドレスを実行時一次コアに通知し、その結果実行時一次コアは、外部デバイスへのI/O操作を行うためにそれ自身の局所的物理ドライを呼び出す。
オプションとして、実行時二次コアは、外部デバイスへのI/O操作を行うために、それ自身の局所的物理ドライを呼び出す。
オプションとして、ブートローダーは、起動時一次コアの内部に配置され、プロセッサが、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶することは、ブートローダーが、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに実行情報に従って個別に記憶することを含む。
オプションとして、ブートローダーは、起動時一次コアの内部に配置され、プロセッサが、処理コアが実行する必要があるオペレーティングシステムのカーネルイメージを処理コアのメモリセグメントに個別に記憶することは、ブートローダーが、実行される必要があるオペレーティングシステムのカーネルイメージをプロセッサの少なくとも1つの処理コアに割り当てられるメモリセグメントに実行情報に従って記憶し、オペレーティングシステムのカーネルイメージを実行すること、およびオペレーティングシステムを実行する処理コアが、オペレーティングシステムを実行する必要があるプロセッサの他の処理コアに対応するオペレーティングシステムのカーネルイメージを他の処理コアのメモリセグメントに実行情報に従って個別に記憶することを含む。
オプションとして、少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行し、さらに、処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有する、または処理コアは、相互に異なるオペレーティングシステムのカーネルイメージを実行する。
本発明の実施形態によって提供されるマルチコアアーキテクチャでのリソース分離を支援するための方法では、コア間オペレーティングシステム分離、メモリセグメント分離、およびI/Oリソース分離の方式が、採用され、その結果マルチコアプロセッサの異なる処理コアで実行されるオペレーティングシステムは、互いに影響を及ぼすことなく独立して実行されてもよい。従って、マルチコアプロセッサの高集積度および低総合コストの利点は、完全に使用され、マルチコアプロセッサの障害ドメインが単一ハードディスクにとどまることが、達成され、マルチコアプロセッサは、高信頼性を有する。
当業者は、本方法実施形態のステップのすべてまたは一部が、プログラムが関連ハードウェアに指示することによって実施されてもよいことを理解することができる。プログラムは、コンピュータ可読記憶媒体に記憶されてもよい。プログラムが、実行されるとき、本方法実施形態のステップは、行われる。前述の記憶媒体は、ROM、RAM、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
最後に、前述の実施形態は、本発明を限定すること以外に本発明の技術的解決策を説明することを単に目的としていることに留意すべきである。本発明は、前述の実施形態を参照して詳細に述べられるが、当業者は、本発明の実施形態の技術的解決策の範囲から逸脱することなく、前述の実施形態で述べられた技術的解決策に対して変更をなお行うことができるまたはそれのいくつかのもしくはすべての技術的特徴に対して等価な置換を行うことができることを理解するはずである。
1 オペレーティングシステム
2 オペレーティングシステム
3 オペレーティングシステム
10 システム
11 プロセッサ
12 メモリ空間
20 システム
21 プロセッサ
22 メモリ空間
23 外部デバイス
100 クラウド記憶システム
101 アプリケーションサーバー
102 スイッチ
111 起動時一次コア
112 起動時二次コア
121 メモリセグメント
122 メモリセグメント
123 共有メモリセグメント
123a 実行情報
123b 実行時エントリアドレス
123c 実行時エントリアドレス
211 起動時二次コア
212 起動時二次コア
214 処理コア群
221 メモリセグメント
401 実行時一次コア
402 実行時二次コア
1111 ブートローダー
1231 実行情報アドレス
1232 実行時エントリアドレスポインタ
1233 実行時エントリアドレスポインタ
4011 局所的物理ドライ
4021 局所的物理ドライ

Claims (13)

  1. マルチコアアーキテクチャでのリソース分離を支援するためのシステムにおいて、
    プロセッサであって、前記プロセッサが、複数の処理コアを備え、前記複数の処理コアが、起動時一次コアおよび少なくとも1つの起動時二次コアを備える、プロセッサと、
    メモリ空間であって、前記メモリ空間が、共有メモリセグメントおよび前記処理コアのメモリセグメントを備え、実行情報および前記処理コアの実行時エントリアドレスが、前記共有メモリセグメントに記憶され、前記実行情報が、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびに前記メモリセグメントのサイズおよび開始アドレスを備え、前記処理コアの前記実行時エントリアドレスが、前記処理コアが実行する必要があるオペレーティングシステムのカーネルイメージの記憶アドレスをそれぞれの対応するメモリセグメントで示すために使用される、メモリ空間とを備え、
    前記プロセッサは、前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに個別に記憶し、前記処理コアの前記実行時エントリアドレスを前記共有メモリセグメントに個別に書き込み、起動されるべき処理コアは、それぞれの実行時エントリアドレスを個別に取得し、それぞれのメモリセグメントに記憶された前記オペレーティングシステムの前記カーネルイメージを実行する、マルチコアアーキテクチャでのリソース分離を支援するためのシステム。
  2. 前記プロセッサの前記処理コアは、プリセット選出アルゴリズムに従って前記処理コアから実行時一次コアを選出して決定し、前記実行時一次コアは、入力/出力I/Oリソースの調停制御を行うために使用される、請求項1に記載のマルチコアアーキテクチャでのリソース分離を支援するためのシステム。
  3. 実行時二次コアは、I/O操作を必要とするデータを前記共有メモリセグメントに入れ、前記I/O操作に関連するメモリアドレスを前記実行時一次コアに通知し、前記実行時一次コアは、外部デバイスへの前記I/O操作を行うために前記実行時一次コアのために設けられた局所的物理ドライを呼び出すか、
    または、前記実行時二次コアは、外部デバイスへのI/O操作を行うために、前記実行時二次コアのために設けられた局所的物理ドライを呼び出す、請求項2に記載のマルチコアアーキテクチャでのリソース分離を支援するためのシステム。
  4. ブートローダーは、前記起動時一次コアの内部に配置され、
    前記プロセッサが、前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに個別に記憶することは、
    前記ブートローダーが、前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに前記実行情報に従って個別に記憶することを含むか、
    または、前記ブートローダーは、前記起動時一次コアの内部に配置され、
    前記プロセッサが、前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに個別に記憶することは、
    前記ブートローダーが、実行される必要がある前記オペレーティングシステムの前記カーネルイメージを前記プロセッサの少なくとも1つの処理コアの前記メモリセグメントに前記実行情報に従って記憶し、前記オペレーティングシステムの前記カーネルイメージを実行すること、および前記オペレーティングシステムを実行する前記処理コアが、前記オペレーティングシステムを実行する必要がある前記プロセッサの他の処理コアに対応するオペレーティングシステムのカーネルイメージを前記他の処理コアのメモリセグメントに前記実行情報に従って個別に記憶することを含む、請求項1から3のいずれか一項に記載のマルチコアアーキテクチャでのリソース分離を支援するためのシステム。
  5. 前記処理コアは、相互に異なるオペレーティングシステムのカーネルイメージを実行する、または少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行し、さらに、前記処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有する、請求項1から4のいずれか一項に記載のマルチコアアーキテクチャでのリソース分離を支援するためのシステム。
  6. マルチコアアーキテクチャでのリソース分離を支援するためのシステムに適用可能な、マルチコアアーキテクチャでのリソース分離を支援するための方法であって、前記システムは、プロセッサおよびメモリ空間を備え、前記プロセッサは、複数の処理コアを備え、前記複数の処理コアは、起動時一次コアおよび少なくとも1つの起動時二次コアを備え、前記メモリ空間は、共有メモリセグメントおよび前記処理コアのメモリセグメントを備え、実行情報および前記処理コアの実行時エントリアドレスは、前記共有メモリセグメントに記憶され、前記実行情報は、各処理コアと各オペレーティングシステムとの間のマッピング関係、ならびに前記メモリセグメントのサイズおよび開始アドレスを備え、前記処理コアの前記実行時エントリアドレスは、前記処理コアが実行する必要があるオペレーティングシステムのカーネルイメージの記憶アドレスをそれぞれのメモリセグメントで示すために使用され、
    マルチコアアーキテクチャでのリソース分離を支援するための前記方法は、
    前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに前記プロセッサによって個別に記憶し、前記処理コアの前記実行時エントリアドレスを前記共有メモリセグメントに個別に書き込むステップと、
    それぞれの実行時エントリアドレスを、起動されるべき処理コアによって個別に取得し、それぞれのメモリセグメントに記憶された前記オペレーティングシステムの前記カーネルイメージを実行するステップとを含む、マルチコアアーキテクチャでのリソース分離を支援するための方法。
  7. 前記プロセッサの前記処理コアは、プリセット選出アルゴリズムに従って前記処理コアから実行時一次コアを選出して決定し、前記実行時一次コアは、入力/出力I/Oリソースの調停制御を行うために使用される、請求項6に記載のマルチコアアーキテクチャでのリソース分離を支援するための方法。
  8. 実行時二次コアは、I/O操作を必要とするデータを前記共有メモリセグメントに入れ、前記I/O操作に関連するメモリアドレスを前記実行時一次コアに通知し、その結果前記実行時一次コアは、外部デバイスへの前記I/O操作を行うために前記実行時一次コアのために設けられた局所的物理ドライを呼び出す、請求項7に記載のマルチコアアーキテクチャでのリソース分離を支援するための方法。
  9. 実行時二次コアは、外部デバイスへのI/O操作を行うために、前記実行時二次コアのために設けられた局所的物理ドライを呼び出す、請求項7に記載のマルチコアアーキテクチャでのリソース分離を支援するための方法。
  10. ブートローダーは、前記起動時一次コアの内部に配置され、
    前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに前記プロセッサによって個別に記憶するステップは、
    前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに前記実行情報に従って前記ブートローダーによって個別に記憶するステップを含む、請求項6から9のいずれか一項に記載のマルチコアアーキテクチャでのリソース分離を支援するための方法。
  11. ブートローダーは、前記起動時一次コアの内部に配置され、
    前記処理コアが実行する必要がある前記オペレーティングシステムの前記カーネルイメージを前記処理コアの前記メモリセグメントに前記プロセッサによって個別に記憶するステップは、
    実行される必要がある前記オペレーティングシステムの前記カーネルイメージを前記プロセッサの少なくとも1つの処理コアに割り当てられる前記メモリセグメントに前記実行情報に従って前記ブートローダーによって記憶し、前記オペレーティングシステムの前記カーネルイメージを実行するステップ、および前記オペレーティングシステムを実行する必要がある前記プロセッサの他の処理コアに対応するオペレーティングシステムのカーネルイメージを前記他の処理コアのメモリセグメントに前記実行情報に従って、前記オペレーティングシステムを実行する前記処理コアによって個別に記憶するステップを含む、請求項6から9のいずれか一項に記載のマルチコアアーキテクチャでのリソース分離を支援するための方法。
  12. 前記処理コアは、相互に異なるオペレーティングシステムのカーネルイメージを実行する、または少なくとも2つの処理コアを含む処理コア群は、同じオペレーティングシステムのカーネルイメージを実行し、さらに、前記処理コア群を構成するすべての処理コアは、同じメモリセグメントを共有する、請求項6から11のいずれか一項に記載のマルチコアアーキテクチャでのリソース分離を支援するための方法。
  13. プログラムの記録されたコンピュータ可読記憶媒体であって、
    前記プログラムは、請求項6から12のいずれか一項に記載の方法をマルチコアアーキテクチャのプロセッサを有するコンピュータに実行させる、コンピュータ可読記憶媒体。
JP2015559405A 2013-05-28 2013-05-28 マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム Active JP6089349B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/076329 WO2014190486A1 (zh) 2013-05-28 2013-05-28 支持多核架构下资源隔离的方法及系统

Publications (3)

Publication Number Publication Date
JP2016508647A JP2016508647A (ja) 2016-03-22
JP2016508647A5 JP2016508647A5 (ja) 2016-12-28
JP6089349B2 true JP6089349B2 (ja) 2017-03-08

Family

ID=50126070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015559405A Active JP6089349B2 (ja) 2013-05-28 2013-05-28 マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム

Country Status (5)

Country Link
US (1) US9411646B2 (ja)
EP (1) EP2851807B1 (ja)
JP (1) JP6089349B2 (ja)
CN (1) CN103608792B (ja)
WO (1) WO2014190486A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750510B (zh) * 2013-12-30 2019-04-02 深圳市中兴微电子技术有限公司 一种芯片启动方法及多核处理器芯片
TWI557644B (zh) * 2014-11-12 2016-11-11 鴻海精密工業股份有限公司 雙處理器電子裝置及其快速開機啓動的方法
CN106407131B (zh) * 2016-03-30 2019-06-11 沈阳泰科易科技有限公司 内存访问方法和装置
CN108228333A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种多核系统的核间资源隔离方法
CN108664325B (zh) * 2017-03-30 2019-06-28 视联动力信息技术股份有限公司 处理数据的方法和电子设备
US11240207B2 (en) 2017-08-11 2022-02-01 L3 Technologies, Inc. Network isolation
US11601467B2 (en) 2017-08-24 2023-03-07 L3 Technologies, Inc. Service provider advanced threat protection
US11374906B2 (en) 2017-09-28 2022-06-28 L3 Technologies, Inc. Data exfiltration system and methods
US11336619B2 (en) 2017-09-28 2022-05-17 L3 Technologies, Inc. Host process and memory separation
US11552987B2 (en) 2017-09-28 2023-01-10 L3 Technologies, Inc. Systems and methods for command and control protection
US11223601B2 (en) * 2017-09-28 2022-01-11 L3 Technologies, Inc. Network isolation for collaboration software
US10831626B2 (en) 2017-10-19 2020-11-10 International Business Machines Corporation Method to sort partially good cores for specific operating system usage
US11550898B2 (en) 2017-10-23 2023-01-10 L3 Technologies, Inc. Browser application implementing sandbox based internet isolation
US10824584B1 (en) * 2018-04-03 2020-11-03 Xilinx, Inc. Device with data processing engine array that enables partial reconfiguration
US10642657B2 (en) * 2018-06-27 2020-05-05 The Hong Kong Polytechnic University Client-server architecture for multicore computer system to realize single-core-equivalent view
CN109413497B (zh) * 2018-09-12 2021-04-13 海信视像科技股份有限公司 一种智能电视机及其系统启动方法
KR102558901B1 (ko) 2018-09-19 2023-07-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN111767082A (zh) * 2019-04-02 2020-10-13 华为技术有限公司 计算芯片启动方法、装置和计算机系统
CN110471705A (zh) * 2019-07-15 2019-11-19 江苏泛腾电子科技有限公司 一种定制双系统
CN110704116A (zh) * 2019-09-17 2020-01-17 一汽解放汽车有限公司 基于嵌入式处理器的一机多屏系统的实现方法
MX2022006234A (es) * 2019-11-25 2022-09-02 Arris Entpr Llc Gestion automatizada del ciclo de vida con escalamiento flexible y asignación dinámica de recursos para aplicaciones virtualizadas del plano de datos por cable.
CN111240751B (zh) * 2019-12-27 2024-06-07 深圳市众鸿科技股份有限公司 一种基于车载智能座舱的硬件隔离方法及系统
CN111475213B (zh) * 2020-04-03 2023-04-28 深圳忆联信息系统有限公司 多核结构固态硬盘的功耗降低方法、装置和计算机设备
CN111966410B (zh) * 2020-07-31 2023-11-14 龙芯中科技术股份有限公司 启动处理方法、装置、电子设备及存储介质
US11586508B2 (en) 2020-09-29 2023-02-21 EMC IP Holding Company LLC Systems and methods for backing up volatile storage devices
US11755223B2 (en) * 2020-09-29 2023-09-12 EMC IP Holding Company LLC Systems for modular hybrid storage devices
US11550506B2 (en) 2020-09-29 2023-01-10 EMC IP Holding Company LLC Systems and methods for accessing hybrid storage devices
CN113094111B (zh) * 2021-04-16 2024-01-09 三星(中国)半导体有限公司 设备以及设备的启动方法
CN115221073A (zh) * 2021-04-21 2022-10-21 华为云计算技术有限公司 用于运行云业务实例的物理服务器的内存管理方法和装置
CN113407247A (zh) * 2021-07-16 2021-09-17 上海金脉电子科技有限公司 基于多核处理器的双系统启动方法
TWI841882B (zh) * 2021-11-25 2024-05-11 緯穎科技服務股份有限公司 系統開機方法及其相關電腦系統
CN115495159A (zh) * 2022-11-14 2022-12-20 南京芯驰半导体科技有限公司 芯片多硬件域启动方法及装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2753706B2 (ja) * 1987-12-09 1998-05-20 富士通株式会社 計算機におけるipl方法
JPH06295289A (ja) * 1993-04-09 1994-10-21 Hitachi Ltd 複数計算機におけるブート方法
US5590301A (en) * 1995-10-06 1996-12-31 Bull Hn Information Systems Inc. Address transformation in a cluster computer system
WO2001016750A2 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. High-availability, shared-memory cluster
US6754788B2 (en) * 2001-03-15 2004-06-22 International Business Machines Corporation Apparatus, method and computer program product for privatizing operating system data
US7386711B1 (en) * 2002-01-08 2008-06-10 Cisco Technology, Inc. Method and apparatus for redirecting the boot operations of one or more systems
US7007161B2 (en) * 2002-01-08 2006-02-28 Agile Tv Corporation Fast booting of plex array
US7363484B2 (en) * 2003-09-15 2008-04-22 Hewlett-Packard Development Company, L.P. Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems
US7523157B2 (en) * 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US7581229B2 (en) * 2005-03-11 2009-08-25 Microsoft Corporation Systems and methods for supporting device access from multiple operating systems
US20080046705A1 (en) * 2006-08-15 2008-02-21 Tyan Computer Corporation System and Method for Flexible SMP Configuration
US7908470B1 (en) * 2006-10-31 2011-03-15 Hewlett-Packard Development Company, L.P. Multi-processor computer with plural boot memories
US20080109624A1 (en) * 2006-11-03 2008-05-08 Gilbert Jeffrey D Multiprocessor system with private memory sections
US7836293B1 (en) * 2007-05-07 2010-11-16 Force 10 Networks, Inc Accelerated deserialized boot implementation for a multiprocessor system
US8015383B2 (en) * 2007-06-27 2011-09-06 International Business Machines Corporation System, method and program to manage virtual memory allocated by a virtual machine control program
EP2195741A4 (en) * 2007-10-04 2011-01-05 Openpeak Inc UPDATE AND IMAGE MANAGEMENT OF A FIRMWARE
CN100524286C (zh) * 2007-10-29 2009-08-05 中国科学院计算技术研究所 一种多核处理系统及其管理方法
CN101256512B (zh) * 2008-03-20 2011-06-22 中兴通讯股份有限公司 异构多核体系中主引导核的自动选举方法
JP5328410B2 (ja) * 2009-02-20 2013-10-30 三菱電機株式会社 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム
US20110161644A1 (en) * 2009-02-26 2011-06-30 Tohru Nojiri Information processor
KR20110013867A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
WO2011039887A1 (ja) * 2009-10-01 2011-04-07 三菱電機株式会社 計算機装置
US8838949B2 (en) * 2010-03-22 2014-09-16 Qualcomm Incorporated Direct scatter loading of executable software image from a primary processor to one or more secondary processor in a multi-processor system
US9058191B2 (en) * 2010-03-22 2015-06-16 Qualcomm Incorporated Direct transfer of executable software image to memory allocated by target processor based on transferred image header
CN102541805A (zh) * 2010-12-09 2012-07-04 沈阳高精数控技术有限公司 一种基于共享内存的多处理器通信方法及其实现装置
KR20120092222A (ko) * 2011-02-11 2012-08-21 삼성전자주식회사 보안 부팅 방법 및 보안 부트 이미지 생성 방법
US8954721B2 (en) * 2011-12-08 2015-02-10 International Business Machines Corporation Multi-chip initialization using a parallel firmware boot process
CN103020002B (zh) * 2012-11-27 2015-11-18 中国人民解放军信息工程大学 可重构多处理器系统
CN103092788B (zh) * 2012-12-24 2016-01-27 华为技术有限公司 多核处理器及数据访问方法
JP5756144B2 (ja) * 2013-04-22 2015-07-29 レノボ・シンガポール・プライベート・リミテッド オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ
DE112013007143T5 (de) * 2013-06-07 2016-02-18 Mitsubishi Electric Corporation Computersystem und Steuerungsverfahren

Also Published As

Publication number Publication date
EP2851807B1 (en) 2017-09-20
JP2016508647A (ja) 2016-03-22
EP2851807A4 (en) 2015-04-22
CN103608792A (zh) 2014-02-26
CN103608792B (zh) 2016-03-09
WO2014190486A1 (zh) 2014-12-04
US20150106822A1 (en) 2015-04-16
EP2851807A1 (en) 2015-03-25
US9411646B2 (en) 2016-08-09

Similar Documents

Publication Publication Date Title
JP6089349B2 (ja) マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
JP2016508647A5 (ja)
JP6355114B2 (ja) リソース処理方法、オペレーティング・システム、およびデバイス
US9135126B2 (en) Multi-core re-initialization failure control system
WO2015169145A1 (zh) 内存管理方法和设备
RU2437144C2 (ru) Способ устранения исключительной ситуации в одном из ядер многоядерной системы
US10671426B2 (en) Data processing
WO2014090008A1 (zh) 一种任务处理的方法和虚拟机
US9639486B2 (en) Method of controlling virtualization software on a multicore processor
JP2008293245A (ja) フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
JP2016541072A5 (ja)
US20150052529A1 (en) Efficient task scheduling using a locking mechanism
EP3803663B1 (en) Watchdog timer hierarchy
WO2013101086A1 (en) Boot strap processor assignment for a multi-core processing unit
JP2011227766A (ja) 記憶手段の管理方法、仮想計算機システムおよびプログラム
US20130254446A1 (en) Memory Management Method and Device for Distributed Computer System
CN115421787A (zh) 指令执行方法、装置、设备、系统、程序产品及介质
CN112384893A (zh) 多个热补丁的资源上高效的部署
JP5678347B2 (ja) Itシステムの構成方法、そのコンピュータプログラムおよびitシステム
JPWO2014196083A1 (ja) 計算機システム及び制御方法
JP2014139702A (ja) 仮想計算機システムとその制御方法、プログラム、および集積回路
CN110618794A (zh) 一种SSD固件访问NandFlash的方法和系统
JP2014178889A (ja) 情報処理装置、プログラムおよび記憶領域獲得方法
JP6035993B2 (ja) 情報処理装置、装置管理方法および装置管理プログラム
KR102505996B1 (ko) 가상 머신 프로세서의 원격 처리 장치 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20161109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170119

R150 Certificate of patent or registration of utility model

Ref document number: 6089349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250