a time triggered implementation model for real time
play

A time-triggered implementation model for real-time distributed - PowerPoint PPT Presentation

A time-triggered implementation model for real-time distributed systems Virginia Papailiopoulou Dumitru Potop-Butucaru Yves Sorel INRIA Paris-Rocquencourt SYNCHRON 2011 Dammarie-les-Lys, France November 28th - December 2nd 2011 Outline


  1. A time-triggered implementation model for real-time distributed systems Virginia Papailiopoulou Dumitru Potop-Butucaru Yves Sorel INRIA Paris-Rocquencourt SYNCHRON 2011 Dammarie-les-Lys, France November 28th - December 2nd 2011

  2. Outline • Motivation – Avionics embedded computing systems – Integrated Modular Avionics (IMA) • ARINC 653 overview – Focus on temporal aspects • Time-triggered implementation model – Reservation/Scheduling tables • Proposition: time-triggered IMA – Time-triggered IMA implementation November 28th-December 2nd - Dammarie-les-Lys, France 2 SYNCHRON 2011

  3. Outline • Motivation – Avionics embedded computing systems – Integrated Modular Avionics (IMA) • ARINC 653 overview – Focus on temporal aspects • Time-triggered implementation model – Reservation/Scheduling tables • Proposition: time-triggered IMA – Time-triggered IMA implementation November 28th-December 2nd - Dammarie-les-Lys, France 3 SYNCHRON 2011

  4. Integrated Modular Avionics (IMA) • Better use of hardware resources • Lower design/maintenance costs integration of different multiple applications criticality levels in the same computer different safety/ LevelB data communications with reliability multiplexed network requirements LevelA LevelC processor LevelC LevelA LevelB time partitioning P 2 P 1 P 2 P 3 ARINC 653 static TDM scheduling w 1 w 2 w 3 w 4 0 robust partitioning 2-level scheduling space partitioning no unspecified communication no side-effects November 28th-December 2nd - Dammarie-les-Lys, France 4 SYNCHRON 2011

  5. Integrated Modular Avionics (IMA) • Inside each partition: – Partition-level scheduler (L1) within TDM slots allocated by the static scheduler (L0) – Any scheduling policy can be used (RR, EDF , ...) – ARINC 653 • priority-preemptive L1 scheduler – easy porting of existing software November 28th-December 2nd - Dammarie-les-Lys, France 5 SYNCHRON 2011

  6. Motivation • Inside each partition: – Partition-level scheduler (L1) within TDM slots allocated by the static scheduler (L0) – Any scheduling policy can be used (RR, RM, EDF , ...) – ARINC 653 • priority-preemptive L1 scheduler – easy porting of existing software • Dynamic scheduling + static TDM – many TDM slots of short duration ➔ increased cost – interruption at the end of TDM slots ➔ worse deadline guarantees November 28th-December 2nd - Dammarie-les-Lys, France 6 SYNCHRON 2011

  7. Proposition • Fully static scheduling (L0+L1) – Time-triggered process scheduling within partition allocated TDM slots • Conditional scheduling tables – Precise start dates – Execution condition easy and predictable implementations P1 P1 P2 simple model for complex systems t 1 if c 1 if ¬c 1 t 2 then f then g better use of resources t 3 if c 3 then h automatic generation from data-flow t 4 if c 4 then f then f formalisms, e.g. SCADE or Simulink November 28th-December 2nd - Dammarie-les-Lys, France 7 SYNCHRON 2011

  8. Outline • Motivation – Avionics embedded computing systems – Integrated Modular Avionics (IMA) • ARINC 653 overview – Focus on temporal aspects • Time-triggered implementation model – Reservation/Scheduling tables • Proposition: time-triggered IMA – Time-triggered IMA implementation November 28th-December 2nd - Dammarie-les-Lys, France 8 SYNCHRON 2011

  9. ARINC 653 core module Partition for Partition for Partition for Application Application Application Software 1 Software 2 Software 3 A P E X O/S HW November 28th-December 2nd - Dammarie-les-Lys, France 9 SYNCHRON 2011

  10. ARINC 653 core module process 1 process 1 process 1 Partition for Partition for Partition for process 2 Application process 2 Application process 2 Application Software 1 Software 2 process 3 Software 3 process 3 process 3 A P E X P1(L1) P2(L1) P3(L1) O/S module scheduler (L0) HW November 28th-December 2nd - Dammarie-les-Lys, France 10 SYNCHRON 2011

  11. ARINC 653 - Partitions • Static allocation of resources – One partition ↔ one application • Static scheduling ➔ TDM – Fixed time windows ➔ exclusive access to resources One partition ➔ several windows – MTF = k × LCM ( T i , ..., T n ) T P1 Partition 1 Partition 2 Partition 4 Partition 3 Partition 2 Partition 4 Partition 1 Pa window 1 w2 w3 w5 w6 w4 Major Time Frame (MTF n ) November 28th-December 2nd - Dammarie-les-Lys, France 11 SYNCHRON 2011

  12. ARINC 653 - Processes • Application functional behavior • Priority preemptive scheduling priority g h h f q a w 1 preemption 0 duration release start Partition 1 Partition 2 Partition 4 Partition 3 Partition 2 Partition 4 Partition 1 Pa window 1 w2 w3 w5 w6 w4 Major Time Frame (MTF n ) November 28th-December 2nd - Dammarie-les-Lys, France 12 SYNCHRON 2011

  13. ARINC 653 - MTF configuration • According to partition and process requirements T F =20 T H =20 d F =5 d H =5 F H T P1 =20 P 1 D P1 =10 G T G =40 T P2 =40 P 2 d G =10 D P2 =10 T P1 T P1 (P 2 ) (P 1 ) (P 1 ) W 2 W 3 W 1 D H D F D H D F D G 0 5 15 20 25 35 40(=MTF) D P1 D P1 November 28th-December 2nd - Dammarie-les-Lys, France 13 SYNCHRON 2011

  14. ARINC 653 - MTF configuration • Not always unique T F =20 T H =20 d F =3 d H =5 F H T P1 =20 P 1 D P1 =8 G T G =40 T P2 =40 P 2 d G =10 D P2 =10 (P 2 ) (P 1 ) (P 1 ) W 2 W 3 W 1 D F D F D H D H D G 23 0 3 15 20 25 35 40(=MTF) November 28th-December 2nd - Dammarie-les-Lys, France 14 SYNCHRON 2011

  15. ARINC 653 - Structure of an implementation • Configuration file (for the O/S) – Module configuration • window allocation to partitions • memory management • module scheduling (window start dates + durations) • Main programs – One for each partition • processes creation • communication ports creation • partition scheduling November 28th-December 2nd - Dammarie-les-Lys, France 15 SYNCHRON 2011

  16. Outline • Motivation – Avionics embedded computing systems – Integrated Modular Avionics (IMA) • ARINC 653 overview – Focus on temporal aspects • Time-triggered implementation model – Reservation/Scheduling tables • Proposition: time-triggered IMA – Time-triggered IMA implementation November 28th-December 2nd - Dammarie-les-Lys, France 16 SYNCHRON 2011

  17. Time-triggered implementation model non-partitioned resources P 1 P 2 P 3 Bus F 1 @true 0 send(P 1 ,inA)@true 1 send(P 3 ,inB)@true time 2 send(P 3 ,inA)@true F 2 @inA=true 3 F 3 @inB =false 4 N@inA 5 =false 6 M@true 7 • Periodic non-preemptive execution model non-preemptive • Table size = execution cycle duration • Operations with disjoint conditions can run concurrently • Data dependencies respected • No data race November 28th-December 2nd - Dammarie-les-Lys, France 17 SYNCHRON 2011

  18. Outline • Motivation – Avionics embedded computing systems – Integrated Modular Avionics (IMA) • ARINC 653 overview – Focus on temporal aspects • Time-triggered implementation model – Reservation/Scheduling tables • Proposition: time-triggered IMA – Time-triggered IMA implementation November 28th-December 2nd - Dammarie-les-Lys, France 18 SYNCHRON 2011

  19. Time-triggered IMA P1 P1 P2 consistent t 1 f@c 1 g@¬c 1 t 2 h@c 3 t 3 f@c 4 f@c • Table size = MTF • Each operation o i is associated to a partition P i • Slot reservation for window changes • Precomputed preemption – Allow for operations spanning over several windows – Multiple reservations per operation November 28th-December 2nd - Dammarie-les-Lys, France 19 SYNCHRON 2011

  20. Time-triggered implementation P1 P1 P2 t 1 f@c 1 g@¬c 1 t 2 h@c 3 t 3 f@c f@c 4 + APEX • For each partition – One aperiodic process/scheduled operation – One periodic process/slot change – Fixed priorities • higher priority given to periodic processes – Start dates fixed w.r.t. the partition period November 28th-December 2nd - Dammarie-les-Lys, France 20 SYNCHRON 2011

  21. Time-triggered implementation processes associated to slot changes and the start dates #include "local_definitions.c" PROCESS_ATTRIBUTE_TYPE* dates(int Di){ # of operations const int OpNum ; return # of start/end dates const int DNum ; {date_name[Di],slot_change, processes associated to operations date_stack,HI_PRIO,part_period, PROCESS_ATTRIBUTE_TYPE* op(int OPi){ date_duration,HARD}; return } {op_name[OPi],op_wrapper[OPi], const SYSTEM_TIME_TYPE slot_offset[DNum]; inter-partition ports creation op_stack[OPi],LO_PRIO,0, op_duration[OPi],HARD}; void init_inter_partition_ports() ; } PROCESS_ID_TYPE OP_PID[OpNum] ; int main() { RETURN_CODE_TYPE ret ; int d_i= DNum-1; PROCESS_ID_TYPE d_pid ; scheduler function void slot_change() { init_inter_partition_ports() ; initializations RETURN_CODE_TYPE ret ; for(int i=0;i<OpNum;i++) d_i = (d_i+1)%DNum ; CREATE_PROCESS(op(i),OP_PID+i,&ret); for(int i=0;i<OpNum;i++) { for(int i=0;i<DNum;i++) { if((op_start[d_i][i])()) CREATE_PROCESS(dates,&d_pid,&ret); START(OP_PID[i],&ret); DELAYED_START(d_pid, else if ((op_resume[d_i][i])()) slot_offset[i],&ret); partition execution RESUME(OP_PID[i],&ret); } else if ((op_suspend[d_i][i])()) SET_PARTITION_MODE(NORMAL,&ret); SUSPEND(OP_PID[i],&ret); return 0 ; } } } 1 2 November 28th-December 2nd - Dammarie-les-Lys, France 21 SYNCHRON 2011

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend