Analiza metodelor de planificare a proceselor în sisteme distribuite

Disertație
10/10 (1 vot)
Domeniu: Electronică
Conține 122 fișiere: pdf, exe, java, class, txt, classpath, project, dll, out, cfg, prefs
Pagini : 88 în total
Cuvinte : 21197
Mărime: 1.50MB (arhivat)
Publicat de: Dacian Giurgiu
Puncte necesare: 13
Profesor îndrumător / Prezentat Profesorului: Prof. Dr. Ing. Sorin Zoican
Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei
Universitatea Politehnica Bucuresti, Bucuresti

Cuprins

  1. Lista Figurilor . 3
  2. Lista Acronimelor . 5
  3. Introducere . 7
  4. Capitolul 1. Planificarea proceselor . 8
  5. 1.1. Algoritmul de planificare EDF(în limba engleză Earliest Deadline First) . 10
  6. 1.2. Algoritmul de planificare LLREF(în limba engleză Largest Local Remaining Execution
  7. Time First). 11
  8. Capitolul 2. Migrarea Proceselor . 15
  9. 2.1 Decizia de migrare a proceselor pe baza determinării încărcării CPU și a memoriei . 16
  10. Capitolul 3 Implementarea simulatorului pentru planificarea și migrarea proceselor . 20
  11. 3.1. Implementarea simulatorului pentru planificarea și migrarea proceselor în limbajul C++ . 20
  12. 3.2. Interfața grafică a simulatorului implementată în limbajul de programare Java . 29
  13. 3.2.1. Interfața grafică V1 . 29
  14. 3.2.2. Interfața grafică V2 . 36
  15. Capitolul 4. Comparația metodelor de planificare pentru diverse configurații ale sistemului . 37
  16. 4.1 Configurații de sisteme în care se realizează doar planificarea proceselor . 37
  17. 4.2 Configurații de sisteme în care se realizează atât planificarea, cât și migrarea . 46
  18. Capitolul 5. Concluzii . 64
  19. Bibliografie . 65
  20. Anexa 1 – Codul sursă . 66

Extras din disertație

Introducere

În cazul sistemelor care au un număr mare de resurse şi aplicaţii care urmează să fie

executate, problema principală este planificarea acestora. Pentru ca aplicaţiile din sistem să fie cât

mai bine planificate pentru resursele sistemului este nevoie de adoptarea unor algoritmi de

planificare. Principala caracteristică a unui sistem distribuit este dinamicitatea acestuia,

caracteristică ce influenţează în mod continuu algoritmii de planificare adoptaţi. Pentru ca

aplicaţiile să fie puse în execuţie în mod eficient, planificarea trebuie să fie făcută periodic. Prin

urmare, un algoritm de planificare trebuie să fie pregătit atât pentru situaţiile în care au loc

schimbări în configuraţia sistemului cât şi pentru eşecurile propiului sistem de planificare. În unele

cazuri, se poate adopta în sistem şi un mecanism de migrare al proceselor. Acesta are rolul de a

ajuta la planificarea eficientă a proceselor, acestea fiind executate cu succes.

În această lucrare, am ales descrierea şi implementarea a două metode de planificare:

Earliest Deadline First (EDF) şi Largest Local Remaining Execution Time First(LLREF). Numele

celor doi algoritmi sugerează modul în care aceştia stabilesc prioritatea proceselor în sistem. Pe

lângă cei doi algoritmi am ales să adoptăm şi un mecanism de migrare care, în funcţie de încărcarea

procesoarelor şi a memoriei pe care o determină execuţia unui proces sau în funcţie de rata de

depăşire a deadline-ului pentru fiecare proces, va migra un proces de pe un nod încărcat pe unul mai

puţin încărcat. Am ales diverse configurări ale sistemului şi am făcut o analiză comparativă între cei

doi algoritmi şi între performanţa sistemului doar cu mecanism de planificare şi performanţa

sistemului cu mecanism de planificare şi migrare. Partea aplicativă a lucrării a presupus realizarea

unui simulator pentru planificarea şi migrarea proceselor şi a unei interfeţe grafice pentru afişarea

rezultatelor.

În primul capitol al lucrării va fi prezentat conceptul de planificare al proceselor şi vor fi

prezentaţi cei doi algoritmi de planificare(EDF, LLREF). În capitolul următor va fi prezentată

noţiunea de migrare, decizia şi mecanismul de migrare. Aceste prime două capitole vor fi urmate de

capitolul în care este prezentată atât implementarea simulatorului pentru planificarea şi migrarea

proceselor, cât şi implementarea interfeţei grafice care va afişa rezultatele planificării şi/sau

migrării. Lucrarea se încheie cu capitolul în care se adoptă diverse configuraţii ale sistemului şi se

compară performanţele celor două metode de planificare. De asemenea, se analizează şi situaţia în

care în sistem se alege şi realizarea migrării.

Capitolul 1. Planificarea proceselor

Într-un sistem de calcul care controlează mai multe procese, vor exista mai multe sarcini, atât

periodice cât şi aperiodice care trebuie să fie realizate într-o perioadă de timp limitată. Abilitatea

sistemului de a îndeplini termenele limită ale sarcinilor depinde de capacitatea acestuia de a realiza

calculele necesare. În cazul în care mai multe procese trebuie executate foarte aproape în timp unul

de altul, sistemul de calcul trebuie să planifice calculele necesare astfel încât fiecare răspuns necesar

să fie dat în limitele de timp impuse de fiecare proces în parte. Atunci când se realizează

planificarea proceselor în timp real se ţine cont de anumite proprietăţi temporare ale acestora.

Aceste proprietăţi sunt:

- Timpul de lansare (în limba engleză „ready time”) – momentul de timpul la care procesul

este gata pentru a fi rulat

- Termenul limită (în limba engleză „deadline”) – timpul până la care execuţia procesului

trebuie să fie încheiată

- Întârzierea minimă – intervalul de timp minim care trebuie să treacă înainte ca execuţia

procesului să fie începută.

- Întârzierea maximă – intervalul de timp maxim care trebuia să treacă înainte ca execuţia

procesului să fie începută

- Timpul de execuţie cel mai defavorabil – timpul maxim necesar pentru a realiza procesul

- Timpul de rulare – timpul necesar pentru a executa procesul fără a fi întrerupt

- Prioritatea

Un sistem în timp real trebuie să îndeplinească multe cereri într-o perioadă de timp limitată.

Importanţa cererii poate varia cu natura acesteia sau cu timpul disponibil pentru a primi un răspuns.

Prin urmare, alocarea resurselor trebuie să fie planificată astfel încât să le fie respectate termenele

limită ale tuturor cererilor. Acest lucru se realizează prin intermediul unui planificator care

implementează o politică de planificare, astfel determinându-se cum se vor aloca programului

resursele sistemului. Corectitudinea sistemelor în timp real este determinată atât de logica

rezultatului calculului cât şi de perioada de timp în care calculul este realizat, fiind esenţial ca

sistemul să garanteze respectarea constrângerilor de timp.

Pentru un set dat de procese, problema generală a planificării impune o ordine în care procesele

vor fi executate astfel încât diferitele constrângeri ale acestora să fie satisfăcute. De obicei,

procesele sunt caracterizate de timpul de execuţie (timpul de calcul), timpul de lansare, termenul

limită şi cantitatea de resurse de care are nevoie. Execuţia unui proces poate sau nu să fie întreruptă

(planificare peemtiva sau non-preemtiva), iar în setul de procese, poate să existe o relaţie de

precedenţă care constrânge ordinea de execuţie în timp. Sistemul în care procesele urmează să fie

executate este caracterizat de cantitatea resurselor disponibile.

Planificarea în timp real trebuie să atingă următoarele obiective:

- Constrângerilor de timp ale sistemului trebuie respectate.

- Accesul simultan la resursele și dispozitivele comune trebuie prevenite.

- Utilizare sistemului trebuie să fie eficientă în timp ce constrângerile de timp sunt respectate

- Comutarea de context prezentă în cazul planificării preemtive trebuie să aibă costuri minime

Bibliografie

[1] Veeravalli Bharadwaj, Debasish Ghose, Thomas G. Robertazzi, „Divisible Load Theory: A New Paradigm for Load Scheduling inDistributed Systems”, Cluster Computing 6, 7–17, 2003, Kluwer Academic Publishers. Manufactured in The Netherlands

[2] Hyeonjoong Cho, Binoy Ravindran, E. Douglas Jensen, „An Optimal Real-Time Scheduling Algorithm for Multiprocessors”, ECE Dept., Virginia Tech Blacksburg, VA 24061, The MITRE Corporation Bedford, MA 01730, USA

[3] Dongning Liang, Pei-Jung Ho, Bao Liu, „Scheduling in Distributed Systems”, Department of Computer Science and Engineering University of California, San Diego

[4] Arezou Mohammadi, Selim G. Akl, „Scheduling Algorithms for Real-Time Systems”, Technical Report No. 2005-499, School of Computing Queen’s University Kingston, Ontario Canada K7L 3N6,

[5] N. Audsley, A. Burns, „Real-Time System Scheduling”, report from the ESPRIT BRA Project (3092),Predicatably Dependable Computer Systems, Volume 2, Chapter 2, Part II, Department of Computer Science, University of York, UK

[6] Markus Peloquin, „A Comparison of Scheduling Algorithms for Multiprocessors”, December 13, University of Wisconsin-Madison, 2010

[7] Sorin Zoican, Roxana Zoican, Dan Galatchi,“Improved Load Balancing and Scheduling Performance in Embedded Systems with Task Migration”, TELSIKS 2015, oct. 2015 (trimisa pentru revizuire)

[8] http://www.vogella.com/tutorials/java.htmlaccesat la 14.03.2015

[9] http://docs.oracle.com/javase/tutorial/uiswing/accesat la 28.03.2015

[10] https://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling accesat la 24.01.2015

[11] http://www.ibm.com/developerworks/java/tutorials/j-jni/j-jni.html accesat la 18.04.2015

[12] http://www.cplusplus.com/forum/general/117497/accesat la 18.04.2015

[13] http://mingw.org/wiki/sampleDLLaccesat la 19.04.2015

Preview document

Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 1
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 2
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 3
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 4
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 5
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 6
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 7
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 8
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 9
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 10
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 11
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 12
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 13
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 14
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 15
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 16
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 17
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 18
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 19
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 20
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 21
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 22
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 23
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 24
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 25
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 26
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 27
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 28
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 29
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 30
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 31
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 32
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 33
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 34
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 35
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 36
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 37
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 38
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 39
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 40
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 41
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 42
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 43
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 44
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 45
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 46
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 47
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 48
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 49
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 50
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 51
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 52
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 53
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 54
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 55
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 56
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 57
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 58
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 59
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 60
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 61
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 62
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 63
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 64
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 65
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 66
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 67
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 68
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 69
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 70
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 71
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 72
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 73
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 74
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 75
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 76
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 77
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 78
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 79
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 80
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 81
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 82
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 83
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 84
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 85
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 86
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 87
Analiza metodelor de planificare a proceselor în sisteme distribuite - Pagina 88

Conținut arhivă zip

  • plan
    • results
      • deadline_1.out
      • deadline_1_after.out
      • deadline_2.out
      • deadline_2_after.out
      • deadline_3.out
      • deadline_3_after.out
      • deadline_4.out
      • deadline_4_after.out
      • mark_deadline_1.out
      • mark_deadline_1_after.out
      • mark_deadline_2.out
      • mark_deadline_2_after.out
      • mark_deadline_3.out
      • mark_deadline_3_after.out
      • mark_deadline_4.out
      • mark_deadline_4_after.out
      • mark_period_1.out
      • mark_period_1_after.out
      • mark_period_2.out
      • mark_period_2_after.out
      • mark_period_3.out
      • mark_period_3_after.out
      • mark_period_4.out
      • mark_period_4_after.out
      • mark_start_1.out
      • mark_start_1_after.out
      • mark_start_2.out
      • mark_start_2_after.out
      • mark_start_3.out
      • mark_start_3_after.out
      • mark_start_4.out
      • mark_start_4_after.out
      • system_1.out
      • system_1_after.out
      • system_2.out
      • system_2_after.out
      • system_3.out
      • system_3_after.out
      • system_4.out
      • system_4_after.out
    • .classpath
    • .project
    • afiseaza_rezultate$1.class
    • afiseaza_rezultate$2.class
    • afiseaza_rezultate$3.class
    • afiseaza_rezultate$4.class
    • afiseaza_rezultate$5.class
    • afiseaza_rezultate$6.class
    • afiseaza_rezultate.class
    • Diagram.class
    • EDF_LLREF.exe
    • help.txt
    • libgcc_s_dw2-1.dll
    • ReadFile.class
    • sim_plan - Copy.cfg
    • sim_plan.cfg
    • sim_plan_after_migration.cfg
  • plan_display
    • .settings
      • org.eclipse.jdt.core.prefs
    • bin
      • afiseaza_rezultate$1.class
      • afiseaza_rezultate$2.class
      • afiseaza_rezultate$3.class
      • afiseaza_rezultate$4.class
      • afiseaza_rezultate$5.class
      • afiseaza_rezultate$6.class
      • afiseaza_rezultate.class
      • Diagram.class
      • ReadFile.class
    • results
      • deadline_1.out
      • deadline_1_after.out
      • deadline_2.out
      • deadline_2_after.out
      • deadline_3.out
      • deadline_3_after.out
      • deadline_4.out
      • deadline_4_after.out
      • mark_deadline_1.out
      • mark_deadline_1_after.out
      • mark_deadline_2.out
      • mark_deadline_2_after.out
      • mark_deadline_3.out
      • mark_deadline_3_after.out
      • mark_deadline_4.out
      • mark_deadline_4_after.out
      • mark_period_1.out
      • mark_period_1_after.out
      • mark_period_2.out
      • mark_period_2_after.out
      • mark_period_3.out
      • mark_period_3_after.out
      • mark_period_4.out
      • mark_period_4_after.out
      • mark_start_1.out
      • mark_start_1_after.out
      • mark_start_2.out
      • mark_start_2_after.out
      • mark_start_3.out
      • mark_start_3_after.out
      • mark_start_4.out
      • mark_start_4_after.out
      • system_1.out
      • system_1_after.out
      • system_2.out
      • system_2_after.out
      • system_3.out
      • system_3_after.out
      • system_4.out
      • system_4_after.out
    • src
      • afiseaza_rezultate.java
      • Diagram.java
      • ReadFile.java
    • .classpath
    • .project
    • afiseaza_rezultate$1.class
    • afiseaza_rezultate$2.class
    • afiseaza_rezultate$3.class
    • afiseaza_rezultate$4.class
    • afiseaza_rezultate$5.class
    • afiseaza_rezultate$6.class
    • afiseaza_rezultate.class
    • Diagram.class
    • ReadFile.class
  • Analiza metodelor de planificare a proceselor in sisteme distribuite.pdf

Alții au mai descărcat și

Monitorul

O clasificare sumara a monitoarelor ar putea fi dupa unul din criteriile : a) dupa culorile de afisare -monitoare monocrome (afiseaza doar doua...

Stabilizator de Tensiune

3. Functionarea În general, pentru realizarea stabilizatoarelor de tensiune se folosesc proprietatile diodelor. Cel mai simplu tip de...

Te-ar putea interesa și

Proiectarea Sistemelor Informaționale

INTRODUCERE În perioada de tranziţie la economia de piaţă o importanţă deosebită capătă automatizarea proceselor de prelucrare a informaţiei....

Tehnici Avansate de Conducere pentru un Sistem Energetic

1. Introducere În contextul situaþiei energetice mondiale, efortul cerut pentru reducerea consumurilor de energie în vederea conservãrii este, de...

SC Xcell Trading SRL

Introducere Am ales sa realizez Imbunatatirea managementului calităţii la SC Xcell Trading SRL, ca lucrare de licenţa deoarece sunt angajat de 4...

Inteligența Artificială

I. Obiective 1 De ce utilizarea tehnicilor de IA sunt importante? Inteligenţa artificială este un domeniu important din punct de vedere economic,...

Managementul organizațiilor și întreprinderilor mici și mijlocii

CAP.1 ELEMENTE INTRODUCTIVE Practic, nu există lucrări care să nu cuprindă abordări explicite ale organizării activităţii umane. Ideea de mai sus...

Ingineria programării

În “Ghidul cunoștințelor esențiale referitoare la Ingineria Programării” (Guide to the Software Engineering Body of Knowledge -...

Agenți și Modelarea Bazată pe Agenți în Economie

Competiţia economică globală şi evoluţia rapidă a cerinţelor şi preferinţelor consumatorilor au determinat, în ultimii aproximativ zece ani,...

Managementul Calitatii în Sectorul Public

1.1 Contextul prezent În prezent, se face referire în mod frecvent la termeni cum ar fi calitate, calitate totala, managementul calitatii etc....

Ai nevoie de altceva?