0
|
1 <map version="freeplane 1.9.8">
|
|
2 <!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org -->
|
|
3 <node TEXT="GearsOS上のファイルシステムとDBの信頼性(仮)" FOLDED="false" ID="ID_452131666" CREATED="1610381621610" MODIFIED="1699848248364" STYLE="oval">
|
|
4 <font SIZE="18"/>
|
|
5 <hook NAME="MapStyle">
|
|
6 <properties edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" associatedTemplateLocation="template:/standard-1.6-noEdgeColor.mm" fit_to_viewport="false"/>
|
|
7
|
|
8 <map_styles>
|
|
9 <stylenode LOCALIZED_TEXT="styles.root_node" STYLE="oval" UNIFORM_SHAPE="true" VGAP_QUANTITY="24 pt">
|
|
10 <font SIZE="24"/>
|
|
11 <stylenode LOCALIZED_TEXT="styles.predefined" POSITION="right" STYLE="bubble">
|
|
12 <stylenode LOCALIZED_TEXT="default" ID="ID_207122690" COLOR="#000000" STYLE="fork">
|
|
13 <arrowlink SHAPE="CUBIC_CURVE" COLOR="#000000" WIDTH="2" TRANSPARENCY="200" DASH="" FONT_SIZE="9" FONT_FAMILY="SansSerif" DESTINATION="ID_207122690" STARTARROW="DEFAULT" ENDARROW="NONE"/>
|
|
14 <font NAME="SansSerif" SIZE="10" BOLD="false" ITALIC="false"/>
|
|
15 <richcontent CONTENT-TYPE="plain/auto" TYPE="DETAILS"/>
|
|
16 <richcontent TYPE="NOTE" CONTENT-TYPE="plain/auto"/>
|
|
17 </stylenode>
|
|
18 <stylenode LOCALIZED_TEXT="defaultstyle.details"/>
|
|
19 <stylenode LOCALIZED_TEXT="defaultstyle.attributes">
|
|
20 <font SIZE="9"/>
|
|
21 </stylenode>
|
|
22 <stylenode LOCALIZED_TEXT="defaultstyle.note" COLOR="#000000" BACKGROUND_COLOR="#ffffff" TEXT_ALIGN="LEFT"/>
|
|
23 <stylenode LOCALIZED_TEXT="defaultstyle.floating">
|
|
24 <edge STYLE="hide_edge"/>
|
|
25 <cloud COLOR="#f0f0f0" SHAPE="ROUND_RECT"/>
|
|
26 </stylenode>
|
|
27 <stylenode LOCALIZED_TEXT="defaultstyle.selection" BACKGROUND_COLOR="#4e85f8" BORDER_COLOR_LIKE_EDGE="false" BORDER_COLOR="#4e85f8"/>
|
|
28 </stylenode>
|
|
29 <stylenode LOCALIZED_TEXT="styles.user-defined" POSITION="right" STYLE="bubble">
|
|
30 <stylenode LOCALIZED_TEXT="styles.topic" COLOR="#18898b" STYLE="fork">
|
|
31 <font NAME="Liberation Sans" SIZE="10" BOLD="true"/>
|
|
32 </stylenode>
|
|
33 <stylenode LOCALIZED_TEXT="styles.subtopic" COLOR="#cc3300" STYLE="fork">
|
|
34 <font NAME="Liberation Sans" SIZE="10" BOLD="true"/>
|
|
35 </stylenode>
|
|
36 <stylenode LOCALIZED_TEXT="styles.subsubtopic" COLOR="#669900">
|
|
37 <font NAME="Liberation Sans" SIZE="10" BOLD="true"/>
|
|
38 </stylenode>
|
|
39 <stylenode LOCALIZED_TEXT="styles.important" ID="ID_3752836">
|
|
40 <icon BUILTIN="yes"/>
|
|
41 <arrowlink COLOR="#003399" TRANSPARENCY="255" DESTINATION="ID_3752836"/>
|
|
42 </stylenode>
|
|
43 </stylenode>
|
|
44 <stylenode LOCALIZED_TEXT="styles.AutomaticLayout" POSITION="right" STYLE="bubble">
|
|
45 <stylenode LOCALIZED_TEXT="AutomaticLayout.level.root" COLOR="#000000" STYLE="oval" SHAPE_HORIZONTAL_MARGIN="10 pt" SHAPE_VERTICAL_MARGIN="10 pt">
|
|
46 <font SIZE="18"/>
|
|
47 </stylenode>
|
|
48 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,1" COLOR="#0033ff">
|
|
49 <font SIZE="16"/>
|
|
50 </stylenode>
|
|
51 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,2" COLOR="#00b439">
|
|
52 <font SIZE="14"/>
|
|
53 </stylenode>
|
|
54 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,3" COLOR="#990000">
|
|
55 <font SIZE="12"/>
|
|
56 </stylenode>
|
|
57 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,4" COLOR="#111111">
|
|
58 <font SIZE="10"/>
|
|
59 </stylenode>
|
|
60 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,5"/>
|
|
61 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,6"/>
|
|
62 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,7"/>
|
|
63 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,8"/>
|
|
64 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,9"/>
|
|
65 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,10"/>
|
|
66 <stylenode LOCALIZED_TEXT="AutomaticLayout.level,11"/>
|
|
67 </stylenode>
|
|
68 </stylenode>
|
|
69 </map_styles>
|
|
70 </hook>
|
|
71 <node TEXT="Gears OS" POSITION="right" ID="ID_1060626979" CREATED="1699848393025" MODIFIED="1699848400222">
|
|
72 <node TEXT="ファイルシステムとDB" ID="ID_1884932719" CREATED="1699849849835" MODIFIED="1699849855383">
|
|
73 <node TEXT="RedBlackTreeを基本構造とする" ID="ID_224748942" CREATED="1699849885632" MODIFIED="1699849902671"/>
|
|
74 <node TEXT="複数のreplicationを持てていない" ID="ID_787621439" CREATED="1699849855878" MODIFIED="1699849873297"/>
|
|
75 <node TEXT="GCがない" ID="ID_1300729095" CREATED="1699849873756" MODIFIED="1699849878570"/>
|
|
76 <node TEXT="RedBlackTreeのコピーによって" ID="ID_116893075" CREATED="1699849908039" MODIFIED="1699849924661">
|
|
77 <node TEXT="replication作成" ID="ID_1170481289" CREATED="1699849924973" MODIFIED="1699849930140"/>
|
|
78 <node TEXT="GC" ID="ID_1741645302" CREATED="1699849930484" MODIFIED="1699849933881">
|
|
79 <node TEXT="Copying GC" ID="ID_937412490" CREATED="1699850770149" MODIFIED="1699850779042"/>
|
|
80 </node>
|
|
81 </node>
|
|
82 </node>
|
|
83 </node>
|
|
84 <node TEXT="ファイルシステム" POSITION="right" ID="ID_1877138212" CREATED="1699848400796" MODIFIED="1699848405514">
|
|
85 <node TEXT="可変長文字列を格納するファイル" ID="ID_1080516331" CREATED="1699849063058" MODIFIED="1699849081419">
|
|
86 <node TEXT="構造化されていないデータ" ID="ID_989502084" CREATED="1699854164275" MODIFIED="1699854171408"/>
|
|
87 </node>
|
|
88 <node TEXT="ファイルにアクセスするための名前管理" ID="ID_1768633329" CREATED="1699849081914" MODIFIED="1699849094907">
|
|
89 <node TEXT="linux" ID="ID_1049908119" CREATED="1699857284972" MODIFIED="1699857288270">
|
|
90 <node ID="ID_1495135529" CREATED="1699857288486" MODIFIED="1699857326105"><richcontent TYPE="NODE">
|
|
91
|
|
92 <html>
|
|
93 <head>
|
|
94
|
|
95 </head>
|
|
96 <body>
|
|
97 <p>
|
|
98 /<font color="#000000">home/matac/ws/</font>
|
|
99 </p>
|
|
100 </body>
|
|
101 </html>
|
|
102
|
|
103 </richcontent>
|
|
104 </node>
|
|
105 </node>
|
|
106 </node>
|
|
107 <node TEXT="同時アクセス時の名前管理の一貫性保証" ID="ID_1592817213" CREATED="1699849095540" MODIFIED="1699849111381"/>
|
|
108 <node TEXT="ファイルに同時に書き込まれた時の一貫性の保証は無い" ID="ID_760250864" CREATED="1699849111930" MODIFIED="1699849133659">
|
|
109 <node TEXT="書き込み制御のロック機構がある" ID="ID_1546654520" CREATED="1699849148263" MODIFIED="1699849162973"/>
|
|
110 </node>
|
|
111 </node>
|
|
112 <node TEXT="DB" POSITION="right" ID="ID_149657016" CREATED="1699848406699" MODIFIED="1699848407993">
|
|
113 <node TEXT="レコード" ID="ID_1205240345" CREATED="1699849182564" MODIFIED="1699849185575">
|
|
114 <node TEXT="入力の属性名と型の組" ID="ID_249604408" CREATED="1699849185821" MODIFIED="1699849209586"/>
|
|
115 </node>
|
|
116 <node TEXT="テーブル" ID="ID_156913568" CREATED="1699849219044" MODIFIED="1699849228825">
|
|
117 <node TEXT="特定の属性をキーとする" ID="ID_415589337" CREATED="1699849229049" MODIFIED="1699849235367"/>
|
|
118 </node>
|
|
119 <node TEXT="直列化可能性" ID="ID_1355828962" CREATED="1699849247355" MODIFIED="1699849253883">
|
|
120 <node TEXT="Serializability" ID="ID_429588711" CREATED="1699849254710" MODIFIED="1699849318311"/>
|
|
121 <node TEXT="複数のトランザクションが並行実行される際の処理結果の正しさを保証する基準" ID="ID_749156965" CREATED="1699849319073" MODIFIED="1699849354090"/>
|
|
122 </node>
|
|
123 <node TEXT="正規形" ID="ID_1482959686" CREATED="1699854183342" MODIFIED="1699854192704"/>
|
|
124 </node>
|
|
125 <node TEXT="ファイルシステムとDBの違い" POSITION="right" ID="ID_1607395441" CREATED="1699851419940" MODIFIED="1699851427585">
|
|
126 <node TEXT="データの格納形式" ID="ID_2838179" CREATED="1699851427818" MODIFIED="1699851444191">
|
|
127 <node TEXT="文字列かレコードか" ID="ID_6405282" CREATED="1699851446861" MODIFIED="1699851462681"/>
|
|
128 </node>
|
|
129 <node TEXT="データアクセス方法" ID="ID_1258040613" CREATED="1699851466951" MODIFIED="1699851472419">
|
|
130 <node TEXT="read, write" ID="ID_823556495" CREATED="1699851468816" MODIFIED="1699851490085"/>
|
|
131 <node TEXT="SQL" ID="ID_1745553035" CREATED="1699851490559" MODIFIED="1699851500567"/>
|
|
132 </node>
|
|
133 <node TEXT="直列化可能性保証方法" ID="ID_1245227752" CREATED="1699851504126" MODIFIED="1699851516763">
|
|
134 <node TEXT="record, table lock" ID="ID_1269582911" CREATED="1699852009313" MODIFIED="1699852028994"/>
|
|
135 <node TEXT="ファイルロック" ID="ID_765600991" CREATED="1699852050399" MODIFIED="1699852055041"/>
|
|
136 </node>
|
|
137 </node>
|
|
138 <node TEXT="ファイルシステムとDBの追加機能" POSITION="right" ID="ID_1823247462" CREATED="1699851812550" MODIFIED="1699851823299">
|
|
139 <node TEXT="電源を切った時にデータが残る" ID="ID_1444181613" CREATED="1699851823510" MODIFIED="1699851836412">
|
|
140 <node TEXT="persistency" ID="ID_603526007" CREATED="1699851837510" MODIFIED="1699851840636"/>
|
|
141 </node>
|
|
142 <node TEXT="書き込めたかどうかを判定する" ID="ID_1468638907" CREATED="1699851851054" MODIFIED="1699851859966">
|
|
143 <node TEXT="atomic write" ID="ID_514160473" CREATED="1699851860291" MODIFIED="1699851864956"/>
|
|
144 </node>
|
|
145 <node TEXT="一つのノードが失われた時にデータを保護する" ID="ID_369826358" CREATED="1699851869445" MODIFIED="1699851882668">
|
|
146 <node TEXT="多重性" ID="ID_1986614934" CREATED="1699851883681" MODIFIED="1699851887639"/>
|
|
147 </node>
|
|
148 <node TEXT="複数のコピーを調停するコミット機構" ID="ID_422231006" CREATED="1699851890504" MODIFIED="1699851906965"/>
|
|
149 </node>
|
|
150 <node TEXT="信頼性" POSITION="right" ID="ID_696728353" CREATED="1699848408447" MODIFIED="1699848413804">
|
|
151 <node TEXT="向上手法" ID="ID_1020078491" CREATED="1699848491366" MODIFIED="1699848496923">
|
|
152 <node TEXT="証明" ID="ID_1018661667" CREATED="1699848497270" MODIFIED="1699848503341">
|
|
153 <node TEXT="Gears Agda" ID="ID_1165126463" CREATED="1699848504251" MODIFIED="1699848509993"/>
|
|
154 <node TEXT="invariantを使う" ID="ID_92873298" CREATED="1699848511299" MODIFIED="1699848516818"/>
|
|
155 </node>
|
|
156 <node TEXT="テスト" ID="ID_853686057" CREATED="1699848525221" MODIFIED="1699848530154"/>
|
|
157 <node TEXT="モデル検査" ID="ID_465552896" CREATED="1699848530425" MODIFIED="1699848536874"/>
|
|
158 </node>
|
|
159 <node TEXT="システム全体で向上させる必要がある" ID="ID_1629969942" CREATED="1699848909002" MODIFIED="1699848931988">
|
|
160 <node TEXT="システムの構成要素" ID="ID_677210990" CREATED="1699848935984" MODIFIED="1699848942782">
|
|
161 <node TEXT="アプリケーション" ID="ID_1491167091" CREATED="1699848943269" MODIFIED="1699848949144"/>
|
|
162 <node TEXT="OS" ID="ID_419231398" CREATED="1699848949689" MODIFIED="1699848952218"/>
|
|
163 <node TEXT="ファイルシステム" ID="ID_1950317269" CREATED="1699848952489" MODIFIED="1699849002048"/>
|
|
164 <node TEXT="DB" ID="ID_92392900" CREATED="1699849003252" MODIFIED="1699849004419"/>
|
|
165 <node TEXT="メモリ" ID="ID_1964952999" CREATED="1699849004786" MODIFIED="1699849010256"/>
|
|
166 <node TEXT="SSD" ID="ID_1413092539" CREATED="1699849010790" MODIFIED="1699849015545"/>
|
|
167 <node TEXT="分散ノード" ID="ID_1536068993" CREATED="1699849016080" MODIFIED="1699849022165"/>
|
|
168 <node TEXT="ネットワーク" ID="ID_1088702523" CREATED="1699849022619" MODIFIED="1699849027379"/>
|
|
169 </node>
|
|
170 </node>
|
|
171 <node TEXT="向上手法をシステム全体に適用したい" ID="ID_829551002" CREATED="1699850006058" MODIFIED="1699850017727"/>
|
|
172 </node>
|
|
173 <node TEXT="RedBlackTree" POSITION="right" ID="ID_858040690" CREATED="1699848437129" MODIFIED="1699848446060">
|
|
174 <node TEXT="Copy" ID="ID_76598812" CREATED="1699848476363" MODIFIED="1699848479936">
|
|
175 <node TEXT="単なる2分木のコピー" ID="ID_1535596989" CREATED="1699849455588" MODIFIED="1699849469353"/>
|
|
176 <node TEXT="Stack無しで書くとおそらく結構複雑" ID="ID_527329681" CREATED="1699849470075" MODIFIED="1699857892247"/>
|
|
177 <node TEXT="木を辿るためにStackを使う" ID="ID_788381426" CREATED="1699849561986" MODIFIED="1699849582652"/>
|
|
178 <node TEXT="アルゴリズム" ID="ID_529312839" CREATED="1699849518269" MODIFIED="1699849522647">
|
|
179 <node TEXT="左側を深さ優先で辿る" ID="ID_468694757" CREATED="1699849525266" MODIFIED="1699849604742">
|
|
180 <node TEXT="Stack push" ID="ID_1123969398" CREATED="1699849778090" MODIFIED="1699849781012"/>
|
|
181 </node>
|
|
182 <node TEXT="アロケートしたノードは別のContext上に作る" ID="ID_320048499" CREATED="1699849620905" MODIFIED="1699849638042">
|
|
183 <node TEXT="GCのため" ID="ID_1239006804" CREATED="1699849638520" MODIFIED="1699849668501"/>
|
|
184 <node TEXT="Copy後古いContextを消す" ID="ID_1485480555" CREATED="1699849646521" MODIFIED="1699849693755"/>
|
|
185 <node TEXT="メモリ管理をモナドで表していることになる" ID="ID_1271994335" CREATED="1699849705089" MODIFIED="1699849715878"/>
|
|
186 </node>
|
|
187 <node TEXT="リーフまで降りたらroot方向に木を戻る" ID="ID_976293319" CREATED="1699849731393" MODIFIED="1699849765553">
|
|
188 <node TEXT="Stack pop" ID="ID_1123748609" CREATED="1699849765982" MODIFIED="1699849773214"/>
|
|
189 <node TEXT="右側を呼び出す" ID="ID_831164108" CREATED="1699849789218" MODIFIED="1699849803550"/>
|
|
190 </node>
|
|
191 <node TEXT="Stackを2つ使うならば" ID="ID_472848117" CREATED="1699849785880" MODIFIED="1699850937824">
|
|
192 <node TEXT="全体のStack" ID="ID_315508287" CREATED="1699850965212" MODIFIED="1699858010811">
|
|
193 <node TEXT="originの木を辿るために使う" ID="ID_824722897" CREATED="1699858046929" MODIFIED="1699858071837"/>
|
|
194 </node>
|
|
195 <node TEXT="途中のStack" ID="ID_1421142933" CREATED="1699850966215" MODIFIED="1699858024318">
|
|
196 <node TEXT="右側を呼び出す際にそれまでの左側部分木を保持" ID="ID_929949795" CREATED="1699851138198" MODIFIED="1699858042178"/>
|
|
197 </node>
|
|
198 </node>
|
|
199 </node>
|
|
200 <node TEXT="Copy前後の同一性確認が必要" ID="ID_1150089347" CREATED="1699849956727" MODIFIED="1699849974942"/>
|
|
201 <node TEXT="Copy中の変更" ID="ID_492731672" CREATED="1699849982760" MODIFIED="1699849992692"/>
|
|
202 <node TEXT="毎回全てをGCするか" ID="ID_1696799143" CREATED="1699858222922" MODIFIED="1699858309153">
|
|
203 <node TEXT="アクセス頻度によって世代分けする" ID="ID_158787872" CREATED="1699858236610" MODIFIED="1699858248665"/>
|
|
204 <node TEXT="ほとんどアクセスされないデータはGC対象から除く" ID="ID_285170374" CREATED="1699858262921" MODIFIED="1699858318515"/>
|
|
205 </node>
|
|
206 </node>
|
1
|
207 <node TEXT="incrementalなTreeのcopy" ID="ID_1492567121" CREATED="1699869669939" MODIFIED="1699869692257">
|
|
208 <node TEXT="後からcommitできるかも" ID="ID_1849438115" CREATED="1699869742980" MODIFIED="1699869754391"/>
|
|
209 <node TEXT="commitのシーケンスをとっておく" ID="ID_921049246" CREATED="1699869765723" MODIFIED="1699869778036">
|
|
210 <node TEXT="Treeとは別にオペレーションのリストがある" ID="ID_1770284118" CREATED="1699869879779" MODIFIED="1699869889686">
|
|
211 <node TEXT="これもcopyが必要" ID="ID_230010982" CREATED="1699869957930" MODIFIED="1699869963814"/>
|
|
212 </node>
|
|
213 <node TEXT="RedBlackTree with commtted operation" ID="ID_888988533" CREATED="1699869899048" MODIFIED="1699869915123">
|
|
214 <node TEXT="番号" ID="ID_1935233472" CREATED="1699869923512" MODIFIED="1699869928338"/>
|
|
215 <node TEXT="insert, delete" ID="ID_1668599725" CREATED="1699869929471" MODIFIED="1699869933942"/>
|
|
216 </node>
|
|
217 </node>
|
|
218 </node>
|
0
|
219 <node TEXT="証明しやすい" ID="ID_1313077784" CREATED="1699849438956" MODIFIED="1699849443715"/>
|
|
220 <node TEXT="全ての操作が最悪でもO(log n)" ID="ID_1382477887" CREATED="1699855369743" MODIFIED="1699855390827"/>
|
|
221 </node>
|
|
222 <node TEXT="RBTreeを用いたCopying GC" POSITION="right" ID="ID_704559305" CREATED="1699854075442" MODIFIED="1699857013558">
|
|
223 <node TEXT="RBTreeのコピーをする" ID="ID_541742554" CREATED="1699857015273" MODIFIED="1699857026447"/>
|
|
224 <node TEXT="データは全てRedBlackTreeで表現される" ID="ID_1145318684" CREATED="1699857027634" MODIFIED="1699857056196">
|
|
225 <node TEXT="ただし、木の操作にStackを用いる" ID="ID_1170936451" CREATED="1699857056714" MODIFIED="1699857067513"/>
|
|
226 </node>
|
|
227 <node TEXT="木自体がオブジェクトルートになる" ID="ID_1404066066" CREATED="1699857074069" MODIFIED="1699857087072">
|
|
228 <node TEXT="正確なGC" ID="ID_462996564" CREATED="1699857087449" MODIFIED="1699857104930"/>
|
|
229 </node>
|
|
230 </node>
|
|
231 <node TEXT="コピーのベンチマーカー" POSITION="right" ID="ID_1415317998" CREATED="1699856883382" MODIFIED="1699856891252">
|
|
232 <node TEXT="ある程度大きな木を用意" ID="ID_1884791368" CREATED="1699857682191" MODIFIED="1699857700584">
|
|
233 <node TEXT="ある程度とは" ID="ID_1182141688" CREATED="1699857704166" MODIFIED="1699857711215"/>
|
|
234 </node>
|
|
235 <node TEXT="単純にコピーにかかる時間を測定" ID="ID_846596778" CREATED="1699857700957" MODIFIED="1699857730588"/>
|
|
236 <node TEXT="比較対象は?" ID="ID_963832906" CREATED="1699857731316" MODIFIED="1699857739036"/>
|
1
|
237 <node TEXT="" ID="ID_1075212644" CREATED="1699869786284" MODIFIED="1699869786284"/>
|
0
|
238 </node>
|
|
239 <node TEXT="ディスク上とメモリ上のデータ構造" POSITION="right" ID="ID_1874111745" CREATED="1699850217484" MODIFIED="1699850230859">
|
|
240 <node TEXT="同一のRedBlackTree" ID="ID_1633724271" CREATED="1699850231118" MODIFIED="1699850243142"/>
|
|
241 <node TEXT="persistent memoryを想定" ID="ID_719479083" CREATED="1699850243592" MODIFIED="1699850261924"/>
|
|
242 </node>
|
|
243 <node TEXT="先行研究" POSITION="right" ID="ID_1807805275" CREATED="1699850150666" MODIFIED="1699850155227"/>
|
|
244 <node TEXT="評価方法" POSITION="right" ID="ID_1979397312" CREATED="1699850131177" MODIFIED="1699850137060"/>
|
|
245 <node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1699848435212"/>
|
|
246 </node>
|
|
247 </map>
|