+ All Categories
Home > Documents > WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf ·...

WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf ·...

Date post: 10-May-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
29
WCET Analysis for a Java Processor Martin Sch¨ oberl Rasmus Pedersen Presenter: Petur Olsen October 25, 2007
Transcript
Page 1: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

WCET Analysis for a Java Processor

Martin Schoberl Rasmus Pedersen

Presenter: Petur Olsen

October 25, 2007

Page 2: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

AuthorsArticle

Authors

Martin Schoberl

Ph.D. at Vienna University

Creator of JOP processor

Rasmus Pedersen

Department of Informatics at Copenhagen Business School

Embedded systems, WCET analysis, real-time systems

2/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 3: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

AuthorsArticle

Article

Published

Proceedings of the 4th international workshop on Javatechnologies for real-time and embedded systems

ACM Press 2006

3/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 4: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

AuthorsArticle

General Idea

Analyze Java source code and class files

Calculate WCET (in clock cycles)

Translate into actual WCET (in (milli)seconds)

Time predictable Java processor (JOP)

4/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 5: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

AuthorsArticle

Contributions

Actual WCET analysis

High level and low level(incl. memory access and cache control)

Analysis tool called WCA

5/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 6: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

AuthorsArticle

Outline

1 JOP Processor

2 Analysis

3 Evaluation

4 Conclusion

6/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 7: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

OverviewCache

Overview

Stack computer

RISC stack architecture

Translates Java bytecode into microcode

Three stage pipeline (fourth stage)

No timing anomalies (e.g. branch prediction)

New caching features

7/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 8: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

OverviewCache

Overview

Regular cache

Focus on average case execution time

Difficult to analyze

JOP cache

Focus on analyzability

No data cache

Stack cache

Method cache

8/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 9: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

OverviewCache

Stack Cache

Stack for (currently executing) method

Swapped on method invoke and return

Size is known ⇒ time is bounded

Requires stack flush for thread switch

9/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 10: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

OverviewCache

Method Cache

Short methods

Simple branching (internal and relative)

Cache for entire method body

Swapped on invocation and return

Three types:

Single methodTwo methodsVariable block cache

10/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 11: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Decidability

WCET analysis is undecidable

Making it decidable:1 No recursion2 No dynamic class loading3 Known upper bounds for loops

11/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 12: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

High-Level

Calculate clock cycles from source code

Loop bounds extracted

CFG of basic blocks

ILP to calculate clock cycles

12/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 13: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Example

public static int loop(boolean b, int val) {for (int i=0; i<10; i++) {

if (b) {for (int j=0; j<3; j++) {

val ∗= val;}

} else {for (int j=0; j<7; j++) {

val += val;}

}}return val;

}

13/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 14: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Example

14/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 15: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Example

public static int loop(boolean b, int val) {for (int i=0; i<10; i++) {

if (b) {for (int j=0; j<3; j++) {

val ∗= val;}

} else {for (int j=0; j<7; j++) {

val += val;}

}}return val;

}

15/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 16: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Dynamic Methods

16/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 17: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Low-Level

Basic bytecodes

Bytecodes in Java

Native Methods

Memory Access

17/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 18: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Memory Access

Instructions

Object oriented instructions

Array access

Invoke instructions

Access time

Access time more than one cycle

rws for read access

wws for write access

18/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 19: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Memory Access

tldc2 w = 17 +

{rws − 2 : rws > 20 : rws ≤ 2

+

{rws − 1 : rws > 10 : rws ≤ 1

19/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 20: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Overview

Contains entire method bodies

Misses centered on invocations

20/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 21: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Example

21/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 22: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Example

22/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 23: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

DecidabilityHigh-Level WCET AnalysisLow-Level WCET AnalysisCache Analysis

Dual Block

23/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 24: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

Evaluation

Evaluation

Cannot measure WCET

Measurement as test

Two real-life benchmarks

24/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 25: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

Evaluation

Benchmarks

25/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 26: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

ContributionsFuture WorkArticle

Contributions

WCET analysis

Minor changes to the language

Time predictable processor

Good performance

Good estimation (with correct development)

26/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 27: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

ContributionsFuture WorkArticle

Future Work

Variable block cache

Integration into IDE (Eclipse)

Graphical representation of path on CFG

Better aid in development

27/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 28: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

IntroductionJOP Processor

AnalysisEvaluationConclusion

ContributionsFuture WorkArticle

Article

Well written

Simple

Important contributions

Many references

Good article

28/29 Schoberl, Pedersen WCET Analysis for a Java Processor

Page 29: WCET Analysis for a Java Processor - Aalborg Universitetpeople.cs.aau.dk/~bt/DAT5E07/petur3.pdf · Introduction JOP Processor Analysis Evaluation Conclusion Decidability High-Level

Questions?


Recommended