Hatena::ブログ(Diary)

Lunarfactory このページをアンテナに追加 RSSフィード

September 28(Tue), 2004

トイレで学ぶわかりやすいパイプライン(アーキテクチャネタ)

| 14:52 | トイレで学ぶわかりやすいパイプライン(アーキテクチャネタ)を含むブックマーク トイレで学ぶわかりやすいパイプライン(アーキテクチャネタ)のブックマークコメント

劇的にワロタが、矛盾なしですんなり入っていけるので。

出典:http://pc5.2ch.net/test/read.cgi/jisaku/1082357989/


155 :・良く分かるパイプライン :04/04/26 17:20 ID:B6tZVOSS
「おしっこをして手をあらってでてくる」。
トイレが一室しかないと混雑時は長蛇の列ができます。

1.おしっこをする
2.手を洗う。

二段のパイプにすると、手を洗ってる間に別の人が用を足せるようになります。
トイレ一室で二人が気持ちよくなれて、効率が倍になります。

もうすこし深くしてみましょう。

1.ジッパーを下げる
2.ちんちんとりだす
3.放尿する
4.しずくを切ってちんちんしまう。
5.ジッパーをあげる
6.手を洗う
7.紙を使って手をふく

7ステージに分解すると、なんと 7人が同時に処理できます。
これがパイプラインです。


156 :・良く分かるスーパスケーラ :04/04/26 17:21 ID:B6tZVOSS
トイレの利用はおしっこだけではありません。
うんこもします。どういう手順でしょうか。

1.ジッパーを下げる
2.ズボンパンツを下ろす
3.便器に座ってふんばる(出す)
4.汚れた尻を拭く
5.ズボンパンツをあげる
6.ジッパーを上げる
7.手を洗う
8.紙を使って手を拭く

前半と後半は同じ処理ですが、途中がおしっことは別処理です。
ということは、小便器と大便器をわけると、途中は並列に処理ができそうです。
うんちとおしっこは処理時間が異なるので、手を洗ったりする所でどっちかが待たされる事もありえますが、理想的には効率は倍になります。

これがスーパスケーラです。

157 :・良く分かるスーパパイプライン :04/04/26 17:22 ID:B6tZVOSS
うんこする時間と、ズボンパンツを脱ぐ時間は同じでしょうか。
いいえ、うんこする時間のほうが圧倒的に長いです。

ということは、前の人がうんこしてる間パンツを下ろす人は尻をだしたままぼ〜とまっていなくてはいけません。かかる時間考慮してみましょう。
括弧内は、実際に処理に必要な時間です。

1.ジッパーを下げる(5秒)
2.ズボンパンツを下ろす(20秒)
3.便器に座ってふんばる(60秒)
4.汚れた尻を拭く(30秒)
5.ズボンパンツをあげる(20秒)
6.ジッパーを上げる(5秒)
7.手を洗う(60秒)
8.紙を使って手を拭く(30秒)

パイプラインは、1ステージ毎タイミングを合わせて処理をします。
一番時間がかかる処理は、例では60秒ですから、トイレにはいってから出てくるまで60秒x8回、480秒の時間がかかります。



158 :・スーパーパイプライン(続き) :04/04/26 17:23 ID:B6tZVOSS
ちょっと発想を広げ、時間のかかる処理を分解してみましょう。

1.ジッパーを下げる(5秒)
2.ズボンパンツを下ろす(20秒)
3.便器に座る(10秒)
4.一回目ふんばる(30秒)
5.二回目ふんばる(30秒)
6.汚れた尻を拭く(30秒)
7.ズボンパンツをあげる(20秒)
8.ジッパーを上げる(5秒)
9.手に石鹸をつけて泡立てる(30秒)
10.泡を洗い流す(30秒)
11.紙を使って手を拭く(30秒)

ステージ数は増えてしまいましたが、1ステージにかかる時間は30秒と半分になりました。クロックでいうと倍のクロックに出来ることになります。

トータルでかかる時間はどうでしょう。30秒x11で 330秒ですね。
前より早く処理が完了しました。しかしクロックが倍になったけどトイレにかかる時間は半分にはなりません。

これが、スーパパイプラインです。

159 :・緊急事態発生 :04/04/26 17:24 ID:B6tZVOSS
あなたは今、これから迎えるであろう至福の時を迎える為にパンツをおろし、あとは出すだけという所です。しかし!あろうことか神の声が轟きます。

「なにをしている、ここは女子便所だぞ」

条件判断ミスです。あなたの後ろには、つられて入って来てしまった数人の男性が、ジッパーをさげズボンを降ろし、尻をだしたまま待っています。
しかし、ここで用を足すわけにいきません。あなたは数名の男性と共に廊下にほうりだされます。

あなたはもう一度、正しいトイレにいってジッパーを降ろす所から始めなくてはいけません。

一方女子トイレはというと、あなた達がほうりだされた事により三つの席が空いてしまいました。ステージは規則正しく順番に進みますから、この席はもう埋まりません。
三つ分の埋まっていない席の為、女子トイレは利用されることなく無駄な時間が経過するでしょう。

その分、女子トイレの利用率は下がります。
これがハザードです。


160 :・その他の危険 :04/04/26 17:25 ID:B6tZVOSS
トイレの危険はまだまだいっぱいあります。
トイレットペーパーが無くなったらどうでしょうか。尻を拭くことが出来ず、それ以降のステージは凍結してしまいます。

手拭きのペーパータオルが無くなる危険もあるし、汲み取り式のトイレだと肥溜めがいっぱいになってしまう事もあるでしょう。

その度にあなたは、本来やりたかった放尿を一時中断し、紙をとってきたり汲み取ったりしないといけません。

本来は放尿や脱糞だけできればどんなに気持ちの良いことか。
そこで、トイレ掃除の人を雇って紙の補充をしてもらったり、汲み取り業者を雇って定期的に組み上げてもらいます。お金がかかりますが知っちゃこっちゃありません。それで本来の目的が気持ちよく遂行できるなら安いものです。

そう思うでしょう?


161 :・依存関係 :04/04/26 17:26 ID:B6tZVOSS
トイレが汚いとあまり気持ち言いものじゃありません。
知った人が前にすましてたら、そのトイレがきれいかどうか聞いてみるといいですね。
でも、その人がトイレから出てくるまで聞けませんから、待ってる事になります。
折角11ステージにも増えて、同時に11人処理できるトイレも、入って来てくれなければ利用率は下がります。

あなたと連れが二人います。
一人がトイレに行きました。あなたともう一人の連れは入りたいけど綺麗か気になります。

この時、全体にかかる時間

1.一人目の連れがトイレに入って出てくるまで 330秒。
2.トイレがきれいか確認してあなたが入って出てくるまで更に 330秒。
3.もう一人の連れは、あなたに続いて入れるので出てくるはあなたから30秒遅れ。

聞かずに入れば330+30+30で390秒で済む所が、トータルで690秒もかかってしまいました。

これが依存関係です。


162 :・リオーダ :04/04/26 17:27 ID:B6tZVOSS
そこで、トイレがきれいか同か聞かなくてもいい人を先に通してみるとどうでしょう。
どうせあなたは10ステージ分経過するまでトイレには入れないんです。

丁度バスツアー観光バスサービスエリアに到着しました。あなたと、もう一人の連れとの間に並んでます。おばはんは男トイレでも気にしません。

処理時間はどれだけでしょうか。

1.一人目の連れがトイレに入って出てくるまで 330秒。
2.トイレがきれいか確認してあなたが入って出てくるまで更に 330秒。
3.あなたの後ろに並んでしまったおばはんが10人。入りきるで300秒。
4.もう一人の連れはその30秒後にトイレに入れるので、入れるのは
 あなたが入ってから330秒遅れ、さらに330秒の処理時間

あなたのグループはトータル 990秒かかります。
おばはんは、あなたが入った後にしか入れませんから、330+30で360秒後にトイレにはいって、全員がでてくるのは330秒後ですから、690秒後です。

先におばはんをいれてみたらどうなるでしょう?

1.一人目の連れがトイレに入って出てくるまで 330秒。
2.一人目が入って30秒後におばはんが入り始めて10人入るのに300秒。
3.トイレがきれいか確認してあなたが入って出てくるまで更に 330秒。
4.もう一人の連れは、あなたにつづいて入れるので出てくるのはあなたから30秒遅れ。

あなたのグループは、トータル690秒で済みます。
おばはんは30秒後にははいってますから、なんと360秒後には全員でてきています。

処理を入れ換えてあげると、トイレの利用率はあがり全体の処理時間が短縮されることがあります。これがリオーダです。


163 :・いろんな工夫 :04/04/26 17:28 ID:B6tZVOSS
大勢が素早く滞り無く気持ちよくなる工夫はいろいろあります。
トイレを二部屋用意するとか(Dualトイレ)、使用中のトイレ行列ができないように振り分けて上げるとか(Threadコントロール)、トイレに待合室とかつくっておくと(Cache)、すれ違え無い程廊下が狭くてもまとめて入室させたり退室させれば(WriteBack)混乱は減りますね。


とここまで書いておいて、トイレを流すのを忘れていたことに気がつきました。
くさいです。ちゃんと流しましょう。

(中略)

174 :Socket774 :04/04/27 14:04 ID:Y/apR8OO
プレスコは30人が1つのトイレに入れるっつーことだな。


175 :Socket774 :04/04/27 14:23 ID:PxKlASst
>>174
という事は最初の一人が早速つまずくと、30人目はそのうち我慢できなくなってお漏らししてしまう罠(w

CPUもあまり待たされた命令はスキップしてしまったらどうだろうか。(ヲイヲイ)


176 :Socket774 :04/04/27 14:26 ID:dlsf7sWb
P6 はオシリからうんこの頭が見えた人からトイレに入るように改良した。
これがアウトオブオーダだよ。

177 :Socket774M :04/04/27 15:11 ID:ky1zUeX2
>>174
プレスコット、というより、NetBurstの偉大な点は、排泄行為をまったく別のものに置き換えた点にあります。

高性能な人工透析器を別途配することにより、腎臓>膀胱>放尿といった古来よりつづく非効率的なプロセスを、連続的な透析により完全にカバーし。かつ(局所的な時間帯に限って言えば)滞る事無く処理が可能となります。

また、人工透析器に繋がっている間は新しく体内で尿毒素が発生しても、ちんちんをだしたりしまったりという放尿に伴う予備作業を行わずして処理を繰り返すことも可能となり、ここでもさらに効率が上がります。

また人工透析器をより高性能なものに交換することや、人工透析器への接続方法を改良することはまったく独立して行えますので、将来の改良も容易になるという利点も生みます。

通院し人工透析器に繋がるまでは若干の労力と時間を要しますが、それは些細な問題です。

NetBurstにおける目的はあくまで体内から尿毒素を排出することにあり、効率的に排出できるのであれば、それは目的に対し完全な勝利だからです。

178 :Socket774 :04/04/27 18:03 ID:dlsf7sWb
>>177
それでも昔ながらのやり方が好きな人の為に普通の便器も置いてあって、実はそっちの方が人気があるのは秘密だよ.

完璧にオチてます。こういうスレ好きだ。

トラックバック - http://d.hatena.ne.jp/lunark/20040928/1096350772
Connection: close