Camil Demetrescu  over 8 years ago

Commit id: 9c40b5c500babcaab35ceb8b48e0edf9e2ce31d3

deletions | additions      

       

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  \subsection{Abstract}  \osrkit\ is a library that enables On-Stack Replacement (OSR) at arbitrary places in LLVM IR code. The artifact supports exploring is designed to explore  how \osrkit\ can instrument IR code to support OSR transitions in the LLVM MCJIT runtime environment. A running example is presented based on the \texttt{isord} case study discussed in Section 3. We also support repeating experiments Q1, Q2, and Q3 presented in Section 5. The artifact includes an interactive VM called \tinyvm\ for loading, inspecting, instrumenting, and executing IR code. It The package  isdistributed as  a preconfigured Oracle VirtualBox VM. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  \subsection{Installation}  To install the artifact, just import the appliance in Oracle VirtualBox. VirtualBox, which installs Linux LXLE. Open the {\tt README} file on the {\tt Desktop} folder for further info on the artifact and the Linux distribution.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  \subsection{Experiment Workflow}         

\noindent with a time per trial of $\approx5.669$s. The average time per OSR transition is therefore $(5.876-5.669)/50000000=4.14\cdot 10^{-9}$s. Compare this with the result of \ref{tab:sameFun}.  \paragraph{Question Q3.} The third experiment measures the overhead of \osrkit\ for inserting OSR points and creating a stub or a continuation function  %[Q2] What is the run-time overhead of an OSR transition, for instance to a clone of the running function?  %[Q3] What is the overhead of \osrkit\ for inserting OSR points and creating a stub or a continuation function?  %[Q4] What kind of benefits can we expect by using OSR in a production environment based on LLVM?