lock-freeな人によるlock-freeトイレに関する考察

良いから実装しろ!
32

きっかけは突然に

SKS rep @repeatedly

今のオフィスのトイレのロックが粗すぎるんじゃないかという問題が上がっていて,是非lock-freeの人にlock-freeトイレをどうにかして欲しい所.

2011-07-28 13:41:05
鯉江 @koie

先に出したほうが勝ちなのか。いや出してレバーを引いたら勝ちなのか?負けたらやり直すのか? RT @repeatedly: 今のオフィスのトイレのロックが粗すぎるんじゃないかという問題が上がっていて,是非lock-freeの人にlock-freeトイレをどうにかして欲しい所.

2011-07-28 13:45:33
Noritsuna @noritsuna

すでに中国では開発されていた。ヒント:ニーハオトイレ QT @koie: 先に出したほうが勝ちなのか。いや出してレバーを引いたら勝ちなのか?負けたらやり直すのか? RT @repeatedly: 今のオフィスのトイレのロックが粗すぎるんじゃないかという問題が上がっていて,是非lo

2011-07-28 14:23:53
Takeshi Yamamuro @maropu

便処理をアトミックに行うと、lock-freeトイレが完成します @repeatedly

2011-07-28 22:19:44
SKS rep @repeatedly

皆lock-freeトイレ好きだな…

2011-07-28 22:47:04
mooz @stillpedant

「皆lock-freeトイレ好きだな」などと言われてヤバかった.

2011-07-28 22:55:38
くまぎ @kumagi

lock-freeトイレ…invariantで考えるとそもそもトイレを使わないという判断が素直だよな…。ペットボトルなどで別の場所で済ましてから、トイレの水を流すというアトミックな操作に混ぜてボトルの中身を投入するとか…。

2011-07-28 22:59:26
くまぎ @kumagi

obstruction-freeまで話を広げて良いなら、定期的に水が勝手に流れるトイレになれば、ノックして反応が無い≒中に人が居ないという紳士協定のもと、いずれinvariantを取り戻すという意味で普通のトイレを鍵かけずに使えば良いのでは。

2011-07-28 23:03:35
くまぎ @kumagi

wait-freeトイレを真面目に実装するなら、人の大便を代行するという画期的な技術さえ開発されれば大丈夫。トイレの個室に入り、より若いタイムスタンプでトイレに行こうと思った人の物から代行していけばいい。人数以上に追い抜かれる事は起こりえないので上限が証明できる。

2011-07-28 23:07:59
くまぎ @kumagi

@tima81 東京のピーFIという怖い会社の人が、自社のトイレのスループットを高めるためにlock-freeトイレの実用化を考えているようだったので実装手段を考察しているところです。

2011-07-28 23:30:02
茶目2023 @ma81iti

@kumagi 流石ピーFI、トイレまで高速化するとはww

2011-07-28 23:31:52
SKS rep @repeatedly

会社のトイレをlock-freeにするインターン

2011-07-28 23:43:36

再考を促すブコメ

kuenishi @kuenishi

ひとつの便器に複数人がアクセスすればよい=これまでのexclusive lockではなくshared lockにすればある程度スケールするという結論 / Togetter - 「lock-freeな人によるlock-freeトイレに関す… http://htn.to/ABe21B

2011-08-02 03:51:43
くまぎ @kumagi

@kuenishi shared lock取得下ではinvariantを守らなきゃいけないので、そもそもinvariantを守り続けられるトイレが必要です。流しソーメンのように常時流れ続けてるとか…。

2011-08-02 11:05:42

時は流れ真面目な考察

kumagi @kumagi_bot

ロックフリートイレについてご飯時だけど考察しちゃうぞー!

2011-08-02 11:55:14
kumagi @kumagi_bot

invariantというのは不変条件とも呼ぶもので、スレッドがアクセスして有効な操作を行う際に必ず満たされていると約束する条件のこと。lockを獲得できた瞬間と、それを解放する瞬間に必ず満たされている必要がある。

2011-08-02 11:57:27
kumagi @kumagi_bot

トイレで例えるなら、個室の便器に汚物が残っていない事と、局部丸出しの誰かが個室内に居ない事が不変条件で、逆にロックを獲得している間なら好きなだけうんこして構わない。人間の世界のトイレはそういう不変条件をみんなが社会のルールとして守る事で廻っている。

2011-08-02 12:00:35
kumagi @kumagi_bot

で、lock-freeトイレというのは、トイレの機能を持ちつつも、他人を締め出さず、なおかつ不変条件「他人の汚物が便器に溜まっている状態を見ずに済む」「他人の局部を見ずに済む」という2つの条件を守ったまま、いかにして下水までみんなの汚物を流すかを考えるという事。

2011-08-02 12:02:53
kumagi @kumagi_bot

まずobstruction-freeトイレから。これは「ある特定の瞬間に自分以外の人間が消えた場合にも問題なくトイレを使えるか」を意味し、トイレの個室が全部ロック済みで使われてる瞬間に世界がゴーストタウン化したらぼっちトイレ難民になってしまう。

2011-08-02 12:05:43
kumagi @kumagi_bot

これを回避するためには、トイレには鍵をかけずに使う事にし、使用前後で「ノックされた時に中に居たらノックし返す」というルールに基づいて鍵を排除することで、トイレ難民にならずに済む。そして他人の汚物は見たくないので、トイレの水は常時流れ続けている必要がある。

2011-08-02 12:07:51
kumagi @kumagi_bot

これなら世界が急に自分を残してゴーストタウンになってもトイレの個室の扉を開いたら「汚物を見ずに済む」し「誰かが下半身丸出しで座ってる状況にぶつからない」のでObstruction-freeの条件を満たす。

2011-08-02 12:09:33
kumagi @kumagi_bot

osbtruciton-freeトイレには欠点があって、トイレの中でセックスするアホが外からノックされた時のドキドキ感を嗜むプレイとか始めたら下水に誰の汚物も到達しなくなってしまったりして効率が悪い事。あと息んでる大事な瞬間にノックを返せなかった場合に個室からつまみ出されるなど。

2011-08-02 12:17:25