13.07.2015 Views

automatically exploiting cross-invocation parallelism using runtime ...

automatically exploiting cross-invocation parallelism using runtime ...

automatically exploiting cross-invocation parallelism using runtime ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Worker thread :for each epoch i {for each task j in epoch i {update(epoch_number, task_number);other_epoch_task_nums = collect_other_threads();signature = do_task(i, j);store_signature(signature, SIGLOG);request = compose_request(other_epoch_task_nums);send_to_checker(request);}}send_to_checker(END_TOKEN);Checker thread :while (true) {for each worker thread w {if (finished[w] != true) {request = consume_request();if (request == END_TOKEN)finished[w] = true;ret = check_request(request);if (ret == MISSPECULATION)send_signal(checkpoint_process, FAIL);}}for each worker thread wif (all finished[w] == true)return SUCCESS;}Figure 4.7: Pseudo-code for worker threads and checker thread59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!