PROIECT DE DIPLOM Algoritmi de planificare a proceselor

  • Slides: 18
Download presentation
PROIECT DE DIPLOMĂ Algoritmi de planificare a proceselor pentru sisteme în timp real (RT)

PROIECT DE DIPLOMĂ Algoritmi de planificare a proceselor pentru sisteme în timp real (RT) pe reţea CAN Îndrumător de proiect: Conf. dr. ing. Ştefan Stăncescu Student: Petcu Aurelian-Viorel

Înţelegerea sistemelor RT • • • Istoria sistemelor de control distribuite Termenul “în timp

Înţelegerea sistemelor RT • • • Istoria sistemelor de control distribuite Termenul “în timp real” Tipuri de sisteme RT (hard, Soft), sistemele superperformante Task-urile (periodice, aperiodice, sporadice) Constrângerile – de precedenţă – de timp

Algoritmi de planificare a proceselor pentru sisteme RT • Planificarea – – Pre-execuţie (off-line)

Algoritmi de planificare a proceselor pentru sisteme RT • Planificarea – – Pre-execuţie (off-line) Dinamică (on-line) Preemptivă Nepreemptivă • Notaţii şi termeni folosiţi – – – – n Numărul de task-uri din mulţimea task-urilor ei Timpul de execuţie al task-ului Ti (cazul cel mai defavorabil) Pi Perioada task-ului Ti, dacă el este periodic di Timpul limită relativ al task-ului Ti (relativ la timpul lansării) Di Timpul limită absolut al task-ului Ti ri Timpul lansării task-ului Ti h. T(t) Suma timpilor de execuţie a task-urilor T, care au timpul limită absolut < t

Algoritmul de planificare RM (Rate Monotonic) • Prezentarea algoritmului: – Schemă uniprocesor – Schemă

Algoritmul de planificare RM (Rate Monotonic) • Prezentarea algoritmului: – Schemă uniprocesor – Schemă preemptivă – Prioritate statică • Condiţia suficientă dar nu şi necesară: • Teorema zonei critice:

Algoritmul EDF (Early Deadline First) • Prezentarea algoritmului – Condus de prioritate – Cu

Algoritmul EDF (Early Deadline First) • Prezentarea algoritmului – Condus de prioritate – Cu prioritate dinamică – Schemă preemptivă • Analiza funcţionării – Utilizarea cozilor de sarcini – Optim pentru programarea uniprocesor a unui set de sarcini periodice

Algoritmul Least Laxity First • Prezentarea algoritmului – Prioritate dinamică – Schemă preemptivă –

Algoritmul Least Laxity First • Prezentarea algoritmului – Prioritate dinamică – Schemă preemptivă – Optim pentru sisteme cu task-uri periodice în timp real • Analiza funcţionării – Utilizarea cozilor de sarcini – Problema schimbului între acţiunile similare

Algoritmul First-Come First-Served • Prezentarea algoritmului – Fără preempţiune – Schemă simplă – Rapid

Algoritmul First-Come First-Served • Prezentarea algoritmului – Fără preempţiune – Schemă simplă – Rapid şi cu încărcare minimă • Analiza funcţionării – Utilizarea cozilor de sarcini – Nu ia în considerare starea sistemului şi cerinţa de resurse

Algoritmul Shortest Remaining Time Next • Prezentarea algoritmului – – Poate fi folosit cu

Algoritmul Shortest Remaining Time Next • Prezentarea algoritmului – – Poate fi folosit cu sau fără preempţiune Versiunea nepreemptivă a SRTN se numeşte Shorted Job First Schemă consistentă şi predictibilă Optim d. p. d. v. al timpului minim de aşteptare • Analiza funcţionării – Utilizarea cozilor de sarcini – Problema schimbului între acţiunile similare – poate programa optim dacă timpii de execuţie viitori ai activităţilor sunt cunoscuţi

Algoritmul Round Robin • Prezentarea algoritmului – Schemă cu preempţiune – Acces echitabil la

Algoritmul Round Robin • Prezentarea algoritmului – Schemă cu preempţiune – Acces echitabil la resursele sistemului – Timp de răspuns bun • Analiza funcţionării – Utilizarea cozilor de sarcini – Timp de răspuns proporţional cu cerinţa de resurse pentru activităţile de durată

Algoritmul Event-Driven • Prezentarea algoritmului – Schemă cu sau fără preempţiune – Bazat pe

Algoritmul Event-Driven • Prezentarea algoritmului – Schemă cu sau fără preempţiune – Bazat pe prioritate – Schemă cu prioritate statică sau dinamică • Analiza funcţionării – Blocaje asupra proceselor de prioritate mică – Variante Hard-RT ale algoritmului E-D: • “Earliest-Deadline First” • “Least Laxity First”

Algoritmul Multiple-Level Queues • Prezentarea algoritmului – metodă de implementare a unui algoritm complex

Algoritmul Multiple-Level Queues • Prezentarea algoritmului – metodă de implementare a unui algoritm complex • Analiza funcţionării – Foloseşte cozi de procese – Utilizează algoritmi diferiţi pentru fiecare coadă

Reţeaua de comunicaţie CAN • Prezentare generală – Apariţia standardului ISO 11898 – Folosirea

Reţeaua de comunicaţie CAN • Prezentare generală – Apariţia standardului ISO 11898 – Folosirea reţelei CAN în domeniul auto – Aplicaţii industriale reţelei CAN • Funcţionarea reţelei CAN – – Schimbul de date orientat pe conţinut Arbitrarea transmisiei la nivel de bit pentru identificatorii mesajelor Alocarea accesului la magistrală în funcţie de necesitatea fiecărui participant Acces la magistrală fară distrugere de pachete • Caracteristicile reţelei CAN – complexitatea şi flexibilitatea configurării – permite recepţii multiple

Reţeaua de comunicaţie CAN • Formatul cadru al mesajului • Detectarea şi semnalizarea erorilor

Reţeaua de comunicaţie CAN • Formatul cadru al mesajului • Detectarea şi semnalizarea erorilor – – CRC (Cyclic Redundancy Check) Verificarea cadrului de mesaj Erorile de ACK Monitorizarea

KIT-ul de evaluare MCP 25050 • Prezentarea KIT-ului de evaluare • Componentele modulului MCP

KIT-ul de evaluare MCP 25050 • Prezentarea KIT-ului de evaluare • Componentele modulului MCP 25050 – – Nodul PC Nodul A Nodul B Dispozitivul pentru programare

Analiza unei aplicaţii RT de control al vitezei unui autovehicul • Prezentare generală a

Analiza unei aplicaţii RT de control al vitezei unui autovehicul • Prezentare generală a sistemului ACC • Descrierea fizică a sistemului – – Modulul ACC Modulul de control al motorului (Engine Control Module) Modulul de control al frânării (Brake Control Module) Butoane de control ACC

Analiza unei aplicaţii RT de control al vitezei unui autovehicul - continuare • Interfaţarea

Analiza unei aplicaţii RT de control al vitezei unui autovehicul - continuare • Interfaţarea sistemelor de control • Descrierea modulului ACC în cadrul aplicaţiei Rapid. RMA – Încercări de execuţie prin modelarea RM (BI sau PC)

Rezultate şi concluzii • Algoritmul RM şi algoritmii statici utilizaţi împreună cu CAN prezintă:

Rezultate şi concluzii • Algoritmul RM şi algoritmii statici utilizaţi împreună cu CAN prezintă: – O alegere naturală pentru magistrala de tip CAN – Dezavantajele priorităţii statice • Întârzieri ale mesajelor mai slab prioritare • Mesajele având o perioadă mai mică primesc o prioritate mai mare • Soluţii de implementat: – – Un mecanism de arbitrare de tip Deadline Monotonic de genul EDF Atingerea performanţelor de alocare dinamică: Identificatorul mesajului CAN să reflecte termenul limită al mesajului Fiecare mesaj să aibă un identificator unic descris prin împărţirea structurii identificatorului în trei subdiviziuni: • IDENTIFICATOR = PRIORITATE + TERMEN_LIMITĂ + UNICITATE – Evitarea problemelor cauzate de dimensiunea identificatorului ce cuprinde trecerea timpului – Modificarea identificatorilor în mod dinamic – Evitarea încărcării procesorului prin raportarea la o perioadă care să fie ajustată dinamic la intervale mai mari.

Mulţumesc! Petcu Aurelian-Viorel Iunie 2009

Mulţumesc! Petcu Aurelian-Viorel Iunie 2009