Mercurial > hg > Papers > 2024 > matac-master
changeset 10:b7abe0e40c22
...
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 23 Dec 2023 16:08:07 +0900 |
parents | 83b783747d1a |
children | 67b68982e36e |
files | Paper/master_paper.pdf Paper/master_paper.tex mindmaps/gears_fs_db.mm |
diffstat | 3 files changed, 83 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/master_paper.tex Sat Dec 09 19:20:23 2023 +0900 +++ b/Paper/master_paper.tex Sat Dec 23 16:08:07 2023 +0900 @@ -121,7 +121,14 @@ よって,今回はGearsOSにおけるファイルシステムとDBをRedBlackTreeで実装するための 設計を行う. -\chapter{Continuation based C} +\chapter{軽量継続を基本とする言語CbC} + +\section{処理の単位CodeGear} +\section{データの単位DataGear} +\section{ノーマルレベルとメタレベルの切り分け} +\section{gotoによる軽量継続} +\section{CodeGearの記述例} +\section{CbCの現状} Continuation based C(CbC)\cite{cbcllvm,cbc}は,当研究室で開発しているCの下位言語である. CbCでは関数の代わりにCodeGearという単位でプログラミングを行う. @@ -162,6 +169,13 @@ \chapter{信頼性の保証を目的としたGearsOS} +\section{3種類のGearsOS} +\section{メタ処理を記述するmetaGear} +\section{CodeGearの遷移} +\section{全てのGearを参照するContext} +\section{GearsOSの記述例} +\section{GearsOSの現状} + GearsOS\cite{gears,gearsos,cr}は当研究室で開発している,信頼性と拡張性の両立を目的としたOSである. GearsOSにはGearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ. 軽量継続を基本とし,stackを持たない代わりに全てをContext経由で実行する.
--- a/mindmaps/gears_fs_db.mm Sat Dec 09 19:20:23 2023 +0900 +++ b/mindmaps/gears_fs_db.mm Sat Dec 23 16:08:07 2023 +0900 @@ -96,6 +96,9 @@ </node> <node TEXT="ファイルシステムとDB" ID="ID_1884932719" CREATED="1699849849835" MODIFIED="1699849855383"> <node TEXT="RedBlackTreeを基本構造とする" ID="ID_224748942" CREATED="1699849885632" MODIFIED="1699849902671"/> +<node TEXT="user interface" ID="ID_1064201171" CREATED="1702117030490" MODIFIED="1702117056047"> +<node TEXT="学部の時のやつ" ID="ID_1607825727" CREATED="1702117042878" MODIFIED="1702117046968"/> +</node> <node TEXT="複数のreplicationを持てていない" ID="ID_787621439" CREATED="1699849855878" MODIFIED="1699849873297"/> <node TEXT="GCがない" ID="ID_1300729095" CREATED="1699849873756" MODIFIED="1699849878570"> <node TEXT="RustのようなGCを持たないシステムも存在する" ID="ID_417147063" CREATED="1701692764078" MODIFIED="1701692773562"> @@ -115,6 +118,9 @@ </node> </node> </node> +<node TEXT="現状" ID="ID_932050028" CREATED="1703310897416" MODIFIED="1703310899956"> +<node TEXT="" ID="ID_166710427" CREATED="1703310900268" MODIFIED="1703310900268"/> +</node> <node TEXT="CbC" ID="ID_740206957" CREATED="1701695838712" MODIFIED="1701695841654"> <node TEXT="Cの下位言語" ID="ID_1949462311" CREATED="1702109769687" MODIFIED="1702109804650"> <node TEXT="CのLLVMに変更を加えている" ID="ID_591487528" CREATED="1702110861488" MODIFIED="1702110890767"/> @@ -148,6 +154,22 @@ <node TEXT="http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_llvm/" ID="ID_797243399" CREATED="1702111010437" MODIFIED="1702111010437" LINK="http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_llvm/"/> <node TEXT="clang llvm 18.0.0" ID="ID_762978767" CREATED="1702111146287" MODIFIED="1702111160675"/> </node> +<node TEXT="関連" ID="ID_416590732" CREATED="1703308253194" MODIFIED="1703308255811"> +<node TEXT="AspectJ" ID="ID_1370782910" CREATED="1703308256121" MODIFIED="1703308259210"> +<node TEXT="リフレクション" ID="ID_96315745" CREATED="1703308259675" MODIFIED="1703308340272"/> +<node TEXT="CbCはリフレクションしやすい" ID="ID_1614355873" CREATED="1703308341219" MODIFIED="1703308355429"/> +<node TEXT="metaを書ける部分がリフレクション" ID="ID_195416108" CREATED="1703308357434" MODIFIED="1703308372053"/> +<node TEXT="AOP" ID="ID_770917898" CREATED="1703308974828" MODIFIED="1703308978370"> +<node TEXT="アスペクト志向プログラミング" ID="ID_1702082447" CREATED="1703308978573" MODIFIED="1703308988562"/> +</node> +<node TEXT="記法" ID="ID_582319031" CREATED="1703308588273" MODIFIED="1703308590240"> +<node TEXT="@Aspect" ID="ID_201521343" CREATED="1703308932008" MODIFIED="1703308939119"/> +<node TEXT="Advice" ID="ID_1105819991" CREATED="1703308939534" MODIFIED="1703308947617"/> +<node TEXT="PointCut" ID="ID_1656105549" CREATED="1703308947870" MODIFIED="1703308951334"/> +<node TEXT="JoinPoint" ID="ID_1355814265" CREATED="1703308951712" MODIFIED="1703308972859"/> +</node> +</node> +</node> </node> </node> <node TEXT="ファイルシステム" POSITION="right" ID="ID_1877138212" CREATED="1699848400796" MODIFIED="1699848405514"> @@ -310,7 +332,6 @@ <node TEXT="同一のRedBlackTree" ID="ID_1633724271" CREATED="1699850231118" MODIFIED="1699850243142"/> <node TEXT="persistent memoryを想定" ID="ID_719479083" CREATED="1699850243592" MODIFIED="1699850261924"/> </node> -<node TEXT="OOM Killer" POSITION="right" ID="ID_404682764" CREATED="1701841494687" MODIFIED="1701841498813"/> <node TEXT="先行研究" POSITION="right" ID="ID_1807805275" CREATED="1699850150666" MODIFIED="1699850155227"> <node TEXT="GearsOS の分散ファイルシステム設計" ID="ID_1737093216" CREATED="1701692836825" MODIFIED="1701692838439"> <node TEXT="一木 貴裕" ID="ID_976656831" CREATED="1701692838974" MODIFIED="1701692861473"/> @@ -320,23 +341,61 @@ <node TEXT="又吉 雄斗" ID="ID_537151466" CREATED="1701692914641" MODIFIED="1701692923391"/> <node TEXT="卒論" ID="ID_1486800431" CREATED="1701692926762" MODIFIED="1701692930073"/> </node> +<node TEXT="参考文献" ID="ID_1704420848" CREATED="1702289534980" MODIFIED="1702289539226"> +<node TEXT="AspectJ" ID="ID_682948653" CREATED="1702289539526" MODIFIED="1702289543447"/> +</node> </node> <node TEXT="評価方法" POSITION="right" ID="ID_1979397312" CREATED="1699850131177" MODIFIED="1699850137060"/> -<node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1699848435212"> -<node TEXT="Gears OSのファイルシステムとDB" ID="ID_446325287" CREATED="1701690660393" MODIFIED="1701690902283"/> -<node TEXT="Continuation based C" ID="ID_1037072660" CREATED="1701690246173" MODIFIED="1701690253931"/> -<node TEXT="GearsOS" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1701692213741"/> +<node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1702112473403"> +<node TEXT="Gears OSのファイルシステムとDB" ID="ID_446325287" CREATED="1701690660393" MODIFIED="1701690902283"> +<node TEXT="システム全体の信頼性を上げたい" ID="ID_1572843196" CREATED="1703313460915" MODIFIED="1703313713692"/> +<node TEXT="ファイルシステムとDBの信頼性を考える" ID="ID_1355454563" CREATED="1703313715002" MODIFIED="1703313723643"/> +<node TEXT="ファイルシステムとは" ID="ID_1898416034" CREATED="1703313727821" MODIFIED="1703313734372"/> +<node TEXT="DBとは" ID="ID_101598045" CREATED="1703313734729" MODIFIED="1703313737449"/> +<node TEXT="ファイルシステムとDBの違い" ID="ID_1786247161" CREATED="1703313740484" MODIFIED="1703313748867"/> +<node TEXT="ファイルシステムとDBが持つ追加機能" ID="ID_1094923931" CREATED="1703313749849" MODIFIED="1703313784209"/> +<node TEXT="GearsOSを使って実現する" ID="ID_646654551" CREATED="1703313787540" MODIFIED="1703313833292"/> +<node TEXT="信頼性を向上する手法" ID="ID_578834327" CREATED="1703313866689" MODIFIED="1703313878304"/> +<node TEXT="GearsOSのファイルシステムとDBの現状" ID="ID_90571671" CREATED="1703313901390" MODIFIED="1703313918619"/> +<node TEXT="RedBlackTreeのコピーの実装" ID="ID_227598094" CREATED="1703313929273" MODIFIED="1703313941132"/> +</node> +<node TEXT="軽量継続を基本とする言語CbC" ID="ID_1037072660" CREATED="1701690246173" MODIFIED="1703311032386"> +<node TEXT="処理の単位CodeGear" ID="ID_1818389006" CREATED="1703307708710" MODIFIED="1703307746215"/> +<node TEXT="データの単位DataGear" ID="ID_1930250223" CREATED="1703307746950" MODIFIED="1703307753688"/> +<node TEXT="ノーマルレベルとメタレベルの切り分け" ID="ID_719507396" CREATED="1703308470210" MODIFIED="1703308478844"> +<node TEXT="リフレクション" ID="ID_355579006" CREATED="1703308504930" MODIFIED="1703308513027"/> +</node> +<node TEXT="gotoによる軽量継続" ID="ID_726882949" CREATED="1703307895880" MODIFIED="1703307911540"/> +<node TEXT="CodeGearの記述例" ID="ID_1731637915" CREATED="1703307784821" MODIFIED="1703307887307"/> +<node TEXT="CbCの現状" ID="ID_950222443" CREATED="1703307926203" MODIFIED="1703307929709"/> +</node> +<node TEXT="信頼性の保証を目的としたGearsOS" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1703311040671"> +<node TEXT="3種類のGearsOS" ID="ID_1326415213" CREATED="1703309744902" MODIFIED="1703309750565"/> +<node TEXT="メタ処理を記述するmetaGear" ID="ID_1666892566" CREATED="1703309692742" MODIFIED="1703309713823"/> +<node TEXT="CodeGearの遷移" ID="ID_1403713795" CREATED="1703310522532" MODIFIED="1703310534184"/> +<node TEXT="全てのGearを参照するContext" ID="ID_91888278" CREATED="1703309731224" MODIFIED="1703310166027"/> +<node TEXT="GearsOSの記述例" ID="ID_227287316" CREATED="1703310975416" MODIFIED="1703310983579"/> +<node TEXT="GearsOSの現状" ID="ID_468728002" CREATED="1703310866177" MODIFIED="1703310871670"/> +</node> <node TEXT="GearsFileSystem" ID="ID_667012992" CREATED="1701694178540" MODIFIED="1701694184160"> +<node TEXT="DataGearManagerによる分散ファイルシステム" ID="ID_540180010" CREATED="1703315001066" MODIFIED="1703315085575"/> <node TEXT="非破壊RedBlackTreeによる構成" ID="ID_262332331" CREATED="1701696133124" MODIFIED="1701696237170"/> -<node TEXT="RedBlackTreeのトランザクション" ID="ID_1088328123" CREATED="1701696247760" MODIFIED="1701696264775"/> +<node TEXT="RedBlackTreeによるファイルシステム" ID="ID_1851664363" CREATED="1703314946289" MODIFIED="1703314992580"/> +<node TEXT="ディスク上とメモリ上のデータ構造" ID="ID_880200197" CREATED="1703314889974" MODIFIED="1703314930213"/> +<node TEXT="RedBlackTreeのトランザクション" ID="ID_1088328123" CREATED="1701696247760" MODIFIED="1702112463420" HGAP_QUANTITY="14.75 pt" VSHIFT_QUANTITY="3.75 pt"/> </node> -<node TEXT="GearsFileSystemにおけるGCとレプリケーションの仕組み" ID="ID_1092227909" CREATED="1701690558237" MODIFIED="1701696203939"> +<node TEXT="GearsFileSystemにおけるGCとレプリケーションの仕組み" ID="ID_1092227909" CREATED="1701690558237" MODIFIED="1702112470212" HGAP_QUANTITY="16.25 pt" VSHIFT_QUANTITY="-1.5 pt"> <node TEXT="ディスク上とメモリ上のデータ構造" ID="ID_683338430" CREATED="1701696165502" MODIFIED="1701696179372"/> <node TEXT="データのバックアップ" ID="ID_441653952" CREATED="1701696184549" MODIFIED="1701696189276"/> -<node TEXT="レプリケーション" ID="ID_243135333" CREATED="1701696193660" MODIFIED="1701696208809"/> +<node TEXT="レプリケーション" ID="ID_243135333" CREATED="1701696193660" MODIFIED="1702112458875" VSHIFT_QUANTITY="-0.75 pt"/> <node TEXT="ガベージコレクション" ID="ID_694714867" CREATED="1701696212033" MODIFIED="1701696219728"/> </node> -<node TEXT="実装?" ID="ID_1619882257" CREATED="1701697553803" MODIFIED="1701697572510"/> +<node TEXT="実装?" ID="ID_1619882257" CREATED="1701697553803" MODIFIED="1702112473403" VSHIFT_QUANTITY="-4.5 pt"/> +<node TEXT="信頼性" ID="ID_1221084016" CREATED="1702289777950" MODIFIED="1702289781581"> +<node TEXT="モデル検査とAgdaによる実装" ID="ID_1438858883" CREATED="1702289781790" MODIFIED="1702289794818"/> +</node> +<node TEXT="評価" ID="ID_1053436711" CREATED="1702112499515" MODIFIED="1702112509004"/> +<node TEXT="今後" ID="ID_87524419" CREATED="1702112509364" MODIFIED="1702112512270"/> </node> <node TEXT="修論で言いたいこと" POSITION="left" ID="ID_1194781583" CREATED="1701690732709" MODIFIED="1701696321975" HGAP_QUANTITY="29 pt" VSHIFT_QUANTITY="134.25 pt"> <node TEXT="RedBlackTreeのCopyでreplicationによる信頼性の向上とGCの仕組みを実装した" ID="ID_729318951" CREATED="1701690742376" MODIFIED="1701691473760"/>