検討事項
- 表現力がどれくらいあるか(型、デフォルト、オプショナル)
- 設定を書きやすいか(コメントなど)
- 仕様を記述できるか(スキーマを記述する方法があるか)
- スキーマの検証ができるか
import classifier_types | |
import msgpackrpc | |
class classifier: | |
def __init__ (self, host, port): | |
address = msgpackrpc.Address(host, port) | |
self.client = msgpackrpc.Client(address) | |
def set_config (self, arg0, arg1): |
【やりたいこと】 | |
- 分散環境で、同じnameを持つサーバは同じconfigを持つ。 | |
- サーバは途中から参加することがある。 | |
- クライアントからconfigを変えることが出来る。 | |
【configの与え方をどうするか?】 | |
- RPCで与える | |
- 設定を変える場合は、set_config | |
- 途中から参加する場合もset_config | |
- すべての設定が同じ事は、ユーザの責任にする。 |
【configを動的に再変更できたほうがいいか否か】 | |
- できたほうがいい | |
- メリット | |
- 設定変更の自由度があがる | |
- 設定調整、実験、評価がやりやすくなる | |
- プロセス再起動なしで状態を初期化できる | |
- デメリット | |
- 同一インスタンスのサーバで設定の一貫性を保証、もしくは一貫性がないことに対処できる仕組みが必要になる | |
- それに伴い、正常なサービスを提供できなくなる可能性がある 例:サーバが停止する、サーバが誤った結果を返す | |
- 以下の【課題】の部分に相当 |
【Jubatus ZKとの接続でSESSION_EXPIREDしたときどうするか問題】 | |
- ZKを利用しているOSSの実装 | |
- EXPIREしたらexit(自殺)する | |
- EXPIREしてもZKと繋がるまで再接続し続ける | |
- 無限ループ・回数制限を設ける | |
- 接続が切れている間は、ZK関連のサービスを提供できない(キャッシュ保持してるかもしれない。もしくは、キャッシュはクリアする実装) | |
- Jubatusにおける選択肢 | |
- EXPIREしたらプロセスを終了する | |
- EXPIREしてもZKへ接続リトライする(リトライし続ける、回数制限等つけてリトライする) |
1. 利用するライブラリ | |
http://code.google.com/p/google-glog/ | |
google-glog を利用する。 | |
2. ログレベル | |
Jubatusは通常モードとデバッグモードのログレベルが存在する。 | |
通常モードでのJubatusで利用するログレベルは、以下の三種類とする。 |
user 長野久義 is similar to : 長野久義 糸井嘉男 ミレッジ | |
user 大島洋平 is similar to : 大島洋平 本多雄一 石川雄洋 | |
user 鳥谷敬 is similar to : 鳥谷敬 サブロー 糸井嘉男 | |
user 坂本勇人 is similar to : 坂本勇人 角中勝也 稲葉篤紀 | |
user 中田翔 is similar to : 中田翔 井口資仁 新井貴浩 | |
user 李大浩 is similar to : 李大浩 中村紀洋 ミレッジ | |
user 陽岱鋼 is similar to : 陽岱鋼 秋山翔吾 枡田慎太郎 | |
user 糸井嘉男 is similar to : 糸井嘉男 長野久義 栗山巧 | |
user 聖澤諒 is similar to : 聖澤諒 明石健志 ヘルマン | |
user 田中浩康 is similar to : 田中浩康 栗山巧 梵英心 |
Jubatusのログ出力仕様 | |
glogについては | |
https://gist.github.com/3930022 | |
1. 出力形式 | |
以下の2つが選べること | |
- stderr | |
(LogToStderr) |
jubatus管理ツール群役割(現状) | |
=============================== | |
定義 | |
----------- | |
- task | |
NAMEによって区別される機械学習タスク | |
- node |
glog 0.3.2 -> 0.3.3 | |
==================== | |
- Add --disable-rtti option for configure. | |
実行時型情報を消すことでバイナリサイズ小さくなったり、パフォーマンスが上がる?環境もあるらしい。 | |
- Visual Studio build and test fix. | |
Windows用。関係ない | |
- QNX build fix (thanks vanuan). |