|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 13824 (0x3600) Types: TextFile Names: »afsnit5«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦5f6008f5a⟧ »speciale« └─⟦this⟧
mode list.yes vko2=set 50 disc3 afs5=set 50 disc3 scope user afs5 scope user vko2 vko11=set 20 disc3 afs5=typeset check.no hyphen.c.vko11 proof.vko2 machine.diablo *se $* $pl ,30,235,,10$ $lw 160$$ld18$ $sb ^,6$ $pn 5,46$ $rh 1,ANVENDTE MÅLEPROGRAMMER$ $ps0$ $ns 1,4,_«bs»5_«bs»._«bs»B_«bs»e_«bs»s_«bs»k_«bs»r_«bs»i_«bs»v_«bs»e_«bs»l_«bs»s_«bs»e__«bs»a_«bs»f__«bs»a_«bs»n_«bs»v_«bs»e_«bs»n_«bs»d_«bs»t_«bs»e__«bs»m_«bs»å_«bs»l_«bs»e_«bs»m_«bs»e_«bs»t_«bs»o_«bs»d_«bs»e_«bs»r_«bs».$ $np$ Nedenstående afsnit beskriver, hvilke måleredskaber som anvendes ved dette evalueringsstudium. Derudover begrundes, hvilke eksperimenter, der på denne baggrund er foretaget. $np$ De programmelredskaber vurderingen anvender er den i afsnit 3.4 beskrevne logfil. $np$ Da selve vurderingen af OP-systemet begyndte fandtes hos KTAS, et program til læsning af centrale dele af logfilen. Dette program kaldes i det følgende OPSTAT, og det kan udskrive en ret detaljeret statistik om, hvordan OP-systemet fungerer. Imidlertid er der efter min mening visse mangler ved denne statistik, som jeg synes er meget centrale, når en vurdering af OP-systemet skal foretages. Nedenstående indeholder først en beskrivelse af OPSTAT, og derefter følger en beskrivelse af mit udviklede program. Dette betegnes i det følgende KTASSTAT. I afsnit om OPSTAT vil det endvidere blive begrundet, hvorfor det var nødvendigt at udvikle et eget statistik program. $ns 1,4,_«bs»5_«bs»._«bs»1_«bs»._«bs»B_«bs»e_«bs»s_«bs»k_«bs»r_«bs»i_«bs»v_«bs»e_«bs»l_«bs»s_«bs»e__«bs»a_«bs»f__«bs»O_«bs»P_«bs»S_«bs»T_«bs»A_«bs»T_«bs».$ $np$ Dette program, som er skrevet i ALGOL, benyttes normalt af KTAS til udskrivning af statistik om OP-systemet. OPSTAT er derfor konstrueret så de spørgsmål man har fra KTAS's side kan dækkes ved det. Et eksempel på en OPSTAT er vedlagt som bilag 4. Nedenstående afsnit beskæftiger sig med hovedideerne for statistikken. Dette vil være nok til at forstå, hvorfor det var nødvendigt at udforme et program til en egen statistik. $np$ OPSTAT er opbygget således, at den giver information om følgende 3 punkter: $lm30$ $sb^,6$ $nl$ 1.Antal forespørgsler opdelt i et antal forespørgselstyper. $nl$ 2.Svartiderne for forskellige forespørgselstyper. $nl$ 3.Kriteriesammensætningen. $nl$ $lm0$ $np$ For de to første punkter gælder, at statistikken her er opdelt efter områdenummeret i telefonnummeret, dvs 01,02 og 03. Udover denne opdeling findes en samlet statistik, hvor resultaterne fra de 3 områder er summeret. $np$ De vigtigste forespørgselstyper man opererer med i statistikken er søgeforespørgsler og tlfnr.forespørgsler. Disse adskiller sig væsentligt i svartiden, og det skyldes( se afsnit 3.2), at de passerer på forskellig måde gennem systemet. $np$ Opsummerende kan siges, at hovedformålet med statistikken er at kunne svare på spørgsmål om, hvor lang svartiden er for en speciel forespørgselstype. $np$ De tabeller i OPSTAT der er af størst interesse, når en samlet vurdering af OP-systemet, skal foretages er følgende: $nl1$$sj$ svartid ms procestid ms køtid ms cputid ms input proces 25 25 14 søge - 566 375 191 145 opslag - 267 225 42 80 output - 24 11 13 8 IALT 884 636 247 248 Tabellen er fra en OPSTAT den.25.08.80 $rj$ Tabellen viser et billede af, hvordan den gennemsnitlige svartid for en søgeforespørgsel deles på de 4 processer. De i tabellen indgående størrelser er defineret i afsnit 4.2 $np$ OPSTAT anvendes nu kun til dele af vurderingen, fordi ovenstående tabel kun bygger på gennemførte søgeforespørgsler. En tilsvarende tabel kan findes for tlfnr.forespørgsler, men ovennævnte tabel kan kun findes for følgende forespørgsler: $sj$ 19625 gennemførte søgeforespørgsler 13101 telefonnummer forespørgsler _____________________________________ 32726 Ialt antal gennemførte forspørgsler ========================================== $rj$ $nl$ Det samlede antal forespørgsler, som findes i logfilen svarende til den 25.08.80 er 55128. Dvs. det er kun muligt at finde en tilsvarende tabel for ca. 60 % af samtlige forespørgsler. Da f.eks. en størrelse som udnyttelsen af de indgående processer gerne skulle findes, vil det være nødvendigt at have en tabel som bliver baseret på samtlige af systemet behandlede forespørgsler indenfor et givent tidsrum. $np$ Udover denne grund fandtes en anden særdeles væsentlig grund til at konstruere en egen statistik. For at afklare systemets ydeevne er det vigtigt at kende de målte størrelsers afhængighed af belastningen. Belastningen af OP-systemet er næsten kun afhængig af på hvilket tidspunkt af dagen målingerne foretages. Det fra min side udviklede program gennemløber således logfilen, og udskriver resultater som i ovenstående tabel svarende til tidspunktet i døgnet. $ns 1,4,_«bs»5_«bs»._«bs»2_«bs»._«bs»B_«bs»e_«bs»s_«bs»k_«bs»r_«bs»i_«bs»v_«bs»e_«bs»l_«bs»s_«bs»e__«bs»a_«bs»f__«bs»K_«bs»T_«bs»A_«bs»S_«bs»S_«bs»T_«bs»A_«bs»T_«bs».$ $np$ Dette program, som er skrevet i ALGOL, er dels (videre)udviklet af undertegnede og dels af Bent Bæk Jensen. Programmets overordnede funktion bliver beskrevet i nedenstående. Imidlertid vil der ikke blive lagt vægt på selve den programtekniske udforning. Dette skyldes, at det ligger udenfor denne opgave. $np$ Hovedformålet med programmet er at besteme nogle centrale præstationsindeks som svartiden o.l. og bestemme deres afhængighed af belastningen af systemet. $np$ Programmet læser logfilen igennem og finder alle poster hørende til det døgn, som er specificeret i programkaldet. Udskrifter fra programmet kan opdeles i 5 dele. $np$$nl$ _«bs»1_«bs»._«bs»O_«bs»v_«bs»e_«bs»r_«bs»s_«bs»i_«bs»g_«bs»t_«bs»s_«bs»t_«bs»a_«bs»l__«bs»f_«bs»o_«bs»r__«bs»O_«bs»P_«bs»-_«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs»e_«bs»t_«bs»s__«bs»b_«bs»e_«bs»h_«bs»a_«bs»n_«bs»d_«bs»l_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»e_«bs»n__«bs»f_«bs»o_«bs»r_«bs»e_«bs»s_«bs»p_«bs»ø_«bs»r_«bs»g_«bs»s_«bs»e_«bs»l_«bs». $np$ Formålet med denne del er at kunne beregne, hvormeget de enkelte processer er belastet, og hvor lang tid de gennemsnitlig er om at behandle en forespørgsel. Derudover er formålet at finde en for simulatoren central overgangssandsynlighedsmatrix. (se afsnit 5.2.1.) $nl2$ Ved denne del af programmet udskrives følgende størrelser for hver proces: $sj$ ANTAL FORESPØRGSLER SAMLET TID I PROCESSEN GENNEMSNITLIG PROCESTID VARIANS PÅ PROCESTIDEN GENNEMSNITLIG CPUTID VARIANS PÅ CPUTIDEN GENNEMSNITLIG KØTID VARIANS PÅ KØTIDEN Derudover udskrives samlet for de 4 processer: TOTAL PROCES TID ANTAL FEJL OG BLADNINGER $rj$ $nl$ $nl$ Til beregning af gennemsnittet for de indgående størrelser er følgende formel benyttet: $nl3$ hvor n er antal observationer og ti er tiden for de enkelte observationer. Til beregning af variancen benyttes følgende: $nl3$ Når n er stor, som det er tilfældet her kan dette reduceres til $nl20$ Spredningen kan findes som $nl2$ $nl$ $nl2$ _«bs»2_«bs»._«bs»C_«bs»P_«bs»U_«bs»-_«bs»t_«bs»i_«bs»d_«bs»s_«bs»f_«bs»o_«bs»r_«bs»d_«bs»e_«bs»l_«bs»i_«bs»n_«bs»g_«bs». $np$ Ved simulatoren benyttes eksponentialfordelingen til at simulere variationen i CPU-tiden for de enkelte forespørgselstyper. For at overskue hvor nøjagtigt dette er udskrives for hver af de 4 processer, hvordan CPU-tiden fordeler sig. $nl2$ Eksempelvis ser denne udskrift ved inputprocessen ud på følgende måde: $sj$ CPU-TID i ms antalforsp 0 - 5 : 0 5 - 6 : 1219 6 - 7 : 12802 7 - 8 : 5012 8 - 9 : 1820 9 - 10 : 1873 10 - 11 : 891 11 - 12 : 1356 12 - 13 : 652 13 - 14 : 1243 14 - 15 : 575 15 - 16 : 815 16 - 17 : 517 17 - 18 : 79 18 - 19 : 63 19 - ... : 115 $rj$ $nl2$ Tabellen opstilles ved, at optælle antallet af forespørgsler der eksempelvis har en CPU-tid mellem 6 og 7 ms. $nl2$ _«bs»3_«bs»._«bs»S_«bs»v_«bs»a_«bs»r_«bs»t_«bs»i_«bs»d_«bs»s_«bs»f_«bs»o_«bs»r_«bs»d_«bs»e_«bs»l_«bs»i_«bs»n_«bs»g__«bs»o_«bs»g__«bs»u_«bs»d_«bs»n_«bs»y_«bs»t_«bs»t_«bs»e_«bs»l_«bs»s_«bs»e_«bs»s_«bs»f_«bs»o_«bs»r_«bs»d_«bs»e_«bs»l_«bs»i_«bs»n_«bs»g_«bs». $np$ Formålet med denne del er præcist at se CPU-ens udnyttelsesgrads afhængighed af belastningen. Et udsnit af denne har eksempelvis følgende udseende: $sj$ antalforsp svartid i ms udnyttelse af CPU ______________________________________________________ 2868 426.7 14.4 % 2869 441.3 15.0 % 3139 440.8 16.0 % $rj$ $nl$ Udskriften konstrueres så målingerne svarende til timerne i døgnet udskives i stigende orden efter antallet af forespørgsler. For hver observation, dvs. hver time udskives den gennemsnitlige svartid og udnyttelsen af CPU-en. $nl2$ _«bs»4_«bs»._«bs»S_«bs»v_«bs»a_«bs»r_«bs»t_«bs»i_«bs»d_«bs»s_«bs»f_«bs»o_«bs»r_«bs»d_«bs»e_«bs»l_«bs»i_«bs»n_«bs»g_«bs». $np$ Formålet med denne del af programmet er at danne sig et indtryk af, hvor stor spredning, der er på svartiden. Ved mange vurderinger er man interesseret i, at en vis procentdel af samtlige forespørgsler har en svartid under et fast antal ms. $nl$ Et udsnit af denne har eksempelvis følgende udseende: $sj$ Svartid i ms antalforsp procent af alle acc.procent _______________________________________________________________ 0 - 249 44 40.00 % 40.00 % 250 - 499 17 15.45 % 55.45 % 500 - 749 11 10.00 % 65.45 % 750 - 999 8 7.27 % 72.73 % 1000 - 1249 10 9.09 % 81.82 % 1250 - 1499 7 6.36 % 88.18 % 1500 - 1749 3 2.73 % 90.91 % 1750 - 1999 5 4.55 % 95.45 % 2000 - 2499 2 1.82 % 97.27 % 2500 - 2749 1 0.91 % 98.18 % 2750 - 3000 1 0.91 % 99.09 % 3000 - 3249 1 0.91 % 100.00 % 3250 - 3500 0 0.00 % 100.00 % $rj$ Denne udskrives for hver time i døgnet. Den beregnes ved at optælle antallet af forespørgsler der eksempelvis har en svartid mellem 0 -249 ms. Derefter beregnes, hvor stor en procentdel af alle forespørgsler dette udgør. Kolonnen acc.procent er beregnet ved at summere antallet af forespørgsler der har en mindre svartid end 249,499,749 ovs., og derefter beregne, hvor stor en procentdel af alle forespørgsler de består af. $nl2$ _«bs»5_«bs»._«bs»Y_«bs»d_«bs»e_«bs»r_«bs»t_«bs»i_«bs»l_«bs»f_«bs»æ_«bs»l_«bs»d_«bs»e_«bs». $np$ Her udskrives de mindste og største værdier for den samlede svartid. Dette gøres for hver time i døgnet og samlet for hele døgnet $nl$ Eksempelvis har et udsnit af denne udskift følgende udseende. $sj$ minimal maksimal mellem kl. 0. og kl. 1 38 1416 $rj$ De minimale og maksimale værdier er for svartiden. Et eksempel på hele udskriften er vedlagt som bilag 5. Programteksten til KTASSTAT er vedlagt som bilag 6. $ns 1,4,_«bs»5_«bs»._«bs»2_«bs»._«bs»1_«bs»._«bs»B_«bs»e_«bs»r_«bs»e_«bs»g_«bs»n_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»o_«bs»v_«bs»e_«bs»r_«bs»g_«bs»a_«bs»n_«bs»g_«bs»s_«bs»s_«bs»a_«bs»n_«bs»d_«bs»s_«bs»y_«bs»n_«bs»l_«bs»i_«bs»g_«bs»h_«bs»e_«bs»d_«bs»s_«bs»m_«bs»a_«bs»t_«bs»r_«bs»i_«bs»x_«bs».$ $np$ Ved konstruktionen af simulatoren er det særdeles vigtigt at kende, hvorledes en forespørgsels vej gennem systemet er. Dvs. at følgende overgangssandsynlighedsmatrix skal findes: $sj$ input søge opslags output input 0 a(1,2) a(1,3) a(1,4) søge 0 0 a(2,3) a(2,4) opslags 0 0 0 a(3,4) output 0 0 0 0 $rj$ Denne skal opfattes således at rækkeindekset angiver fra hvilken proces forespørgslen kommer og søjleindekset beskriver den modtagende proces. Dvs. at eksempelvis a(1,2) er sandsynligheden for at en forespørgsel passerer fra inputprocessen til søgeprocessen. De i matricen indgående 0'er kan hurtigt placeres, idet de angiver, at det er umuligt at passere således. $np$ Opsummerende kan nævnes, at de kendte størrelser er antal forespørgsler i hver proces, og antal forespørgsler, der passerer fra input- til outputprocessen. Derudover kendes det totale antal forespørgsler. De i matricen indgående størrelser findes på følgende måde: $sj$ antal forespørgsler i søgeproces a(1,2) = _________________________________ Total antal forespørgsler Antalfejl og bladninger a(1,4) = ___________________________________ Total antal forespørgsler $rj$ $nl$ Derefter kan a(1,3) beregnes, idet summen af hver række skal være 1. $sj$ a(1,3) = 1 - ( a(1,2)+a(1,4)) På ækvivalent vis findes a(3,4) = 1 $rj$ Det er mere vanskeligt at finde a(2,3). Denne beregnes på følgende måde: $nl$ Antallet af forespørgsler i opslagsprocessen er kendt(betegnes AO). En forespørgsel kan kun være kommet i opslagsprocessen fra enten søgeprocessen eller input processen. Dette betyder (AS og AI betegner hhv. antal forespørgsler i søge- og i inputprocessen.) $sj$ AO = a(2,3)*AS + a(1,3)*AI og dermed er AO - a(1,3)*AI a(2,3) = ____________________ AS Når a(2,3) er kendt kan a(2,4) findes ved a(2,4) = 1 - a(2,3). $rj$ Eksempel: $nl$ For tirsdag den 24.03.81 gælder, at $sj$ AI = 58832 AS = 37716 AO = 35422 AOU= 58832 ANTALFEJL OG BLADNINGER = 7386 Dermed får overgangssandsynlighedsmatricen følgende udseende: input søge opslag output input 0 0.64 0.23 0.13 søge 0 0 0.58 0.42 opslag 0 0 0 1.0 output 0 0 0 0 $rj$ $ef$ scope user afs5 vko2 finis ▶EOF◀