Download presentation
Presentation is loading. Please wait.
1
卒業研究 JCSPを用いたプログラム開発 池部理奈
2
目次 ① JCSPについて 1)JCSP Base Edition 2)JCSP Network Edition 3)JCSPプログラム開発
② マンデルブロー集合のプログラミング 1)プログラム構成 2)計算時間の結果 ③ まとめ 池部理奈 卒業研究発表
3
JCSPについて CSP(Communicating Sequential Process)の概念を Javaで実装するためのライブラリ。
SendProc ReadProc Chan ParaMain パラレルプロセスParaMainの構成 池部理奈 卒業研究発表
4
チャネルの種類 One2Oneチャネル Farmer Worker in out Occamではこのタイプのチャネルを使っている
池部理奈 卒業研究発表
5
多対一の関係のチャネル Any2Oneチャネル Farmer0 Worker2 Worker1 Worker0 out in
これらのチャネルは Any側のどのプロセスが通信するか 確定的でない One2Anyチャネル Farmer0 Worker2 Worker1 Worker0 out in 池部理奈 卒業研究発表
6
JCSPの実行形態(1/2) Main P1 P0 P2 JCSPを用いて開発される並列プロセスのプログラムは、主に
2種類の実行形態をとることができる。 1つは、チャネルで接続された複数の並列プロセスを1つのCPU 上で行うタイプ。 P0 P1 P2 Main 計算機(1個のCPU) 池部理奈 卒業研究発表
7
JCSPの実行形態(2/2) P1 P0 P2 もう一方の実行形態は、ネットワークに接続された実際の計算機
(ノード)に各プロセスを配置して実行するタイプ。 P0 Main Node0 P1 Node1 P2 Node2 しかし実際の物理的な ネットワークの接続形態は 必ずしもこのようにはなっていない 池部理奈 卒業研究発表
8
ネットワーク 物理的なノードの接続形態とソフトウェア上のプロセスの 接続形態を合理的にマッピングする必要が生じる。
Node1 Main P1 Node0 Main P0 Node2 Main P2 JCSPには、このチャネルの接続問題を解決するために CNSというものが用意されている! 池部理奈 卒業研究発表
9
CNS server CNS(チャネルネームサーバー)は、ノードのIPアドレスとチャネルの
名前を管理し、各プロセスからの問い合わせに対応するもの。 プログラムの設計時には物理的なネットワークの接続形態を 考慮する必要がなく、大変便利である。 池部理奈 卒業研究発表
10
JCSPプログラム開発 一般的なプログラム開発 第一段階 : 一台の計算機内に並列プロセスとして実行
第一段階 : 一台の計算機内に並列プロセスとして実行 第二段階 : 一台の計算機内の複数のJava仮想マシンで ネットワークプログラムとして実行 第三段階 : 実際のネットワークの複数の計算機でネットワーク プログラムを実行 CNS Farmer Worker 第一段階 第二段階 第三段階 池部理奈 卒業研究発表
11
マンデルブロー集合のプログラミング プログラムをFarmer部とWorker部に分ける Farmer部
400 400 Farmer 0 Worker 2 Worker 1 Worker 0 池部理奈 卒業研究発表
12
計算時間の比較 粒度、Workerの台数、実行形態に注目して、比較。 ① 粒度を変えて時間を比較。(実行形態:第一段階)
TPCOREと違い、 Worker3台以上でも繋げられる ① 粒度を変えて時間を比較。(実行形態:第一段階) ② Workerの台数を変えて時間を比較。(実行形態:第一段階) ③ 実行形態による時間の比較。(Worker:1台) CNS Farmer Worker 第一段階 第二段階 第三段階 池部理奈 卒業研究発表
13
①と②の結果 ① 粒度が粗いほうが、計算時間は短い。 ② Workerの台数による時間差はあまりない。
① 粒度が粗いほうが、計算時間は短い。 ② Workerの台数による時間差はあまりない。 池部理奈 卒業研究発表
14
③の結果(1/2) CNS Farmer Worker 第一段階 第二段階 第三段階 池部理奈 卒業研究発表
15
③の結果(2/2) ネットワークに接続すると、非常に時間がかかる。 また、1台のCPU上で実行させるよりも複数台のCPUで実行させた方が、
約2倍ほどはやくなっている。 池部理奈 卒業研究発表
16
なぜCPU複数台のほうがはやい? F W F W 一台のCPU上では送受信を一本の回線で行う ため、時間がかかってしまうと思われる ▼
data W ack data ack ▼ F W 一台のCPU上では送受信を一本の回線で行う ため、時間がかかってしまうと思われる 池部理奈 卒業研究発表
17
まとめ 今回は単純な計算だったのでネットワークプログラムで 実行させた場合、通信にかかる時間が計算時間の差に 大きく影響していた。
もっと複雑な計算をさせるプログラムにすれば、 複数台のCPUの方がはやい結果が出ると思われる。 池部理奈 卒業研究発表
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.