あれは……そう、最初は SCSI ハードディスクの読み取りスループットを計測するだけの、簡単な仕事だった。
ブロックのサイズを変えて、 OS のキャッシュに収まらないように、ひたすら読み取りを繰り返しては時間を測るだけだったね。
簡単に予想がつくように、ブロックを長くするほどスループットが良くなるという結果が得られたよ。 OS の制限内最大の 512 KiB ブロックが最良だった。
そこから何を間違ったのか、あるいは最初から間違いだったのか。そのスループットを VOD サーバーに使う話になっていたよ。 SCSI ハードディスクを複数接続して、アプリケーション レベルでストライピングをかけて、複数の端末に MPEG ビデオを流そうって話だ。
そこからはいろいろと大変だった。非同期 I/O がないのに複数のディスクに並列アクセスしようっていうんだ。どうやって実現するか、そこは頭をひねったね。
結局ユニットごとにスレッドを貼り付けて、非同期 I/O に見せかけることにしたよ。全く無茶にも程があるだろう。
どうにかこうにか非同期 I/O のようなことができるようになった頃、今度は展示会でデモンストレーションをするという話が降ってきた。複数の MPEG ストリームを扱えるように、ディスク上の論理構造を適当にでっち上げることになったね。それは実行中のデータ追加も削除も考慮しない間に合わせに過ぎなかったが、ビットレートに基づいたブロックの先読みは実現していた。
実際、デモンストレーションはうまく行ったのだろう。いつの間にか商品化の話に膨らんでいたよ。データ管理機能すら実装していなかったのにね。
そのプロジェクトからは結局途中で離れてしまったので、その後どうなったのかは知らないが、ビジネスとして成功したという報道を目にしたことは一度もなかった。
これは、日本がまだそんなことに挑戦していた頃の昔話である。