JP2008529115A - マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法 - Google Patents
マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法 Download PDFInfo
- Publication number
- JP2008529115A JP2008529115A JP2007551686A JP2007551686A JP2008529115A JP 2008529115 A JP2008529115 A JP 2008529115A JP 2007551686 A JP2007551686 A JP 2007551686A JP 2007551686 A JP2007551686 A JP 2007551686A JP 2008529115 A JP2008529115 A JP 2008529115A
- Authority
- JP
- Japan
- Prior art keywords
- task
- access
- data
- shared
- target resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program 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)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
この方法は、特に、その起動期間のうちの少なくとも1つ(SchA)に、アクセッシングと称される第1のタスク(TA)が、前記ターゲット・リソースへのアクセスを求めるリクエスト(InstrA)に応答して、アクセスを求める前記リクエストの直後に、前記ターゲット・リソースへの連続的と称されるアクセスを、すなわち、アクセッシング・タスクの全起動期間(SchA)にわたって少なくとも1つの第2タスク(TB)による前記ターゲット・リソース(ShMPi)へのアクセスを排除するように、割り当てることを含む。
Description
− アクセッシング・タスクの起動の期間において、ターゲット・リソースへのアクセスを要求する第1命令の実行を中断するステップ、
− 前記メモリ空間に格納されているアクセス・データと称される少なくとも1つのデータを障害マネージャがテストし、前記ターゲット・リソースが前記アクセッシング・タスクを排除する排他的アクセスで他のタスクに現在割り当てられているか否かを示すステップ、
− そのような排他的アクセスが他のタスクに既に割り当てられている場合に、アクセッシング・タスクの実行を一時停止又はその起動期間を終止するステップ、
− それとは反対の場合には、前記ターゲット・リソースに適用される排他的アクセスのアクセッシング・タスクへの割り当てを表す少なくとも1つのアクセス・データを前記メモリ空間に格納するステップ、
− アクセッシング・タスクの起動の期間の最後の命令の実行中又はこの最期の命令の後に、ターゲット・リソースを解放するために、ターゲット・リソースについて得られたその排他的アクセスを表すアクセス・データを改変するステップ、
をも含む。
− スケジューラと称されるソフトウェア・エージェントによるタスクの一時停止の後又は一時停止のときに、前記一時停止されたタスクが排他的アクセスを保持している全ての共有されるリソースを識別して解放するために、一時停止されたタスクに対応する全ての存在データをテストすることを含む終止ステップ、
− 前記タスクの起動の期間を開始させるスケジューラと称されるソフトウェア・エージェントによるタスクの解放の前又は解放のときに、前記起動期間中これらの共有されるリソースの1つに対するこのタスクによるこの第1アクセス・リクエストがそのような中断ステップをトリガーするように、前記タスクによりアクセスされ得る全ての共有されるリソースに前記タスクについて対応する全ての存在データを初期化するステップ、
のうちの1つ以上を含む。
Claims (13)
- 少なくとも2つの演算装置(μProX,μProY)において同時に数個のタスクを実行することのできる複数の計算手段を含む並列コンピュータ・システムにおいて実行される少なくとも1つのコンピュータ・アプリケーション(APP)の中で複数のプログラム・タスク(TA,TB)を順次起動を通して管理するシステム・ソフトウェアで実行されるアクセス管理方法であって、この方法は、前記タスク(TA,TB)によりアクセス可能な少なくとも1つの共有されるターゲット・リソースと称されるリソース(ShMPi)へのアクセスを管理し、
アクセッシング・タスクと称される第1のタスク(TA)が、その起動期間のうちの少なくとも1つ(SchA)に、前記ターゲット・リソースへのアクセスを求めるリクエスト(InstrA)に応答して、アクセスを求める前記リクエストの直後に、前記ターゲット・リソースへの排他的と称されるアクセスを、すなわち、前記アクセッシング・タスクの前記起動期間(SchA)の残余全体の間に少なくとも1つの第2タスク(TB)による前記ターゲット・リソース(ShMPi)へのアクセスを排除するように、受信することを特徴とする方法。 - 前記演算装置の少なくとも1つ(μProX)は、前記並列コンピュータ・システムのメモリ空間(RAM)内に格納されている存在データと称される少なくとも1つのデータ(PriA)の値の関数として、所与のリソースへのアクセスを要求するプログラム命令の実行を中断させ、障害管理ソフトウェア・エージェントへのコールをトリガーすることのできる中断メカニズム(PFIntX)を含み、この方法は、
− 前記アクセッシング・タスク(TA,TB)の起動の期間(SchA,SchB)において、前記ターゲット・リソースへのアクセスを要求(33,37)する第1命令(InstrA,InstrB)の実行を中断(PFIntX,PFIntY)するステップと、
− 前記メモリ空間に格納されているアクセス・データ(KSi)と称される少なくとも1つのデータをフォールト・ハンドラ(PFH)がテストし(34)、前記ターゲット・リソースが前記アクセッシング・タスク(TA,TB)を排除する排他的アクセスで他のタスクに現在割り当てられているか否かを示すステップと、、
− そのような排他的アクセスが他のタスク(TA)に既に割り当てられている場合に、前記アクセッシング・タスク(TB)の実行を一時停止(39)又はその起動期間を終止するステップと、
− そうでない場合には、前記ターゲット・リソース(ShMPi)に適用される排他的アクセスの前記アクセッシング・タスク(TA)への割り当てを表す少なくとも1つのアクセス・データ(KSi)の前記メモリ空間に格納(34)するステップと、
− 前記アクセッシング・タスク(TA)の前記起動の期間(SchA)の最後の命令の実行中又はこの最期の命令の後に、前記ターゲット・リソース(ShMPi)を解放するために、前記ターゲット・リソースについて得られたその排他的アクセスを表す前記アクセス・データ(KSi)を改変(303)するステップと、
を含むことを特徴とする請求項1に記載の方法。 - 前記ターゲット・リソースの前記アクセス・データをテストする前記ステップが前記リソースが、前記アクセッシング・タスクのために自由であることを示すときには、前記テスト・ステップに続く排他的アクセスを格納するステップがこのテスト・ステップと共に前記並列コンピュータ・システムの機能の中の単一の原子的動作(34)を構成することを特徴とする請求項2に記載の方法。
- スケジューラ(SCH)と称されるソフトウェア・エージェントによるタスク(TA)の一時停止(SCHAL)の後又は一時停止のときに、前記タスクが排他的アクセスを保持している全ての共有されるリソースを識別して解放するために、前記一時停止されたタスク(TA)に対応する全ての前記存在データ(PriAないしPrkA)をテスト(302)することを含む終止ステップを更に含むことを特徴とする請求項2又は3の1つに記載の方法。
- 前記タスクの起動の期間(SchA)を開始させるスケジューラ(SCH)と称されるソフトウェア・エージェントによるタスク(TA)の解放(SCHAL)の前又は解放のときに、前記起動期間中これらの共有されるリソースの1つに対するこのタスクによる各第1アクセス・リクエストが中断ステップ(PFIntX)をトリガーするように、前記タスク(TA)によりアクセスされ得る全ての前記共有されるリソース(ShMPiないしShMPk)に前記タスクについて対応する全ての前記存在データを初期化するステップ(33)を更に含むことを特徴とする請求項2ないし4の1つに記載の方法。
- 前記存在データ初期化ステップ(33)は、解放された前記タスク(TA)に対応して、前記タスクが監視されるべきか否か、すなわち前記アクセス管理方法が前記タスクに適用されるべきか否かを示す、管理データ(MmA)と称されるデータの値のテスト(31)の結果に従うことを特徴とする請求項5に記載の方法。
- 少なくとも1つの新しいタスク(ThrB2)が現存するタスク(ThrB1)から少なくとも1つの生成ソフトウェア・エージェント(CLONE,CSUP)によってインスタンス化又は生成され、この生成は、前記現存するタスク(ThrB1)に対応して前記共有されるリソースに関連する存在データ(PriB1)から出発して、前記新しいタスク(ThrB2)に対応する、共有されるリソース(ShMPi)に関連する少なくとも1つの存在データ(PriB2)を生成(22,23)することを含むことを特徴とする請求項1ないし6の1つに記載の方法。
- 前記新しいタスク(ThrB2)に対応する少なくとも1つの存在データ(PriB2)は、前記存在データが関連する前記共有されるリソース(ShMPi)の割り当てに対して行われた改変に応じて、割り当てソフトウェア・エージェント(MAP,MSUP)により更新されることを特徴とする請求項7に記載の方法。
- 少なくとも1つの監視されるタスク(TA)を含む少なくとも1つのアプリケーション(APP)の実行は、前記タスク(TA)が監視されなければならないことを示す少なくとも1つの管理データ(MmA)を記憶するランチャと称されるソフトウェア・エージェント(LCH)により開始させられることを特徴とする請求項6ないし8の1つに記載の方法。
- 前記方法は、ユニックス又はリナックス型のオペレーティング・システム内で実行され、“生成”又は“クローン”又は“マップ”型のシステム・コールの、或いはスケジューラ・ソフトウェア・エージェント(SCH)の、或いはコンテキスト・チェンジ・マネージャの解放及び一時停止ルーチンの、或いはページ・フォールト・ハンドラ・ソフトウェア・エージェント(PFH)の、或いはカーネル・メモリ・ストラクチャ・データ・テーブル(KMStr)の改変又は計装化を含むことを特徴とする請求項1ないし9の1つに記載の方法。
- 少なくとも1つのシステム・コールが、改変されたルーチンの事前ロードされたライブラリを用いるダイナミック・インターポジション手法を通して計装化されることを特徴とする請求項10に記載の方法。
- 前記方法はコンピュータ・ネットワークの少なくとも1つのノードの中で実行されることを特徴とする請求項1ないし11の1つに記載の方法
- 請求項1ないし12の1つに記載の方法を実行するシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0500720 | 2005-01-24 | ||
FR0500720A FR2881239B1 (fr) | 2005-01-24 | 2005-01-24 | Procede de gestion d'acces a des ressources partagees dans un environnement multi-processeurs |
PCT/EP2006/050405 WO2006077261A2 (en) | 2005-01-24 | 2006-01-24 | Method for managing access to shared resources in a multi-processor environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008529115A true JP2008529115A (ja) | 2008-07-31 |
JP4866864B2 JP4866864B2 (ja) | 2012-02-01 |
Family
ID=34954503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007551686A Expired - Fee Related JP4866864B2 (ja) | 2005-01-24 | 2006-01-24 | マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080109812A1 (ja) |
EP (1) | EP1842130A2 (ja) |
JP (1) | JP4866864B2 (ja) |
CN (1) | CN100533393C (ja) |
FR (1) | FR2881239B1 (ja) |
WO (1) | WO2006077261A2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1936498A1 (en) * | 2006-12-21 | 2008-06-25 | International Business Machines Corporation | A method and system to manage memory accesses from multithread programs on multiprocessor systems |
US7856536B2 (en) | 2007-10-05 | 2010-12-21 | International Business Machines Corporation | Providing a process exclusive access to a page including a memory address to which a lock is granted to the process |
US8055855B2 (en) | 2007-10-05 | 2011-11-08 | International Business Machines Corporation | Varying access parameters for processes to access memory addresses in response to detecting a condition related to a pattern of processes access to memory addresses |
US7770064B2 (en) | 2007-10-05 | 2010-08-03 | International Business Machines Corporation | Recovery of application faults in a mirrored application environment |
US7921272B2 (en) | 2007-10-05 | 2011-04-05 | International Business Machines Corporation | Monitoring patterns of processes accessing addresses in a storage device to determine access parameters to apply |
CN101276294B (zh) * | 2008-05-16 | 2010-10-13 | 杭州华三通信技术有限公司 | 异态性数据的并行处理方法和处理装置 |
JP2010113574A (ja) * | 2008-11-07 | 2010-05-20 | Panasonic Corp | マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術 |
US8490181B2 (en) | 2009-04-22 | 2013-07-16 | International Business Machines Corporation | Deterministic serialization of access to shared resource in a multi-processor system for code instructions accessing resources in a non-deterministic order |
US9164812B2 (en) | 2009-06-16 | 2015-10-20 | International Business Machines Corporation | Method and system to manage memory accesses from multithread programs on multiprocessor systems |
KR20110095050A (ko) * | 2010-02-18 | 2011-08-24 | 삼성전자주식회사 | 공유 라이브러리 디버깅 장치 |
US8397217B2 (en) * | 2010-02-22 | 2013-03-12 | International Business Machines Corporation | Integrating templates into tests |
US9069893B2 (en) * | 2011-03-23 | 2015-06-30 | International Business Machines Corporation | Automatic verification of determinism for parallel programs |
CN103049420A (zh) * | 2011-10-17 | 2013-04-17 | 联想(北京)有限公司 | 内存复用方法及便携终端 |
US20130262814A1 (en) * | 2012-03-29 | 2013-10-03 | Advanced Micro Devices, Inc. | Mapping Memory Instructions into a Shared Memory Address Place |
CN103793265B (zh) | 2012-10-30 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 优化进程的处理方法及装置 |
CN104461730B (zh) * | 2013-09-22 | 2017-11-07 | 华为技术有限公司 | 一种虚拟资源分配方法及装置 |
US20180067848A1 (en) * | 2015-07-30 | 2018-03-08 | Hewlett Packard Enterprise Development Lp | Memory access control method and system |
CN105159766B (zh) * | 2015-08-31 | 2018-05-25 | 安一恒通(北京)科技有限公司 | 数据的同步访问方法和同步访问装置 |
CN105843690A (zh) * | 2016-03-14 | 2016-08-10 | 乐视移动智能信息技术(北京)有限公司 | 一种进行调试信息传输的方法及移动终端 |
US10402218B2 (en) * | 2016-08-30 | 2019-09-03 | Intel Corporation | Detecting bus locking conditions and avoiding bus locks |
CN109471734A (zh) * | 2018-10-27 | 2019-03-15 | 哈尔滨工业大学(威海) | 一种新型缓存优化多线程确定性方法 |
JP2020160483A (ja) * | 2019-03-25 | 2020-10-01 | 株式会社東芝 | 評価装置、システムlsi及びシステムlsiのための評価プログラム |
CN114020470B (zh) * | 2021-11-09 | 2024-04-26 | 抖音视界有限公司 | 资源分配方法、装置、可读介质及电子设备 |
CN116049812B (zh) * | 2022-06-28 | 2023-10-20 | 荣耀终端有限公司 | 访问硬件资源的方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232747A (ja) * | 1989-02-03 | 1990-09-14 | Digital Equip Corp <Dec> | マルチプロセッサ・システムにおけるメモリ・アクセス動作の同期化・処理 |
JPH04314151A (ja) * | 1991-04-12 | 1992-11-05 | Nec Corp | 共用データ域破壊防止方式 |
JPH05216614A (ja) * | 1991-07-05 | 1993-08-27 | Sun Microsyst Inc | 共用オフスクリーン・ピクセル記憶装置を付与する方法と装置 |
JPH09293055A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02195453A (ja) * | 1989-01-25 | 1990-08-02 | Toshiba Corp | ファイルアクセス制御方式 |
US5016166A (en) * | 1989-04-12 | 1991-05-14 | Sun Microsystems, Inc. | Method and apparatus for the synchronization of devices |
US5774731A (en) * | 1995-03-22 | 1998-06-30 | Hitachi, Ltd. | Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage |
US7424712B1 (en) * | 1999-04-30 | 2008-09-09 | Sun Microsystems Inc | System and method for controlling co-scheduling of processes of parallel program |
US6587964B1 (en) * | 2000-02-18 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Transparent software emulation as an alternative to hardware bus lock |
FR2820221B1 (fr) * | 2001-02-01 | 2004-08-20 | Cimai Technology | Procede et systeme pour gerer des executables a bibliotheques partagees |
-
2005
- 2005-01-24 FR FR0500720A patent/FR2881239B1/fr not_active Expired - Fee Related
-
2006
- 2006-01-24 WO PCT/EP2006/050405 patent/WO2006077261A2/en active Application Filing
- 2006-01-24 EP EP06707819A patent/EP1842130A2/en not_active Withdrawn
- 2006-01-24 US US11/814,490 patent/US20080109812A1/en not_active Abandoned
- 2006-01-24 CN CNB2006800023651A patent/CN100533393C/zh not_active Expired - Fee Related
- 2006-01-24 JP JP2007551686A patent/JP4866864B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232747A (ja) * | 1989-02-03 | 1990-09-14 | Digital Equip Corp <Dec> | マルチプロセッサ・システムにおけるメモリ・アクセス動作の同期化・処理 |
JPH04314151A (ja) * | 1991-04-12 | 1992-11-05 | Nec Corp | 共用データ域破壊防止方式 |
JPH05216614A (ja) * | 1991-07-05 | 1993-08-27 | Sun Microsyst Inc | 共用オフスクリーン・ピクセル記憶装置を付与する方法と装置 |
JPH09293055A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体 |
Also Published As
Publication number | Publication date |
---|---|
FR2881239B1 (fr) | 2007-03-23 |
JP4866864B2 (ja) | 2012-02-01 |
WO2006077261A3 (en) | 2007-10-25 |
US20080109812A1 (en) | 2008-05-08 |
FR2881239A1 (fr) | 2006-07-28 |
EP1842130A2 (en) | 2007-10-10 |
CN101133396A (zh) | 2008-02-27 |
WO2006077261A2 (en) | 2006-07-27 |
CN100533393C (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4866864B2 (ja) | マルチ・プロセッサ環境において共有されるリソースへのアクセスを管理する方法およびプログラム | |
JP5505914B2 (ja) | 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法 | |
JP5102634B2 (ja) | 決定的イベント・シーケンスのロギングおよび再生のための命令をカウントする方法 | |
US8032899B2 (en) | Providing policy-based operating system services in a hypervisor on a computing system | |
KR101031409B1 (ko) | 동적으로 가상 머신을 생성하기 위한 방법, 제조물품 및 시스템 | |
US9875122B2 (en) | System and method for providing hardware virtualization in a virtual machine environment | |
JP4791461B2 (ja) | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 | |
JP4837660B2 (ja) | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 | |
RU2398267C2 (ru) | Иерархическая виртуализация посредством многоуровневого механизма виртуализации | |
US8490181B2 (en) | Deterministic serialization of access to shared resource in a multi-processor system for code instructions accessing resources in a non-deterministic order | |
US7971205B2 (en) | Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status | |
JP5519909B2 (ja) | アプリケーション・プロセスにおいて内部イベントをリプレイするための非侵入的方法およびこの方法を実装するシステム | |
US20090328058A1 (en) | Protected mode scheduling of operations | |
JP2007538325A (ja) | ランタイムシステムの共有プログラム、方法、装置 | |
KR20040086214A (ko) | 인핸스드 런타임 호스팅 | |
JP2008529114A5 (ja) | ||
JP2010514030A (ja) | マルチプロセッサ・コンピュータ上で実行するプロセスにより生成されるスレッドによってメモリへのアクセスを制御する方法、コンピュータ・プログラムおよびシステム | |
JP7015203B2 (ja) | アプリの実行方法 | |
US20090241111A1 (en) | Recording medium having instruction log acquiring program recorded therein and virtual computer system | |
Agrawal | Fundamental Objects in Kubernetes Clusters | |
CN114691297A (zh) | 一种信息读写方法、电子设备、分布式系统以及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081008 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20110803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110928 |
|
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: 20111101 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20111101 |
|
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: 20111114 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141118 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |