JP5151559B2 - プログラム実行システム - Google Patents
プログラム実行システム Download PDFInfo
- Publication number
- JP5151559B2 JP5151559B2 JP2008050953A JP2008050953A JP5151559B2 JP 5151559 B2 JP5151559 B2 JP 5151559B2 JP 2008050953 A JP2008050953 A JP 2008050953A JP 2008050953 A JP2008050953 A JP 2008050953A JP 5151559 B2 JP5151559 B2 JP 5151559B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- inter
- shared
- memory
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Description
プロセッサ間共有オブジェクト操作機能73は、専用メモリ又はプロセッサ間共有メモリ31から読み出すためのリード73aと、専用メモリ又はプロセッサ間共有メモリ31へと書き込むためのライト73bと、プロセッサ間共有オブジェクトを登録するための登録73cと、登録したプロセッサ間共有オブジェクトを削除するための削除73dと、図5に示すプロセッサ間共有オブジェクト名テーブル35を用いてプロセッサ間共有オブジェクトとその名前とを対応させるオブジェクト対応機能73fとを有する。
(付記1)
複数のプロセッサを含み、前記複数のプロセッサ上で動作可能な中間コードを実行するプログラム実行環境を備えたプログラム実行システムであって、
前記複数のプロセッサ夫々に専用の複数のプロセッサ専用メモリと、
前記複数のプロセッサ間で共有される前記中間コードによって操作される共有オブジェクトを格納するプロセッサ間共有メモリとを備え、
前記複数のプロセッサの各々は、
前記共有オブジェクトを指定する名前と前記プロセッサ間共有メモリ内の該共有オブジェクトの実体とを対応させることによって、前記複数のプロセッサ専用メモリの各々と該プロセッサ間共有メモリ間にて該共有オブジェクトを読み出し及び書き込みする読出書込機能を実行するようにしたプログラム実行システム。
(付記2)
前記プロセッサ間共有メモリは、前記共有オブジェクトの名前と該共有オブジェクトの実体とを対応させた対応テーブルを備え、
前記複数のプロセッサの各々は、前記共有オブジェクトの名前と該共有オブジェクトの実体との対応を前記対応テーブルに書き込むことにより該共有オブジェクトを登録し、また該登録された共有オブジェクトを該対応テーブルから削除することにより該共有オブジェクトを削除する登録削除機能を実行するようにした付記1記載のプログラム実行システム。
(付記3)
前記複数のプロセッサの各々は、
前記プロセッサ間共有メモリのメモリ領域の割り当て及び開放を管理する共有メモリ管理機能と、
前記複数のプロセッサ間の前記プロセッサ間共有メモリへのアクセスに対してセマフォ又はロック機能を用いて排他制御を行うプロセッサ間排他制御機能と、
前記プロセッサ間共有メモリのヒープ領域に前記共有オブジェクトを格納するための共有メモリヒープ機能とを実行するようにした付記1又は2記載のプログラム実行システム。
(付記4)
前記プロセッサ間共有メモリのメモリ領域と前記複数のプロセッサ専用メモリの各々のメモリ領域との間のダイレクトメモリアクセスによるデータ転送を制御するDMAコントローラを更に備え、
前記複数のプロセッサの各々において、前記DMAコントローラを用いて前記高速データ転送を行うルーチンと該ルーチンを前記プログラム実行環境から呼び出すためのインターフェイスを備えるようにした付記1乃至3のいずれか一項記載のプログラム実行システム。
(付記5)
前記プロセッサ間排他制御機能を有するハードウェアを備え、
前記複数のプロセッサの各々において、前記ハードウェアのプロセッサ間排他制御機能を用いて排他制御を行うルーチンと該ルーチンを前記プログラム実行環境から呼び出すためのインターフェイスを備えるようにした付記1乃至3のいずれか一項記載のプログラム実行システム。
(付記6)
複数の異種プロセッサ毎に専用の専用メモリを備えたヘテロジニアスマルチプロセッサであって、
前記複数の異種プロセッサ間で共有される該各異種プロセッサ上で動作可能な中間コードによって操作される共有オブジェクトを格納するプロセッサ間共有メモリを備え、
前記各専用メモリは、
前記共有オブジェクトを指定する名前と前記プロセッサ間共有メモリ内の該共有オブジェクトの実体とを対応させることによって、前記各プロセッサ専用メモリと該プロセッサ間共有メモリ間にて該共有オブジェクトを読み出し及び書き込みする読出書込機能を前記異種プロセッサに実行させるプログラムを格納するようにしたヘテロジニアスマルチプロセッサ。
(付記7)
前記各専用メモリは、
前記共有オブジェクトの名前と該共有オブジェクトの実体との対応を前記プロセッサ間共有メモリが保持する対応テーブルに書き込むことにより該共有オブジェクトを登録し、また該登録された共有オブジェクトを該対応テーブルから削除することにより該共有オブジェクトを削除する登録削除機能を前記異種プロセッサに実行させるプログラムを格納するようにした付記6記載のヘテロジニアスマルチプロセッサ。
(付記8)
前記各専用メモリは、
前記プロセッサ間共有メモリのメモリ領域の割り当て及び開放を管理する共有メモリ管理機能と、
前記複数のプロセッサ間の前記プロセッサ間共有メモリへのアクセスに対してセマフォ又はロック機能を用いて排他制御を行うプロセッサ間排他制御機能と、
前記プロセッサ間共有メモリのヒープ領域に前記共有オブジェクトを格納するための共有メモリヒープ機能とを前記異種プロセッサに実行させるプログラムを格納するようにした付記6又は7記載のヘテロジニアスマルチプロセッサ。
22 プロセッサA専用LAN−IF
23 プロセッサA専用メモリ
25 プロセッサB
26 プロセッサB専用LAN−IF
27 プロセッサB専用メモリ
31 プロセッサ間共有メモリ
32 プロセッサ間共有メモリ領域
33 プロセッサ間ヒープ領域
34 プロセッサ間排他制御用領域
34a プロセッサ間セマフォ
34b プロセッサ間ロック
35 プロセッサ間共有オブジェクト名テーブル
36 プロセッサ間共有メモリ管理機能
36a メモリ割り当て/開放部
37 プロセッサ間排他制御機能
54 Java(登録商標)VM
54a クラスローダー
54b クラス・キャッシュ機能
54c ヒープメモリ管理機能
54d ガーベジ・コレクション(GC)機能
61 実行時データ領域
62 PCレジスタ
63 メソッド領域
64 ヒープ領域
65 Java(登録商標)VMスタック
652 フレーム
653 ローカル変数
654 オペランドスタック
66 実行時定数プール
67 Nativeメソッドスタック
70 プロセッサ間中間コード実行環境
71 プロセッサ間共有メモリ・クラス
72 プロセッサ間共有中間コードのヒープメモリ
72a ヒープメモリ操作・管理機能
72b プロセッサ間共有ガーベジ・コレクション(GC)機能
73 プロセッサ間共有オブジェクト操作機能
73a リード
73b ライト
73c 登録
73d 削除
73f オブジェクト対応機能
74 プロセッサ間共有クラスローダー
75 プロセッサ間共有クラス・キャッシュ機能
79 プロセッサ間データ転送機能
79a 引数/戻り値のデータ転送部
79b 高速データ転送部
100 システム
231 プロセッサA用メモリ領域
232 アプリケーションプログラム
233 アプリケーションデータ
234 プロセッサA用実行環境
235 プロセッサA用JITコンパイラ
236 プロセッサ間共有メモリ用ライブラリ
271 プロセッサB用メモリ用域
272 アプリケーションプログラム
273 アプリケーションデータ
274 プロセッサB用実行環境
275 プロセッサB用JITコンパイラ
276 プロセッサ間共有メモリ用ライブラリ
Claims (8)
- 複数のプロセッサを含み、前記複数のプロセッサ上で動作可能な中間コードを実行するプログラム実行環境を備えたプログラム実行システムであって、
前記複数のプロセッサ夫々に専用の複数のプロセッサ専用メモリと、
前記複数のプロセッサ間で共有される前記中間コードによって操作される共有オブジェクトを格納するプロセッサ間共有メモリとを備え、
前記複数のプロセッサの各々は、
前記プロセッサ専用の前記中間コードを実行する前記プログラム実行環境と、
前記共有オブジェクトを指定する名前と前記プロセッサ間共有メモリ内の該共有オブジェクトの実体との対応に基づいて、前記複数のプロセッサ専用メモリの各々と該プロセッサ間共有メモリ間にて該共有オブジェクトを読み出すルーチン及び書き込むルーチンを呼び出すためのAPIによってプロセッサ間中間コード実行環境を提供するプロセッサ間共有メモリ用ライブラリとを有するようにしたプログラム実行システム。 - 前記プロセッサ間共有メモリは、前記共有オブジェクトの名前と該共有オブジェクトの実体とを対応させた対応テーブルを備え、
前記複数のプロセッサの各々は、前記共有オブジェクトの名前と該共有オブジェクトの実体との対応を前記対応テーブルに書き込むことにより該共有オブジェクトを登録し、また該登録された共有オブジェクトを該対応テーブルから削除することにより該共有オブジェクトを削除する登録削除機能を実行するようにした請求項1記載のプログラム実行システム。 - 前記複数のプロセッサの各々は、
前記プロセッサ間共有メモリのメモリ領域の割り当て及び開放を管理する共有メモリ管理機能と、
前記複数のプロセッサ間の前記プロセッサ間共有メモリへのアクセスに対してセマフォ又はロック機能を用いて排他制御を行うプロセッサ間排他制御機能と、
前記プロセッサ間共有メモリのヒープ領域に前記共有オブジェクトを格納するための共有メモリヒープ機能とを実行するようにした請求項1又は2記載のプログラム実行システム。 - 前記プロセッサ間共有メモリのメモリ領域と前記複数のプロセッサ専用メモリの各々のメモリ領域との間のダイレクトメモリアクセスによるデータ転送を制御するDMAコントローラを更に備え、
前記複数のプロセッサの各々において、前記DMAコントローラを用いて前記高速データ転送を行うルーチンと該ルーチンを前記プログラム実行環境から呼び出すためのインターフェイスを備えるようにした請求項1乃至3のいずれか一項記載のプログラム実行システム。 - 前記プロセッサ間排他制御機能を有するハードウェアを備え、
前記複数のプロセッサの各々において、前記ハードウェアのプロセッサ間排他制御機能を用いて排他制御を行うルーチンと該ルーチンを前記プログラム実行環境から呼び出すためのインターフェイスを備えるようにした請求項1乃至3のいずれか一項記載のプログラム実行システム。 - 複数の異種プロセッサ毎に専用メモリを備えたヘテロジニアスマルチプロセッサであって、
前記複数の異種プロセッサ間で共有される該各異種プロセッサ上で動作可能な中間コードによって操作される共有オブジェクトを格納するプロセッサ間共有メモリを備え、
前記各専用メモリは、
前記共有オブジェクトを指定する名前と前記プロセッサ間共有メモリ内の該共有オブジェクトの実体との対応に基づいて、前記各プロセッサ専用メモリと該プロセッサ間共有メモリ間にて該共有オブジェクトを読み出すルーチン及び書き込むルーチンを呼び出すためのAPIによってプロセッサ間中間コード実行環境を提供するプロセッサ間共有メモリ用ライブラリを格納し、
前記各異種プロセッサは、
前記異種プロセッサ専用の前記中間コードを実行する前記プログラム実行環境と、
自プロセッサの前記専用メモリに格納されたプロセッサ間共有メモリ用ライブラリを用いて前記読み出すルーチン及び前記書き込むルーチンを呼び出すことによって、前記共有オブジェクトへの操作を行う前記プロセッサ間中間コード実行環境を有するようにしたヘテロジニアスマルチプロセッサ。 - 前記各専用メモリは、
前記共有オブジェクトの名前と該共有オブジェクトの実体との対応を前記プロセッサ間共有メモリが保持する対応テーブルに書き込むことにより該共有オブジェクトを登録し、また該登録された共有オブジェクトを該対応テーブルから削除することにより該共有オブジェクトを削除する登録削除機能を前記異種プロセッサに実行させるプログラムを格納するようにした請求項6記載のヘテロジニアスマルチプロセッサ。 - 前記各専用メモリは、
前記プロセッサ間共有メモリのメモリ領域の割り当て及び開放を管理する共有メモリ管理機能と、
前記複数のプロセッサ間の前記プロセッサ間共有メモリへのアクセスに対してセマフォ又はロック機能を用いて排他制御を行うプロセッサ間排他制御機能と、
前記プロセッサ間共有メモリのヒープ領域に前記共有オブジェクトを格納するための共有メモリヒープ機能とを前記異種プロセッサに実行させるプログラムを格納するようにした請求項6又は7記載のヘテロジニアスマルチプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008050953A JP5151559B2 (ja) | 2008-02-29 | 2008-02-29 | プログラム実行システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008050953A JP5151559B2 (ja) | 2008-02-29 | 2008-02-29 | プログラム実行システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009211167A JP2009211167A (ja) | 2009-09-17 |
JP5151559B2 true JP5151559B2 (ja) | 2013-02-27 |
Family
ID=41184292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008050953A Expired - Fee Related JP5151559B2 (ja) | 2008-02-29 | 2008-02-29 | プログラム実行システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5151559B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4917138B2 (ja) | 2009-10-07 | 2012-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクト最適配置装置、オブジェクト最適配置方法、及びオブジェクト最適配置プログラム |
WO2011061801A1 (en) * | 2009-11-19 | 2011-05-26 | Hitachi,Ltd. | Computer system and load equalization control method for the same |
KR101761650B1 (ko) | 2010-09-24 | 2017-07-28 | 인텔 코포레이션 | 컴퓨팅 플랫폼의 이종 프로세서들 간의 공유 가상 메모리에서의 가상 함수들의 공유 |
JP5902273B2 (ja) * | 2014-10-23 | 2016-04-13 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP6280581B2 (ja) * | 2016-03-10 | 2018-02-14 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172509A (ja) * | 1998-09-30 | 2000-06-23 | Matsushita Electric Ind Co Ltd | プログラム協調実行装置 |
US7114042B2 (en) * | 2003-05-22 | 2006-09-26 | International Business Machines Corporation | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment |
US7415704B2 (en) * | 2004-05-20 | 2008-08-19 | Sap Ag | Sharing objects in runtime systems |
US7610585B2 (en) * | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
JP2006268123A (ja) * | 2005-03-22 | 2006-10-05 | Fuji Electric Systems Co Ltd | 情報共有装置 |
-
2008
- 2008-02-29 JP JP2008050953A patent/JP5151559B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009211167A (ja) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086680B2 (en) | Object optimal allocation device, method and program | |
KR0170565B1 (ko) | 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법 | |
JP4791461B2 (ja) | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 | |
US10620988B2 (en) | Distributed computing architecture | |
Pai et al. | Fast and efficient automatic memory management for GPUs using compiler-assisted runtime coherence scheme | |
US20060026183A1 (en) | Method and system provide concurrent access to a software object | |
JP2007538323A (ja) | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 | |
JP6273294B2 (ja) | 共有およびマネージド・メモリー統一アクセス | |
Heller et al. | Closing the performance gap with modern c++ | |
JP5151559B2 (ja) | プログラム実行システム | |
KR20030020397A (ko) | 확장형 메모리의 효율적인 스레드 로컬 객체 할당을 위한방법 | |
Aguilar Mena et al. | OmpSs-2@ Cluster: Distributed memory execution of nested OpenMP-style tasks | |
Thomadakis et al. | Multithreaded runtime framework for parallel and adaptive applications | |
Hagen et al. | PGASUS: a framework for C++ application development on NUMA architectures | |
Focht | VEO and PyVEO: vector engine offloading for the NEC SX-Aurora Tsubasa | |
Lobosco et al. | Java for high‐performance network‐based computing: a survey | |
Gray et al. | Supporting islands of coherency for highly-parallel embedded architectures using Compile-Time Virtualisation | |
Karimi et al. | Transparent Distributed Programming under Linux | |
Doyle et al. | Jupiter: A modular and extensible JVM | |
Fumero et al. | Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps | |
Alfonso et al. | Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps | |
Poss et al. | Lazy reference counting for the microgrid | |
Zhang et al. | A Scalable Pthreads-Compatible Thread Model for VM-Intensive Programs | |
Ming | JESSICA: Java-enabled single-system-image computing architecture | |
Aljehan et al. | Distributed Objects based Programming Constructs for PGAS based High Performance C++ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120426 |
|
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: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 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 |