# HG changeset patch # User Nozomi Teruya # Date 1515233079 -32400 # Node ID a2aaf1d0bf019738abe974307f0f7827a60ad41f # Parent 0e0b389d2ee492bbf13d704d56f5447682548be4 add Makefile diff -r 0e0b389d2ee4 -r a2aaf1d0bf01 paper/Makefile --- a/paper/Makefile Sat Jan 06 18:57:26 2018 +0900 +++ b/paper/Makefile Sat Jan 06 19:04:39 2018 +0900 @@ -17,7 +17,7 @@ $(TARGET).dvi : $(wildcard *.tex) $(FIGURES_FOR_TEX) $(SOURCES_FOR_TEX) platex $(TARGET).tex - #$(BIBTEX) $(TARGET) + $(BIBTEX) $(TARGET) platex $(TARGET).tex platex $(TARGET).tex diff -r 0e0b389d2ee4 -r a2aaf1d0bf01 paper/nozomi-master.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/nozomi-master.tex Sat Jan 06 19:04:39 2018 +0900 @@ -0,0 +1,177 @@ +\documentclass[a4j,12pt]{jreport} +\usepackage{master_paper} +\usepackage{ascmac} +\usepackage{bussproofs} +\usepackage[dvipdfmx]{graphicx} +\usepackage{here} +\usepackage{listings} +\usepackage{comment} +\usepackage[deluxe, multi]{otf} +\usepackage{url} +\usepackage{cite} +\usepackage{listings} +\usepackage{colonequals} +\usepackage[utf8]{inputenc} + +%\input{dummy.tex} %% font + +\jtitle{並列分散フレームワークChristieの設計} +%\etitle{} +\year{2018年 3月} +\eyear{March 2018} +\author{照屋 のぞみ} +\eauthor{NOZOMI TERUYA} +\chife{指導教員:教授 和田 知久} +\echife{Supervisor: Prof. Tomohisa WADA} + +\marklefthead{% 左上に挿入 + \begin{minipage}[b]{.4\textwidth} + 琉球大学大学院学位論文(修士) +\end{minipage}} + +\markleftfoot{% 左下に挿入 + \begin{minipage}{.8\textwidth} + 並列分散フレームワークChristieの設計 +\end{minipage}} + +\newcommand\figref[1]{図 \ref{fig:#1}} +\newcommand\tabref[1]{表 \ref{tab:#1}} + +\lstset{ + frame=single, + keepspaces=true, + stringstyle={\ttfamily}, + commentstyle={\ttfamily}, + identifierstyle={\ttfamily}, + keywordstyle={\ttfamily}, + basicstyle={\ttfamily}, + breaklines=true, + xleftmargin=0zw, + xrightmargin=0zw, + framerule=.2pt, + columns=[l]{fullflexible}, + numbers=left, + stepnumber=1, + numberstyle={\scriptsize}, + numbersep=1em, + language={}, + tabsize=4, + lineskip=-0.5zw, + escapechar={@}, +} +\def\lstlistingname{リスト} +\def\lstlistlistingname{リスト目次} + + +%%% 索引のために以下の2行を追加 +\usepackage{makeidx,multicol} +\makeindex +\begin{document} + +%rome +\frontmatter + +\maketitle +\newpage + +\makecommission + +%要旨 +%\input{abstract.tex} + +%目次 +\tableofcontents + +%図目次 +\listoffigures + +%表目次 +\listoftables + +%リスト目次 +\lstlistoflistings + + +%arabic +\mainmatter + +%chapters +\chapter{分散プログラミングの信頼性向上} +スマートフォンやタブレット端末の普及率が増加している。 +それに伴いインターネット利用者数も増加しており、ネットワーク上のサービスには +、信頼性とスケーラビリティーが要求される。 +ここでいう信頼性とは、定められた環境下で安定して仕様に従った動作を行うことを +指す。 +またスケーラビリティーとは、スケーラビリティとは、分散ソフトウェアに対して単純にノードを追加するだけで性能を線形的に上昇させることができる性質である。 +しかし、これらをもつ分散プログラムをユーザーが一から記述することは容易ではない。 + +これらの問題の解決のために、当研究室ではデータをData Segment、タスクをCode Segmentという単位で記述するプログラミング手法を導入した分散フレームワークAlice の開発を実現した。 +Data Segmentは整数や文字列や構造体などの基本的なデータの集まりである。 +Code Segmentは入力となるData Segmentが全て揃ったら処理を開始し計算結果のData Segmentを出力するタスクである。 + +Aliceが実用的な分散アプリケーションを記述でき、仕様の変更を抑えた信頼性の高い拡 +張を可能にするということは、水族館の例題やTreeVNCの例題から確認された。 +しかし、AliceではAPI設計が直感的でなく、型の整合性がとれない問題があった。また、AliceにNAT越えの機能を実装しようとした際、Data Segment Managerが1つしか持てない +たために拡張が困難であることが分かった。 + +本研究では、Aliceから得られた知見をもとに、分散フレームワークChristieの設計を行 +う。 + + +\chapter{分散フレームワークAliceの概要} +\section{CodeSegmentとDataSegment} +\section{DataSegmentManager} +\section{Data Segment API} +\section{CodeSegmentの記述方法} +\section{TopologyManager} + +\chapter{Aliceの問題点} +\section{直感的でないAPI} +\section{型がわからない} +\section{DataSegmentManagerを複数持てない} +\subsection{TopologyManagerのNAT超え機能} + +\chapter{分散フレームワークChristieの設計} +\section{APIの改善} + +\chapter{Christieの評価} +\section{Akka} +\section{Corba} +\section{Erlang} +\section{Spark} +\section{Hazelcast} + +\chapter{まとめ} + +\chapter{今後の課題} + + +\chapter{謝辞} +本研究の遂行、また本論文の作成にあたり、ご多忙にも関わらず終始懇切なる御指導と御 +教授を賜わりました河野真治准教授に深く感謝したします。 + +そして、数々の貴重な御助言と技術的指導を戴いた伊波立樹さん、並びに並列信頼研究室 +の皆様、本研究を遂行するにあたり参考にさせていただいた先行研究のAlice, Federated + Linda, Jungle, TreeVNC の設計・実装に関わった全ての方々に感謝いたします。 + + また、本フレームワークの名前の由来となったクリスティー式戦車の生みの親、ジョン・ + W・クリスティーに敬意を評します。 + + 最後に、日々の研究生活を支えてくださった米須智子さん、情報工学科の方々、そし + て家族に心より感謝いたします。 + + +%参考文献 +\nocite{*} +\bibliographystyle{junsrt} +\bibliography{reference} + +%発表履歴 +\addcontentsline{toc}{chapter}{発表履歴} +%\input{history.tex} + +%付録 +\addcontentsline{toc}{chapter}{付録} +\appendix +%\input{sources.tex} +\end{document}