JP2005531860A - マルチプロセッサコンピュータシステム - Google Patents

マルチプロセッサコンピュータシステム Download PDF

Info

Publication number
JP2005531860A
JP2005531860A JP2004519085A JP2004519085A JP2005531860A JP 2005531860 A JP2005531860 A JP 2005531860A JP 2004519085 A JP2004519085 A JP 2004519085A JP 2004519085 A JP2004519085 A JP 2004519085A JP 2005531860 A JP2005531860 A JP 2005531860A
Authority
JP
Japan
Prior art keywords
processor
cache memory
process list
list
computer system
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.)
Pending
Application number
JP2004519085A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2005531860A publication Critical patent/JP2005531860A/ja
Pending legal-status Critical Current

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
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)

Abstract

本発明は、プロセスを並列に実行する少なくとも2つのプロセッサと、それぞれ別個のプロセッサに関連し且つ接続された少なくとも2つのキャッシュメモリユニットと、前記プロセッサと前記キャッシュメモリユニットとを接続する接続バスと、前記接続線に接続され、前記プロセッサが実行するための利用可能なプロセスのプロセスリストを記憶するプロセスリストユニットとを具備してなるマルチプロセッサコンピュータシステムに関する。実行プロセスが利用可能な場合に高速の起動手順を保証する一方で、そのような利用可能な実行プロセスがない場合に節電を可能とするために、本発明によれば、前記プロセッサは、前記プロセスリストへのプロセスのプロセス付加を通知するグローバル起動変数をそれらの関連するキャッシュメモリユニットにロードし、前記プロセッサが実行するプロセスが前記プロセスリストに含まれていない場合には低電力モードに切替わり、前記起動変数が前記プロセスリストへのプロセスの付加を通知する場合には通常電力モードに切替わるように適合化されることが提案される。そのため、本発明によれば、実行されるプロセスの利用可能性を伝達しかつ通知するためのキャッシュ一貫性プロトコルを用いる。

Description

本発明は、
プロセスを並列に実行する少なくとも2つのプロセッサと、
それぞれ別個のプロセッサに関連し且つ接続された少なくとも2つのキャッシュメモリユニットと、
前記プロセッサと前記キャッシュメモリユニットとを接続する接続バスと、
前記接続線に接続され、前記プロセッサが実行するための利用可能なプロセスのプロセスリストを記憶するプロセスリストユニットと、を備えるマルチプロセッサコンピュータシステムに関する。
また、本発明は、対応するプロセッサ、プロセスの実行をスケジューリングする方法、およびこのようなマルチプロセッサコンピュータシステムにおいてプロセッサによりプロセスを実行する方法に関する。さらに、本発明は、前記方法を実施するコンピュータプログラムに関する。
マルチプロセッサコンピュータシステムは複数のプロセスを並列に実行する。各プロセッサは、実行可能な状態のプロセスを繰り返し選択し、プロセスがブロックするまで、または割込みスケジューリングの場合には実行中のプロセスのタイムスライスが終了するまで実行する。プロセッサまたは特にその関連するスケジューラが選択できるプロセスがない場合、プロセッサまたはそのスケジューラは、実行可能なレディープロセス(ready process)がプロセスリストで利用可能となるまで、それぞれスピンループで待機する。レディープロセスは、他のプロセッサで実施されているプロセスが実行するブロック解除操作、例えばVセマフォー操作によって利用可能になる。
電力消費を節約するためには、レディープロセスが利用可能になるまでプロセッサを回転させておくのではなく、プロセッサを低電力またはスリープモードに切替えることが好ましい。しかし、大きな経費をかけずに他のプロセッサがスリープ状態のプロセッサを起動できることが重要である。プロセッサをスリープモードから起動させる標準的な方法は、プロセッサに割り込みを送ることである。この方法では、細粒度の同期を有する多くの並列アプリケーションの場合に経費が大きくなる場合がある。
従って、本発明の目的は、プロセスを高速で効率的に実行する方法を提供し、非常に短い時間で且つ大きな経費をかけることなく、プロセッサを低電力モードと通常電力モードとの間で切替えることができるマルチプロセッサコンピュータシステム、対応するプロセッサ、プロセスの実行をスケジューリングする方法、および前記システムにおいてプロセッサによりプロセスを実行する方法を提供することである。
この目的は、本発明によって請求項1に記載されているマルチプロセッサコンピュータシステムにより達成され、前記プロセッサは、前記プロセスリストへのプロセスのプロセス付加を通知するグローバル起動変数をそれらの関連するキャッシュメモリユニットにロードし、前記プロセッサが実行するプロセスが前記プロセスリストに含まれていない場合には低電力モードに切替わり、前記起動変数が前記プロセスリストへプロセス付加を通知する場合には通常電力モードに切替わるように適合化されている。
本発明は、キャッシュ一貫性プロトコルを用いてスリープ状態のプロセッサを起動するという考えに基づいている。キャッシュ一貫性プロトコルは割り込みよりもはるかに速く伝達するように設計されているため、非常に効率的に且つ高速でスリープ状態のプロセッサを起動ことが可能となる。本発明によれば、グローバル起動変数が導入され、これはプロセッサのキャッシュメモリユニットによって保持される。前記起動変数は、プロセスリストへプロセスが付加されたか否かを通知する。プロセッサがプロセスリストにプロセスを付加すると、これは直ちにキャッシュ一貫性プロトコルを介してプロセッサのキャッシュメモリユニットに通知されて、プロセッサが低電力モードから通常電力モードに切替わる。
本発明の好ましい実施の態様は従属請求項に記載されている。このようなマルチプロセッサコンピュータシステムにおいて使用されるプロセッサは請求項6に記載されている。プロセスの実行をスケジューリングする方法は請求項7に記載されている。プロセッサによりプロセスを実行する方法は請求項8に記載されている。前記方法を実行するコンピュータプログラムは請求項9に記載されている。尚、これらの装置および方法、並びにコンピュータプログラムを、請求項1の従属請求項に記載されているものと同様のまたは同一の方法でさらに発展させることができる点に留意されたい。
請求項2に記載されている第1の好ましい実施の態様によれば、プロセッサの通常電力モードへの切替えは、プロセスリストにプロセスを付加することに起因する起動変数の変化によって行われる。従って、プロセスリストにプロセスを付加するプロセッサは、例えば、請求項3の好ましい実施の態様に記載されているような記憶コマンドを実行し、前記変数に何らかの新たな値を書き込むことによって起動変数を変化させるだけでよい。これは前記起動変数を保持しているすべてのキャッシュメモリユニットに直ちに通知され、これにより、関連するプロセッサが低電力モードから通常電力モードに切替わる。
本発明の他の側面によれば、プロセッサは、前記プロセスリストにプロセスを付加する際に、他のプロセッサに対してそれらの関連するキャッシュメモリユニットから起動変数を消去する要求を送るように適合化されている。このようにしても、他のプロセッサには、プロセスリストに新たなプロセスが付加されたことが直ちに通告されるので、プロセスリストからプロセスを獲得して実行することを試みる通常電力モードに切替わる。
無効化に基づくキャッシュ一貫性プロトコルが、本発明によるマルチプロセッサコンピュータシステムにおいて実施されることが好ましい。即ち、メモリユニットからの読み出しコマンドでは、他のキャッシュメモリユニットがメモリユニットよりも最新バージョンのデータを含んでいるか否かについて確認される。含んでいる場合には、より最新バージョンのデータを保持しているプロセッサはそれをメモリに供給する。キャッシュメモリユニットへのデータの書き込みコマンドでは、他のプロセッサが同一のデータ項目をキャッシュしているか否かについて確認される。キャッシュしている場合は、他のプロセッサはそのデータ項目を無効とし、即ちそれらのキャッシュメモリユニットからそのデータ項目を除去する。キャッシュ一貫性プロトコル、特に無効化に基づくキャッシュ一貫性プロトコルのさらなる詳細に関しては、John L. Hennessy and David A. Patterson, ”Computer architecture, a quantitative approach”, Morgan Kaufman Publishers, second edition、特に第8.3章を参照されたい。
図面を参照して本発明をより詳細に説明する。
図1は、既知のマルチプロセッサコンピュータシステムのブロック図を示している。前記コンピュータシステムはいくつかの、本例においては4つのプロセッサ1、いわゆる中央演算処理装置(CPU)を備え、各プロセッサにはキャッシュメモリユニット2が関連し且つ接続されている。さらに、前記プロセッサ1によって実行されるプロセスのリストを含む共有メモリユニット3、例えばランダムアクセスメモリユニットが設けられている。プロセッサ1はキャッシュメモリユニット2を介してバス等の相互接続線4に相互接続され、この相互接続線4には、プロセスリストユニットをも含むであろうと考えられるメモリユニット3も接続されている。
このようなマルチプロセッサコンピュータシステムにおいてプロセスの実行をスケジューリングする既知の方法が、図2にフローチャートとして示されている。レディープロセス、即ちプロセッサによる実行の準備ができているプロセスを選択することは、「プロセスリスト」と呼ばれるレディープロセスのリストにプロセスが現れるまで待機することからなる(ステップS10)。複数のプロセッサがこれを待機することができ、プロセスリストは、プロセッサがリストからレディープロセスを取り出す前に他のプロセッサに取られてしまう可能性があるので、ロックによって保護される(S11)。レディープロセスはステップS12においてリストから取り出され、その後、プロセスを獲得して実行することを試みる他のプロセッサがアクセスするためにプロセスリストは再びロック解除される(S13)。プロセッサは、プロセスリストから実行するプロセスを獲得することに成功した場合(S14)、このプロセスを実行し、成功しなかった場合には初めに戻って、プロセスリストからプロセスを獲得することを試みる状態に設定される。従って、現在プロセスを実行していないプロセッサは、待機状態またはスピンループの一種として、プロセスリストが空になっているか否かを連続的に確認する(S10)。
図3は、フローチャートの形態の本発明によるプロセスの実行をスケジューリングする方法の実施の形態を示している。本発明によれば、プロセスリストへの付加を通知するために用いられるグローバル変数「起動」が導入される。初めは、プロセッサは通常電力モードにあり、レディープロセスを探索していると仮定する。第1のステップ20において、プロセッサは、通常ロード命令を用いて起動変数を含むキャッシュラインがまだ取り入れられていない場合には、それをそのキャッシュメモリにロードする。次に、プロセッサは、プロセスリストが空であるか否かを確認する(S21)。プロセッサは、ステップ21においてプロセスリストにレディープロセスを発見した場合、ステップ22においてまずプロセスリストをロックして、他のプロセッサが前記プロセスリストにアクセスすることを防止する。次に、プロセッサはプロセスリストからプロセスを獲得し(S23)、その後プロセスリストは再びロック解除される(S24)。
ステップ23が成功した場合、プロセッサは取り出したプロセスを実行する(S25)。そのプロセスの内容は復元され、プロセスは実行を継続する。
ステップ23が成功しなかった場合、いわゆるsleep−while−cached(swc)命令が起動変数をパラメータとして実行される(S27)。即ち、プロセッサはその通常電力モードからその低電力モード、即ちある種のスリープモードへ切替わり、起動変数がその関連するキャッシュメモリユニットにある限り、より正確には、そのキャッシュメモリユニットのキャッシュラインが起動変数を保持している限りその状態が維持される。ステップ21で肯定的な結果を出した場合、即ちプロセスリストが空であることが判明した場合、同一のswc命令が実行される(S26)。
図4に示されているように、他のプロセッサがプロセスリストにプロセスを添加して実行する場合、まずプロセスリストをロックし(S30)、その後で実際にプロセスを添加する(S31)。プロセスリストを再びロック解除した後(S32)、起動変数に対して記憶コマンドが実行され、即ち起動変数に新たな値が割り当てられる(S33)。これによって、プロセスリストに新たなプロセスが付加されたことが低電力モードにあるすべてのプロセッサに直ちに通知され、このようなプロセッサのキャッシュメモリユニットにおいてはキャッシュラインが無効にされ、その結果プロセッサは低電力モードから通常電力モードに戻るように切替えられ、再度ステップ20を開始する(図3を参照)。
この方法によって、プロセスを実行していないプロセッサは通常電力モードにおいてスピンループで待機せず、低電力モードに切替えられるので、多くの電力を節約することができる。しかし、本発明によれば、スリープ状態のプロセッサのキャッシュメモリユニットに保持されている前記起動変数を用いてプロセスリストにプロセスが付加されたことを通知するためのキャッシュ一貫性プロトコルを使用するので、起動手順は非常に高速になり、特に割り込みを用いる場合よりも高速となる。
本発明が実施されるマルチプロセッサコンピュータシステムのブロック図が図5に示されている。本発明によれば、プロセッサ1とキャッシュメモリユニット2との間に、通常のデータ経路6の他にさらなる通信線7、8が付加されている。通信線7を用いてプロセッサ1からキャッシュメモリユニット2へ起動アドレスが伝達され、即ちswc命令によって指定されたアドレスがキャッシュメモリユニット2へ送られる。指定されたアドレスがキャッシュメモリユニットから消えた際に、通信線8を用いてキャッシュメモリユニット2からプロセッサ1へ起動信号を伝達して、プロセッサ1を低電力モードから通常電力モードへ切替える。
図4のステップ33においてプロセッサが通常記憶命令である起動変数に対する任意の値を記憶している場合、以下のことが発生する。他のプロセッサがレディープロセスを探索している場合、そのプロセッサはそのキャッシュメモリユニット内に起動変数を有し、即ちキャッシュには起動変数が記憶されているメモリブロックに対応するキャッシュラインが含まれている。他のプロセッサが起動変数をキャッシュしている場合、起動変数に対する任意の値を記憶しようとしているプロセッサは、キャッシュ一貫性プロトコルに防止されるので、このような記憶命令によって起動変数を変更することはできない。記憶動作を行うために、そのプロセッサは他のすべてのプロセッサに対して、それらのキャッシュメモリユニットから起動変数を消去することを要求するブロードキャストを送る。特にMSI、MESIまたはMOESI型のキャッシュ一貫性プロトコルに関しては、プロセッサは共有または無効状態から変更状態へ遷移する。これによって、swc命令の後にスリープ状態であったプロセッサは起動し、通常電力モードに切替わる。その後これらのプロセッサはプロセスリストを確認し、それらのうちのいずれかが付加されたばかりのプロセスを獲得することに成功する。他のプロセッサはswc命令に従って低電力モードに戻るように切替わる。
尚、プロセッサはプロセスリストからプロセスを獲得することを試みる前に起動変数をロードする点に留意されたい。これを逆の順番で行うと、プロセスリストにレディープロセスがあっても、プロセッサが低電力モードに切替わるという状況が起こる可能性がある。
プロセススケジューラにおいて電力を節約することの他に、上述のような本発明によるswc命令は、プロセッサ間での高速同期化が必要とされる他の目的でも有用である可能性がある。多くのプロセッサが低電力スリープモードに切替わる命令を有しているが、非常に高速で効率的な解決策を提供する本発明によって提案されたようなキャッシュ一貫性トランザクションによって起動し且つ通常電力モードに切替わることができる既知のプロセッサおよびマルチプロセッサコンピュータシステムはない。
既知のマルチプロセッサコンピュータシステムのブロック図を示している。 プロセスの実行をスケジューリングする既知の方法のフローチャートを示している。 本発明によるプロセスの実行をスケジューリングする方法のフローチャートを示している。 本発明によるプロセスリストにプロセスを付加する方法のフローチャートを示している。 本発明によるマルチプロセッサコンピュータシステムのブロック図を示している。

Claims (9)

  1. マルチプロセッサコンピュータシステムであって、
    プロセスを並列に実行する少なくとも2つのプロセッサと、
    それぞれ別個のプロセッサに関連し且つ接続された少なくとも2つのキャッシュメモリユニットと、
    前記プロセッサと前記キャッシュメモリユニットとを接続する接続バスと、
    前記接続線に接続され、前記プロセッサが実行するための利用可能なプロセスのプロセスリストを記憶するプロセスリストユニットと、を備え、
    前記プロセッサは、前記プロセスリストへのプロセスのプロセス付加を通知するグローバル起動変数をそれらの関連するキャッシュメモリユニットにロードし、前記プロセッサが実行するプロセスが前記プロセスリストに含まれていない場合には低電力モードに切替わり、前記起動変数が前記プロセスリストへプロセス付加を通知する場合には通常電力モードに切替わるように適合化されている、マルチプロセッサコンピュータシステム。
  2. 関連するキャッシュメモリユニットに保持されている起動変数が前記プロセスリストへのプロセスの付加に起因して変化すると、前記プロセッサは通常電力モードに切替わるように適合化されている、請求項1に記載のマルチプロセッサコンピュータシステム。
  3. 前記プロセッサは、前記プロセスリストへプロセスを付加する際に、前記起動変数に対する記憶コマンドを実行するように適合化されている、請求項1に記載のマルチプロセッサコンピュータシステム。
  4. 前記プロセッサは、前記プロセスリストへプロセスを付加する際に、他のプロセッサに対してそれらの関連するキャッシュメモリユニットから前記起動変数を消去する要求を送るように適合化されている、請求項1に記載のマルチプロセッサコンピュータシステム。
  5. 前記コンピュータシステムは、無効化に基づくキャッシュ一貫性プロトコルを実施するように適合化されている、請求項1に記載のマルチプロセッサコンピュータシステム。
  6. プロセスを並列に実行する少なくとも2つのプロセッサと、
    それぞれ別個のプロセッサに関連し且つ接続された少なくとも2つのキャッシュメモリユニットと、
    前記プロセッサと前記キャッシュメモリユニットとを接続する接続バスと、
    前記接続線に接続され、前記プロセッサが実行するための利用可能なプロセスのプロセスリストを記憶するプロセスリストユニットと、を備えるマルチプロセッサコンピュータシステムにおいて使用されるプロセッサであって、
    前記プロセスリストにプロセスが付加されるプロセス付加を通知するグローバル起動変数をその関連するキャッシュメモリユニットにロードし、自身が実行するプロセスが前記プロセスリストに含まれていない場合には低電力モードに切替わり、前記起動変数が前記プロセスリストへプロセスの付加を通知する場合には通常電力モードに切替わるように適合化されている、プロセッサ。
  7. プロセスを並列に実行する少なくとも2つのプロセッサと、
    それぞれ別個のプロセッサに関連し且つ接続された少なくとも2つのキャッシュメモリユニットと、
    前記プロセッサと前記キャッシュメモリユニットとを接続する接続バスと、
    前記接続線に接続され、前記プロセッサが実行するための利用可能なプロセスのプロセスリストを記憶するプロセスリストユニットと、を備えるマルチプロセッサコンピュータシステムにおいてプロセスの実行をスケジューリングする方法であって、
    プロセッサによって前記プロセスリストへのプロセスのプロセス付加を通知するグローバル起動変数をその関連するキャッシュメモリユニットにロードするステップと、
    前記プロセスリストにプロセスを付加するステップと、
    前記プロセスリストへのプロセスの前記付加を通知する起動変数を変化させ、これにより前記プロセッサを低電力モードから通常電力モードへ切替えさせるステップと、
    を備える、方法。
  8. プロセスを並列に実行する少なくとも2つのプロセッサと、
    それぞれ別個のプロセッサに関連し且つ接続された少なくとも2つのキャッシュメモリユニットと、
    前記プロセッサと前記キャッシュメモリユニットとを接続する接続バスと、
    前記接続線に接続され、前記プロセッサが実行するための利用可能なプロセスのプロセスリストを記憶するプロセスリストユニットと、を備えるマルチプロセッサコンピュータシステムにおいてプロセッサによりプロセスを実行する方法であって、
    前記プロセスリストへのプロセスのプロセス付加を通知するグローバル起動変数を、関連するキャッシュメモリユニットにロードするステップと、
    前記プロセスリストが前記プロセッサによって実行されるプロセスを含んでいない場合に低電力モードに切替えるステップと、
    前記起動変数が前記プロセスリストへのプロセスの付加を通知する場合に通常電力モードに切替えるステップと、
    前記プロセスリストへアクセスし、前記付加されたプロセスを獲得して実行するステップと、
    を備える、方法。
  9. 請求項7または8に記載された方法をコンピュータによって実行する場合、前記コンピュータに前記方法のステップを実行させるコンピュータプログラムコード手段を備えるコンピュータプログラム。
JP2004519085A 2002-07-03 2003-06-23 マルチプロセッサコンピュータシステム Pending JP2005531860A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02077637 2002-07-03
PCT/IB2003/002849 WO2004006097A2 (en) 2002-07-03 2003-06-23 Multi-processor computer system

Publications (1)

Publication Number Publication Date
JP2005531860A true JP2005531860A (ja) 2005-10-20

Family

ID=30011147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004519085A Pending JP2005531860A (ja) 2002-07-03 2003-06-23 マルチプロセッサコンピュータシステム

Country Status (6)

Country Link
US (1) US7577823B2 (ja)
EP (1) EP1520228A2 (ja)
JP (1) JP2005531860A (ja)
CN (1) CN1666180B (ja)
AU (1) AU2003281389A1 (ja)
WO (1) WO2004006097A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014238683A (ja) * 2013-06-07 2014-12-18 日本電気株式会社 処理割り当て装置、処理割り当て方法及び処理割り当てプログラム
US10802712B2 (en) 2015-10-13 2020-10-13 Axell Corporation Information processing apparatus and method of processing information

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3813930B2 (ja) 2002-01-09 2006-08-23 松下電器産業株式会社 プロセッサ及びプログラム実行方法
JP4750350B2 (ja) 2003-03-13 2011-08-17 パナソニック株式会社 タスク切換装置、方法及びプログラム
GB2414575B (en) * 2004-05-26 2007-06-06 Advanced Risc Mach Ltd Management of polling loops in a data processing apparatus
GB2414573B (en) 2004-05-26 2007-08-08 Advanced Risc Mach Ltd Control of access to a shared resource in a data processing apparatus
US7447927B2 (en) * 2005-08-23 2008-11-04 Apple Inc. Method and apparatus for waking up a sleeping system
CN100377041C (zh) * 2005-12-02 2008-03-26 威盛电子股份有限公司 多处理器系统的电源管理装置及方法
US9015501B2 (en) 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US8806228B2 (en) 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
CN100530107C (zh) * 2007-03-02 2009-08-19 中国科学院声学研究所 基于io事件通知机制的单进程内容服务器装置及方法
JP2008276331A (ja) * 2007-04-25 2008-11-13 Toshiba Corp マルチプロセッサの制御装置及び方法
KR20090032415A (ko) * 2007-09-28 2009-04-01 삼성전자주식회사 프로세서 웨이크 업 기능을 갖는 멀티포트 반도체 메모리장치 및 이를 채용한 멀티 프로세서 시스템 그리고 멀티프로세서 시스템에서의 프로세서 웨이크 업 방법
US8452947B2 (en) * 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8516484B2 (en) 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8386822B2 (en) * 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8145849B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8312458B2 (en) 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8171476B2 (en) 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8612977B2 (en) * 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8250396B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8316218B2 (en) * 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8015379B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Wake-and-go mechanism with exclusive system bus response
US8225120B2 (en) 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8880853B2 (en) 2008-02-01 2014-11-04 International Business Machines Corporation CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8732683B2 (en) 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8640141B2 (en) * 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8788795B2 (en) * 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8082315B2 (en) * 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US8230201B2 (en) * 2009-04-16 2012-07-24 International Business Machines Corporation Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US8886919B2 (en) 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8145723B2 (en) * 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
US9501705B2 (en) * 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
CN102385435A (zh) * 2010-08-27 2012-03-21 宏达国际电子股份有限公司 动态调整电子装置运作模式的方法及电子装置
US9298627B2 (en) * 2013-01-14 2016-03-29 Marvell World Trade Ltd. Shared op-symmetric update-sensitive variables
KR102110812B1 (ko) * 2013-05-30 2020-05-14 삼성전자 주식회사 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
US20160170474A1 (en) * 2013-08-02 2016-06-16 Nec Corporation Power-saving control system, control device, control method, and control program for server equipped with non-volatile memory
DE102016106939B4 (de) 2015-04-17 2024-05-02 Suunto Oy Eingebettetes Rechengerät
US10990159B2 (en) * 2017-04-25 2021-04-27 Apple Inc. Architected state retention for a frequent operating state switching processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4747041A (en) * 1983-06-27 1988-05-24 Unisys Corporation Automatic power control system which automatically activates and deactivates power to selected peripheral devices based upon system requirement
US5182810A (en) * 1989-05-31 1993-01-26 Dallas Semiconductor Corp. Isolation gates to permit selective power-downs within a closely-coupled multi-chip system
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
EP0942368A2 (en) * 1998-03-10 1999-09-15 Lucent Technologies Inc. Context controller having automatic entry to power saving mode and processor employing the same
US6158000A (en) * 1998-09-18 2000-12-05 Compaq Computer Corporation Shared memory initialization method for system having multiple processor capability

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014238683A (ja) * 2013-06-07 2014-12-18 日本電気株式会社 処理割り当て装置、処理割り当て方法及び処理割り当てプログラム
US10802712B2 (en) 2015-10-13 2020-10-13 Axell Corporation Information processing apparatus and method of processing information

Also Published As

Publication number Publication date
EP1520228A2 (en) 2005-04-06
AU2003281389A1 (en) 2004-01-23
CN1666180B (zh) 2010-05-26
WO2004006097A3 (en) 2004-12-02
AU2003281389A8 (en) 2004-01-23
US7577823B2 (en) 2009-08-18
WO2004006097A2 (en) 2004-01-15
CN1666180A (zh) 2005-09-07
US20060069738A1 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
JP2005531860A (ja) マルチプロセッサコンピュータシステム
CN101529383B (zh) 任务处理装置
CN108920267B (zh) 任务处理装置
KR100829638B1 (ko) 슬리프-웨이크 업 메커니즘을 이용한 비교 및 교환 동작
CN101833475B (zh) 用于执行指令原子块的方法和装置
US8463911B2 (en) Exclusive control method of resource and exclusive controller of resource
US20040002974A1 (en) Thread based lock manager
US20100100706A1 (en) Multiple processor system, system structuring method in multiple processor system and program thereof
KR20100011891A (ko) 그레이스 주기의 저 전력 검출을 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체
US20090144519A1 (en) Multithreaded Processor with Lock Indicator
JP2007122741A (ja) 非対称型異種マルチプロセッサ環境でアトミック更新プリミティブを提供するための方法
JPH05324471A (ja) キャッシュ制御装置
JP2007219581A (ja) メモリコントローラおよびこれを搭載する電子機器
WO2011096163A1 (ja) 情報処理システム、排他制御方法および排他制御用プログラム
CN106068497B (zh) 事务存储器支持
US7353342B1 (en) Shared lease instruction support for transient blocking synchronization
CN102436393B (zh) 任务处理装置
JPWO2009122694A1 (ja) キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム
US9390023B2 (en) Method and apparatus for conditional storing of data using a compare-and-swap based approach
WO1999032976A1 (en) Risc processor with concurrent snooping and instruction execution
US9251074B2 (en) Enabling hardware transactional memory to work more efficiently with readers that can tolerate stale data
US20150370709A1 (en) Reduction of evictions in cache memory management directories
JP2010113574A (ja) マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術
CN111723250A (zh) 一种基于引用计数的链表管理方法
JP2010044699A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060621

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090324