changeset 394:0c113f8e5a3f

Update todo
author innparusu
date Tue, 01 Aug 2017 19:42:08 +0900
parents 99c50356d917
children 864cd4e346e9
files src/parallel_execution/Stack.cbc src/parallel_execution/Todo
diffstat 2 files changed, 23 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/Stack.cbc	Tue Aug 01 18:49:56 2017 +0900
+++ b/src/parallel_execution/Stack.cbc	Tue Aug 01 19:42:08 2017 +0900
@@ -6,10 +6,9 @@
         __code clear(Impl* stack,__code next(...));
         __code push(Impl* stack,Type* data, __code next(...));
         __code pop(Impl* stack, __code next(Type* data, ...));
-        __code pop2(Impl* stack, Type** data, Type** data1, __code next(Type** data, Type** data1, ...));
+        __code pop2(Impl* stack, __code next(Type* data, Type* data1, ...));
         __code isEmpty(Impl* stack, __code next(...), __code whenEmpty(...));
-        __code get(Impl* stack, Type** data, __code next(...));
-        __code get2(Impl* stack,..., __code next(...));
+        __code get(Impl* stack, __code next(Type* data, ...));
+        __code get2(Impl* stack, __code next(Type* data, Type* data1, ...));
         __code next(...);
 } Stack;
-
--- a/src/parallel_execution/Todo	Tue Aug 01 18:49:56 2017 +0900
+++ b/src/parallel_execution/Todo	Tue Aug 01 19:42:08 2017 +0900
@@ -1,3 +1,23 @@
+Tue Aug  1 19:32:55 JST 2017
+ 
+    DataGear の待ち合わせ
+    DataGear の Commit
+     
+    これらは、stubとgoto meta の部分で行う
+    
+    どれに対して行うかを実行時あるいはコンパイル時に指定する必要がある
+
+    一つの解決策は、 typedefのときにannotution してあげる
+    もう一つの解決策は, Data Gear の allocation 時に指定する
+    Code Gearのプロトタイプのなかで指定する事も考えられる
+    
+    par goto時に渡す continuation で同期をとっても良い, このときにはこのcontinuation を作成するinterfaceを作る必要がある
+
+    実行時に指定してしまうと、毎回フラグのチェックが必要になる。
+    これを abstract model checking を事前に行うことで, static なコードに置き換える事はできる
+
+    例題としては, chat、dining philosophers, map reduce
+
 Fri Apr 14 18:44:09 JST 2017
     struct B {
         A a;