深夜のDAGの議論のまとめ

ヒントになってるから、時々見ること。
3
Suguru ARAKAWA @ashigeru

@okachimachiorz Hadoopクラスタが空いてる時間帯に、自己最適化のプロセスでもぶん回してればいいんじゃないですかねw>部分グラフ同定

2010-07-15 00:11:16
@okachimachiorz

@masayh なるほど、循環は気をつけないとまずいですね。ちょっと、いろいろ試してみます。

2010-07-15 00:11:50
Shinpei Ohtani @shot6

開発時にはアトミックなジョブフローだけ意識させたいですね。実際に複数のMRにおちてることを意識させたくない。

2010-07-15 00:13:42
Suguru ARAKAWA @ashigeru

@shot6 ジャーナルを暗黙に書き出すのが問題になる、というのは、処理オーバーヘッドとか、ディスクスペースとか、そういった話でしょうか?

2010-07-15 00:14:02
@okachimachiorz

@ashigeru また出ましたか。そのMRをMRで解くみたいなw。なんつかー。分散ってのは自己相似的なものが好きですねw。

2010-07-15 00:14:04
Shinpei Ohtani @shot6

@ashigeru @okachimachiorz ああ、同じイメージですね。ですが、同期で待たせるのが必ずしもよいかわからないです。Hadoopは投機的実行が肝だと思ってるんで先行実行とか出来る余地ってないんですかね。

2010-07-15 00:15:30
Shinpei Ohtani @shot6

@ashigeru いや、暗黙に書き出すのが問題というか、チェックポイントなんで、設計時に明確に図示しないといけなくて、それって純粋なDAG上に図示できるのかなあという疑問です。これは絵を描きながらじゃないとうまく説明できないw

2010-07-15 00:16:47
@okachimachiorz

まーあることはあるのだが・・・非決定論的な発注システム案も某所からもらっているが。・・・ほとんど神の領域。RT @shot6: @ashigeru 先行実行とか出来る余地ってないんですかね。

2010-07-15 00:19:36
Suguru ARAKAWA @ashigeru

@okachimachiorz JITコンパイラもマルチステージプログラミングも、文脈情報を元にいかに自身を最適化するか、って言う分野なので、業務処理のついでに業務改善してるようなクラスタがあっても面白いんじゃないかとw

2010-07-15 00:19:46
Shinpei Ohtani @shot6

@okachimachiorz @ashigeru Self-recovering はLADISのドキュメントにも書いてありまたよ。Loose coupling, self-recovering, weak consistencyだそうで。

2010-07-15 00:19:52
Shinpei Ohtani @shot6

@okachimachiorz @ashigeru なるほど。1つのMRでは投機的実行は可能だけど、MR束ねたジョブフロー全体でそれが可能なのかが見えてなかったんですけど、やめといたほうがよさそうですねw

2010-07-15 00:21:10
@okachimachiorz

@shot6 できると思う。vertexがMRである必要はないので、CPライクな処理をそこで行うという記述をすればいい。または特定vertexの終了条件に加えるという手もある。

2010-07-15 00:21:18
Suguru ARAKAWA @ashigeru

@shot6 もし完全にDAGで業務がかけるなら、データフローの依存関係の解析も部分的にはできるはずですので、外部環境に影響を与える手前のノード(危険辺)までは投機的に動けると思います @okachimachiorz

2010-07-15 00:21:29
@okachimachiorz

@ashigeru まー実際そういう話なんだけどね。それはある意味人間様が考えるのを放棄してるわけで・・・w。

2010-07-15 00:23:13
@okachimachiorz

まー、一応出来るんだけど。まさに「投機的実行」なわけよw。RT @shot6 @ashigeru MR束ねたジョブフロー全体でそれが可能なのかが見えてなかったんですけど、

2010-07-15 00:24:56
Suguru ARAKAWA @ashigeru

@shot6 把握しました>チェックポイント。やっぱりCheckpoint/Recoveryみたいな記述は人類向けでないっぽいので、部分的なDAGをまるっとトランザクションスコープに入れるようなイメージであの図を描いてました

2010-07-15 00:25:04
Shinpei Ohtani @shot6

@ashigeru @okachimachiorz それが出来るのであれば、かなりの性能が出るでしょうね。外部影響ぎりぎりまで計算し尽くせるのは大きなメリットになりそう。vertextがMRでないことがあるのも一理アリですね。

2010-07-15 00:25:48
Suguru ARAKAWA @ashigeru

@okachimachiorz 人間はConfirm Dialogで「はい」と答える仕事が残ってますよ!という冗談はともかく、ヒューリスティックパラメータの指定、何らかのブレークスルー、最終的な確認あたりはやっぱり人間様が必要かと。

2010-07-15 00:27:05
Shinpei Ohtani @shot6

Checkpoint/Recoveryみたいな記述は人類向けでないっぽいのは同意なんですが、ヒューリスティックな部分が必ず出てくると思うんですよね。そことどう折り合いをつけるかが大事だと思うわけで。つまりはそういう余地。 @ashigeru @okachimachiorz

2010-07-15 00:28:08
@okachimachiorz

@ashigeru まー、その手の偉いひと曰く、「確認もいらんわねw」ってゆーておりますわ。

2010-07-15 00:29:49
Shinpei Ohtani @shot6

ただベースラインとしてこの絵は大事と思いますです。

2010-07-15 00:29:58
Shinpei Ohtani @shot6

人間の最終的な仕事はYES|NOだけ介在するだけというのはそのとおり。Consensus protocolの一種でbotに切り替えてもわからないケースも多々あるのではと思いますw ブラックすぎ?

2010-07-15 00:32:01
Shinpei Ohtani @shot6

人間の最終的な仕事はYES|NOだけ介在するだけというのはそのとおり。Consensus protocolの一種でbotに切り替えてもわからないケースも多々あるのではと思いますw ブラックすぎ?

2010-07-15 00:32:01
Suguru ARAKAWA @ashigeru

@shot6 しかもヒューリスティクスは業務ごとに異なる可能性がある、ってのがポイントになりそうですね。ここはたぶん最大公約数で戦っちゃいけない世界な気がします

2010-07-15 00:34:44
Suguru ARAKAWA @ashigeru

@okachimachiorz @shot6 じゃあconfirmationの部分は機械学習で…って、人間もっとがんばってくださいw

2010-07-15 00:35:46