150 likes | 372 Views
Activity at IDA. Mircea Negrean. Activity at IDA. Since July 2007 Research Project: IDA – Bosch ( Confidential ) Activity at IDA Research of multiprocessor scheduling, synchronization, … Extension of SymTA/S framework
E N D
Activity at IDA Mircea Negrean Institute of Computer and Communication Network Engineering
Activity at IDA • Since July 2007 • Research Project: IDA – Bosch (Confidential) • Activity at IDA • Research of multiprocessor scheduling, synchronization, … • Extension of SymTA/S framework • Static Priority Preemptive scheduler considers now the blocking time computed according to MPCP. • Hiwi mentoring together with Simon Schliecker • Paper Reviews
MultiprocessorScheduling and Blocking TimeAnalysis Mircea Negrean Simon Schliecker Rolf Ernst Institute of Computer and Communication Network Engineering
Outline • Moving to multicore ECUs • Multiprocessor scheduling and blocking time analysis • Integration in SymTA/S - Demo
Moving to multicore ECUs (1) • Virtualization • Partitioned scheduling • Reuse of already known uniprocessor techniques, code reuse, a.s.o. ECU2 ECU1 ECU CPU2 CPU1 CPU2 CPU1 CAN1-IF CAN2-IF CAN1-IF CAN2-IF Multicore ECU architecture Distributed multiprocessor architecture
Moving to multicore ECUs (2) • Problem • Sharing global resources leads to interference across cores • Architectures must support real-time • Requirements • Protocols which cover • Tasks scheduling on each core • Resource arbitration ECU CPU2 CPU1 CAN1-IF Multicore ECU Architecture (with shared resources)
Multiprocessor Priority Ceiling Protocol (MPCP) • Extension of uniprocessor PCP [Rajkumar90] • Assumptions and Definitions: • Static assignment of tasks to processors and local scheduler on each core • Global priority space on the multiprocessor system • Local resources • used only by tasks mapped on the same core • Global resources • used by tasks mapped on different cores • Priorities of global resources are higher than priorities of all tasks in the multiprocessor system • Nesting of local and global resources is not allowed
CPU1 CPU2 CAN-IF T2 T1 L1 L2 R T3 T4 Types of blocking on multicore ECU • Local blocking time (PCP) • Due to lower priority local tasks • Blocking due to • remote tasks • higher priority gcs's which can preempt lower priority gcs's on remote cores • lower priority local tasks which may perform request to global resources when the analyzed task becomes suspended Local Resources Global Resources
Tasks’ worst-case response time analysis WCRT(T3) T1 CAN-IF CPU1 T3 R R Shared Resources CAN-IF T2 T1 R T3 T4 T2 CAN-IF CPU2 T4 R t
Demo Multiprocessor scheduling and blocking time analysis in SymTA/S
Multiprocessor analysis in SymTA/S (1) • No shared resources on the ECU ECU CPU1 CPU2 T3 T2 T5 T4 T7 CAN1-IF CAN2-IF
Multiprocessor analysis in SymTA/S (2) • Cores share the CAN-Interface ECU CPU1 CPU2 T3 T2 T5 T4 T7 System non-schedulable CAN1-IF
Multiprocessor analysis in SymTA/S (2) • Assign higher priority to T5 (T5 -> T1) ECU CPU1 CPU2 T3 T2 T1 T4 T7 System is schedulable CAN1-IF