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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Operation DescriptionFunctions for Both Profiling and Speculationinit() Initialize data structures used for barrier profiling or speculative execution.If in speculation mode, checkpoint the program before beginningthe parallel execution.exit task(threadID) Record the signature of the current task in global signature log.Increment the task number. If in profiling mode, compare the signature ofcurrent task with signatures of tasks belonging to previous epochsand return the minimum dependence distance.If in speculation mode, return value is 0.spec access(threadID, callback, addr list) Apply callback function to each address in the addr list to computethe signature.enter barrier(threadID, loop name) Increment the epoch number. If in profiling mode, execute the actualnon-speculative barrier operation. If in speculation mode, checkpoint according tothe checkpointing frequency.create threads(threads, attrs, start routines, args) Create worker threads and if in speculation mode, create a checkerthread for violation detection.cleanup() Wait for worker threads and checker thread to finish.Free data structures allocated for profiling or speculation.Functions for Speculation Onlyenter task(threadID, spec distance) Collect epoch number and task number of other worker threads andsend them to the checker thread. The parameter spec distance specifiesthe speculation distance between two tasks.send end token(threadID) Send an END TOKEN to checker thread to inform it of the completionof a worker thread.sync() Synchronize all threads before entering the next epoch.checkpoint() Checkpoint program state before entering the next epoch.Table 4.1: Interface for SPECCROSS Runtime Library66

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

Saved successfully!

Ooh no, something went wrong!