# HG changeset patch # User atton # Date 1484883643 -32400 # Node ID db2909ab202dd5189af1a409f5dd7207ba8e40db # Parent 3ffd17f96e0611bcf0013e376d3a2089e92d1a15 Add GearsOS diff -r 3ffd17f96e06 -r db2909ab202d paper/cbc.tex --- a/paper/cbc.tex Fri Jan 20 11:37:01 2017 +0900 +++ b/paper/cbc.tex Fri Jan 20 12:40:43 2017 +0900 @@ -98,7 +98,18 @@ % }}} -\section{GearsOS} -\section{メタ計算ライブラリ akasha} -\section{akasha を用いた赤黒木の実装の検証} +\section{Continuation based C におけるメタ計算の例: GearsOS} +CbC におけるメタ計算は軽量継続を行なう際に Meta CodeSegment を挟むことで実現できる。 + +CbC を用いてメタ計算を実現した例として、GearsOS\cite{weko_142108_1}が存在する。 +GearsOS とはマルチコアCPUやGPU環境での動作を対象としたOSであり、現在OSの設計と並列処理部分の実装が行なわれている。 +現在存在するメタ計算としてメモリの確保と割り当て、並列に書き込むことが可能な Synchronized Queue、データの保存に用いる非破壊赤黒木がある。 +GearsOS では CodeSegment と DataSegment はそれぞれ CodeGear と DataGear と呼ばれている。 +マルチコアCPU環境では CodeGear と CodeSegment は同一だが、GPU 環境では CodeGear には OpenCL/CUDA における kernel も含まれる。 % TODO: ref +kernel とは GPU で実行される関数のことであり、GPU上のメモリに配置されたデータ群に対して並列に実行されるものである。 +通常 GPU でデータの処理を行なう場合はデータの転送、転送終了を同期で確認、 kernel 実行、kernel の終了を同期で確認する、という手順が必要である。 +CPU/GPU での処理をメタ計算で行なうことにより、ノーマルレベルでは CodeGear が実行されるデバイスや DataGear の位置を意識する必要が無いというメリットがある。 + +\section{メタ計算ライブラリ akasha を用いた赤黒木の実装の検証} + diff -r 3ffd17f96e06 -r db2909ab202d paper/reference.bib --- a/paper/reference.bib Fri Jan 20 11:37:01 2017 +0900 +++ b/paper/reference.bib Fri Jan 20 12:40:43 2017 +0900 @@ -91,4 +91,13 @@ note = {Accessed: 2015/02/17(Tue)} } +@techreport{weko_142109_1, + author = "小久保,翔平 and 伊波,立樹 and 河野,真治", + title = "Monadに基づくメタ計算を基本とするGears OSの設計", + year = "2015", + institution = "琉球大学大学院理工学研究科情報工学専攻, 琉球大学工学部情報工学科, 琉球大学工学部情報工学科", + number = "16", + month = "may" +} + % TODO : 会長さんの修論