782
|
1 <map version="0.8.1">
|
|
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
|
3 <node CREATED="1271152588111" ID="Freemind_Link_375342021" MODIFIED="1271152594247" TEXT="Cerium">
|
|
4 <node CREATED="1271152599573" ID="_" MODIFIED="1271154701003" POSITION="right" TEXT="c++">
|
|
5 <icon BUILTIN="full-1"/>
|
|
6 <node CREATED="1271152808239" ID="Freemind_Link_1256511474" MODIFIED="1271152815914" TEXT="TaskManager">
|
|
7 <node CREATED="1271152654975" ID="Freemind_Link_872288409" MODIFIED="1271152689305" TEXT="simple task"/>
|
|
8 <node CREATED="1271152689941" ID="Freemind_Link_394170420" MODIFIED="1271152696744" TEXT="array task"/>
|
|
9 <node CREATED="1271152707076" ID="Freemind_Link_821908954" MODIFIED="1271152710024" TEXT="old task"/>
|
832
|
10 <node CREATED="1274588901430" ID="Freemind_Link_93256422" MODIFIED="1274588930968" TEXT="bulk task iterator が必要"/>
|
|
11 <node CREATED="1274589056845" ID="Freemind_Link_525207414" MODIFIED="1274589066504" TEXT="TaskManager は必要でないらしい">
|
|
12 <node CREATED="1274589068245" ID="Freemind_Link_491724576" MODIFIED="1274589092436" TEXT="TMmain に TaskManager を渡すのではない"/>
|
|
13 <node CREATED="1274589093907" ID="Freemind_Link_479464644" MODIFIED="1274589110014" TEXT="TMmain には SchedTask を渡す"/>
|
782
|
14 </node>
|
832
|
15 <node CREATED="1274589412122" ID="Freemind_Link_1178859006" MODIFIED="1274589421381" TEXT="wait for">
|
|
16 <node CREATED="1274589422665" ID="Freemind_Link_430196306" MODIFIED="1274589445468" TEXT="wait for したときに、その Task が既に終わってるとまずい"/>
|
|
17 <node CREATED="1274589448968" ID="Freemind_Link_1819112747" MODIFIED="1274589485129" TEXT="既に free されてるかもしれない"/>
|
|
18 <node CREATED="1274589463647" ID="Freemind_Link_628313303" MODIFIED="1274589501161" TEXT="既に再利用されてる可能性もある"/>
|
|
19 <node CREATED="1274589504213" ID="Freemind_Link_1256949293" MODIFIED="1274589543285" TEXT="これを防ぐために HTask queue に sequence 番号をつける">
|
|
20 <node CREATED="1274589543690" ID="Freemind_Link_571012406" MODIFIED="1274589565709" TEXT="pointer と sequence 番号で判断する"/>
|
|
21 </node>
|
|
22 <node CREATED="1274589592652" ID="Freemind_Link_633880071" MODIFIED="1274589611826" TEXT="wait for する先がまだ spawn されてなければ問題ない"/>
|
|
23 </node>
|
|
24 <node CREATED="1274591484600" ID="Freemind_Link_326262522" MODIFIED="1274591901958" TEXT="Scheduler からの Task の終了の通知">
|
|
25 <icon BUILTIN="bookmark"/>
|
|
26 <node CREATED="1274591515950" ID="Freemind_Link_1155992623" MODIFIED="1274591524009" TEXT="現状">
|
|
27 <node CREATED="1274591525062" ID="Freemind_Link_1807292931" MODIFIED="1274591565447" TEXT="Simple Task とTask Array の終了ごとに mail がくる"/>
|
|
28 <node CREATED="1274591534573" ID="Freemind_Link_1511819683" MODIFIED="1274591595048" TEXT="ppe が mail を取らないと spe が止まってしまう"/>
|
|
29 </node>
|
|
30 <node CREATED="1274591601138" ID="Freemind_Link_382514949" MODIFIED="1274591605413" TEXT="解決策">
|
|
31 <node CREATED="1274591606025" ID="Freemind_Link_353884996" MODIFIED="1274591631556" TEXT="ppe 側で task の終了ごとに spe の mail をチェックする"/>
|
|
32 <node CREATED="1274591639087" ID="Freemind_Link_1901780159" MODIFIED="1274591678257" TEXT="task ごとではなくて、tasklist ごとに終了の mail を送る"/>
|
|
33 <node CREATED="1274591690357" ID="Freemind_Link_755676138" MODIFIED="1274591731374" TEXT="tasklist には複数の task が入っているので、それを TaskManagerImpl がチェックする"/>
|
|
34 <node CREATED="1274591739066" ID="Freemind_Link_832928459" MODIFIED="1274591771190" TEXT="post_func の後にも mail をチェックする"/>
|
|
35 <node CREATED="1274591763785" ID="Freemind_Link_781498285" MODIFIED="1274591809082" TEXT="ppe 側を multithread 化すると mail のチェックは速くなる">
|
|
36 <node CREATED="1274591811494" ID="Freemind_Link_142692230" MODIFIED="1274591847760" TEXT="ただし、ppe の mail check は busy wait なので CPU を食う可能性がある"/>
|
|
37 </node>
|
|
38 </node>
|
|
39 </node>
|
790
|
40 </node>
|
782
|
41 <node CREATED="1271152816566" ID="Freemind_Link_1565696016" MODIFIED="1271152823147" TEXT="RenderingEngine">
|
|
42 <node CREATED="1271152752178" ID="Freemind_Link_547968057" MODIFIED="1271152770913" TEXT="simple task に書き直す"/>
|
|
43 <node CREATED="1271152774825" ID="Freemind_Link_1913385705" MODIFIED="1271152782596" TEXT="array task に書き直す"/>
|
832
|
44 <node CREATED="1274590740681" ID="Freemind_Link_276160769" MODIFIED="1274590761477" TEXT="createPolygonFromSceneGraph"/>
|
|
45 <node CREATED="1274590763872" ID="Freemind_Link_149309559" MODIFIED="1274590768587" TEXT="createSpan">
|
|
46 <node CREATED="1274590806277" ID="Freemind_Link_956150988" MODIFIED="1274590821313" TEXT="get_segment で書き直す"/>
|
|
47 </node>
|
|
48 <node CREATED="1274590776014" ID="Freemind_Link_1512564455" MODIFIED="1274590781674" TEXT="DrawSpan">
|
853
|
49 <node CREATED="1274591872323" ID="Freemind_Link_694643331" MODIFIED="1274782798929" TEXT="Task Array で書き直す">
|
|
50 <icon BUILTIN="ksmiletris"/>
|
|
51 </node>
|
832
|
52 </node>
|
790
|
53 </node>
|
832
|
54 <node CREATED="1271152865996" ID="Freemind_Link_1369046890" MODIFIED="1274591464598" TEXT="ppu の multi threads 化">
|
|
55 <icon BUILTIN="full-2"/>
|
|
56 <icon BUILTIN="ksmiletris"/>
|
|
57 <icon BUILTIN="bookmark"/>
|
|
58 <node CREATED="1271152923312" ID="Freemind_Link_751477936" MODIFIED="1271154172144" TEXT="ppu の fifo を synchronized queue に書き換える"/>
|
|
59 <node CREATED="1274588938972" ID="Freemind_Link_1843780088" MODIFIED="1274588948726" TEXT="CPU thread を作った">
|
|
60 <node CREATED="1274589123218" ID="Freemind_Link_1266246688" MODIFIED="1274589152996" TEXT="mail を Blocking queue にする"/>
|
|
61 </node>
|
|
62 <node CREATED="1274588957790" ID="Freemind_Link_1367800310" MODIFIED="1274589249636" TEXT="task 側から createTask する場合">
|
|
63 <node CREATED="1274588987609" ID="Freemind_Link_869382645" MODIFIED="1274589006891" TEXT="local thread で local でqueue を作成する"/>
|
|
64 <node CREATED="1274589011943" ID="Freemind_Link_1937839870" MODIFIED="1274589047697" TEXT="queue を mail で TaskManagerImpl に投げる"/>
|
|
65 <node CREATED="1274589048518" ID="Freemind_Link_1379141754" MODIFIED="1274589192562" TEXT="task queue は TaskManagerImpl からしかアクセスしないようにする"/>
|
|
66 <node CREATED="1274589260394" ID="Freemind_Link_1946382151" MODIFIED="1274589278845" TEXT="task queue にアクセスするのに lock が不要になる"/>
|
|
67 <node CREATED="1274589321823" ID="Freemind_Link_1691404099" MODIFIED="1274589339817" TEXT="wait for は task queue にアクセスしてしまう">
|
|
68 <node CREATED="1274589342886" ID="Freemind_Link_374709913" MODIFIED="1274589363144" TEXT="とりあえず、dummy の task に wait for する"/>
|
|
69 <node CREATED="1274589365484" ID="Freemind_Link_664545631" MODIFIED="1274589401118" TEXT="dummy の task を TaskManagerImpl で実際の Task に書き直す"/>
|
790
|
70 </node>
|
|
71 </node>
|
782
|
72 </node>
|
832
|
73 <node CREATED="1271153003844" ID="Freemind_Link_11749018" MODIFIED="1274588839080" TEXT="WordCount のネックの検証">
|
782
|
74 <icon BUILTIN="ksmiletris"/>
|
790
|
75 <icon BUILTIN="button_ok"/>
|
782
|
76 <node CREATED="1271153026411" ID="Freemind_Link_245323343" MODIFIED="1271153038270" TEXT="おそらくmail がネック">
|
832
|
77 <node CREATED="1271153052617" ID="Freemind_Link_1149688811" MODIFIED="1271153081388" TEXT="TaskArray を使う">
|
|
78 <node CREATED="1274589296144" ID="Freemind_Link_1285789074" MODIFIED="1274589304753" TEXT="ちゃんと早くなる"/>
|
782
|
79 </node>
|
832
|
80 </node>
|
|
81 <node CREATED="1274588860001" ID="Freemind_Link_248066319" MODIFIED="1274588875979" TEXT="run16がまだ遅い"/>
|
782
|
82 </node>
|
|
83 <node CREATED="1271153108206" ID="Freemind_Link_164399149" MODIFIED="1271153120857" TEXT="sort">
|
|
84 <node CREATED="1271153121669" ID="Freemind_Link_618072996" MODIFIED="1271153131585" TEXT="buffer の swap"/>
|
|
85 </node>
|
|
86 <node CREATED="1271153137101" ID="Freemind_Link_444857579" MODIFIED="1271154822132" TEXT="mandelbrot を測定">
|
|
87 <icon BUILTIN="full-1"/>
|
|
88 </node>
|
|
89 </node>
|
|
90 <node CREATED="1271152623808" ID="Freemind_Link_1847789980" MODIFIED="1271152627326" POSITION="right" TEXT="cbc">
|
|
91 <node CREATED="1271153157556" ID="Freemind_Link_1374547416" MODIFIED="1271153271401" TEXT="pipeline 未実装"/>
|
|
92 <node CREATED="1271153285333" ID="Freemind_Link_214169447" MODIFIED="1271154810421" TEXT="data segment の付加">
|
|
93 <icon BUILTIN="full-4"/>
|
832
|
94 <node CREATED="1274589620322" ID="Freemind_Link_768784354" MODIFIED="1274589620322" TEXT=""/>
|
782
|
95 </node>
|
|
96 <node CREATED="1271153410710" ID="Freemind_Link_285733382" MODIFIED="1271154693091" TEXT="task configuration">
|
|
97 <icon BUILTIN="full-1"/>
|
|
98 <node CREATED="1271153429597" ID="Freemind_Link_627953940" MODIFIED="1271153430800" TEXT="xml"/>
|
|
99 <node CREATED="1271153431277" ID="Freemind_Link_1317238745" MODIFIED="1271153461455" TEXT="専用のlanguage"/>
|
|
100 </node>
|
|
101 <node CREATED="1271154374673" ID="Freemind_Link_700065337" MODIFIED="1271154801325" TEXT="continuation をネットワーク越しに送る">
|
|
102 <icon BUILTIN="full-2"/>
|
|
103 <icon BUILTIN="full-4"/>
|
|
104 </node>
|
|
105 </node>
|
|
106 <node CREATED="1271152611017" ID="Freemind_Link_1716904506" MODIFIED="1271154668916" POSITION="right" TEXT="c">
|
|
107 <icon BUILTIN="full-1"/>
|
832
|
108 <node CREATED="1274589647087" ID="Freemind_Link_1711203047" MODIFIED="1274590187203" TEXT="data segment">
|
|
109 <node CREATED="1274589663940" ID="Freemind_Link_1761381255" MODIFIED="1274589674103" TEXT="double linked list"/>
|
|
110 <node CREATED="1274589679195" ID="Freemind_Link_716452315" MODIFIED="1274602559867" TEXT="template で抽象化する">
|
|
111 <icon BUILTIN="button_ok"/>
|
|
112 </node>
|
|
113 <node CREATED="1274589705349" ID="Freemind_Link_832842868" MODIFIED="1274602587441" TEXT="CPUごとに2の冪乗ごとのメモリプールで管理する"/>
|
|
114 <node CREATED="1274589739704" ID="Freemind_Link_206718102" MODIFIED="1274589760354" TEXT="Cerium 上のすべての object をこれで管理する"/>
|
|
115 <node CREATED="1274589761446" ID="Freemind_Link_182554869" MODIFIED="1274589772530" TEXT="malloc を追放する"/>
|
|
116 </node>
|
|
117 <node CREATED="1274589813524" ID="Freemind_Link_586150605" MODIFIED="1274589820551" TEXT="Scheduler">
|
|
118 <node CREATED="1274589827947" ID="Freemind_Link_1419717866" MODIFIED="1274589836750" TEXT="conector">
|
|
119 <node CREATED="1274589840322" ID="Freemind_Link_1088245803" MODIFIED="1274589849869" TEXT="dma"/>
|
|
120 <node CREATED="1274589850490" ID="Freemind_Link_369884542" MODIFIED="1274589854901" TEXT="mail"/>
|
|
121 </node>
|
|
122 <node CREATED="1274589865633" ID="Freemind_Link_211891458" MODIFIED="1274589869620" TEXT="Manager">
|
|
123 <node CREATED="1274589873008" ID="Freemind_Link_268505657" MODIFIED="1274589880204" TEXT="createTask"/>
|
|
124 </node>
|
|
125 <node CREATED="1274589893039" ID="Freemind_Link_587727506" MODIFIED="1274589895499" TEXT="memory">
|
|
126 <node CREATED="1274589904975" ID="Freemind_Link_965289748" MODIFIED="1274589908610" TEXT="memory pool"/>
|
|
127 <node CREATED="1274589910950" ID="Freemind_Link_578423126" MODIFIED="1274590840204" TEXT="get_segment/put_segment"/>
|
|
128 <node CREATED="1274590934078" ID="Freemind_Link_143382264" MODIFIED="1274590965424" TEXT="mainMemGet を廃止"/>
|
|
129 <node CREATED="1274590970972" ID="Freemind_Link_1136306406" MODIFIED="1274590999524" TEXT="その代わりにget_segment のオプション">
|
|
130 <node CREATED="1274591004146" ID="Freemind_Link_1768521435" MODIFIED="1274591026932" TEXT="write back">
|
|
131 <node CREATED="1274591080102" ID="Freemind_Link_1090183022" MODIFIED="1274591111872" TEXT="変更をmainmemory に書き戻す"/>
|
|
132 </node>
|
|
133 <node CREATED="1274591031697" ID="Freemind_Link_1603087582" MODIFIED="1274591064235" TEXT="create">
|
|
134 <node CREATED="1274591116492" ID="Freemind_Link_307854380" MODIFIED="1274591136847" TEXT="新しくmemory を allocate"/>
|
|
135 <node CREATED="1274591140579" ID="Freemind_Link_1504695289" MODIFIED="1274591154135" TEXT="読み出しは行わない"/>
|
|
136 <node CREATED="1274591181001" ID="Freemind_Link_794364854" MODIFIED="1274591198083" TEXT="CPU ごとに前もって pool を割り当てる"/>
|
|
137 </node>
|
|
138 <node CREATED="1274591065575" ID="Freemind_Link_1910072627" MODIFIED="1274591074018" TEXT="read only">
|
|
139 <node CREATED="1274591220334" ID="Freemind_Link_1059008005" MODIFIED="1274591225706" TEXT="書き込みを行わない"/>
|
|
140 </node>
|
|
141 </node>
|
|
142 <node CREATED="1274591251837" ID="Freemind_Link_430171688" MODIFIED="1274591351305" TEXT="set_inData、set_outData を使わずに get_segment を用いる"/>
|
|
143 <node CREATED="1274591366721" ID="Freemind_Link_1197326816" MODIFIED="1274591403984" TEXT="task の read buff、write buff は get_segment の集合になる"/>
|
|
144 </node>
|
|
145 <node CREATED="1274589942029" ID="Freemind_Link_1433001406" MODIFIED="1274589946856" TEXT="CPU">
|
|
146 <node CREATED="1274589947596" ID="Freemind_Link_682604250" MODIFIED="1274589966263" TEXT="CPU ごとに Scheduler が存在する"/>
|
|
147 <node CREATED="1274589968071" ID="Freemind_Link_1380281338" MODIFIED="1274589994149" TEXT="conector と memory と Manager は SchedTask に渡す"/>
|
|
148 <node CREATED="1274590016681" ID="Freemind_Link_80180247" MODIFIED="1274590121501" TEXT="こうしないと API を変更する度に、
Scheduler と TaskManagerImpl と SchedTask を変更しないといけない"/>
|
|
149 </node>
|
|
150 </node>
|
|
151 <node CREATED="1274590223101" ID="Freemind_Link_1008928487" MODIFIED="1274590229233" TEXT="code segment">
|
|
152 <node CREATED="1274590233461" ID="Freemind_Link_911750720" MODIFIED="1274590248855" TEXT="現状">
|
|
153 <node CREATED="1274590250084" ID="Freemind_Link_1646689425" MODIFIED="1274590260735" TEXT="ppe 上の Task List"/>
|
|
154 <node CREATED="1274590266755" ID="Freemind_Link_1607174160" MODIFIED="1274590277006" TEXT="spe 上の Task List"/>
|
|
155 <node CREATED="1274590277538" ID="Freemind_Link_434593725" MODIFIED="1274590303464" TEXT="gcc の overlay table"/>
|
|
156 <node CREATED="1274590319280" ID="Freemind_Link_182869923" MODIFIED="1274590353362" TEXT="これだと Task の数に比例して Task List が大きくなってしまう">
|
|
157 <node CREATED="1274590354958" ID="Freemind_Link_598814020" MODIFIED="1274590364501" TEXT="spe に収まりきらない"/>
|
|
158 </node>
|
|
159 <node CREATED="1274590367421" ID="Freemind_Link_1140067654" MODIFIED="1274590402015" TEXT="overlay があるので、どこで切られるか不明"/>
|
|
160 </node>
|
|
161 <node CREATED="1274590421469" ID="Freemind_Link_1440216976" MODIFIED="1274590426038" TEXT="解決">
|
|
162 <node CREATED="1274590426970" ID="Freemind_Link_1282019170" MODIFIED="1274590448396" TEXT="Task List を main memory 上にただ一つにする"/>
|
|
163 <node CREATED="1274590455731" ID="Freemind_Link_1164092429" MODIFIED="1274590513145" TEXT="Task List に architecture ごとの code を入れる。"/>
|
|
164 <node CREATED="1274590477575" ID="Freemind_Link_1673350057" MODIFIED="1274590505702" TEXT="code は ld を使って一つの object に完結させる"/>
|
|
165 <node CREATED="1274590519829" ID="Freemind_Link_1325862525" MODIFIED="1274590558391" TEXT="Task List を getSegment を使ってキャッシュする"/>
|
|
166 <node CREATED="1274590587801" ID="Freemind_Link_1691372243" MODIFIED="1274590595900" TEXT="overlay を使わない"/>
|
|
167 </node>
|
|
168 </node>
|
782
|
169 </node>
|
|
170 <node CREATED="1271153725261" ID="Freemind_Link_1021236986" MODIFIED="1271154721545" POSITION="left" TEXT="SceneGraph">
|
|
171 <icon BUILTIN="full-2"/>
|
|
172 <icon BUILTIN="full-1"/>
|
|
173 <icon BUILTIN="full-3"/>
|
853
|
174 <node CREATED="1271153732060" ID="Freemind_Link_1208701551" MODIFIED="1274782926740" TEXT="super dandy">
|
|
175 <icon BUILTIN="ksmiletris"/>
|
782
|
176 <node CREATED="1271153867093" ID="Freemind_Link_933024710" MODIFIED="1271154718432" TEXT="scale"/>
|
832
|
177 <node CREATED="1274590639383" ID="Freemind_Link_1328300488" MODIFIED="1274590660969" TEXT="とりあえずFifoManager で動かす"/>
|
782
|
178 </node>
|
|
179 <node CREATED="1271153855085" ID="Freemind_Link_443719007" MODIFIED="1271153859665" TEXT="chain">
|
|
180 <node CREATED="1271153871244" ID="Freemind_Link_71013239" MODIFIED="1271153873224" TEXT="speed"/>
|
|
181 <node CREATED="1271153879020" ID="Freemind_Link_1114941689" MODIFIED="1271153880552" TEXT="simd"/>
|
|
182 </node>
|
|
183 </node>
|
|
184 <node CREATED="1271153919146" ID="Freemind_Link_119460356" MODIFIED="1271154614151" POSITION="left" TEXT="many core">
|
|
185 <arrowlink DESTINATION="Freemind_Link_751477936" ENDARROW="Default" ENDINCLINATION="5;-54;" ID="Freemind_Arrow_Link_1578496781" STARTARROW="None" STARTINCLINATION="-93;-437;"/>
|
|
186 <icon BUILTIN="full-2"/>
|
|
187 </node>
|
|
188 <node CREATED="1271154512690" ID="Freemind_Link_993715285" MODIFIED="1271154642774" POSITION="left" TEXT="test">
|
|
189 <icon BUILTIN="full-3"/>
|
|
190 <node CREATED="1271154529145" ID="Freemind_Link_1077511388" MODIFIED="1271154536444" TEXT="task 単体のtest">
|
|
191 <node CREATED="1271154546560" ID="Freemind_Link_99283433" MODIFIED="1271154552779" TEXT="入力の取得"/>
|
|
192 <node CREATED="1271154553200" ID="Freemind_Link_1403723539" MODIFIED="1271154560827" TEXT="出力の比較"/>
|
|
193 </node>
|
|
194 <node CREATED="1271154538272" ID="Freemind_Link_617172359" MODIFIED="1271154575498" TEXT="task間の同期">
|
|
195 <node CREATED="1271154577102" ID="Freemind_Link_467596986" MODIFIED="1271154587209" TEXT="実行可能な状態の集合"/>
|
|
196 </node>
|
|
197 </node>
|
|
198 <node CREATED="1271154195395" ID="Freemind_Link_950358459" MODIFIED="1271154658269" POSITION="left" TEXT="cluster">
|
|
199 <icon BUILTIN="full-2"/>
|
|
200 <node CREATED="1271154281230" ID="Freemind_Link_1279933054" MODIFIED="1271154299465" TEXT="task queue message passing">
|
|
201 <node CREATED="1271154310869" ID="Freemind_Link_791415331" MODIFIED="1271154317632" TEXT="xdr"/>
|
|
202 <node CREATED="1271154320244" ID="Freemind_Link_1057940637" MODIFIED="1271154324928" TEXT="message pack"/>
|
|
203 <node CREATED="1271154326516" ID="Freemind_Link_491852741" MODIFIED="1271154339630" TEXT="protocol buffer"/>
|
|
204 </node>
|
|
205 </node>
|
|
206 <node CREATED="1271154447381" ID="Freemind_Link_934362224" MODIFIED="1271154455456" POSITION="left" TEXT="member">
|
|
207 <node CREATED="1271154457869" ID="Freemind_Link_1375011247" MODIFIED="1271154492855" TEXT="yutaka">
|
|
208 <icon BUILTIN="full-1"/>
|
|
209 </node>
|
|
210 <node CREATED="1271154460644" ID="Freemind_Link_1907487683" MODIFIED="1271154496342" TEXT="kaito">
|
|
211 <icon BUILTIN="full-2"/>
|
|
212 </node>
|
|
213 <node CREATED="1271154475020" ID="Freemind_Link_1436135377" MODIFIED="1271154498806" TEXT="koba">
|
|
214 <icon BUILTIN="full-3"/>
|
|
215 </node>
|
|
216 <node CREATED="1271154780619" ID="Freemind_Link_1416914098" MODIFIED="1271154791885" TEXT="ryoma">
|
|
217 <icon BUILTIN="full-4"/>
|
|
218 </node>
|
|
219 </node>
|
|
220 </node>
|
|
221 </map>
|