# HG changeset patch # User Tatsuki IHA # Date 1515270125 -32400 # Node ID b3fc9cc0d85fff0715d425be3aa14deef8673232 # Parent 80536d2080d2038c076c858a6a72c682ac0497be Add section diff -r 80536d2080d2 -r b3fc9cc0d85f mindmap.mm --- a/mindmap.mm Thu Dec 21 22:00:37 2017 +0900 +++ b/mindmap.mm Sun Jan 07 05:22:05 2018 +0900 @@ -148,6 +148,11 @@ + + + + + @@ -159,19 +164,42 @@ - + + + + + + + + + + + + + + - + + + + + + + + + + + @@ -179,5 +207,14 @@ + + + + + + + + + diff -r 80536d2080d2 -r b3fc9cc0d85f paper/Makefile --- a/paper/Makefile Thu Dec 21 22:00:37 2017 +0900 +++ b/paper/Makefile Sun Jan 07 05:22:05 2018 +0900 @@ -1,5 +1,5 @@ # Settings -TARGET=atton-master +TARGET=master_paper BIBTEX=pbibtex BB=extractbb diff -r 80536d2080d2 -r b3fc9cc0d85f paper/abstract.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/abstract.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,8 @@ +\begin{abstract} +アブストラクト +\end{abstract} + +\begin{abstract_eng} +abstract +\end{abstract_eng} + diff -r 80536d2080d2 -r b3fc9cc0d85f paper/conclusion.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/conclusion.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,1 @@ +\chapter{まとめ的なやつ} diff -r 80536d2080d2 -r b3fc9cc0d85f paper/evaluation.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/evaluation.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,3 @@ +\chapter{Gears OS の評価} +\section{Twice} +\section{BitonicSort} diff -r 80536d2080d2 -r b3fc9cc0d85f paper/fig/codegear-datagear.graffle Binary file paper/fig/codegear-datagear.graffle has changed diff -r 80536d2080d2 -r b3fc9cc0d85f paper/fig/codegear-datagear.pdf Binary file paper/fig/codegear-datagear.pdf has changed diff -r 80536d2080d2 -r b3fc9cc0d85f paper/fig/codegear-datagear.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/codegear-datagear.xbb Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: fig/codegear-datagear.pdf +%%Creator: extractbb 20170318 +%%BoundingBox: 0 0 535 427 +%%HiResBoundingBox: 0.000000 0.000000 535.000000 427.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sun Jan 7 05:20:14 2018 + diff -r 80536d2080d2 -r b3fc9cc0d85f paper/fig/goto.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/goto.graffle Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,451 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle6 + 169.23.0.276662 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2011-11-12 11:03:25 +0000 + Creator + Nobuyasu Oshiro + DisplayScale + 1 in = 1.00000 in + GraphDocumentVersion + 12 + GraphicsList + + + Bounds + {{365.99999356269836, 106.55999761819839}, {66, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Size + 11 + + ID + 37 + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\deftab720 +\pard\pardeftab720\qc\partightenfactor0 + +\f0\fs22 \cf0 goto cg2(c)} + + Wrap + NO + + + Bounds + {{209.49999356269836, 106.55999761819839}, {79, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Size + 11 + + ID + 36 + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\deftab720 +\pard\pardeftab720\qc\partightenfactor0 + +\f0\fs22 \cf0 goto cg1(a+b)} + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 35 + Points + + {323.99999356269836, 144} + {426.68373636901379, 143.8290591686964} + + Style + + shadow + + Draws + NO + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 33 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + Head + + ID + 33 + + ID + 34 + Points + + {183, 144} + {323.99999356269836, 144} + + Style + + shadow + + Draws + NO + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Bounds + {{287.99999356269836, 117}, {72, 54}} + Class + ShapedGraphic + ID + 33 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\partightenfactor0 + +\f0\fs24 \cf0 cg1} + VerticalPad + 0.0 + + + + Bounds + {{147, 117}, {72, 54}} + Class + ShapedGraphic + ID + 3 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\partightenfactor0 + +\f0\fs24 \cf0 cg0} + VerticalPad + 0.0 + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + Slices + NO + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoLineLength + 0.20000000298023224 + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2018-01-06 18:15:41 +0000 + Modifier + Tatsuki IHA + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {594.99997329711914, 842} + + NSPrintReverseOrientation + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Expanded_Canvases + + Frame + {{931, 136}, {989, 938}} + ShowInfo + + ShowRuler + + Sidebar + + SidebarWidth + 200 + TopSlabHeight + 250 + VisibleRegion + {{47.5, 0}, {475, 780}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r 80536d2080d2 -r b3fc9cc0d85f paper/fig/goto.pdf Binary file paper/fig/goto.pdf has changed diff -r 80536d2080d2 -r b3fc9cc0d85f paper/fig/goto.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/goto.xbb Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: fig/goto.pdf +%%Creator: extractbb 20170318 +%%BoundingBox: 0 0 312 85 +%%HiResBoundingBox: 0.000000 0.000000 312.000000 85.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sun Jan 7 03:24:26 2018 + diff -r 80536d2080d2 -r b3fc9cc0d85f paper/gearsOS.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/gearsOS.tex Sun Jan 07 05:22:05 2018 +0900 @@ -0,0 +1,52 @@ +\chapter{Gears OS} +\section{Code GearとData Gear} +Gears OS はプログラムとデータの単位として Gear を用いる。 +Gear は並列実行の単位、データの分割、Gear 間の接続等になる。 + +Code Gear はプログラムの処理そのもので、任意の数の Input Data Gear を参照し、処理が完了すると任意の数の Output Data Gear に書き込む。 +また、Code Gear は接続された Data Gear 以外には参照を行わない。 +Gears OS では \figref{codegear-datagear} で示しているように Code Gear と Input / Output Data Gear の対応から依存関係を解決し、 Code Gear の並列実行を可能とする。 + +Code Gear 間の移動は継続を用いて行われる。 +継続は関数呼び出しとは異なり、呼び出し元に戻らず、Code Gear 内で次の Code Gear への継続を行う。 +そのため Code Gear, Data Gear を使ったプログラミングは末尾再帰を強制したスタイルになる。 + +Gear の特徴として処理やデータの構造が Code Gear、 Data Gear に閉じていることにある。 +これにより、実行時間、メモリ使用量などを予想可能なものにする事が可能になる。 + +\begin{figure}[htbp] + \begin{center} + \includegraphics[scale=1.0]{./fig/codegear-datagear.pdf} + \end{center} + \caption{Code Gear と Data Gear の依存関係} + \label{fig:codegear-datagear} +\end{figure} + +\section{Continuation based C} +Gears OS の実装は本研究室で開発されているCbC(Continuation based C) を用いて行う。 +CbC は Code Gear を基本的な処理単位として記述できるプログラミング言語である。 + +CbC の記述例を\coderef{cg1}に, 実際にこのソースコードが実行される際の遷移を\figref{cg1}に示す。 +CbC の Code Gear は \_\_code という型を持つ関数として記述する。 +Code Gear は継続で次の Code Gear に遷移する性質上、関数とは違い戻り値は持たない。 +そのため、\_\_code は Code Gear の戻り値ではなく、Code Gear であることを示すフラグとなっている。 +Code Gear から次の Code Gear への遷移は goto による継続で処理を行い、次の Code Gear への引数として入出力を与える。 +\coderef{cg1}内の goto cg1(a+b); が継続にあたり、(a+b) がcg1 への入力になる。 + +CbC の goto による継続は Scheme の継続と異なり、呼び出し元の環境を必要とせず、行き先を指定すれば良い。 +したがって、この継続を軽量継続と呼ぶ。 + +\lstinputlisting[caption=CodeSegmentの軽量継続, label=code:cg1]{./src/cg1.cbc} + +\begin{figure}[htbp] + \begin{center} + \includegraphics[scale=1.0]{./fig/goto.pdf} + \end{center} + \caption{goto による Code Gearの軽量継続} + \label{fig:cg1} +\end{figure} + +\section{Meta Computation} + +\section{Context} +\section{Interface} diff -r 80536d2080d2 -r b3fc9cc0d85f paper/master_paper.tex --- a/paper/master_paper.tex Thu Dec 21 22:00:37 2017 +0900 +++ b/paper/master_paper.tex Sun Jan 07 05:22:05 2018 +0900 @@ -5,6 +5,7 @@ \usepackage{here} \usepackage{listings} \usepackage{comment} +\usepackage{url} \usepackage[deluxe, multi]{otf} %\input{dummy.tex} %% font @@ -30,6 +31,7 @@ \newcommand\figref[1]{図 \ref{fig:#1}} \newcommand\tabref[1]{表 \ref{tab:#1}} +\newcommand\coderef[1]{ソースコード \ref{code:#1}} \lstset{ frame=single, @@ -53,11 +55,8 @@ lineskip=-0.5zw, escapechar={@}, } -\def\lstlistingname{リスト} -\def\lstlistlistingname{リスト目次} -\newtheorem{theorem}{定理}[section] -\newtheorem{lemma}{補題}[section] - +\def\lstlistingname{ソースコード} +\def\lstlistlistingname{ソースコード目次} %%% 索引のために以下の2行を追加 \usepackage{makeidx,multicol} @@ -93,6 +92,12 @@ %chapters \input{introduction.tex} +\input{gearsOS.tex} +%\input{cbc.tex} +\input{structure_GearsOS.tex} +\input{gpu.tex} +\input{evaluation.tex} +\input{conclusion.tex} %謝辞 \addcontentsline{toc}{chapter}{謝辞}