JP2009211167A - プログラム実行システム - Google Patents
プログラム実行システム Download PDFInfo
- Publication number
- JP2009211167A JP2009211167A JP2008050953A JP2008050953A JP2009211167A JP 2009211167 A JP2009211167 A JP 2009211167A JP 2008050953 A JP2008050953 A JP 2008050953A JP 2008050953 A JP2008050953 A JP 2008050953A JP 2009211167 A JP2009211167 A JP 2009211167A
- 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.)
- Granted
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
【解決手段】上記課題は、複数のプロセッサを含み、前記複数のプロセッサ上で動作可能な中間コードを実行するプログラム実行環境を備えたプログラム実行システムであって、前記複数のプロセッサ夫々に専用の複数のプロセッサ専用メモリと、前記複数のプロセッサ間で共有される前記中間コードによって操作される共有オブジェクトを格納するプロセッサ間共有メモリとを備え、前記複数のプロセッサの各々は、前記共有オブジェクトを指定する名前と前記プロセッサ間共有メモリ内の該共有オブジェクトの実体とを対応させることによって、前記複数のプロセッサ専用メモリの各々と該プロセッサ間共有メモリ間にて該共有オブジェクトを読み出し及び書き込みする読出書込機能を実行することにより達成される。
【選択図】図6
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 (5)
- 複数のプロセッサを含み、前記複数のプロセッサ上で動作可能な中間コードを実行するプログラム実行環境を備えたプログラム実行システムであって、
前記複数のプロセッサ夫々に専用の複数のプロセッサ専用メモリと、
前記複数のプロセッサ間で共有される前記中間コードによって操作される共有オブジェクトを格納するプロセッサ間共有メモリとを備え、
前記複数のプロセッサの各々は、
前記共有オブジェクトを指定する名前と前記プロセッサ間共有メモリ内の該共有オブジェクトの実体とを対応させることによって、前記複数のプロセッサ専用メモリの各々と該プロセッサ間共有メモリ間にて該共有オブジェクトを読み出し及び書き込みする読出書込機能を実行するようにしたプログラム実行システム。 - 前記プロセッサ間共有メモリは、前記共有オブジェクトの名前と該共有オブジェクトの実体とを対応させた対応テーブルを備え、
前記複数のプロセッサの各々は、前記共有オブジェクトの名前と該共有オブジェクトの実体との対応を前記対応テーブルに書き込むことにより該共有オブジェクトを登録し、また該登録された共有オブジェクトを該対応テーブルから削除することにより該共有オブジェクトを削除する登録削除機能を実行するようにした請求項1記載のプログラム実行システム。 - 前記複数のプロセッサの各々は、
前記プロセッサ間共有メモリのメモリ領域の割り当て及び開放を管理する共有メモリ管理機能と、
前記複数のプロセッサ間の前記プロセッサ間共有メモリへのアクセスに対してセマフォ又はロック機能を用いて排他制御を行うプロセッサ間排他制御機能と、
前記プロセッサ間共有メモリのヒープ領域に前記共有オブジェクトを格納するための共有メモリヒープ機能とを実行するようにした請求項1又は2記載のプログラム実行システム。 - 前記プロセッサ間共有メモリのメモリ領域と前記複数のプロセッサ専用メモリの各々のメモリ領域との間のダイレクトメモリアクセスによるデータ転送を制御するDMAコントローラを更に備え、
前記複数のプロセッサの各々において、前記DMAコントローラを用いて前記高速データ転送を行うルーチンと該ルーチンを前記プログラム実行環境から呼び出すためのインターフェイスを備えるようにした請求項1乃至3のいずれか一項記載のプログラム実行システム。 - 前記プロセッサ間排他制御機能を有するハードウェアを備え、
前記複数のプロセッサの各々において、前記ハードウェアのプロセッサ間排他制御機能を用いて排他制御を行うルーチンと該ルーチンを前記プログラム実行環境から呼び出すためのインターフェイスを備えるようにした請求項1乃至3のいずれか一項記載のプログラム実行システム。
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 true JP2009211167A (ja) | 2009-09-17 |
JP5151559B2 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011081610A (ja) * | 2009-10-07 | 2011-04-21 | Internatl Business Mach Corp <Ibm> | オブジェクト最適配置装置、オブジェクト最適配置方法、及びオブジェクト最適配置プログラム |
JP2012533781A (ja) * | 2009-11-19 | 2012-12-27 | 株式会社日立製作所 | 計算機システム及びその負荷均等化制御方法 |
JP2013542497A (ja) * | 2010-09-24 | 2013-11-21 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP2015038770A (ja) * | 2014-10-23 | 2015-02-26 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP2016157445A (ja) * | 2016-03-10 | 2016-09-01 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172509A (ja) * | 1998-09-30 | 2000-06-23 | Matsushita Electric Ind Co Ltd | プログラム協調実行装置 |
JP2006268123A (ja) * | 2005-03-22 | 2006-10-05 | Fuji Electric Systems Co Ltd | 情報共有装置 |
JP2007122741A (ja) * | 2003-05-22 | 2007-05-17 | Internatl Business Mach Corp <Ibm> | 非対称型異種マルチプロセッサ環境でアトミック更新プリミティブを提供するための方法 |
JP2007538324A (ja) * | 2004-05-20 | 2007-12-27 | エスアーペー アーゲー | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 |
JP2008500633A (ja) * | 2004-06-03 | 2008-01-10 | インテル・コーポレーション | マネージドランタイム環境におけるスレッド同期方法および装置 |
-
2008
- 2008-02-29 JP JP2008050953A patent/JP5151559B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172509A (ja) * | 1998-09-30 | 2000-06-23 | Matsushita Electric Ind Co Ltd | プログラム協調実行装置 |
JP2007122741A (ja) * | 2003-05-22 | 2007-05-17 | Internatl Business Mach Corp <Ibm> | 非対称型異種マルチプロセッサ環境でアトミック更新プリミティブを提供するための方法 |
JP2007538324A (ja) * | 2004-05-20 | 2007-12-27 | エスアーペー アーゲー | ランタイムシステムにおけるオブジェクトを共有するためのプログラム、方法、装置 |
JP2008500633A (ja) * | 2004-06-03 | 2008-01-10 | インテル・コーポレーション | マネージドランタイム環境におけるスレッド同期方法および装置 |
JP2006268123A (ja) * | 2005-03-22 | 2006-10-05 | Fuji Electric Systems Co Ltd | 情報共有装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011081610A (ja) * | 2009-10-07 | 2011-04-21 | Internatl Business Mach Corp <Ibm> | オブジェクト最適配置装置、オブジェクト最適配置方法、及びオブジェクト最適配置プログラム |
US9009715B2 (en) | 2009-10-07 | 2015-04-14 | International Business Machines Corporation | Object optimal allocation device, method and program |
US10296388B2 (en) | 2009-10-07 | 2019-05-21 | International Business Machines Corporation | Object optimal allocation device, method and program |
US11086680B2 (en) | 2009-10-07 | 2021-08-10 | International Business Machines Corporation | Object optimal allocation device, method and program |
JP2012533781A (ja) * | 2009-11-19 | 2012-12-27 | 株式会社日立製作所 | 計算機システム及びその負荷均等化制御方法 |
JP2013542497A (ja) * | 2010-09-24 | 2013-11-21 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
US8997113B2 (en) | 2010-09-24 | 2015-03-31 | Intel Corporation | Sharing virtual functions in a shared virtual memory between heterogeneous processors of a computing platform |
JP2015038770A (ja) * | 2014-10-23 | 2015-02-26 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP2016157445A (ja) * | 2016-03-10 | 2016-09-01 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Also Published As
Publication number | Publication date |
---|---|
JP5151559B2 (ja) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190213043A1 (en) | Object Optimal Allocation Device, Method and Program | |
KR0170565B1 (ko) | 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법 | |
US10620988B2 (en) | Distributed computing architecture | |
US20060026183A1 (en) | Method and system provide concurrent access to a software object | |
Pai et al. | Fast and efficient automatic memory management for GPUs using compiler-assisted runtime coherence scheme | |
JP6273294B2 (ja) | 共有およびマネージド・メモリー統一アクセス | |
Heller et al. | Closing the performance gap with modern c++ | |
KR100549540B1 (ko) | 확장형 메모리의 효율적인 스레드 로컬 객체 할당을 위한방법 | |
JP5151559B2 (ja) | プログラム実行システム | |
Aguilar Mena et al. | OmpSs-2@ Cluster: Distributed memory execution of nested OpenMP-style tasks | |
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 | |
Wellings et al. | Ada and cc-NUMA Architectures What can be achieved with Ada 2005? | |
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 | |
Zakkak et al. | DiSquawk: 512 cores, 512 memories, 1 JVM | |
Goglin et al. | Memory migration on next-touch | |
Mohr | Aspects of Code Generation and Data Transfer Techniques for Modern Parallel Architectures | |
Wang et al. | Memory management | |
Fumero et al. | Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps | |
Hall et al. | Memory management in a PIM-based architecture | |
Alfonso et al. | Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps | |
Zhang et al. | A Scalable Pthreads-Compatible Thread Model for VM-Intensive Programs |
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 (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |