Mercurial > hg > Members > kono > Cerium
comparison TaskManager/Cell/CellTaskManagerImpl.cc @ 721:2b167196cb27
cleanups..
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 19 Dec 2009 12:12:09 +0900 |
parents | dac59b74e02a |
children | abad59c7e3ac |
comparison
equal
deleted
inserted
replaced
720:dac59b74e02a | 721:2b167196cb27 |
---|---|
152 | 152 |
153 } | 153 } |
154 } | 154 } |
155 | 155 |
156 void | 156 void |
157 CellTaskManager::sednTaskList() | |
158 { | |
159 for (int i = 0; i < machineNum; i++) { | |
160 if (flag_sendTaskList[i] == 1 && speTaskList_bg[i]->length >= 1 ) { | |
161 send_taskList(i); | |
162 spe_running++; | |
163 } | |
164 } | |
165 } | |
166 | |
167 void | |
157 CellTaskManagerImpl::run() | 168 CellTaskManagerImpl::run() |
158 { | 169 { |
159 TaskListPtr ppeTaskList = NULL; | 170 TaskListPtr ppeTaskList = NULL; |
160 | 171 |
161 do { | 172 do { |
162 // PPE side | 173 // PPE side |
163 ppeTaskList = ppeManager->get_runTaskList(); | 174 ppeTaskList = ppeManager->get_runTaskList(); |
164 ppeManager->schedule(ppeTaskList); | 175 if (ppeTaskList) |
176 ppeManager->sendTaskList(ppeTaskList); | |
165 ppeManager->mail_check(); | 177 ppeManager->mail_check(); |
166 // SPE side | 178 // SPE side |
167 do { | 179 do { |
168 mail_check(); | 180 mail_check(); |
169 // SPE に送る TaskList の準備 | 181 // SPE に送る TaskList の準備 |
170 set_runTaskList(); | 182 set_runTaskList(); |
171 // TaskList 待ちの SPE に TaskList を送る | 183 // TaskList 待ちの SPE に TaskList を送る |
172 for (int i = 0; i < machineNum; i++) { | 184 sednTaskList(); |
173 if (flag_sendTaskList[i] == 1 && speTaskList_bg[i]->length >= 1 ) { | 185 } while (ppeManager->activeTaskQueue->empty()); |
174 send_taskList(i); | 186 } while (ppeTaskList || spe_running >0); |
175 spe_running++; | 187 if (!waitTaskQueue->empty()) { |
176 } | 188 fprintf(stderr,"Dead lock detected\n"); |
177 } | 189 } |
178 } while (ppeManager->activeTaskQueue->empty() && !waitTaskQueue->empty()); | |
179 } while (ppeTaskList || spe_running >0); | |
180 } | 190 } |
181 | 191 |
182 /** | 192 /** |
183 * SPE からのメールをチェックする | 193 * SPE からのメールをチェックする |
184 */ | 194 */ |