随筆:「老いて軒昂」

by ご近所のきよきよ


師走となりました。読者の皆様、今年を締めくくるべく、慌ただしい毎日のことと拝察いたします。当ホームページも公開して半年となりました。今後ともどうぞよろしくお願いいたします。

さて、私のメインの作業はプログラム作りです。プログラムをあれこれ作りながら技術の発見に努めています。システム作りの遊撃手とでもいいますか、技術を整理して、世の中のためになればと・・・。


例えば、データフロー計算機という、並列処理技術がありますが、それをソフトウェア的に実現しようとあれこれ考えてきました。元々の発想は、並行処理を簡単にできないかということで、データフローに注目したわけです。人工知能では曖昧性を克服することが重要な技術で、そのために多くのプロセスを作り、組み合わせなくてはなりません。で、プロセスとプロセスの組み合わせ作業を分離し、データフローを自由に設計できるようにしようということでした。

プロセスもメモリということ、ファイルも物理装置から切り離しメモリということで、計算機間再配置可能にする。・・・ということは直ぐに決まりましたが、そのほかのことは難渋しました。実際にもの作りしていなかったので、今のレベルから見ると、初期の頃の仕様は児戯に等しいことと感じます。

結構、オリジナルかなと自信があったのですが、この頃、メインフレームのジョブ制御と同じだなと気づきました。ジョブ文がデータフローを表現し、プログラムがプロセスですね、これをオブジェクト指向的にメモリと考えればいいのです。確かに、きめの細かさの違いはあるのですが。また、このレベルを超えて、もっと深いものが、データフロー計算機にはあると直感しますが、それがはっきりするのには、多くの並列処理を人工知能で実現していく中から発見していくしかないわけです。全くの幻想に終わることだってある。今のJavaのスレッド技術で十分という解答があっても変ではない。だから、そんなことを真面目に考えるのは遊撃手のお仕事でしょう。

実際、データフロー計算機をソフトウェアで実現すれば、グリッドと組み合わせたときに大きな効果があると思うのです。ジョブでなく、プロセスあるいはスレッドのレベルで、実行計算機を変えることができる。プロセス内ではメモリという再配置可能なものしか意識する必要はないからです。というか、OS設計でデータフロー的に考えれば、再配置可能なノードとか、再配置不可能ノードとか管理しやすいでしょう。物理装置とか、データベースとかにメモリがくくりつけられていたら、再配置不可能ですよね。それらのコピーのある装置を管理して、その間では再配置できる、・・・なんて細かい管理も実現できるでしょうし。

富士通のSystemwalkerがこのようなことを実現したというようなことが記事にありましたが、スレッドのレベルで実現しているのでしょうか、ジョブのレベルで実現しているのでしょうか。取り寄せて試してみるというような資金も時間も無い身ですので、不勉強をかこっています。


技術者はやはり、実際にものを作らねば技術も発見できないわけです。実際に当たってみないと分からないことって多いです。

画像に拡大をスマートに実現したいということで、イメージを空間周波数でフーリエ変換して、そこから戻すときに木目を細かくしていくことを思いつきました。アイデアはよくって、結果は良好だったのですが、処理が遅くて。ちょっとした画像でもパソコンが30分ぐらい停止してしまったかのようになります。cosやsinを毎回毎回計算しているという、ヘボだからです。細かいことを真面目にやってる時間無いし、もう高速フーリエ変換という確立した技術ありますから、先を急ぎました。


再来年までには技術を蓄積して、ワークステーションでも買おうかと思っています。デュアルコアを2基搭載なんてのがあるはずです。3GHzとして、ハイパースレッドだと同時に8スレッドが動く。今の手持ちのパソコン1GHzだから、単純に24倍も性能が上がることになります。欲しい。

などと、夢を追いながら、深夜頑張っています。今日も「紅の豚」のCDを聞きながら、夜更かししています。「アドリア海の青い空」、掻き立てるものがありますね。聞いていると昔頑張った多くの仕事のことが浮かんできます。そんな経験を踏まえて、それらを見下ろしながら今も頑張っている。ロマンだなぁって。人間て、何歳になっても自己中心的にものごとを考えられるから、くじけずに頑張れる。50歳半ば過ぎてもロマンを追える。若いときには、年取ったら、大したことができないだろうなんて思っていましたが、今は、若いのは未熟と見えます。危なっかしいと感じます。「プログラム作りできない豚は、ただの豚だ」と今日も頑張る私でした。


50代万歳!60代万歳!


「不夜城の 師走の空に 月冴えて」