見出し画像

The Emulator - ザ・エミュレータ - #5

1.5 デバックレベル7

 アールシュは考え事をしながら研究室の中心に置かれたデスクに向い、椅子に深く腰かけ背をそらせる。サーバルームと同様に建物の中心に作られた研究室は廊下とは真逆で窓が一切ない。コーヒーを一口飲んで息をついた。

 ふいに思いついて座り直し、ターミナルを操作する。検証用エミュレータの一部の区画のデバックレベルを7にあげて、トレースログを全てダンプする設定に変更する。モニタリングビューにトレースログが高速で流れる。無意識に出た舌打ちが部屋に響く。夜の研究室はとても静かで一人を感じさせる。追い打ちをかけるように昼光色の青白い光が気分を沈めるようだった。コーヒーをもう一口飲み気を紛らわせる。目視できるように標準出力にトレースログを流していたターミナルを強制終了し、別のターミナルから接続し直した。

 エミュレーションを実行する際、通常はプロダクトモードとして起動する。プロダクトモードのデバックレベルは0で、トレースログにエラー以上がダンプされる。シグナリングなどのインフォメーションは出力されない。それはモニタリング処理を極力減らし、エミュレーション処理自体に影響を与えないようにするためのヴィシュヌの仕様だった。

 ヴィシュヌのエミュレーションアーキテクチャは、区画ごとに演算装置が分かれている。そのため、エミュレーション対象のオブジェクトが区画間を移動する場合、演算装置の切り替わりも発生する。そしてそれは演算装置の切り替わりを円滑に行う機構が必要になるということを意味する。演算装置が隣接する区画分も演算も行っていれば、切り替えも簡単に行えるがそれではリソースが莫大に必要となってしまう。重複する無駄なリソースを使わないようにするため、実際には隣接する複数の実演算装置で構成される『仮想演算装置』を利用する。仮想演算装置は区画の境界領域を境にどちらか片方の実演算装置が仮想演算装置上の処理を引き継ぐという機構を備えている。そして、対象のオブジェクトが移動する可能性がある区画は2つとは限らない。この仮想演算装置の機構は対象を数か所から数百か所で共有することができる。

 トレースログを全て吐き出す状態で検証用エミュレータを稼働し続け、1時間ほどが経過していた。高デバッグレベルに設定した区画では演算装置の25%ほどのリソースがダンプ処理に割かれている。ディテールを確認すると演算リソースのほとんどはI/O(インプット・アウトプット)待ちに費やされている。エミュレーション環境の物理現象を確認するために観測ビューを起動する。アールシュが昼間訪れたウィルコックス近郊の荒野が描画される。観測ビューに15%程度の低下がみられる。デバックレベル5以上では、低下した処理や過剰な処理が自動修正されない。その状況をあえて発生させたいことがあるからだ。

 トレースログを出力しているプロセスをマニュアルでKILLする。しばらくするとプロセスは自動で起動してしまったのでトレースログを出力する実行プログラムを変更する。ログ出力処理自体は変更せずにログのダンプ先を/dev/nullに捨てるように変更した。処理は動き続けるがダンプによるI/Oは発生しない。疑似的にダンプ処理をスタックさせた状態を再現させ、再度プロセスをKILLした。新しい実行プログラムから生成されたプロセスはデバックレベル7のままだが、起動した後に処理を行っているものの、トレースログは出力されていない。観測ビューを見ると今度は25%ほど過剰に処理が行われていた。そしてアールシュは観測ビュー用にフォーマットされたセグメントの一片のブロックにゼロ埋めしたデータを流し込み論理破損を発生させる。

 アールシュが見ている観測ビューの一ブロックが描画されなくなり白い欠損箇所が現れた。アールシュはトレースログを表示しているターミナルをモニター越しに見る。ログ出力が止まったままでブロック破損を示すエラーログは出力されていない。ターミナルは処理が完了して、入力待ちであることを示すプロンプトが点滅し続けていた。

 アールッシュは時折片手、それでも足りなければ両手で口を覆い、こみ上げてくる笑いを押し殺しながら自分が何か大きな思い違いをしていないか確証を得ようとオプシロン社の社内機密用のオフラインエージェントAIに接続した。

 DC建設予定地で見聞きしたボイスメモ、一連の動画、着目した静止画像、ボーリングの地質データをアールシュのPA(Personal Agent AI)経由で整形せずにローデータのままアップロードする。次に、今さっき取得した通常運用時とデバック時の検証エミュレータのデータを入れ、アールシュの抱いていた直感をPAに言語化させ、オプシロン社のオフラインエージェントAIのプロンプトに入力した。

 PAもオフラインエージェントAIもおおよそ同じ結果を示していた。そして、この事態が修正されないということは、デバックされているにも関わらず、異常を検知する仕組みがない、または検知した異常を確認する観測者がいない、あるいはその両方ということになると付け加えられていた。

 それはアールシュの見解と同じだった。そして管理者がお守もせずにエミュレータを放置すればどんな悲惨なことが起こるか、アールシュは十分に理解していた。いずれ大きな問題が発生するという恐怖と、この世界がエミュレータであるという仮説を検証するための手掛かりをついに得たという喜びで、アールシュは背筋から首筋に抜ける震えを何度も感じていた。

次話:1.6 イーサン・エヴァンス
前話:1.4 ヴィシュヌプロジェクト

目次:The Emulator - ザ・エミュレータ -


この記事が気に入ったらサポートをしてみませんか?