X hits on this document

PDF document

Program Transformations for Light-Weight CPU Accounting and Control in the Java Virtual Machine A ... - page 17 / 40

95 views

0 shares

0 downloads

0 comments

17 / 40

25%

49%

9% 7%

6% 11%

18% 5%

0%

23%

25%

15%

Sun 1.5.0, interpreted

Sun 1.5.0, client

Sun 1.5.0, server

IBM 1.4.2

Finding the counter (Step 1)

Polling (Step 2)

Accounting (Step 3)

17

150%

125%

100%

82%

75%

50%

10%

Figure 8. Evaluation of the distribution of overheads (with Simple rewriting, no optimizations).

Although our accounting scheme only works when implemented in its entirety, let us decompose it in order to find out which parts of the code cause execution time overheads. To this end, we measured three different versions of the Simple rewriting scheme presented in Section 3, which each represents an incremental step in instrumenting the bytecode. The three steps are:

1. Finding the proper instruction counter (with an invocation to get- CurrentAccount())

2. Polling the value of the instruction counter (with the conditional if (cpu.consumption >= 0) cpu.triggerConsume();”)

3.

Accounting, i.e. cpu.consumption

updating += ...;”)

the

instruction

counter

(with

Figure 8 shows the measured average distribution of overheads among the different steps in a rewritten method. The stacked columns are made of the contributed overheads, summing up to the respective

Document info
Document views95
Page views95
Page last viewedSun Dec 04 22:36:13 UTC 2016
Pages40
Paragraphs801
Words13591

Comments