JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
プログラミングインタフェースガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  メモリーと CPU の管理

2.  リモート共有メモリー API (Solaris クラスタ用)

共有メモリーモデルの概要

API フレームワーク

API ライブラリ関数

相互接続コントローラ操作

rsm_get_controller

rsm_release_controller

rsm_get_controller_attr

クラスタトポロジ操作

rsm_get_interconnect_topology

rsm_free_interconnect_topology

データ構造体

管理操作

メモリーセグメント操作

エクスポート側のメモリーセグメント操作

メモリーセグメントの作成と破壊

メモリーセグメントの発行、再発行、および発行解除

メモリーセグメントの再バインド

インポート側のメモリーセグメント操作

メモリーセグメントの接続と切断

メモリーアクセスプリミティブ

Scatter-Gather アクセス

セグメントのマッピング

バリア操作

イベント操作

RSMAPI を使用するときの一般的な注意点

セグメントの割り当てとファイル記述子の使用法

エクスポート側の注意点

インポート側の注意点

RSM 構成可能パラメータ

3.  セッション記述プロトコル API

4.  プロセススケジューラ

5.  近傍性グループ API

6.  入出力インタフェース

7.  プロセス間通信

8.  ソケットインタフェース

9.  XTI と TLI を使用したプログラミング

10.  パケットフィルタリングフック

11.  トランスポート選択と名前からアドレスへのマッピング

12.  リアルタイムプログラミングと管理

13.  Solaris ABI と ABI ツール

A.  UNIX ドメインソケット

索引

共有メモリーモデルの概要

共有メモリーモデルでは、まず、あるアプリケーションプロセスがプロセスのローカルアドレス空間から RSM エクスポートセグメントを作成します。次に、1 つまたは複数のリモートアプリケーションプロセスが相互接続上のエクスポートセグメントとインポートセグメント間の仮想接続を使用して、RSM インポートセグメントを作成します。共有セグメントのメモリー参照を行うときには、どのアプリケーションプロセスもローカルなアドレス空間のアドレスを使用します。

アプリケーションプロセスは、ローカルでアドレス可能なメモリーをエクスポートセグメントに割り当てることによって、RSM エクスポートセグメントを作成します。この割り当てには、System V Shared Memory、mmap(2)valloc(3C) などの標準の Solaris インタフェースの 1 つを使用します。次に、アプリケーションプロセスはセグメントを作成する RSMAPI を呼び出して、割り当てられたメモリーに参照ハンドルを提供します。RSM セグメントは 1 つまたは複数の相互接続コントローラを通じて発行されます。発行されたセグメントは、リモートからアクセスできるようになります。セグメントをインポートすることが許可されたノードのアクセス権リストも公開されます。

エクスポートされるセグメントにはセグメント ID が割り当てられます。このセグメント ID (および、作成するプロセスのクラスタノード ID) を使用すると、インポートしているプロセス (インポータ) はエクスポートセグメントを一意に指定できます。エクスポートセグメントが正常に作成されると、後続のセグメント操作で使用するための RSM エクスポートセグメントハンドルがプロセスに返されます。

アプリケーションプロセスは RSMAPI を使用して、発行されたセグメントへのアクセス権を取得し、インポートセグメントを作成します。インポートセグメントを作成したあと、アプリケーションプロセスは相互接続間に仮想接続を確立します。インポートセグメントが正常に作成されると、後続のセグメントインポート操作で使用するための RSM インポートセグメントハンドルがアプリケーションプロセスに返されます。メモリーマッピングが相互接続によってサポートされている場合、仮想接続を確立したあと、アプリケーションは RSMAPI を要求して、ローカルアクセス用にメモリーマップを提供できます。メモリーマッピングがサポートされていない場合、アプリケーションは RSMAPI が提供するメモリーアクセスプリミティブを使用できます。

RSMAPI は、リモートアクセスエラー検出をサポートし、書き込み順番メモリーモデルに関する問題を解決するためのメカニズムを提供します。このメカニズムのことを「barrier」と呼びます。

RSMAPI が提供する通知メカニズムを使用すると、ローカルアクセスとリモートアクセスの同期をとることができます。つまり、インポートプロセスがデータ書き込み操作を終了するまで、エクスポートプロセスはデータの処理をブロックする関数を呼び出すことができます。書き込み操作が終了すると、インポートプロセスはシグナル関数を呼び出してエクスポートプロセスのブロックを解除します。ブロックが解除されると、エクスポートプロセスはデータを処理します。