卒論の進捗報告が来月から始まる

卒論が来月から本格的に始まります。

私は分散コンピューティングについてやるつもりですが、私がそこまで優秀ではないので現在のGlobusなどが提供しているような最高効率の分散コンピューティングとかは絶対無理ですが、自分なりに何か頑張りたいとおもいます。

基本的には、「dRubyを実行状態の端末は、他の端末から遠隔でdRubyの命令を実行出来る」という、dRubyを使った分散コンピューティングを考えています。

まず私はRubyというプログラミング言語自体にかなり運命を感じていています。
私が在学中にネットゲームのマクロを自分で組んでオンラインストレージにライブラリを置いて複数端末で複数の仮想OSを立ちあげてある程度の小遣いを稼いでいた時期があった俺は、UWSCというフリーソフトでスクリプティングをしていた。その記法が、まんまRubyと一緒なのである。研究室配属されて初めてRuby触った時はここまで酷似しているものなのかと本当に驚いたものだ。

そのRubyと今の内定先もゆかりがある。Ruby言語のとある分野を日本で最初に行った会社がうちの内定先で、しかも最終面接の前日にRubyが国際標準規格に認定されたということもあって、面接ではRubyの話も結構したりした。
そんな運命的なRuby言語を教えてくれた研究室の先生は、日本で生まれたRubyを現在も普及させるべく研究させている島根県の出身。
全てに運命を感じているので、Rubyに強い親しみを感じています。なんといっても超簡単だしね。


で、実際どうやって処理を分散させるのかというと、分散処理をしてくれる端末側に毎回プログラム入力してやんないと、ユーザ側から処理出来ないなら、使い物にならないから、まずは端末側の操作を一切しなくてもユーザ側から命令された分散命令を処理出来るようにならないといけない。
と言うことで、端末側が実行するプログラムは、ユーザ側が処理してほしいプログラムとプログラム名を引数として渡すと、直下に新しいディレクトリを作ってそこの中に引数のプログラムを格納、そしてユーザ側の命令で作ったプログラムを実行。
そうすれば、端末側が何十個あってもユーザ側からの操作だけで分散処理をさせることが出来る。
そのプログラムを作っていて、今日ようやく完成したんですけど、これでようやく色々な実験が出来るな、と思いながら日報に完成を書いたら、先生がeval()とかいうおぞましい関数を教えてくれた。
eval()に引数としてプログラムを入れると、そのプログラムを端末側が実行してくれるらしい(笑)俺が作ったプログラムの意味・・・まぁ実体が残るからそのぶん便宜的に俺の作った方が便利なんだけどねきっと。


今後は、Rubyの勉強として作った、パソコンルームのサブネットにつながった最大255台のパソコンを1分ごと(毎日1440個のデータ)を全端末分毎日保存していて、電気代を無駄遣いしている端末を発見、電源OFFのプログラムを作っていたのですが、そちらが1440分×255個×3年分×12ヶ月分×30日分ということで、処理の対象データの総量が400M行(4億行)くらい必要で、研究室のパソコンで10時間処理させても終わらないレベル。多分丸一日くらい処理に時間がかかる。これをfor文で回していた部分に、例えば10台の研究室のパソコンに処理させれば時間はほぼ1割で済む。サブネットのIPの数字で処理を振り分ければどこを担当させるかなんて簡単に出来る。
これを6月5日にある一番最初の研究の進捗報告までに完成させたいと思います。
その後にどこまで勉強出来て、どのあたりが自分の大学生活の落とし所になるのかがまだ全然未定ですけどw

コメントの投稿

非公開コメント

プロフィール

ゆうじ

Author:ゆうじ
社会人1年目〜4年目:インフラエンジニア
社会人5年目〜   :セキュリティエンジニア

ほぼネットワーク屋でした。


[保有資格]
運転免許
漢字検定準2級
パスコンスピード検定1級
ITパスポート
基本情報技術者試験
応用情報技術者試験
Comptia A+
CCENT
CCNA
CCNP
MCPC2級
VCP-DCV 5.5
LPIC Level1
LPIC Level2
LPIC Level3core
LPIC Level3mixed environment

パズドラランク950↑

サドンアタック
中佐:シコ星
W/L 46% K/D54%
少佐:尿イエロー
W/L 50% K/D 56%
少尉:ケツアゴに挿入
W/L 100% K/D77%


メイプルストーリー(笑)
柳)195メカニック
柳)180台DS
柳)178DS
現在持ってるキャラはこの3つ

柳)140台?投
キャラ名:ちnこ
売り済み、現在行方不明





mixi→id=19488862
Skype:yuuzi.kab
Twitter:gosloli
Instagram:yuuzikab










月別アーカイブ
カテゴリー
ブログの更新率
Twitter
リンク
.key { margin: 0 3px; padding: 1px 6px; border-radius: 3px; border: 1px solid #E0E0E0; border-bottom-width: 2px; background: #F0F0F0; background: -ms-linear-gradient(top, #F0F0F0, #FCFCFC); background: -moz-linear-gradient(top, #F0F0F0, #FCFCFC); background: -webkit-gradient(linear, center top, center bottom, from(#F0F0F0), to(#FCFCFC)); background: linear-gradient(top, #F0F0F0, #FCFCFC); font-family: Arial}