テクニカルノート
コンピュータ性能に関する法則(1)
グロッシュの法則
個人会員 新井 全勝
コンピュータの性能に関する法則(経験則)を紹介しながら考えてみたい。
「性能はコストの2乗に比例する(P = kC2 )」という法則がかって存在し、グロッシュの法則と呼ばれた。
ハーバート・グロッシュ(Herbert Grosch)が1965年に提唱したコンピュータの性能に関する法則(経験則)である。この人は、米国航空宇宙工学会(A I A A)や米国計算機学会(A C M)の会長という要職を務めた人である。
この法則は、その根拠が説明されなかった。1968年,K.E.ナイトという研究者が「コンピュータ性能の進化,1963-1967」という論文を専門誌『データメーション』に投稿して明らかになったのである。
彼は,40年代のハーバード・マークⅡ,ENIACから,60年代のC D C,ユニバック,I B M,バロースの大型機にいたる310種のシステムを対象にし,ここにグロッシュの法則が成立していることを実証したのである。これらのモデルはのちにメインフレームと呼ばれるようになる(「グロッシュの法則,グロッシュの予言」名和小太郎 『情報管理』2011、vol.53、No.10)。
グロッシュの法則の意義
たとえば50,000円と100,000円のコンピュータの性能比は25:100となるため、コンピュータは予算の許す限り高い物を買った方が、性能対価格比で有利であるとする法則である。
この法則に基づいてコンピュータの開発計画は推進された。すなわち、開発指標とされたのである。そして、コンピュータはどんどん大型化された。営業的にも、大型機の方向に勧誘しやすい状況にあった。
一方、ユーザからみると、特にコンピュータの管理者は、予算の許す限り高いコンピュータを購入した方が性能的には有利であることを意識する必要があった。
しかし、購入したコンピュータの価格は高額のため、3交代勤務で連続運転するように努めたり、大型コンピュータセンタを設置して多くの人が共同利用したりして投資効果を向上させることを求められた(「グロッシュの法則,グロッシュの予言」名和小太郎)。
東京大学 大型計算機センタの例
1965年に東京大学本郷キャンパスに全国共同利用の大型計算機センタが設立され、外国機を押しのけてH社の開発した、当時、日本最新鋭の純国産汎用大型コンピュータが設置された。
このコンピュータの開発により、日本のコンピュータ性能は外国機に匹敵するようになった、といわれる。
因みに、そのコンピュータは、小生たちが直前に使っていたコンピュータの1,000倍の性能であり、初めて使ったときには、その速さに目を見張ったものである。機械命令の実行時間はmsからμsのオーダにシフトした。それでも、すぐにμsの世界で速いとか遅いとかの議論をするようになった。
世代的に云えば、トランジスタの第2世代、それもラストに近かった。
OS、当時はOSという用語がなくモニタと呼んでいたが、マルチプログラミング方式で、バッチジョブの連続処理を実行できる、本格的なものを開発し搭載していた(小生はモニタ開発のメンバであった)。
特に大型計算機センタでは、
- カード・ツウ・磁気ドラムの入力スプーリングユティリティと磁気ドラム・ツウ・プリントの出力スプーリングユティリティを並行処理するサブコンピュータ
- 科学技術用言語FORTRANで記述したソースプログラムを磁気ドラムから取り出し、コンパイル(翻訳)して実行し、結果を磁気ドラムに出力する、いわゆる「compile and go」ジョブの連続バッチ処理用の主コンピュータ
- 前述の2台のコンピュータをオンラインで連動させる2コンピュータ構成の運用形態を採り、磁気ドラム(のちに磁気ディスク)を主コンピュータとサブコンピュータとで共有させる。
- ①サブコンピュータの入力スプーリングユティリティで入力された「compile and go」ジョブ(カード)は共有磁気ドラムに出力され、キューイング(保管)される。
②キューイングされたジョブは主コンピュータで共有磁気ドラムから取り出されバッチ処理されてその結果は共有磁気ドラムに出力され、キューイングされる。
③その出力結果は、サブコンピュータの出力スプーリングユティリティによって共有磁気ドラムから取り出されプリンタに出力される。
この①、②、③の処理は各々独立して実行されるが、①、②、③の処理が共有磁気ドラム上の2本の待ち行列、すなわちジョブ待ち行列と出力待ち行列を介してジョブや出力結果が自動的にコンピュータ間で受け渡され、連動されて一つのジョブがバッチ処理される。
当時としては、世界でも最先端の運用形態であり、高いスループット(単位時間に処理できるジョブの件数)を誇った。
このモニタは、当時の大型計算機センタ長である教授からBランクと評価された、ということを上司から聞いたことがある。
その理由は、機能的にはよくできているが、モニタが16KBもメモリを占有し、高価なコンピュータのメモリをすべてユーザに使わせないから、ということであった。(メモリ容量、性能などがカタログには書いてあるが、それらはユーザがすべて享受できるものではないという言い分である)。
因みに、AランクはFORTRANコンパイラであった。その主任設計者が米国の学会誌『CACM(Communication of the ACM)』に投稿した論文は、引用が1970年代にトップレベルであったことで知られている。
このコンピュータは、霞が関ビルの耐震構造の計算に使われたり、当時の郵政省通信研究所で推進されていた電子交換機の開発などにも使われた。
バッチ処理は高価なコンピュータを有効利用する運用形態として生まれたものであるが、大型計算センタの運用分析の結果から、ターンアラウンドタイム(ユーザが送付したジョブがバッチ処理されユーザの手元に戻るまでの時間)に問題があることが明白になった。
例えば、北海道から郵送されたジョブをジョブ処理は1分で終わったとしても、郵送に片道2・3日、往復4・6日、包装を解いてカードリーダにセットアップする、あるいは印刷されたプリント用紙を分離し包装して送り出すことを考慮すると、一週間は掛かってしまう。
ましてや開発中のエラーを含むプログラムの場合、そのターンアラウンドタイムという待ち時間はあまりにも長過ぎるのである。
このことは、ものごとは一つの大きなネックが解消されると、隠れていたネックが現れてくることを示している。
こうして、上司は、ターンアラウンドタイムの問題を解決するために、大型コンピュータに多数の端末を回線接続して対話処理をする、いわゆるタイムシェアリングシステムの開発へと舵を切ったのであった。日米の大学や研究所間で、現在のパソコンやサーバの源流である対話処理モデルとなったOSの開発競争が展開された。
グロッシュの法則の終焉
やがて、グロッシュの法則にも終焉の時がくる。
1970年代半ばに、「システムが分化し,メインフレームの上位にスーパーコンピュータが,下位にミニコンピュータとマイクロコンピュータとが出現した」(『CA C M』「グロッシュの法則,再考」P.アインドール、1985年)ことにより、グロッシュの法則が成立しなくなった。
- スーパーコンピュータCray-1の開発
シーモア・クレイがCDCから独立して設立したCray社の第1号Cray-1は高性能を誇ったが、高速化のために、複数の演算回路を並列化し、それらの制御回路がそれ以上に複雑化してコスト高になったといわれ(『ウィキペディア』グロッシュの法則)、P < kC2となり、法則は成立しなくなった。 - パーソナルコンピュータ(PC)の登場
米MITS社が1975年に発売した組立キット「ALTAIR」がPCの嚆矢とされる。ICがLSIに進化しワンチップマイクロプロセサが誕生し、メモリもIC化され、半導体技術の進化により、PCの量産効果が大きく働くと、法則が示すよりも高性能になる、すなわちP > kC2、という形で法則から外れるようになる。
PCの性能の進化は目を見張るものがあり、最新のPCに使用されているCPUは昔のスパコン並みと言われているが、これは次回解説する「ムーアの法則」が大きく貢献している。 - メインフレームの開発技術の進化
PCの量産効果はメインフレームの開発にも影響する。
メインフレーム本体は1チップマイクロプロセサを多数使って構成され、メモリもIC化されるように技術進化し、PCと同様に、法則が示すよりも高性能になる、すなわちP > kC2、という形で法則から外れるようになった。