Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

Coordonator Conf . Dr. Ing. Ș tefan S tă ncescu Absolvent Săvulescu Alexandru Costin PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

Facultatea de Electronic ă , Telecomunica ț ii si Tehnologia Informatiei Universitatea “P olitehnica ” Bucure ș ti. Algoritm optimizat de rezolvare a problemei celor k clienţi aplicat la memorii externe. Coordonator Conf . Dr. Ing. Ș tefan S tă ncescu Absolvent Săvulescu Alexandru Costin.

Download Presentation

Coordonator Conf . Dr. Ing. Ș tefan S tă ncescu Absolvent Săvulescu Alexandru Costin

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Facultatea de Electronic,Telecomunicaii si Tehnologia Informatiei

Universitatea PolitehnicaBucureti

Algoritm optimizat de rezolvare a problemei celor k clieni aplicat la memorii externe

Coordonator

Conf. Dr. Ing. tefan Stncescu

Absolvent

Svulescu Alexandru Costin


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Problema celor k clieni n cazul acceselor la disc n sistemele multi-threading

  • Este o problem de concuren, ntlnit n mai multe domenii precum accesul la bazele de date, accesul la disc, traficul n reea, etc.

  • Problema fundamental presupune existena unui singur server i a unui numr de k clieni.

  • Dificultatea const n alegerea de ctre server a care dintre cereri s soluioneze mai nti.

  • Problema fundamental presupune timpi de soluionare (execuie) a cererilor de valoare 0.

  • Variante ale problemei celor k clieni reprezint cazuri n care cererile nu au timp de soluionare zero sau exist mai multe servere cu mai muli clieni.


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Se pune problema gsirii unor soluii optime de programare a acceselor la disc pentru obinerea unor valori pentru funcii cost ct mai mici.

Funciile cost pot fi determinate de timpul mediu/maxim de cutare, timpul mediu/maxim de acces, latena rotaional medie, etc.

n cazul accesului la disc, serverul este reprezentat de capul sau capetele de citire, iar clienii sunt reprezentai de cererile de citire/scriere asupra discului prin intermediul capului.

Analiza const n evaluarea unor algoritmi de programare a accesului la disc n funcie de anumite funcii cost.

Problema celor k clieni din punct de vedere al programrii accesului la disc


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Capetele de citire se plimb de-alungul platanelor, ns nu independent.

Platanele se rotesc de-lungul axlui cu o viteza aproximativ constant

Se urmrete mutarea capului pe distane ct mai scurte.

Fizica unitii de disc magnetic


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Componentele unei suprafee

  • Fiecare platan este mprit ntr-un numr de piste.

  • Fiecare pist are un numr de sctoare.

  • Termenul de cilindru reprezint totalitatea pistelor care se afl sub acelai cap n acelai timp.

  • Pentru a satisface o cerere I/O, controlerul de disc trebuie s mute capul la locaia necesar, determinat de pist i numrul sectorului.


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Exist o discrepan foarte mare ntre timpii de lucru ai microprocesorului i ai memoriei interne fa de cei ai unitilor de stocare externe n cadrul unui sistem de procesare.

Vitezele de lucru ale microprocesoarelor i memoriilor interne au crescut exponenial de-alungul timpului, n timp ce din punct de vedere al unitilor secundare de stocare, acestea au crescut nesemnificativ.

Aceste viteze sunt cu cteva ordine de mrime mai mari fa de cele ale unitilor de stocare externe, perfomana sistemului fiind limitat de acestea.

Se dorete minimizarea timpilor de acces la memoria

extern prin folosirea unor anumitor tipuri de algoritmi

pentru sporirea performanei.

Dezavantajele discurilor magnetice din punct de vedere al vitezei


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

O unitate SSD este un dispozitiv de stocare a datelor care folosete memorie n stare solid pentru a stoca date persistente.

Are la baz de obicei memorie flash NAND i datorit faptului c emuleaz interfaa unui hard-disk, l poate nlocui cu succes.

Avantaje: acces aleator foarte rapid, timpi de acces neglijabili datorit absenei elementelor mecanice, viteze de citire mai mari fa de hard-disk-urile convenionale, lipsa zgomotului, greutate i dimensiuni reduse, rezistena la ocuri, consum de energie mic.

Dezavantaje: pre ridicat, aproximativ de 5 ori mai mare per GB fa de hard-disk-urile convenionale, capacitate de stocare mai mic, un ciclu limitat de scrieri (tergeri).

Aceste neajunsuri vor fi mbuntite pe parcurs i

se ateapt ca aceste dispozitive s ia locul unitilor

hard-disk convenionale n viitorul apropiat.

Tehnologia SSD (Solid-State Drive) ca alternativ la unitile de stocare clasice (hard-disk-uri)


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Prezentarea algoritmilor de programare a acceselor la disc

  • Algoritmul First-Come, First-Served (FCFS)

  • Este de fapt varianta adaptat la unitile de disc a algoritmului First-In, First-Out (FIFO).

  • Un algoritm foarte simplu din punct de vedere al complexitii, prima cerere sosit este i cea soluionat, urmtoarele cereri sosite urmnd a fi soluionate pe rnd, n funcie de ordinea sosirii lor.

  • Este un algoritm slab ca performane datorit micrilor aleatoare ale capului pe suprafaa discului, ns simplu i uor de implementat.

  • Algoritmul SCAN (Elevator)

  • Cererile sunt soluionate numai ntr-o anumit direcie de parcurgere a discului, celelalte fiind plasate ntr-o coad de ateptare.

  • Variante mbuntite ale acestui algoritm includ C-SCAN, LOOK, C-LOOK.


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

  • Algoritmul Shortest Seek-Time First (SSTF)

  • Reprezint oarecum o mbuntire a FCFS.

  • Controlerul de disc pstreaz un buffer cu cererile nou sosite, fiecare avnd ataat un numr de cilindru.

  • Algoritmul determin care este cererea cea mai apropiat de poziia curent a capului, iar apoi soluioneaz cererea urmtoare.

  • Avantaje majore fa de FCFS ns poate aprea nfometarea dac noi cereri apar aproape de poziia curent a capului, cele mai deprtate neapucnd s fie soluionate.

  • Algoritmul C-LOOK

  • Reprezint o mbuntire a algoritmului SCAN normal, cel mai performant din aceast familie, mai performant i dect SCAN, C-SCAN, LOOK, C-LOOK.

  • Algoritmul ndeplinete cereri doar ntr-o singur direcie ncepnd de la cel din extrema interioar a dicului i deplasndu-se spre exterior i soluionnd cererile ce apar pe parcurs pna la ultima. Apoi se

  • mut din nou pe poziia din extrema

  • interioar a discului.


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

Reprezint un simulator al sistemelor de stocare magnetic foarte eficient, exact i puternic configurabil. Poate simula discuri, controlere intermediare, magistrale, drivere de dispozitiv, memorii cache ale blocurilor de disc, organizri de date pentru tablouri de discuri.

Iniial a facut parte dintr-un simulator complet de sistem (SimOS) i poate fi integrat uor n astfel de sisteme complete de simulare.

Modeleaz performanele unui subsistem de stocare, ns nu salveaz sau restaureaz efectiv datele pentru fiecare cerere.

Programul funcioneaz numai sub sistemele de operare Linux i vine sub form de surse scrise n limbajul C i necesit compilare.

Mediul de simulare DiskSim 4.0


Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

  • O comand de rulare a simulatorului DiskSim arat astfel:

  • disksim <parfile> <outfile> <tracetype> <tracefile> <synthgen> [ par override... ]

  • unde:

    • disksim reprezint numele simulatorului.

    • <parfile> reprezint fiierul de parametri ai discului.

    • <outfile> reprezint fiierul n care vor fi depuse rezutatele simulrii. Poate fi folosit stdout pentru acest parametru, rezultatele fiind afiate direct pe ecran.

  • <tracetype> reprezint formatul fiierului workload. Se poate alege ntre ascii, raw sau validate, ns de cele mai multe ori se folosete ascii.

    • <synthgen> reprezint o valoare boolean care specific dac pentru simulare se folosete generatorul intern de workload. 1 reprezint activarea generatorului, 0 reprezint neactivarea sa.

    • [par override...] reprezint un set de declaraii adiionale ce se folosesc pentru a specifica de la linia de comand alte valori ale anumitor parametri ale simulrii.

  • Exemplul unei linii de comanda:

    ./disksim SeagateCheetah15k5.parv results.out ascii trace1.trace 0 "disk*" "Scheduler:Scheduling policy" 4

    Aici s-a folosit un exemplu de rescriere a parametrilor modificndu-se politica de programare a acceselor la folosirea algoritmului cu numrul 4, cod ce reprezint algoritmul SSTF.


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    Din punct de vedere al performanelor, majoritatea tipurilor de algoritmi produc rezultate destul de apropiate, fiind dificil departajarea evident a vreunui tip anume de algoritm.

    Pentru sistemele reale, majoritatea abordrilor din punct de vedere al acceselor la disc caut implementarea unui algoritm care s furnizeze o performan global maxim pentru orice tip de sarcin de lucru.

    Acest lucru nu este posibil datorit faptului c sarcinile de lucru ale unui sistem real sunt extrem de variate, se modific pe parcursul timpului i astfel nu nici un tip de algoritm care s se comporte optim n orice tip de situaie.

    O soluie optim ar fi ca n loc de a se ncerca gsirea unui algoritm care s se comporte optim pentru orice fel de

    sarcin de lucru, s se foloseasc algoritmii deja

    existeni ns ntr-un mod inteligent i eficient, bazat pe

    analiza sarcinilor de lucru din sistem i de performana

    sistemului.

    Dac anumite tipare din componena sarcinilor de lucru ar putea

    fi observate n timp real, atunci sistemul ar putea prin intermediul

    unui analizator de cereri I/O s aleag cel mai potrivit algoritm n

    cazul sarcinii de lucru respective pentru a mbuntii performana

    corespunztor.

    Optimizarea unui algoritm de programare a acceselor la disc


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    FCFS reprezint unul dintre cei mai utilizai, cei mai simpli i usor de implementat algoritmi de programare acceselor.

    Limita superioar a funciei de cost a timpului de cutare este diferena dintre cei mai ndeprtai doi cilindri, adic cel imediat aflat lng axul discului i primul din marginea exterioar a aceluiai disc.

    Limita inferioar a funciei cost a timpului de cutare este diferena dintre oricare doi cilindri consecutivi, excepnd situaia n care dou cereri apeleaz acelai cilindru.

    Considerm costul total ca suma funciilor cost reprezentate de distanele dintre 2 cereri consecutive din coada de ateptare n valoare absolut.

    Optimizarea const n impunerea unei condiii de distan maxim care trebuie ndeplinit pentru ca cererea s fie

    acceptat sau respins.

    Am considerat ca acest condiie s fie dat de diferena

    ntre o cerere i urmtoarea s fie mai mic sau cel mult egal

    cu distana ntre cilindrul cererii de start i cea mai mic valoare a cilindrului aflat n coada de ateptare.

    Dac acest condiie este ndeplinit, atunci cererea este soluionat.

    n caz contrar, aceasta este respins i introdus ntr-o coad

    intermediar.

    Variant de optimizare a algoritmului FCFS


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    Exemplu

    Fie coada de ateptare cu urmtoarele valori: 98, 183, 37, 122, 14, 124, 65, 67.

    Pentru algoritmul FCFS normal, costul total va fi:

    |98 - 183| + |183 - 37| + |37 - 122| + |122 - 14| + |14 - 124| + |124 65| + |65 - 67| = 85 + 146 + 85 + + 108 + 110 + 59 + 2 = 595.

    n cazul algoritmului FCFS optimizat, calculele sunt dup cum urmeaz:

    |98 - 183| = 85 > 84, cererea este respins i este adugat n coada intermediar care va conine valoarea 183.

    |98 - 37| = 61 < 84, cererea este soluionat, costul total fiind 61.

    |37 - 122| = 85 > 84, cererea este respins i adugat n coada intermediar care va conine valorile 183, 122.

    |37 - 14| = 23 < 84, cererea este rezolvat, costul total fiind 61 + 23 = 84.

    |14 - 124| = 110 > 84, cerera este respins i adugat n coada intermediar care va conine 183, 122, 124.

    |14 - 65| = 51 < 84, cererea este rezolvat, costul total fiind 61 + 23 + 51 = 134.

    |65 - 67| = 2 < 84, cererea este rezolvat, costul total fiind 61 + 23 + 51 + 2 = 136.

    n coada intermediar au rmas acum trei valori care se vor rezolva dup metota FCFS

    clasic, adic secvenial.

    |67 - 183| = 116, costul total devenind 136 + 116 = 252.

    |183 - 122| = 61, costul total devenind 252 + 61 = 313.

    |122 - 124| = 2, costul total devenind 313 + 2 = 315.

    Fa de costul algoritmului FCFS clasic de 595 de uniti, costul obinut cu algoritmul

    optimizat este de 315 uniti, cu o mbuntire de aproximativ 94% n acest caz.

    Acest algoritm este eficient pentru sarcini distribuite uniform pe cilindrii discului i cu o

    distan mare ntre ele. n caz contrar, algoritmul nu aduce mbuntiri semnificative,

    putndu-se dovedi chiar n unele cazuri mai ineficient datorit operaiilor de comparare

    i inserie.


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    Am realizat o aplicaie n limbajul Java care mpreun cu mediul de simulare DiskSim 4.0 ne permite studierea perfomanelor a 5 tipuri de algoritmi. Algoritmii folosii sunt FCFS, SCAN (Elevator), C-LOOK, SSTF, SPTF.

    Prima parte este reprezentat de generatorul de workload-uri. Se pot alege tipul distribuiei blocurilor (gaussian sau uniorm), intervalul de sosire a cererilor cu valoare constant sau aleatoare, numrul de cereri generate.

    Dup crearea workload-urilor se poate ncepe simularea alegnd discul de pentru care se dorete simularea. n cazul alegerii algoritmilor pentru care s se simuleze respectivul disc, este necesar alegerea tuturor celor 5, apsnd butonul Select All, n caz contrar putnd s apar erori. Se poate alege ntre 3 tipuri de discuri i anume Seagate Cheetah 146GB

    15000 RPM, Western Digital AAKS 250GB 7200 RPM i un model mai vechi de 1 GB i 5400 RPM, HP C3323A.

    Dup ce s-au selectat toate aceste opiuni se poate ncepe simularea apsnd butonul Start Simulation. n cazul n care simularea s-a ncheiat cu succes, va fi afiat un mesaj de confirmare.

    Dup simulare, se va apsa butonul Show Results, moment n care vor fi afiate graficele cu rezultatele simulrii.

    Sunt urmrii 6 categorii de parametri, i anume, timpul de cutare al discului,

    latena rotaional, timpul de transfer, timpul de acces, numrul de cereri I/O

    pe secund i timpul de rspuns al controlerului I/O, toate pentru valori medii.

    Graficele conin cele 6 categorii, fiecare categorie prezentnd aceste valori

    pentru fiecare algoritm.

    Aplicaie pentru studiul peformanei unor algoritmi de programare a acceselor la disc


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    Interfaa pentru generarea de workload-uri.

    Eantion extras dintr-un fiier workload.

    Prima coloan reprezint tipul la care sosete cererea (fa de momentul 0), a doua coloan reprezint discul care se simuleaz, a 3-a coloan reprezint numrul blocului, a 4-a durata unei cereri n (numr de operaii), iar ultima coloan reprezint tipul cererii, dac este citire sau scriere, 1 reprezint citire i 0 scriere.


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    Interfaa principal


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    • Simulare hard-disk Seagate Cheetah 15k5 pentru 1000 de cereri, distribuie gaussian cu medie 50000 (bloc central) i dispersie 5000, interval de timp ntre cereri de 2 ms.

    • Simulare hard-disk Western Digital AAKS n aceleai condiii ca mai sus.


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    • Simulare hard-disk HP C3323A pentru aceleai condiii de dinainte.

    • Simulare hard-disk Seagate Cheetah 15k5 pentru 5000 de cereri, distribuie gaussian de medie 50000 (bloc central) i dispersie 5000, distan ntre sosirile cererilor de 2 ms


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    • Simulare hard-disk Seagate Cheetah 15k5 pentru o sarcin de lucru cu 5000 de cereri, distribuie ntre momentele de sorire ale cererilor aleatoare.

    • Simulare hard-disk Seagate Cheetah 15k5 pentru 1000 de cereri, distribuie gaussian de medie 50000 (bloc central) i dispersie 500, distan ntre sosirile cererilor de 0.2 ms


    Coordonator conf dr ing tefan s t ncescu absolvent s vulescu alexandru costin

    Cele mai slabe rezultate se obin n cazul hard-disk-ului HP C3323A, datorit inferioritii sale.

    Algoritmul care se remarc n toate cazurile studiate este SPTF. Locurile 2 i 3 sunt ocupate de SSTF, respectiv C-LOOK.

    Algoritmii SCAN clasic i FCFS ocup cele mai slabe poziii.

    Algoritmul SPTF care a produs rezultatele cele mai bune este bazat pe reducerea distanei de poziionare a capului. Combinat cu o politic eficient de evitare a nfometrii, acest algoritm produce rezultate optime.

    Concluzii i observaii


  • Login