2010年11月29日月曜日

ポート 続

メモ。

131.112.12.*のサブネットは、ウェルノウンポートの一部以外は常に閉じている。
先日のページは間違い(私たちにとっては)

米崎研究室の萩原(注:HAGIHARA)助教がサブネットの現在の管理者。
メールで相談したところ、一時的にファイアーウォール外のIPアドレスを
提供して頂けることに。やったね。

これで実験環境が大分シンプルになった。


ところで、最近の語学学習状況に関して。
最近はそんなに考えなくともテキトーに英語で喋れるようになってきましたが、
代わりに単語や文法を間違う頻度がものすごく上がって困りもの。

・頭で文章作ってからでないとしゃべれない

・文章作らなくても英語でしゃべれる(ただし間違い多し) ←今ココ?

・英語でしゃべれる(間違い少なし)

・英語でしゃべれる(流暢に)

こういう成長段階だと、こちらとしては都合がいいんですが。
どちらにしろもう少し落ち着いて話せってね。

それと、一部の人の英語が全く聞き取れなかったりするのも、
過渡期的な症状なんでしょうかね。
ベルリッツでは毎回講師が変わりますが、
講師によって結構聞き取りやすさは違います。
アメリカ系のネイティブ(+早口)が天敵です。いいのかそれで。。。
カナダ系、フランス系、日系(といっても帰国子女というか向こう育ち)はそれ程でもないんだけども…

2010年11月25日木曜日

ポート

めも。
研究室からEC2のVMの間には、東工大ファイアーウォールがあるので。

http://portal.titech.ac.jp/ezguide/sslvpn.html
おそらく下図のポートしか通信には使えない。(他が塞がれてるはず)
まぁ少なくとも4つ程度は使えそうなので支障は無い…かも。

2010年11月24日水曜日

全体ミーティング終了

よって実装作業に戻る。


論文紹介の件、時間が限られた中でどうインパクトを持たせるか、
についても考える事は多そう。
まずはモノを作る。それと一定量の実験が必要か。

卒論についてはとりあえず置いておいて、
まずはSACSISの論文をどうキッチリ作るかを念頭に動くか。
それが早めに終わればCloud2011が出来る。
てか早めに終わらせないと間に合わない。ひいぃ。

2010年11月10日水曜日

スレッド禁止状況下におけるTCP accept() のタイムアウトについて

UDOP内でTCP通信をしたい場合の話。
基本的に、Initializeでコネクションを張って、
ProcessInputで送受信を行う流れになる。

ここで、TCP通信における accept() 自体は、クライアント側から connect() が来るまで待ち続けるようで、
これでは何らかの理由でノード側が落ちているとき、何時までも(少なくとも長時間)待ち続けるためにUDOPの初期化が終わらず、全体として動作が始まらない。
※Sumbitはできるが処理自体は行われない模様。

そこで、 accept()にタイムアウト機能を設けたいモチベーションが生まれる。
方法としては、accept()をする前に一度select()を使って接続を行ない、
(こっちにはタイムアウト時間が指定可能。)
接続があった場合に初めてaccept()を行う。今のところこれで動作を確認。

これは新たにコネクションを張る場合にも応用可能。


さてさて、不安だった要素技術も大分片付きつつある昨今。
コマンドを受け取ってノードの増減を行う処理の部分は、
SPADE部分は西井さんのStreamSRを参考にすれば良さそう。

確実にひとつづつ進めていこう。

2010年11月8日月曜日

SPADE HACKS2

StreamManagerの雛形が実装完了。
UDOP側でTCPコネクションを張って、ノード側にタプルを転送するのに成功した模様。
次は複数コネクションの管理、追加・削除をやればおおよそ完成。

UDOP豆知識。
Init的な関数が終了するまで、他のオペレータは動作しないみたい。
例えばUDOPが初期化中にエラーで止まってて、
他にSourceオペレータが存在する場合など。注意。

もうひとつ。
monitor Nil := ストリームほにゃらら
これは通らない。
monitorは出力タプルの監視をするから?

2010年11月5日金曜日

SPADE HACKS

stream Stream1( text : String )
stream Stream2( text : String )
  := Source()[ <ほにゃらら> ]{} -> node( <ちょめちょめ> )

こういう書き方しても、コンパイルで警告・エラーは出ず、実行可能。
ただし正常に動作しない気がする。

この場合、実際のデータフローはStream2の方に割り当てられ、
Stream1は何の処理もしないノード(つまりエッジなしノード?)として解釈されるみたい。
というか前方宣言?その割にはStream1の本体がなくてもコンパイル通るってどうなのよ。。。
暇があったらループするデータフロー作ってみて試してみよう。

良い子は真似しないこと。

その2。
Nil := Sink( ほにゃらら )["stcp://127.0.0.1:/", nodelays, csvformat]{}-> node( ほにゃらら )
これはコンパイルは通るが動作しない。

Nil := Sink( ほにゃらら )["stcp://thishost:/", nodelays, csvformat]{}-> node( ほにゃらら )
これは正常に動作する。

良い子は以下略。


まだまだ出てくるならホントに執筆しますよチクショー

2010年11月1日月曜日

実装フェイズ

とりあえず実装のタスクリストは切り出し完了。
何事もなければ一月と少しで終わりそう。それが理想。

ということで、各コンポーネントごとに片付けていこう。