あなたの知らないIBM汎用機の話


IBM汎用機の話 INDEX

 大きいから安心IBM メインフレーム(IBMメインフレームの歴史と紹介)

 
魔法のディスクStorageTek SVA (2004/05/29更新)

  



大きいから安心IBM メインフレーム!

IBMの快進撃はシステム360から始った

 1964年、IBMはSystem/360というアーキテクチャア(設計思想)にのつたコンピュータシリーズを発売する。これは360度見まわすことができ、すべての目的に使用可能であるとの意味が込められていたそうだ。この360のインストラクションセット(マシン語命令)はそのまま今のS/390でも使用可能なのだからすごい。日立も富士通もみーんなパ*ッタのだからすごい。前述したマイクロプロセッサーではこうはいかない。このS/360にはモデル30/40/50/65が発表されている。メモリーは8K〜2MBまでであった。今のパソコンが100MB以上のメモリーを積んでいても珍しくはないことを考えれば、笑ってしまうかも知れないが、このメモリー構成で企業の基幹業務もこなしていたのだからたいしたものである。話は少しそれるが、私が学生時代だった1980年代の初頭、実習で使用していたマシンはHITAC8250(日立)というモデルで、メインメモリーは48KBだった。このマシンで次々に学生の提出するプログラムのコンパイルや実行を行っていたのだからすごい。学 校がメインマシンとしていたのがOUK9300というマシンでメモリーは256Kバイト。マルチJOBで動く素敵なマシンだった。TSS実習に使っていたのはYHPで、このマシンのストレッジが1Mだったのを覚えている。そう思うと・・・。今のパソコンってメモリー容量のわりにできることがしょぼいようなきがする。
 話を基に戻そう。S/360には二つのOSが用意されていた。一つはDOS。当然MS−DOSではないし、京都地方の方言でもないし、やくざが使う刃物の事でもない。「Disk Operating System」だ。もう一つはOSである。わたしの聞き違いかもしれないけど・・・。もともとOSという言葉はIBMの登録商標だったらしい。この二つのOSはメモリーサイズによって、使い分けられていたらしい。小さなサイズではDOS、大きなものではOSが選択された。
 DOSはDOS/VSへと進化をし最終的にVSEとなり現在に至っている。決してWINDOWSなどというくだらないOSになったわけではない。OSは現在ではOS/390(MVS)へと姿を変えている。すでにこの頃JES、SPOOL、CHANNELといった考え方が取り入れられ、現在のコンピュータシステムの基礎はできている。

無い物をあるという詐欺師、システム370誕生

1972年、IBMは仮想記憶をサポートするシステム370シリーズを発表する。マシンで言えばモデル3031、3033などがこれにあたる。「かそーきおくってなーに?」 仮想記憶というのは、無い物をあるという嘘吐き記憶の事なんだけど、これが実に良く出来てるんだなあ。例えば実記憶(メモリー)の容量が2MBだろうと4MBだろうと、あたかも16MBあるように見せかける仕組みの事。Windowsにもまあ、同じく仮想記憶という言葉があるけどね。S/370の仮想記憶はページという数キロバイトに細分化された単位で頻繁にメモリーとディスクの間を交換する。これは本を読むという行為に似ている。人間が本を読む時、本当に必要なサイズは見開き2ページ分。2ページ分だけ手元にあればいいわけだ。残りのページは必要な時だけ開くことができれば良い。別に今手元になくてもかまわない。これがコンピュータの世界ににも言えて、今実行しているプログラムとデータだけが実メモリー上にあればいいわけだ。この仮想記憶をサポートするOSとしてVS1とMVSが発表された。VS1は16MBのアドレス空間をパーティションと呼ばれる区画に分け、そのパ ーティションの中でJOBをマルチに稼動させるという仕組み。MVSはMultipl Virtual Storageの略で、16MBのアドレス空間を無数と言って良い単位で立ち上げる事ができた(32000だったかなあ。間違って入たらごめん。)。これはどこがすごいのか? アドレス空間はアドレス空間毎に独立しているので(よその家なので)、そのアドレス空間でプログラムがぶっ飛んでも(よその家の子が非行に走っても)、その他のアドレス空間は原則影響を受けないということだ。いやー、どこかのマイク*ソフトの*indows君とはえらい違いですねえ。
 ちなみにS/370のハードウェアーコンセプトの一つにマルチプロセッサーが上げられる。一つの筐体に複数のCPUを載せ、それを一つのOSで使用することで、これは現在WIN/NT、OS/2などパソコンレベルでも実現されている。
 そしてMVS/SP V1.3というOSが発表される。これは後のMVS/XAのベースとなったOSで、このXAでMVSは大きく変わる。MVS/XAは1981年に発表された(ような気がする)。XAでは接続できるデバイスの数が1917から4096に増えている。アドレッシングモードが24bitから31bitへ。これはアドレス空間が16MBから2GBへ拡張された事を意味する。心ない人はいうだろう。何だ、たかが2GB。パソコンのCPU+OSだって2GBなんて簡単に超えてるよ・・・。間抜けといいたい。MVS/XAは2GBのアドレス空間がマルチに無数に動くのだ。この時対象となったハードウェアーモデルは308x、438x、3090シリーズである。

 私はこの時の衝撃を今でも覚えている。この頃私は某銀行系のシステム会社にいて、銀行の情報システム部に組み込まれ、主にコントロール系のシステムを開発していた。XAを導入したときにIBMのSEと交わした言葉はこうだった。『提督、メモリーはもう青天井ですよ。いくら大きなプログラムを作っても大丈夫です。』 ほんとうに私もそう思った。
 
MVS/ESAが1988年に発表された。このOSの大きな特徴の一つはデータスペースとハイパースペースという別のアドレス空間を持つことができると言うことだ。このデータスペースには主に各アドレス空間で使用する共用データを、ハイパースペースはバッファー、モジュール、データ等を入れて使用する。こうする事により、もし望むのならば、物理的なI/O無しに(本当はあるけど。)プログラムやデータのアクセスが可能となった。
 そしてもう一つ、インド人も日立も富士通もビックリな技術が登場するPR/SM(Processer Resource System Maneger)である。これは物理的に一つのCPU筐体を論理分割してたくさんCPU筐体を持っているように見せてしまいましょうと言うことである。これはパソコンで言うと・・・。パソコンでは似たものもないなあ。まあ、簡単にいうと、あなたが一台のパソコンを持っているとして、その一台で複数のWindowsやMac OSが同時に動いてしまうわけですよ。当然コンソール(ディスプレイ)も複数必要だけど。しゅごいね。

 

何が何だかESA/390

 ついに390まで来てしまいまちた。『360度、すべてを見まわせます』始ったIBMのコンピュータシリーズは+30度、390まで来た。MVS/ESA V4およびV5がこれにあたる。1990年発表。この頃のメインハードウェアーはES/9000シリーズ。ES/9000シリーズはIBMが発表した最後のバイポーラチップのCPUである。日立はまだ一生懸命作っているけど。このシステムも従来とは大きく変わっている。先ずシスプレックス。(しすぷれっくす?)そう、シスプレックス。シスプレックスとは複数のコンピュータを結合し、それをあたかも一つのOSで動いているように扱おうという、とんでもないシステムなのだ。マルチプロセッサーと、どこが違うのか? マルチプロセッサーは一つの筐体の中に複数のCPUを搭載し、それを一つのOSで運転しようというものだが、シスプレックスは複数の筐体で稼動している複数のOSをまとめて、あたかもシングルイメージで稼動しているように見せかける技術である。シスプレックスについての詳細は、IBMのHPを見れば詳しく載っている 。
 また、MVS/ESA V4,V5はとんでもないものをサポートする。それはOpen Edition MVSと呼ばれる。POSIX準拠のインタフェースをサポートしたのだ。従来のMVSのイメージを保持したまま。V5ではXPG4もサポート。POSIX、XPG4は平たく言えばUNIXの規格と思えば良い。さらに65000以上のデバイスのサポート。

 

そしてS/390とOS/390

 
現在IBMの汎用機はハードウエァーがS/390こと9672シリーズ。CMOSチップのCPUである。OSは、OS/390。基本的にはMVS/ESAV5.2以上のOSに今まで別売だったり別プロダクトだったものをまとめてOS/390として、提供している。もちろん日々OS自身も進化している。どの位のペースで進化しているかといると、IBMは半年に一度リリースUPをすると言っている。OS/390になって特にどの機能が強化されているかと言えば、OPENな部分(UNIXみたいな)だろうか。おーっと、こんなところに偶然OS/390 V2のパンフレットがあるぞ。まとめてみよう。

OS/390 Webサーバー製品である『ICSS』にテキスト検索、JGI(Java Common Gateway Inte
rface)などの機能を加え、OS/390第2版リリース4に統合。  

Javaのアプレットをサーバーからブラウザーに ダウンロードしブラウザーに3270エミュレーション環境を提供。
 
DNS(Domain Name Server)がシスプレックス環境で稼働。
 
TCP/IPのパフォーマンスが向上。
 
9672/2003暗号化機構の前提ソフトウェアICSF/MVSをOS/390に統合。

JavaはJDK1.1.1に対応し、アプリケーションの開発/実行環境を提供。今後JDBC(Java Databese Connectivity)によるデータベースへのアクセスも可能になりCOBOL、PL/Iと同様にコマーシャルジョブの開発/実行も可能。
 
UNIX**サービスにファイルキャッシング機能が追加され、パフォーマンスを向上。
 
 etc,etc色々かいてある。IBMは今汎用機をエンタープライズサーバーとして位置付けており、汎用機はもはや究極のサーバーなのだ。パソコンやWSの世界しか体験した事がない方は分からないかも知れないが、汎用機の信頼度は桁違いに高いし(要するに飛んだりしない)、重い荷物を乗っけてもさくさく動く。サーバーには持って来いかも知れない。


黄色のページの索引へ(コンピュータのページ)  IBM汎用機の話索引へ  ホームへ



ディスクだってバーチャル、STorageTek Shard Virtual Array 

 ほんの10年弱前、IBMのRVA2−Tを見たとき、提督は今までのディスクの概念がガラガラと音をたてて崩れていくのを感じた。衝撃的だった。魔法のディスクに見えた。感動すら覚えた。RVA2−Tは、仮想機構を取り入れたディスクである。そこにディスクが仮想的にあるのだ。ここにIBM RVA2−Tの主な特徴を列挙して見る。
  ・RAID−6の採用
  ・LSFによるデータの管理
  ・物理ボリュームと論理ボリュームはまったく別のものである。
  ・1筐体につき、物理ディスク容量に関係なく256個の論理ボリュームを定義可能。
   (現在のStorageTek V2X2では4096論理ボリュームが定義可能)
  ・物理ディスク容量は論理ディスク容量に合致しない。(およそ物理容量の3倍が使用可能)
  ・SNAPSHOTと呼ばれる魔法のコピー機能がある。(どんな大きなデータでも数秒で複製を作成)

 RVA2とは、IBMが当時StoragetTek社からOEM供給を受けて販売していたDISK装置の事である。現在では、OEM供給は停止され、StorageTek社から後継機種が販売されており、最新のマシンはV2X2と呼ばれる。
 

 その1 RAIDの考え方とSVA (2004/05/29更新 
 その2 魔法のディスクSVA (2004/05/29更新 

ホストコンピュータの技術が何時かはパソコンに採用されることを祈ります。(でも、MIC**S*FTが作ったら怖い気がする)

の1 RAIDの考え方とSVA


  IBMのRAMACシリーズは、大型汎用機での初めてのRAIDディスクとして発表された。RAID技術は決して新しい物ではない。RAIDという言葉の発表当時は、Redudant Arrays of Inexpensive Disks(安価なディスクの冗長アレイ)と呼ばれていた。安価なディスクというのが元々のRAID研究の焦点でもあった。RAIDの実現はディスクが小さくなればなるほど重要になる。小型のディスクドライブはホスト汎用機で使用されている大型ディスクドライブほど信頼性が高くない傾向にあるからである。RAID技術はそれほど高くない信頼性の物を保証する手段を提供し、その結果全体としての可用性は大型ディスクドライブのそれを凌駕する。直径の小さなディスクを採用する理由は、スペース利用の効率化とコストの削減に重点を置くからである。安価なディスクの集合体が必ずしも実アプリケーションにはふさわしくない事が後の研究で示された。RAIDという略語の中の安価な(Inexpensive)という単語は後に独立(Independent)という言葉に変えられた。最初のRAIDのアーキテクチ ャーは全部で5つに分けられていた(らしい)。それらは、RAID1,RAID2,RAID3,RAID4,RAID5と呼ばれている。後に発表されたIBM RAMACバーチャルアレイ2(RVA2)では、RAID6が採用された。先ず代表的なRAIDアーキテクチャーについて説明してみたい。



RAID1(ミラーリング)

EMC社のSYMMETRIXシリーズがRAID1を採用しているのが有名である。RAID1は冗長性を獲得するためにデータのミラーリングを採用している。データの二つのコピーが異なる媒体に作られ保持される。








ディスク障害の観点からすると、RAID1は最良のデータの可用性を提供すると言われている。アレイを構成するディスクの数が最も少ないからである。アレイの中のディスクは少なければ少ないほど、複数ディスク障害の確率が低下する。ディスクの障害が起こると、システムはミラー・ディスクに自動的に切り替わりる。その際、パフォーマンスに影響も無く、失われたデータを再生する必要もない。しかしながら、RAID1はデータが重複しているために、RAIDディスクの中では最もコストが高いものになる。


RAID5(分散パリティー型データ・ストライピング)

 RAID5は固定したパリティ・ディスクを持たずに、データとパリティーをすべてのディスクにインターリーブする。IBMのRANACシリーズ、および現在市販されているRAIDディスクの多くはRAID5を採用している。しかしながら、その仕組みが複雑なため、メーカーによりその性能に差がついている





 

 

 RAID5では、一つのディスク障害ならばパリティ情報により回復が可能である。例えばデータ1が10、データ2が20、データ3が30だとする。この時パリティは、データの総和を取るとして60を書き込んでおく。この状態でデータ3が格納されているディスクに障害が発生したと考える。この時のデータ3の値は,60−10−20=30で求めることができる。RAID5ではアクセス・アームはお互いに独立して動くことが可能である。これは、アレイディスクに対して複数の同時アクセスを可能にし、複数の同時I/O命令の実行が可能となり、高いトランザクション・スループットを生み出す。しかしながら、RAID5にはライトペナリティーといった問題が発生し、パフォーマンスに影響を及ぼす。データの更新が1度起こると全部で4回のI/Oが発生します。それはデータの更新に伴い、パリティーを計算しなおして、書き込まなければならないからである。元のデータとパリティーを読み込むのに2回、データとパリティを更新するのに2回。 




 キャッシュ上にすべてのデータが存在する場合は、キャッシュ上でパリティ計算を行ない、データをディスクに書き込むのでライト・ペナリィティは発生しない。従ってRAMACシリーズでは従来以上のキャッシュを搭載する事がパフォーマンスの向上に大きな意味を持つことになる。



RAID6(独立アクセス、二重分散パリティ型データ・ストライピング)とRVA2


 StorageTekのシェーアドバーチャルアレイ(SVA)はRAID6を採用している。RAID6は、RAID5に二個目の独立したパリティブロックを追加している。





 

 上記の図では分散パリティイメージになっているが、SVAに於いて実際には、5データ2パリティ、13データ2パリティが採用され、パリティ・ディスクは固定となっているようである。二つの独立したパリティ技術を用い、それぞれ異なるアルゴリズムを用いるのでデータの可用性は抜群に優れていて、同時に二つのディスク障害が発生してもデータは利用可能である。しかしながら、パリティのために更にパックが必要となり、RAID5の場合よりライトペナリティは深刻になる。そのため、RAID6の更新パフォーマンスは極端に低下する。パフォーマンスの低いことと、実現の複雑さから、RAID6は多くのアプリケーションにとって実際的ではなかった。しかし、SVAではLSF(ログ構造ファイル)という手法を用い、ライトペナリティーの問題を回避した。





SVAのLSF(ログ構造ファイル)

LSFというのは、データが更新されると該当の場所のデータとパリティを更新しようとする従来のやり方と違い、新しいデータ、パリティが別の場所に追記される。この時点では古いデータ、パリティは消去されずに残っている。データをアクセスするためには必要なデータをアクセスする地図としてポインターを使用する。











LSFにおけるライトペナリティーの回避





 

LSFを用いれば、データを更新するプロセスは、従来の該当個所を更新するやり方に比べてオーバーヘッドは少なくなる。オーバーヘッドの減少はパフォーマンスの向上につながる。しかしながら、関連のあるデータ・レコードがディスク上必ずしも隣接して記憶されない。データを順次に読む場合、予想以上にシークが必要になる時がありえる。パフォーマンスの低下やスペースの有効利用のためには、SVA上のLSFファイルは再編成される必要がある。古いデータで占有されていたディスクスペースは、不要情報の整理(ガベージ・コレクション)により再利用のために解放されなければならない。これらの処理はRVA2自身が、ワークロードが高くない時に自動的に行なっている。その処理を効果的に行なう為にSVAのNCL(ネット・キャパシティ・ロード=実使用率)を、75%以下に押さえておく必要があるとされている
その2 魔法のDISK SVA

 SVAシリーズのDISKを使用していると、データセットのコピーもボリューム(PC風に言えばドライブ)単位のコピーも数秒で終わってしまう。しかも、コピーを実行しても実際の物理DISKは消費されないのだ。これは、SnapShotと呼ばれるユーティリィティ−を用いて実行される。
 SnapShotの仕組みを簡単に説明すれば、実際のコピーを作成しないで、前述したLSFのポインターをコピーして作成する事により実現する。つまり、ユーザーとかOSから見た場合にはコピーされたファイル、コピーされたボリュームのポインターが見えているが、その示す先は同一の物理データを指しているのである。コピー元、コピー先のデータが更新されると、その更新部分のポインター情報が書き換わり、整合性が取れるようになっている。この機能は非常にすばらしい物である。まず、SVAシリーズは物理容量に関係なく論理ボリュームを4096ボリューム作成することができる。この仮想ボリュームをバックアップに自由に利用できるのだ。そして、そのバックアップは数秒で終了し、しかも物理容量はほとんど増えない。例えば、通常の処理・業務において、すべてのデータの更新があると言う事は、極めてまれである。ごく一部のデータが更新されるにすぎない。それでもバックアップを行うときは、ボリューム全体、DB全体のバックアップを行う事がほとんどであろう。すると、わずかな更新の為に、たくさんのDISK容量を消費する事となる。それがいやだからテープに上げるという事になる。SNAPSHOTを用いれば、OSから見れば確かにDISKの消費量は増えて、そこにバックアップされたデータが存在するのであるが、実際には、ほとんど物理DISKは消費されていないのである






黄色のページの索引へ(コンピュータのページ)  IBM汎用機の話索引へ  ホームへ