2017-10-01から1ヶ月間の記事一覧

遺伝的アルゴリズムを使ったルーティング

遺伝的アルゴリズムを使ったルーティングアルゴリズムにより、接続の偏りが少なくなった。 評価用の点数の付け方も工夫したので、特定のノードに通信が集中しそうになっても経路が分散されるはず。 計算負荷が上がったためか、120ノード前後でタイムアウトが…

ルーティングアルゴリズムの改良がイマイチだった

WebRTCのやTCPのように、コネクション型の通信経路を使う場合、特定のノードに接続が集中すると、そのノードのリソースが不足したり、負荷が上がってしまう。例えば、macOS sierraではユーザがopenできるディスクリプタの数は256に制限されているため、1ノー…

Xcodeの静的解析ツールに、メモリリークの可能性を指摘されたが釈然としない

経緯 本当はパフォーマンス測定ツールを使って、プログラムが想定外に重い処理を行っていないか、確認したかった。 とりあえず、「Analyze」を起動したら、「Potential memory leak」と言われてビクビク検証している。 プログラム 分散処理インフラのpicojso…

安定性の向上

ルーティングアルゴリズムの不具合を幾つか修正することで、安定性が向上した。5〜10%の割合でランダムにノードを突然終了させても、全体では崩壊せずに動作し続ける。

ルーティングアルゴリズムの動きが想定と違う。

何度か動かしているうちに、近隣との接続時の動作が想定と異なる気が。確認のため、10%の割合でランダムにノードをkillするようにしたら、その情報がうまく更新されていない動きをするようだ。chromeのwebrtcライブラリはマルチスレッド動作で、切断イベント…

425ノード

seed側でパケットを破棄する時間が短すぎたので、修正。400ノード以上繋げられる状態になった。

150ノード

130〜150ノードあたりで急に接続失敗が増える。seedの不具合っぽい。

リソース上限を変更したのだけれども

複数ノードでPROCESSWARPの安定した動作を実現するために、分散メモリの足回りを抜き出して開発中。 100ノード前後でファイルディスクリプタの上限に達したため、以下のページに従い上限を増やす。 christina04.hatenablog.com なぜかプロセス数の上限が以下…