Mercurial > hg > Papers > 2009 > axmo-thesis
annotate yokou.tex @ 14:6d68a4836864
texのwarning除去と、ディレクトリの整理
author | "Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>" |
---|---|
date | Sat, 28 Mar 2009 09:17:10 +0900 |
parents | b5756a23102d |
children |
rev | line source |
---|---|
14
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
1 \documentclass[twocolumn,twoside,9.5pt]{jarticle} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
2 \usepackage[dvips]{graphicx} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
3 \usepackage{fancyhdr,picins} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
4 \pagestyle{fancy} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
5 \lhead{\parpic{\includegraphics[height=1zw,clip,keepaspectratio]{img/emblem-bitmap.eps}}琉球大学主催 工学部情報工学科 卒業研究発表会} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
6 \rhead{} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
7 \cfoot{} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
8 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
9 \setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
10 \setlength{\headheight}{0mm} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
11 \setlength{\headsep}{5mm} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
12 \setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
13 \setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
14 \setlength{\textwidth}{181mm} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
15 \setlength{\textheight}{261mm} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
16 \setlength{\footskip}{0mm} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
17 \pagestyle{empty} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
18 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
19 %%% \figref の定義 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
20 \newcommand\figref[1]{図 \ref{fig:#1}} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
21 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
22 \begin{document} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
23 \title{分散プログラムにおけるデバッグツールの設計と実装} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
24 \author{035713J 小野雅俊 {}{} 指導教員 : 河野真治} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
25 \date{} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
26 \maketitle |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
27 \thispagestyle{fancy} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
28 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
29 \section{スケーラビリティをデバッグする} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
30 分散アプリケーションが多数開発されている近年、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
31 ノードやネットワークの動的な変化、故障、性能の多様性を考慮した |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
32 フレームワークが必要である。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
33 分散環境ではスケーラビリティを確保すること重要である。ここでの |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
34 スケーラビリティとはノードの規模の増大にも関わらず、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
35 アプリケーションの性能を維持できることを指す。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
36 分散アルゴリズムの作成には、論理的なプログラムの正しさだけでなく、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
37 スケーラビリティのデバッグを可能にする必要がある。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
38 つまり、デバッガ自体をスケーラブルに作る必要がある。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
39 そのため、分散 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
40 フレームワークとして本研究室が提案しているFederated Lindaに、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
41 スケーラビリティなデバッグを行う為のメタな通信を行うプロトコルエンジン |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
42 を設計し実装した。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
43 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
44 分散プログラムの |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
45 デバッグを行う際には通信は必須であるが、その通信によって |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
46 本来の通信に影響を及ぼす恐れがある。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
47 ここでは、スケーラビリティには若干問題があるが、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
48 本来の通信に影響を与えないように、一つのトークンをリング上に |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
49 流す方法を提案\cite{aa,bb}している。本論文ではPCクラスタ上で実際の通信を行ない、100台程度の |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
50 分散プログラムでの評価を行なった。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
51 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
52 \section{Federated Linda} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
53 Federated Lindaとは、複数のタプル空間を相互に |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
54 結ぶプロトコルエンジンによって |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
55 接続する分散プログラミングモデルである。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
56 Lindaと同じAPIを持つが、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
57 Lindaが一つのタプル空間を共有するのに対し、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
58 Federated Lindaは複数のタプル空間を個別に持つ。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
59 クライアントのアクセス数に対応して、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
60 タプルスペースの数を増やし処理を分散させる事により、スケーラビリティを保つ。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
61 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
62 \subsection{Federated Linda Protocol} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
63 Federated Lindaは以下の様にして通信を行う。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
64 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
65 \begin{itemize} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
66 \item public PSXLinda open(String \_host,int \_port) |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
67 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
68 Linda Serverに対し、接続を行う。引数はホスト名とポート番号をとる。返り値はタプルスペースの番号となる。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
69 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
70 \item public PSXReply in(int id) |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
71 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
72 タプルスペース番号より引数で指定したidのタプルの受け取りを要求する。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
73 受け取りは、返値のPSXReplyをチェックすることにより非同期に行なう。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
74 in では待ち合わせは行なわれない。Call back 形式でタプルを受け取る |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
75 ことも出来る。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
76 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
77 \item public PSXReply out(int id, ByteBuffer data) |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
78 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
79 引数で指定したidでByteBuffer内のデータを送信する。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
80 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
81 \item public int sync(long mtimeout) |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
82 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
83 接続しているLinda Serverとタプルの送受信のポーリングを行う。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
84 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
85 \end{itemize} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
86 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
87 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
88 \section{Protocol Engine} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
89 Protocol Engineとはタプルスペースを介してデータをやり取りするEngineである。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
90 二つのサーバー間でやり取りを行う場合、以下のようなプログラムとなる。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
91 \begin{verbatim} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
92 FederatedLinda fdl; |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
93 PSXLinda getpsx; |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
94 PSXLinda sendpsx; |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
95 PSXReply in; |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
96 ByteBuffer data = ByteBuffer.allocate(10); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
97 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
98 //通信を初期化する |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
99 fdl = FederatedLinda.init(); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
100 //データを取ってくるホストと受け渡すホストとの接続開始 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
101 getpsx = fdl.open("cs100",10000); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
102 sendpsx = fdl.open("cs101",10001); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
103 //取ってくるホストからinを指定してデータを取得 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
104 in = getpsx.in(10) |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
105 data = in.getData(); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
106 //受け渡すホストに対しデータとidを指定して同期 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
107 sendpsx.out(10,data); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
108 fdl.sync(); |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
109 \end{verbatim} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
110 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
111 \section{Meta Protocol Engine} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
112 デバッグ用の通信はLinda Server内部に直接アクセス出来なければ |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
113 ならない。これをLinda Server内のMeta Protocol Engine に |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
114 よって実現する(\figref{mpe})。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
115 \begin{figure}[htbp] |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
116 \begin{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
117 \includegraphics[scale=0.3]{img/3.eps} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
118 \caption{Meta Protocol Engine} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
119 \label{mpe} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
120 \end{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
121 \end{figure} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
122 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
123 Meta Engine は、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
124 通常のFederatedLindaと同様のin/out APIを持つ。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
125 Meta Engine では、\verb+sync()+が、属するLinda Server |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
126 自体のポーリングを行なう。\verb+sync()+の間は、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
127 通信は行なわれず タプル空間は変化しない。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
128 Meta Engine は安全にタプル空間にアクセス出来る。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
129 Meta Engine のプログラムは、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
130 Linda Serverのメインループで指定することが出来、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
131 Server 毎に独自の動作をさせることが可能である。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
132 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
133 \section{測定} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
134 本稿では |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
135 分散通信に影響を最低限にするために、Ringで性能を評価する。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
136 3台のLinda Server間でMeta Engineがデータをやり取りする場合 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
137 のUMLシーケンス図は\figref{ringthree}のようになる。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
138 \begin{figure}[htbp] |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
139 \begin{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
140 \includegraphics[scale=0.2]{img/meta_ring_three.eps} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
141 \caption{3台間の通信} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
142 \label{ringthree} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
143 \end{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
144 \end{figure} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
145 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
146 Ring では通信パケットは一つのみであり、デバッグ対象への |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
147 影響が小さい。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
148 しかし、スナップショットや一時停止などの |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
149 デバッグ操作をするためには、全ノードを周回する必要がある。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
150 %これはo(n)であり、十分にスケーラビリティがあるとは言えない。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
151 %しかし、もっとも影響が少ない方法なので、どの程度まで使える |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
152 %かを測定することには意味がある。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
153 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
154 ここでは、通信パケットの大きさを変えて、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
155 3〜100までの台数でデータが1周(\figref{metaring})する時間、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
156 および1000周(\figref{metaring1000})した時に掛かった時間を測定する。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
157 前者では接続の手間を含む通信時間、後者では通信のみの時間を |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
158 計ることが出来る。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
159 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
160 実験は、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
161 琉球大学 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
162 情報工学科のクラスタ上(Core Duo 2GHz,メモリ1GB)で、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
163 クラスタジョブ管理システム |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
164 Torqueを用いて行なった。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
165 ネットワークはAlaxalA Gigabit Ethernet Switchで構成されている。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
166 クラスタ自体は180台あるが、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
167 安定して動作する100台までを使用して測定を行なった。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
168 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
169 \begin{figure}[htbp] |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
170 \begin{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
171 \includegraphics[scale=0.3]{img/metaring1.eps} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
172 \caption{接続を含む一周の時間} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
173 \label{metaring} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
174 \end{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
175 \end{figure} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
176 \begin{figure}[htbp] |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
177 \begin{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
178 \includegraphics[scale=0.3]{img/metaring1.eps} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
179 \caption{千周の平均周回時間} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
180 \label{metaring1000} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
181 \end{center} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
182 \end{figure} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
183 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
184 X軸が台数、Y軸がミリ秒、ラインの色が通信するデータサイズを表す。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
185 両図から見てわかる通り、データの量にはあまり依存する事はなくほぼ同じラインを形作っている。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
186 データを1周のみした場合は1サイクルあたり約14000ms、一台あたり約140ms掛かっている計算になり、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
187 それに対し1000周した際に掛かった時間は、1サイクルおよそ60ms、一台につき約0.6msとなっている。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
188 これより、一度、接続してしまえば、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
189 Meta Engine での通信は実際に100台程度のデバッグに使用するのに十分な性能を |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
190 持っていることが確認出来た。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
191 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
192 \section{まとめと課題} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
193 本稿ではデバッグを行う為に通常通信とは他に、Metaで通信するMeta Protocol Engineを実装し評価した。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
194 今回は、スナップショットなどの実際のデバッグ機能を実装することは出来なかった。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
195 通信の実験においても、 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
196 同クラスタ上で別のRing通信や他のMetaLinda通信等があった場合の干渉の程度 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
197 などを測定する必要があると考えられる。 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
198 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
199 \thispagestyle{fancy} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
200 \begin{thebibliography}{9} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
201 \bibitem {aa}上里献一, 河野真治 SuciライブラリのスナップショットAPIを利用した並列デバッグツールの設計 |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
202 \bibitem {bb}渕田 良彦, 河野 真治 分散プログラミングモデルFederated Lindaと分散デバッグ |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
203 \end{thebibliography} |
6d68a4836864
texのwarning除去と、ディレクトリの整理
"Yuta AKAMINE <freddie@cr.ie.u-ryukyu.ac.jp>"
parents:
9
diff
changeset
|
204 \end{document} |