implementing autosar scheduling and resource … autosar scheduling and resource ... • multi-core...

37
University of Augsburg Chair of Systems and Networking Implementing AUTOSAR Scheduling and Resource Management on an Embedded SMT Processor Florian Kluge , Chenglong Yu, J¨ org Mische, Sascha Uhrig, Theo Ungerer Chair of Systems and Networking University of Augsburg 12th International Workshop on Software and Compilers for Embedded Systems April 23-24, 2009 Acropolis, Nice, France AUTOSAR on SMT Kluge et al. 1 / 28

Upload: dotram

Post on 13-Apr-2018

271 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Implementing AUTOSAR Scheduling and ResourceManagement on an Embedded SMT Processor

Florian Kluge, Chenglong Yu, Jorg Mische, Sascha Uhrig, TheoUngerer

Chair of Systems and NetworkingUniversity of Augsburg

12th International Workshop onSoftware and Compilers for Embedded Systems

April 23-24, 2009Acropolis, Nice, France

AUTOSAR on SMT Kluge et al. 1 / 28

Page 2: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Outline

1 Motivation

2 Problems

3 Solution

4 Conclusion

AUTOSAR on SMT Kluge et al. 2 / 28

Page 3: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Outline

1 Motivation

2 Problems

3 Solution

4 Conclusion

AUTOSAR on SMT Kluge et al. 3 / 28

Page 4: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Motivation (I)

Automotive Software Standards

• AUTOSAR: AUTOmotive Open System ARchitecture

• Provides common platform for automotive applications

• Increases interoperability and interchangeability

Upcoming Processor Architectures

• Simultaneous MultiThreading (SMT) Cores

• Multi-Core Processors

→ real parallelism!

AUTOSAR on SMT Kluge et al. 4 / 28

Page 5: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Motivation (I)

Automotive Software Standards

• AUTOSAR: AUTOmotive Open System ARchitecture

• Provides common platform for automotive applications

• Increases interoperability and interchangeability

Upcoming Processor Architectures

• Simultaneous MultiThreading (SMT) Cores

• Multi-Core Processors

→ real parallelism!

AUTOSAR on SMT Kluge et al. 4 / 28

Page 6: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Motivation (II)

• Is AUTOSAR fit for SMT?

NO!

• What can we do?

• How can AUTOSAR benefit from SMT?

AUTOSAR on SMT Kluge et al. 5 / 28

Page 7: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Motivation (II)

• Is AUTOSAR fit for SMT? NO!

• What can we do?

• How can AUTOSAR benefit from SMT?

AUTOSAR on SMT Kluge et al. 5 / 28

Page 8: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Motivation (II)

• Is AUTOSAR fit for SMT? NO!

• What can we do?

• How can AUTOSAR benefit from SMT?

AUTOSAR on SMT Kluge et al. 5 / 28

Page 9: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Motivation (II)

• Is AUTOSAR fit for SMT? NO!

• What can we do?

• How can AUTOSAR benefit from SMT?

AUTOSAR on SMT Kluge et al. 5 / 28

Page 10: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

AUTOSAR Scheduling

• Basic and Extended tasks

• Task states: suspended, ready, running, waiting (only extended tasks)

• Priority based scheduling: highest priority task is executed

• Designed for singlethreaded processors

AUTOSAR on SMT Kluge et al. 6 / 28

Page 11: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

AUTOSAR Scheduling

• Basic and Extended tasks

• Task states: suspended, ready, running, waiting (only extended tasks)

• Priority based scheduling: highest priority task is executed

• Designed for singlethreaded processors

AUTOSAR on SMT Kluge et al. 6 / 28

Page 12: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

AUTOSAR Resource Management

• Mutual exclusion on resource access

• Prevent priority inversion and deadlocks

• Resource access never results in waiting state

→ Priority Ceiling Protocol (PCP)

AUTOSAR on SMT Kluge et al. 7 / 28

Page 13: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

SMT Processor

• Simultaneous MultiThreading• issue instructions of different threads in

one cycle

• Use latencies of one thread to executeanother

• Prioritised slots

• Real parallelism

AUTOSAR on SMT Kluge et al. 8 / 28

Page 14: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Challenges

Goal: Earlier execution of low-priority tasks

Challenges

• Preserve WCET analysability

• Preserve externally observable behaviour of highest-priority task• Lower-priority tasks can be interrupted by higher-priority tasks!

• As few changes as possible to standard definition

AUTOSAR on SMT Kluge et al. 9 / 28

Page 15: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Outline

1 Motivation

2 Problems

3 Solution

4 Conclusion

AUTOSAR on SMT Kluge et al. 10 / 28

Page 16: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Forward Implementation

• SMT processor with n thread slots

• Issue n highest priority tasks

→ Keep execution order

• Map AUTOSAR task priorities to threadpriorities

AUTOSAR on SMT Kluge et al. 11 / 28

Page 17: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Resource Management and Parallel Execution

• PCP relies on singlethreaded program execution

• No prevention from priority inversion and deadlocks in multithreadedprogram execution

AUTOSAR on SMT Kluge et al. 12 / 28

Page 18: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Related Work: Resource Management

Resource Management for Multiprocessor Systems

• Multiprocessor Priority Ceiling Protocol

• Multiprocessor Stack Resource Policy

• LP-Time Inheritance and Returning

No transfer of processing time possible on SMT

No nested resource accesses possible

AUTOSAR on SMT Kluge et al. 13 / 28

Page 19: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Related Work: Resource Management

Resource Management for Multiprocessor Systems

• Multiprocessor Priority Ceiling Protocol

• Multiprocessor Stack Resource Policy

• LP-Time Inheritance and Returning

No transfer of processing time possible on SMT

No nested resource accesses possible

AUTOSAR on SMT Kluge et al. 13 / 28

Page 20: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Data Synchronisation

Scheduler

• Shared data structures (FIFO queues)

• NO lock variables available!

• Further synchronisation necessary

Related Work

• Lamport (Bakery Algorithm), Peterson’s Algorithm:• Spinning or sleeping/suspending

Spinning wastes processing timeSuspending can violate task state model

• Lock-free algorithms• Special instructions necessary• Compare&Swap or Load Link/Store Conditional

AUTOSAR on SMT Kluge et al. 14 / 28

Page 21: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Data Synchronisation

Scheduler

• Shared data structures (FIFO queues)

• NO lock variables available!

• Further synchronisation necessary

Related Work

• Lamport (Bakery Algorithm), Peterson’s Algorithm:• Spinning or sleeping/suspending

Spinning wastes processing timeSuspending can violate task state model

• Lock-free algorithms• Special instructions necessary• Compare&Swap or Load Link/Store Conditional

AUTOSAR on SMT Kluge et al. 14 / 28

Page 22: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Data Synchronisation

Scheduler

• Shared data structures (FIFO queues)

• NO lock variables available!

• Further synchronisation necessary

Related Work

• Lamport (Bakery Algorithm), Peterson’s Algorithm:• Spinning or sleeping/suspending

Spinning wastes processing timeSuspending can violate task state model

• Lock-free algorithms• Special instructions necessary• Compare&Swap or Load Link/Store Conditional

AUTOSAR on SMT Kluge et al. 14 / 28

Page 23: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Outline

1 Motivation

2 Problems

3 Solution

4 Conclusion

AUTOSAR on SMT Kluge et al. 15 / 28

Page 24: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Task Filtering

• Execute only tasks that do not use the same resources

• Deferred tasks are buffered in task filter

• Internal task state resource ready• Task has highest priority of all tasks accessing the same resources

AUTOSAR on SMT Kluge et al. 16 / 28

Page 25: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Task Filtering: Example

T1 T2 T3 T4 T5 T6 T7 T8

R1 XR2 X XR3 XR4 XR5 X XR6 X XR7 X X XR8 X

SC o o o o o o

AUTOSAR on SMT Kluge et al. 17 / 28

Page 26: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Discussion

• Tasks T1,T2,T3

• Priorities P1 > P2 > P3

• 2 thread slots

• T1,T3 running

• T1 and T2 have resource conflict

AUTOSAR on SMT Kluge et al. 18 / 28

Page 27: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Discussion (I)

• No resource conflict between T2 and T3

AUTOSAR on SMT Kluge et al. 19 / 28

Page 28: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Discussion (II)

• Resource conflict between T2 and T3 on R

• T3 non-preemptable

AUTOSAR on SMT Kluge et al. 20 / 28

Page 29: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Discussion (III)

• Resource conflict between T2 and T3 on R

• T3 preemptable

• T3 not holding R or other with CP > P2

AUTOSAR on SMT Kluge et al. 21 / 28

Page 30: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Discussion (IV)

• Resource conflict between T2 and T3 on R

• T3 preemptable

• T3 holding R

AUTOSAR on SMT Kluge et al. 22 / 28

Page 31: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Consequences

• Start of high priority tasks may be delayed, but time-predictable

• Once running, behaviour is same as in single-threaded processor forhighest priority task

• Lower prioritiy tasks: may start earlier, but with lower performance

• Time for scheduling increases about 100 cycles - total time about1.600 cycles (on prototype)

• Hardware requirement: slot-to-slot interrupt

AUTOSAR on SMT Kluge et al. 23 / 28

Page 32: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Synchronisation of Scheduler Data

• Scheduler’s FIFO-Queues accessed from every slot

• Must ensure consistency

• Use lock-free linked lists

• HW Requirement: Compare&Swap or Load Link/StoreConditional instructions

• Work in progress

AUTOSAR on SMT Kluge et al. 24 / 28

Page 33: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Outline

1 Motivation

2 Problems

3 Solution

4 Conclusion

AUTOSAR on SMT Kluge et al. 25 / 28

Page 34: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Summary & Conclusion

Extensions to AUTOSAR

• Task Filtering method prevents resource conflicts

• New state resource-ready introduced

• Necessary hardware extensions• CAS• Slot-to-slot interrupts

⇒ Timing behaviour of highest-priority task is preserved

Conclusions

• Current AUTOSAR not ready for multiprocessing

• More changes on specification necessary

• This work is just one step on the road...

AUTOSAR on SMT Kluge et al. 26 / 28

Page 35: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Summary & Conclusion

Extensions to AUTOSAR

• Task Filtering method prevents resource conflicts

• New state resource-ready introduced

• Necessary hardware extensions• CAS• Slot-to-slot interrupts

⇒ Timing behaviour of highest-priority task is preserved

Conclusions

• Current AUTOSAR not ready for multiprocessing

• More changes on specification necessary

• This work is just one step on the road...

AUTOSAR on SMT Kluge et al. 26 / 28

Page 36: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Future Work

• Lock-free Algorithms• Implementation and evaluation

• Benchmarking• Current benchmarks just look at performance• Design benchmark to test resource accesses

• Integration with Multi-Core Research• MERASA project (Multi-Core Execution of Hard Real-Time

Applications Supporting Analysability)

AUTOSAR on SMT Kluge et al. 27 / 28

Page 37: Implementing AUTOSAR Scheduling and Resource … AUTOSAR Scheduling and Resource ... • Multi-Core Processors ... Implementing AUTOSAR Scheduling and Resource Management on …

University of Augsburg Chair of Systems and Networking

Thank you!

Any Questions?

AUTOSAR on SMT Kluge et al. 28 / 28