- We add a set of memory allocation routines for use by the
speculating thread to prevent speculative execution from introducing memory
leaks. Notice that the behavior of an application could be inadvertently
altered if it depends on its dynamic state (e.g. on the location of its sbrk
pointer) or on the last access time of a file. We expect these types of
applications to be uncommon.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- Currently,
the handling routine can only map function addresses, so that it can redirect
control transfers through function pointers, but not computed goto statements.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- In combination with placing dynamic checks on
instructions which modify the stack pointer and cannot be statically checked,
copying the stack also allows us to avoid copy-on-write checks for load and
store instructions off the stack pointer.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- To obtain the desired
effect on the perceived service time of prefetch requests, we configured the
pseudodevice to limit the number of prefetch requests outstanding at each disk
to at most one.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- Recall
from the last section that the speculating Agrep was not able to generate
enough hints to keep 10 disks busy on our current experimental platform.
Under simulation, increasing the processor-to-disk speed ratio alleviated
this problem so that, with a ratio of 3, the performance improvement of
the speculating Agrep and the manually modified Agrep were 87% and 84%,
respectively.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.