トップページ | 2000年8月 »

2000年7月

最近のCPUと仕事の進め方の相似関係

こんなことを書いたら上の人は怒るだろうなぁ。

今の仕事場に来てそろそろ9ヶ月。なんとなく仕事の雰囲気がわかってきた気がします。今、自分が担当している仕事は会社の中でも割と忙しいところのようで、新製品の対応に日々追われています。そんななかで、ふと、今の仕事の進め方は最近のCPUに似ているなぁということに気が付きました。

1.パイプライン動作:これはどこでもそうですね。一人が何から何までやるということは極めて少なく、いろんな部署に仕事が流れて行って、その部署のなかでも流れ作業のように業務が流れています。

2.同時実行:これも複数の実行ユニットを持っていれば簡単にできます。とくにウチの会社のような場合、いろんな製品を扱っていて、それがお互いに関係がないので、いくつもの新製品が同時に流れています。

3.分岐予測と投機実行:この辺からアヤシイ雰囲気が漂い始めます。最近のCPUではパイプライン動作をするためにコードのなかに分岐命令があった場合、どっちにジャンプするかを予測して実行するみたいです。これをやらないとパイプラインを効率よく使えないからです。これはこれでいいのですが、現在の仕事場でも分岐予測と投機実行が行われています。この場合の投機実行はやっておかないと納期に間に合わないからです。分岐予測は完全なカンであることが多いので、よく外れますし、外れた場合のペナルティは大きいです。そこで、最近のVLIWなCPUは分岐先をすべて実行してしまって、分岐先が判明したら正解以外はみんな捨ててしまう、ということをやることがあるみたいです。これを実際の業務に適応すると大変なことになりますが、分岐の判断がギリギリの場合分岐先の処理をすべてしておかないと間に合わないことがあり、実際にこの技を使うこともあります。

4.逆順実行:特に関連のない命令が並んだコードを実行するときに、簡単に実行できるものは先に実行する、もしくは前の命令の結果に依存したコードはちょっと待っててもらって、関係のないコードを先に実行する、ってのが逆順実行(Out Of Order)です。CPUのように、依存関係のない業務なら逆順実行してもぜんぜんかまわないのですが、そうでない場合も逆順実行をよく行っています。たとえば何かを行う場合、依頼文書が来て、それに対してアクションを起こす、ってのが正式な手順ですが、依頼文書が来ることを前提にアクションを先に起こしてしまうことが多々あります。これも正式ルートを取っていると納期に間に合わないためです。

こうしてみてみると、完全に納期最優先な動き方をしています。たしかに納期は大切ですが、そのスピードに対応する仕事の仕組みもないのに無理矢理仕事を流している、って感じがします。破綻しなければいいのですが...

| | コメント (0) | トラックバック (0)

高校の同窓会

高校の時の同窓会がありました。高校では、2クラス65人が同じコースだったので、同窓会も2クラスが一緒になってやっています。前回からは3年ちょっとのあいだがありました。僕自身は前回不参加だったので、5年ぶりになります。

今回は、恩師にも出席頂いて、非常に有意義な同窓会でした。しかし、先生というのは毎年毎年何十人も教えているのに、ちゃんと顔と名前を覚えているものなんですねぇ。3人の先生がいらしたのですが、3人とも僕のことを覚えていてくださいました。もっともデキの悪い手のかかる生徒だったからかもしれませんが(^^; 特に3年生の時の担任だったS先生がお元気そうでなによりでした。

2次会まで含めると朝の6時までわいわいやっていました。ほとんどの人が何年も会っていない人で、昔話や最近の状況など、朝まで楽しく情報交換しました。次にみんなに会えるのは何年後かわかりませんが、楽しみですね。

| | コメント (0) | トラックバック (0)

トップページ | 2000年8月 »