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.

4.2.3 Runtime InterfaceThis section describes the <strong>runtime</strong> interface exposed by SPECCROSS. Table 4.1 lists theinterface functions along with a short description of each function’s semantics. Figure 4.9shows an instantiation of these functions in a parallel program which will serve as a runningexample. In the example, each inner loop <strong>invocation</strong> is treated as an epoch, and each innerloop iteration is considered a task. SPECCROSS provides the same interface functions forboth profiling and speculation purposes. As a result, these function calls only need to beinserted once for both profiling run and speculative execution. Whether to do profilingor speculation is decided by defining the environment variable MODE. Depending on thecurrent MODE, functions will either speculate or profile. The MODE value can also be set toNON-SPECULATIVE. In non-speculative mode, most interface functions do nothing andspeculative barriers are replaced with non-speculative ones. This non-speculative mode isenabled when re-executing the misspeculated epochs after recovering from misspeculation.The details of SPECCROSS’s profiling and speculation functions are as follows:65

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

Saved successfully!

Ooh no, something went wrong!