DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦6fa89cec0⟧ TextFile

    Length: 13824 (0x3600)
    Types: TextFile
    Names: »afsnit5«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦5f6008f5a⟧ »speciale« 
            └─⟦this⟧ 

TextFile

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◀