# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

# 第 28 章
特殊処理環境の管理

OpenVMS オペレーティング・システムは以下の特殊環境をサポートします。

- 対称型マルチプロセッシング

- ベクタ処理 (特定の CPU モデルだけで利用可能)

本章では，これらの特殊処理環境の設定と管理について説明します。

本章の内容

本章では，次の作業について説明します。

作業 | 参照箇所
--- | ---
マルチプロセッシング環境の作成 | 第 28.2.1 項
マルチプロセッシング環境の監視 | 第 28.2.2 項
+ ベクタ処理サポート・コードのロード | 第 28.4.1 項
+ ベクタ処理システムの構成 | 第 28.4.2 項
+ ベクタ・プロセスの管理 | 第 28.4.3 項
+ACL によるベクタ・プロセッサへのアクセス制限 | 第 28.4.4 項
+ ベクタ処理システムに関する情報の入手 | 第 28.4.5 項
+VAX ベクタ命令エミュレーション機能 (VVIEF) のロード | 第 28.4.6 項

+VAX のみ

さらに，次の項目について説明します。

項目 | 参照箇所
--- | ---
対称型マルチプロセッシング | 第 28.1 節
1次プロセッサと2次プロセッサ | 第 28.1.1 項
アベイラブル・セットとアクティブ・セット | 第 28.1.2 項
ベクタ処理 | 第 28.3 節
+VAX におけるベクタ処理のサポート | 第 28.3.1 項
+VAX ベクタ命令エミュレーション機能 (VVIEF) | 第 28.3.2 項

+VAX のみ

# 28.1 マルチプロセッシングについて

マルチプロセッシング・システムは，メモリの共通プールにアドレスして同時に命令を実行することが可能な 2 つ以上の CPU から構成されます。

OpenVMS オペレーティング・システムは密結合対称型マルチプロセッシング (SMP) システムをサポートします。密結合 SMP システムでは，すべてのプロセッサがオペレーティング・システムの単一のコピーを実行し，すべてのオペレーティング・システム・コードとシステム資源に対する等しいアクセス権を持っています。 OpenVMS SMP は，プロセス優先権に基づいてプロセスが実行される CPU を動的に選択します。

マルチプロセッシング・システムは，独立したシステム，ネットワーク上のノード，または OpenVMS Cluster を構成するメンバとして機能することができます。マルチプロセッシング・システムおよびユニプロセッシング・システムは，同じオペレーティング・システムを実行します。ただし，マルチプロセッシングは特定の VAX および Alpha プロセッサ上でしか行うことができません。 1 つのマルチプロセッシング環境を構成するすべてのプロセッサのハードウェアとファームウェアは同じレベルであることが必要です。これは，特定のプロセッサから，システム上の別のプロセッサで実行されていたプロセスの実行スレッドを再開できるようにするためです。

## 28.1.1 1次プロセッサと2次プロセッサ

マルチプロセッシング・システムでは，コンソール・デバイスに論理的または物理的に付加された 1 つのプロセッサがシステム内の他のプロセッサの起動を担当します。そのようなプロセッサを1次プロセッサ と呼びます。 1次プロセッサ自身は，マルチプロセッシング・システムをブートするコンソール・コマンドのターゲットとなります。1次プロセッサは，システム全体のオペレーティング・システム環境の定義やメモリの準備のための初期化を単独で行います。さらに，1次プロセッサはシステム内の計時を担当し，システム時間の管理，およびタイマ・キューに登録された各要素がタイムアウトになっていないかどうかの監視を行います。一方，マルチプロセッシング・システム内のこれらの役割を持たないプロセッサを2次プロセッサ と呼びます。

## 28.1.2 アベイラブル・セットとアクティブ・セット

システムのハードウェア電源投入時の診断テストにパスしたプロセッサの集合をアベイラブル・セット と呼んでいます。このとき，各プロセッサがシステムに対してアクティブに関与しているかどうかは問題にされません。 1次プロセッサと2次プロセッサは，マルチプロセッシング・システムのアクティブ・セットから構成されます。

アクティブ・セット とは， VAX または Alpha システムを構成するプロセッサのうち，電源投入時の診断テストにパスし，システム動作にアクティブに関与しているプロセッサの集合をいいます。オペレーティング・システムはこれらのセットに含まれる各プロセッサを CPU ID で識別します。 CPU ID の値は，DCL やユーティリティの特定のコマンドの構文や表示の中に頻繁に現れます。

## 28.1.3 プロセッサの機能

マルチプロセッシング・システムはシステム上で実行中のプロセスに特定の機能を提供します。次の機能がサポートされています。

- 1次

- クォーラム

- 実行

- ベクタ(VAX のみ)

さらに，他の機能を追加したり，削除したりするメカニズムもあります。

実行機能は，CPU の開始動作と停止動作に影響します。

# 28.2 対称型マルチプロセッシング (SMP) 環境の管理

対称型マルチプロセッシング・システム(SMP)の管理には，マルチプロセッシング環境の作成と監視があります。

## 28.2.1 マルチプロセッシング環境の作成

マルチプロセッシング・システムの構成要素と特性は，適切なシステム・パラメータを設定することによって，システムのブート時に制御できます。マルチプロセッシング・システムを管理するシステム・パラメータには以下のものがあります。

パラメータ | 機能
--- | ---
MULTIPROCESSING | ブート時にオペレーティング・システムにロードする同期イメージを決定する。
SMP_CPUS | ブート時に，アベイラブル・セットからマルチプロセッシング環境に追加するプロセッサを決定する。

以上のようなシステム・パラメータについては，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

ブート時に，アベイラブル・セットの中のプロセッサをアクティブ・セットに追加することができます。また，DCL の START/CPU コマンドを使用すれば，ブート後にプロセッサの追加を行うことができます。アクティブ・セットからプロセッサを削除するときには， DCL の STOP/CPU コマンドを使用します。

SMP Extension License

Alpha システムでは，SMP システムを使用している場合には， SMP Extension Licenseを登録する必要があります。このライセンスは Operating System Base License および全 Interactive User ライセンスをアップグレードして，システムのマルチプロセッシング・レベルに合わせます。

SMP Extension License は，既存の Base ライセンスおよび User ライセンスがユニプロセッシング・レベルで提供するすべての権利を付与するので，マルチプロセッシング・システムにアップグレードする際に，これらのライセンスを再インストールする必要はありません。システムを新しいマルチプロセッシング・レベルにアップグレードする場合には，既存のライセンスに SMP Extension License を追加してください。

## 28.2.2 マルチプロセッシング環境の監視

オペレーティング・システムのいくつかの機能により，マルチプロセッサ・システムの特性，能力，および状態に関する特別な情報を入手することができます。これらを可能にするものには， DCL の SHOW CPU コマンド，MONITOR ユーティリティなどがあります。

マルチプロセッサ構成に関する情報の入手

SHOW CPU コマンドにより，マルチプロセッシング・システムの構成および状態を示す 3 つのレベルの情報が表示されます。

レベル | コマンドの例 | 表示内容
--- | --- | ---
要約 | SHOW CPU | 1次プロセッサ，システム構成に加えられているプロセッサ，アクティブなプロセッサを示し，システム内のプロセッサの最低リビジョン・レベルとシステム・パラメータ MULTIPROCESSING の設定内容を表示する。また，マルチプロセッシング環境が使用可能になっているかどうかが示される。
簡易 | SHOW CPU/BRIEF | 要約レベルの情報から抽出される。構成に追加されている各プロセッサの現在の CPU の状態と，現在稼働中のプロセスがあればその状態を示す。
詳細 | SHOW CPU/FULL | 要約レベルおよび追加の情報から抽出される。構成に追加されている各プロセッサの現在の CPU の状態，現在稼働中のプロセスがあればその状態，リビジョン・レベル，および能力を示す。また，特定のプロセッサ上でしか実行できないプロセスを示す。

SMP に関連する DCL のコマンドについては，『Compaq OpenVMS DCL ディクショナリ』を参照してください。 MONITOR ユーティリティについては，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の MONITOR のパートを参照してください。

# 28.3 ベクタ処理について

1 つの値を持つ単一のデータ項目をスカラと呼びます。また，データ型が同じで互いに関連するスカラ値のグループを ベクタと呼びます。

伝統的なスカラ・コンピュータはスカラ値に対してのみ動作するため，ベクタを扱う場合はその要素を順次処理する必要があります。一方，ベクタ・コンピュータはベクタをそのままのデータ構造として認識し，1 つのベクタ命令によってベクタ全体を操作することができます。複数の算術演算または論理演算が同時に行われるため，ベクタ・コンピュータで1 つのベクタを処理すると，伝統的なコンピュータでスカラ命令だけを使用して同じベクタを処理する場合よりも 4 〜 5 倍高速になります。

さらに，ベクタ・プロセッサはデータのストリームを高速に処理するための特殊なハードウェア技術によって高速な処理を実現しています。これらの技術として，データのパイプライン処理やチェイニングのほか，メモリ，算術機能ユニット，論理機能ユニットなどのハードウェアを様々な形式で並列化したことなどが挙げられます。ユニットをパイプライン化することによって，同じ処理フローの前後の演算を並行して行うことが可能になっています。

## 28.3.1 VAX におけるベクタ処理のサポート (VAX のみ)

VAX ベクタ・アーキテクチャには，それぞれが 64 個の要素を含む 16 個の 64 ビット・ベクタ・レジスタ (V0 〜 V15)，ベクタ・カウント・レジスタ (VCR) やベクタ長レジスタ (VLR)，ベクタ・マスク・レジスタ (VMR) などのベクタ制御レジスタ，ベクタ機能ユニット，ベクタ命令のセットが含まれています。 VAX ベクタ命令は，ベクタ・レジスタとメモリとの間のデータ転送，整数および浮動小数点数の算術演算，およびプロセッサの制御を行います。 VAX ベクタ・アーキテクチャ，ベクタ・レジスタ，およびベクタ命令についての詳細は，『VAX MACRO and Instruction Set Reference Manual』を参照してください。

VAX ベクタ・アーキテクチャに準拠した VAX システムを ベクタ対応システムと呼びます。

VAX ベクタ処理システムの構成には，スカラ CPU とベクタ CPU とを統合したプロセッサ (ベクタ機能付きプロセッサ ) が 1 組以上含まれています。このようなシステム構成には，各スカラ・プロセッサに対して 1 つのベクタ・コプロセッサを持つ対称型構成，および付加的なスカラ専用プロセッサを組み込んだ非対称型構成があります。 VAX ベクタ処理システムのモデルにより，ベクタ機能付きプロセッサは，スカラ CPU コンポーネントとベクタ CPU コンポーネントを物理的に統合した単一のモジュールから構成される場合と，それぞれのコンポーネントを物理的に分離した 2 つのモジュールから構成される場合があります。どちらの場合も，スカラ CPU およびベクタ CPU は論理的に統合され，同じメモリを共用し，高速の専用内部パスを通じてデータを送信します。このように CPU が密接に結合しているため，ベクタ CPU を使用した場合は入出力動作が軽減されます。

VAX スカラ処理システムと同様，VAX ベクタ処理システムは VAXcluster のメンバ，ネットワーク上のノード，またはスタンドアロン・システムとして稼働させることができます。

## 28.3.2 VAX ベクタ命令エミュレーション機能 (VVIEF) (VAX のみ)

VAX ベクタ命令エミュレーション機能 (VVIEF) は，オペレーティング・システムに標準で備えられている機能であり，ベクタ・プロセッサが利用できない VAX システム上でベクタ化されたアプリケーションの作成やデバッグを可能にします。 VVIEF は，非特権 VAX ベクタ命令とベクタ・システム・サービスを含む VAX ベクタ処理環境をエミュレートします。 VVIEF の使用は，ユーザ・モードのコードに制限されています。

VVIEF は厳密にプログラム開発ツールであり，ベクタ・ハードウェア上での動作をソフトウェア上で実現するものではありません。したがって，VVIEF のもとで実行するようにアプリケーションをベクタ化しても性能は向上しません。むしろ， VVIEF のもとで実行されるベクタ化アプリケーションの動作はスカラ版アプリケーションよりも低速です。

オペレーティング・システムは，VVIEF ブートストラップ・コードをエグゼクティブ・ローダブル・イメージとして提供します。ここで注意が必要なのは，OpenVMS ベクタ・サポート・コードが存在すると， VVIEF は非稼働状態のままであるという点です。ベクタ機能付きシステムでベクタ・サポート・コードをロードしないようにして VVIEF を稼働させることは可能ですが，それによる利点はほとんどありません。ベクタ・サポート・コードのロードについては， 第 28.4.1 項 で説明します。

VVIEF のロードとアンロードについては， 第 28.4.6 項 で説明します。

# 28.4 ベクタ処理環境の管理 (VAX のみ)

この節では，ベクタ処理システムの管理について取り上げます。

## 28.4.1 ベクタ処理サポート・コードのロード (VAX のみ)

VAX ベクタ処理システムでは，ブート時にベクタ処理サポート・コードが自動的にロードされるように設定されています。この省略時の動作は，静的なシステム・パラメータ VECTOR_PROC を設定することで変更することができます。具体的な設定方法は， 表 28-1 に示すとおりです。

表 28-1 システム・パラメータ VECTOR_PROC の設定
値 | 結果
--- | ---
0 | システム構成に関係なく，ベクタ処理サポート・コードをロードしない。
1 | 少なくとも 1 つのベクタ機能付きプロセッサが存在する場合にベクタ処理サポート・コードをロードする (省略時の設定)。
2 | システムがベクタ対応の場合にベクタ処理サポート・コードをロードする。この設定は，各プロセッサごとに電源を供給しているシステムで最も有効。また，この設定では，オペレーティング・システムを再ブートしなくてもベクタ・プロセッサをシステム構成に追加することができる。

前へ | 次へ | 目次 | 索引