zain a h hammadeh tobias franz olaf maibaum andreas
play

Zain A. H. Hammadeh, Tobias Franz, Olaf Maibaum, Andreas Gerndt, - PowerPoint PPT Presentation

DLR.de Chart 1 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Event-Driven Multithreading Execution Platform for Real-Time On-Board Software Systems Zain A. H. Hammadeh, Tobias Franz, Olaf Maibaum, Andreas


  1. DLR.de • Chart 1 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Event-Driven Multithreading Execution Platform for Real-Time On-Board Software Systems Zain A. H. Hammadeh, Tobias Franz, Olaf Maibaum, Andreas Gerndt, Daniel Lüdtke

  2. DLR.de • Chart 2 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Sensor Data Fusion in BIRD (TET, BIROS) AOCS B ispectral I nfra- R ed D etection Single-core Many sensors On-board data processing Main developer Launch: 2001

  3. DLR.de • Chart 3 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Sensor Data Fusion in BIRD (TET, BIROS) AOCS F(A) f(A) Msg. A 1 Sensor A 1 Msg. C 5 Sensor C E= Msg. E F(A,B,C) 0, final 1 Msg. B F(B) f(B) 1 Sensor B 1 Msg. D F(D,E) f(D,E) 1 Sensor D

  4. DLR.de • Chart 4 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Introduction: ASAP scheduling Conservative scheduling in one code block: MsgA MsgB MsgD MsgC t F(A) F(B) F(C) E=F(A,B,C) F(D,E) Tasks with ASAP scheduling: MsgD MsgA MsgB MsgC t F(A) F(B) F(C) E=F(A,B,C) F(D,E)

  5. DLR.de • Chart 5 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Outline • Tasking Framework • API • Activation model • Call semantics • Execution model • Scheduling and priority handling • Tasking Modeling Language (TML) • Outlook & Conclusion

  6. DLR.de • Chart 6 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Tasking Framework: Elements TaskChannel Task F(A) f(A) Msg. A 1 Sensor A TaskInput 1 TaskEvent Msg. C 5 Sensor C E= Msg. E F(A,B,C) 0, final 1 Msg. B F(B) f(B) 1 Sensor B 1 Msg. D F(D,E) f(D,E) 1 Sensor D

  7. DLR.de • Chart 7 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Tasking Framework: API C++ Event Channel InputImpl Scheduler Input InputArray Task TaskImpl TaskProvider

  8. DLR.de • Chart 8 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 thread Tasking Framework: Sequence TaskChannel TaskInput Task perform() F(A) f(A) Msg. A 1 Sensor A notifyInput() push() activate() 1 Msg. C 5 Sensor C E= Msg. E F(A,B,C) 0, final 1 Msg. B F(B) f(B) 1 Sensor B 1 Msg. D F(D,E) f(D,E) 1 Sensor D

  9. DLR.de • Chart 9 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Tasking Framework: Sequence cont’d Executor TaskChannel Input Task Scheduler push notifyInput activate isActivated* perform perform synchronizeStart synchronizeStart execute synchronizeEnd synchronizeEnd reset reset reset

  10. DLR.de • Chart 10 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Activation model 1 2 in 0 in 0 ,final Task Task in 1 and in 1 ,final or in 2 in2,final 3 in 0 Task in 1 Period in 2 ,final Relative-time Relative-time SpW Task 𝜐 1 Relative-time time in 1 ,final Task 𝜐 2 in 0

  11. DLR.de • Chart 11 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Call semantics 1 Asynchronous (Default) 𝜐 0 𝜐 1 𝜐 2 ch 0 ch 1 ch 2 in 0 in 1 in 2 𝜐 0 𝜐 0 𝜐 1 𝜐 1 𝜐 2 𝜐 2 2 Synchronous (Tasking::Group) 𝜐 0 𝜐 1 𝜐 2 ch 0 ch 1 ch 2 in 0 in 1 in 2 𝜐 0 𝜐 0 𝜐 1 𝜐 1 𝜐 2 𝜐 2

  12. DLR.de • Chart 12 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Outline • Tasking Framework • API • Activation model • Call semantics • Execution model • Scheduling and priority handling • Tasking Modeling Language (TML) • Outlook & Conclusion

  13. DLR.de • Chart 13 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Execution Platform Platform Specific SchedulerExecutionModel Mutex Signaler ClockExecutionModel

  14. DLR.de • Chart 14 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Execution model Executors (threads) Scheduler • Work-conserving scheduling • Task 0 The load is balanced on the Scheduling available executors policy Task 1 Thread’s life cycle: wait(&cond_var) ex 1 ex m Queue Task n create() Dormant Running Waiting Scheduling policies: signal() join() SPNP FIFO LIFO

  15. DLR.de • Chart 15 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Scheduling and priority handling Partitioned Global scheduling scheduling Application Global Scheduler1 Scheduler2 scheduling Task 0 Task 0 Scheduling Scheduling policy policy Task 1 Task 1 ex 1 ex m1 ex 1 ex m2 Queue Queue Task n1 Task n2 Scheduler3 Scheduler4 Task 0 Task 0 Scheduling Scheduling policy policy Task 1 Task 1 ex 1 ex m3 ex 1 ex m4 Queue Queue Task n3 Task n4

  16. DLR.de • Chart 16 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Outline • Tasking Framework • API • Activation model • Call semantics • Execution model • Scheduling and priority handling • Tasking Modeling Language (TML) • Outlook & Conclusion

  17. DLR.de • Chart 17 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Tasking Modelling Language (TML) • Advanced editor with modeling support + Integration into Eclipse IDE • Modeling Workflow 1. Data types 2. Component types 3. Component connection • Artifact generation

  18. DLR.de • Chart 18 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Outline • Tasking Framework • API • Activation model • Call semantics • Execution model • Scheduling and priority handling • Tasking Modeling Language (TML) • Outlook & Conclusion

  19. DLR.de • Chart 19 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Outlook • Work stealing • Open source: • introducing releases • contribution rules • legal regulations • Bare-metal

  20. DLR.de • Chart 20 > Tasking Framework > Zain A. H. Hammadeh > OSPERT2019 > 09.07.2019 Conclusion • Tasking Framework • software development library • event-driven multithreading execution platform • C++ • compatible with the POSIX-based RTOS • dedicated for data-driven on-board software systems • Interested? ResearchGate: OSS Website: https://www.dlr.de/sc/srv

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