Effektiviteten af C-Scan (Circular Scan) diskplanlægningsalgoritmen betragtes generelt
moderat til god , der falder et sted mellem scanning og FCF'er med hensyn til ydeevne. Det er designet til at tackle de retfærdighedsproblemer, der er forbundet med scanningsalgoritmen, mens den stadig giver anstændig gennemstrømning.
Her er en sammenbrud af dens effektivitet og de faktorer, der påvirker det:
Nøgleegenskaber og indflydelse på effektivitet:
* UniDirectional Sweep: Ligesom scanning bevæger C-scanning diskhovedet i en retning (f.eks. Fra det inderste spor til det yderste). I modsætning til scanning, når den når slutningen af disken (det yderste spor), hopper den straks * tilbage til * begyndelsen * af disken (inderste spor) * uden * servicering af nogen anmodninger på returrejse. Det genoptager derefter serviceringsanmodninger i den forreste retning.
* Fairness: Dette spring tilbage til begyndelsen er afgørende for retfærdighed. I Scan -algoritmen bliver anmodninger nær slutningen af fejringen hurtigere, hvilket fører til længere ventetider for anmodninger i den anden ende. C-scanning reducerer denne forskel, fordi alle venteanmodninger effektivt "venter på den samme side", når hovedet nulstilles.
* reduceret varians i ventetider: C-scanning har en tendens til at give mere ensartede ventetider sammenlignet med scanning. Denne forudsigelighed kan være fordelagtig i realtidssystemer eller anvendelser, der er følsomme over for responstidvariationer.
* gennemstrømning: C-Scans gennemstrømning er generelt lavere end scanninger på grund af den tid, der blev brugt til at hoppe tilbage til begyndelsen. Imidlertid afhænger den * grad *, som gennemstrømning påvirkes af arbejdsbyrde og diskegenskaber.
Faktorer, der påvirker effektiviteten:
* diskstørrelse: Jo større disken (flere cylindre), jo mere bruges tid til at hoppe tilbage til begyndelsen, hvilket potentielt reducerer gennemstrømningen. Men med en større disk bliver fairness -forbedringerne mere betydningsfulde.
* Arbejdsbelastning/anmodningsfordeling:
* ensartet distribution: C-Scan fungerer godt, når anmodninger distribueres relativt jævnt over disken.
* klyngede anmodninger: Hvis anmodninger er stærkt samlet i et område af disken, påvirkes C-scanes ydelse, fordi hovedet stadig er nødt til at gøre et fuldt feje, selvom der ikke er nogen anmodninger i visse regioner. Dette er en almindelig svaghed, der deles med scanning.
* høj anmodningsrate: Ved meget høje anmodningsrater kan fairness-forbedringerne af C-scanning være mere mærkbar sammenlignet med scanning, da ventetiden konsekvent er mere afbalancerede.
* hovedbevægelsestid (søg tid): Effektiviteten er også afhængig af diskdrevets mekaniske egenskaber. Hurtigere søgningstider gør springet tilbage til begyndelsen mindre virkning på den samlede præstation.
Sammenligning med andre algoritmer:
* fcfs (først til mølle, første serveret): C-scanning er næsten altid mere effektiv end FCF'er, fordi den minimerer hovedbevægelsen ved at servicere anmodninger i en sorteret rækkefølge (i forhold til hovedposition). FCFS kan føre til vilde hovedbevægelser og lange søgetid.
* sstf (korteste søg tid først): SSTF har generelt bedre gennemstrømning end C-scanning. Imidlertid lider SSTF af *sult *, hvor anmodninger langt fra den aktuelle hovedposition måske aldrig bliver serviceret. C-scanning undgår sult.
* scanning (elevatoralgoritme): C-scanne ofrer noget gennemstrømning sammenlignet med scanning for at forbedre retfærdigheden og reducere variansen i ventetider. I arbejdsbelastninger, hvor retfærdighed er et stort problem, foretrækkes C-scanning.
* se og c-look: Dette er optimeringer af henholdsvis scanning og C-scanning. Se kun går så langt som den længste anmodning i hver retning og undgår unødvendige fejer til den fysiske ende af disken. C-Look er den cirkulære version af Look. C-look er generelt lidt bedre end C-scanning, fordi det optimerer fejeafstanden.
Kortfattet:
Effektiviteten af C-scanning er moderat til god , afbalancering af gennemstrømning med retfærdighed. Det er normalt meget bedre end FCF'er og undgår sultproblemer for SSTF. Det ofrer en vis gennemstrømning sammenlignet med scanningen for at opnå bedre retfærdighed. Det optimale valg af diskplanlægningsalgoritme afhænger stærkt af de specifikke arbejdsbelastningsegenskaber og systemets prioriteter (gennemstrømning vs. retfærdighed vs. responstid). I mange tilfælde er de praktiske forskelle i ydeevne blandt godt implementerede algoritmer ikke så dramatiske, som teoretisk analyse kan antyde.
Overvej disse faktorer, når du evaluerer C-Scans egnethed:
* Fairness -krav: Er det kritisk, at alle anmodninger har en rimelig chance for at blive serviceret hurtigt?
* Distribution af arbejdsbelastning: Er anmodninger jævnt distribueret eller samlet?
* Diskegenskaber: Hvad er diskens søgningstid og rotations latenstidskarakteristika?
I sidste ende er benchmarking med en repræsentativ arbejdsbyrde den bedste måde at bestemme den mest effektive diskplanlægningsalgoritme til en bestemt applikation.