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

⟦a61d13389⟧ TextFile

    Length: 70656 (0x11400)
    Types: TextFile
    Names: »afsnit6«

Derivation

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

TextFile

mode list.yes
vko2=set 50 disc3
afs6=set 50 disc3
scope user afs6
scope user vko2
vko11=set 200 disc3
afs6=typeset check.no hyphen.c.vko11  proof.vko2 machine.diablo
*se $* $pl ,30,235,,10$
$lw 160$$ld18$
$sb ^,6$
$pn 5,56$
$rh 1,VURDERING AF OP-SYSTEMET$
$ps0$
$ns 1,4,_«bs»6_«bs»._«bs»V_«bs»u_«bs»r_«bs»d_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»O_«bs»P_«bs»-_«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs»e_«bs»t_«bs».$
$np15$
Dette afsnit indeholder vurderingen af OP-systemet. Afsnittet er disponeret, så
afsnit 6.1 beskriver resultaterne opnået ved et elektronisk ur benyttet på 
hele systemet. Ud fra dette begrundes, hvorfor den egentlige vurdering drejer
sig om RC8000-delen af OP-systemet. Afsnit 6.2 giver en vurdering af OP-systemet ud fra målinger i logfilen.
Afsnit 6.3 beskriver derefter, hvilke resultater der er opnået ved hjælp af den konstruerede 
simulator. Afsnit 6.4 illustrerer de teoretiske modeller, der er betragtet.
Til samtlige kurver i dette afsnit findes i bilag 3 en tilsvarende tabel,
hvor resultaterne svarende til kurverne er angivet. 
$ns 1,4,_«bs»6_«bs»._«bs»1_«bs»._«bs»A_«bs»f_«bs»g_«bs»r_«bs»æ_«bs»n_«bs»s_«bs»n_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»e_«bs»v_«bs»a_«bs»l_«bs»u_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g_«bs»s_«bs»s_«bs»t_«bs»u_«bs»d_«bs»i_«bs»e_«bs»t_«bs».$
$np$
Ved vurdering af OP-systemet er foretaget en del begrænsninger. Disse begrænsninger
foretages således, at evalueringen kan koncentreres om centrale enheder i systemet.
Begrænsningerne er dels indført og begrundes ved,
 at systemet indeholder mindre betydende enheder
og dels ved, at de eksisterende måleredskaber kun kan anvendes på dele af systemet.
$np$
Ved OP-systemet eksisterer et måleredskab til RC8000-delen (logfilen), der er velegnet
til fremskaffelse af oplysninger om systemets opførsel. Ved RC3500-delen eksisterer
denne mulighed ikke. Da det endog viste sig umuligt at konstruere et anvendbart
program til at finde en forespørgsels svartid i RC3500 (se afsnit 4.2),
 er mulighederne for
målinger på OP-systemets RC3500-del begrænset til maskinelredskaber.
$np$
Ved hjælp af et elektronisk ur kan en forespørgsels samlede svartid findes.
Dette foregår ved, at uret ved hjælp af to sonder koblet til skærmens elektronik
registrerer tiden fra en forespørgsel afsendes til den modtages.
 Ud fra 
 målingerne
med dette ur
kan beregnes, hvor meget tid de enkelte dele af OP-systemet anvender til
behandling af en forespørgsel.
$nl$
Nedenståedne tidslinie angiver, hvordan svartiden for en forespørgsel kan opdeles.
$sj$
  Forespørgslen afsendes.             Forespørgslen modtages.
  
  !---!---!---!------------------------------!---!---!---!
   TP   NP  FP         RC8000                  FP  NP  TP

                     Figur 6.1.1.
$rj$$nl$
De på figuren anførte forkortelser er betegnelser for de 3 RC3500, og betyder
følgende:
$sj$

       TP = Terminal Processor
       NP = Network Processor
       FP = Front-end Processor
$rj$$np$
Målingerne med uret finder netop længden af denne tidslinie. I logfilen kan
svartiden i RC8000 findes. Ved at subtrahere disse størrelser beregnes,
hvor lang tid en forespørgsel benytter i de 3 RC3500 tilsammen.
$np$
I tabel 6.1.1 er den gennemsnitlige svartid i RC8000
 for de 5 mest betydende forespørgselstyper angivet. Tallene stammer fra målinger i en logfil på et system
med samme maskinelkonfiguration som det, hvorpå målingerne er foretaget.
Udover den gennemsnitlige svartid for en forespørgselstype er antallet og
hyppigheden af forespørgselstyperne angivet.
$np$
De i tabellen anførte forespørgselstyper er udførligt beskrevet i afsnit 3.
Det kan her opsummerende anføres, at en søgeforespørgsel afvises enten på
grund af, at stednavnet ikke findes, eller hvis antallet af kandidater
er større end 63 eller mindre end 1.
$ps$
$sj$

                   Antalforsp.   Hyppighed i %   Gnst. svartid
                                                     i RC8000

Gennemført søgeforsp.   19625         35.6 %          884 ms
Afvist søgeforsp.       15155         27.5 %          589 ms
Bladn.+Hemmnr.+Fejl      7247         13.1 %           57 ms
Gennemført tlfnrforsp.  12228         22.2 %          183 ms
Afvist tlfnrforsp.        873          1.6 %          141 ms
____________________________________________________________

Ialt                    55128         100.0 %         526 ms
=============================================================

                      Tabel 6.1.1.
$rj$$np$
I tabellen er den gennemsnitlige svartid, angivet i linien ialt vægtet efter
hyppighed af forespørgselstype.
$np$
Tabellen viser, at de hyppigst forekommende forespørgslestyper er søgeforespørgsler, 
og netop disse forespørgsler har den største svartid i RC8000. En dyberegående fortolkning
af, hvad tabellen viser gives først i afsnit 6.2. Dette skyldes,
at tabellen her primært anvendes til at finde den gennemsnitlige svartid
for en forespørgsel i RC3500.
$np$
For hver af de i tabellen anførte forespørgselstyper er foretaget 5
 observationer med et elektronisk ur. Hver
observation bygger på, at en udvalgt forespørgsel er afsendt 50 gange og
hver gang er svartiden noteret. Valget af de afsendte forespørgselstyper er foretaget således,
at antallet af kriterier og kriteriesammensætningen svarer til de hyppigst benyttede.
$np$
Tabel 6.1.2 viser resultaterne, hvor den gennemsnitlige svartid for de 5 observationer til hver forespørgselstype  er fundet.
Ligeledes her er den gennemsnitlige svartid ved linien ialt vægtet efter hyppighed
af forespørgselstypen. For hver linie i tabellen er angivet den procentvise fordeling
af svartiden i RC8000 og i RC3500.
$ps$
$sj$
             Samlet svartid  Svartid i RC8000  Svartid i RC3500

Gennemført søgeforsp.  1027.4 ms      884 ms          143.4 ms
Procentlig fordeling    100 %          86.0 %          14.0 %

Afvist søgeforsp.       857.2 ms      589 ms          268.2 ms
Procentlig fordeling    100 %          68.7 %          32.3 %

Blad.+Hemmnr.+Fejl.     455.6 ms       57 ms          398.6 ms
Procentlig fordeling    100 %          12.5 %          87.5 %

Gennemført tlfnrforsp.  521.9 ms      183 ms          338.8 ms
Procentlig fordeling    100 %          35.0 %          65.0 %

Afvist tlfnrforsp.      435.5 ms      141 ms          291.5 ms
Procentlig fordeling    100 %          32.4 %          67.6 %
_______________________________________________________________

Ialt                    783.8 ms      526 ms           256.9 ms
Procentlig fordeling    100 %          67.0 %           33.0 %
===============================================================

                      Tabel 6.1.2.
$rj$$np$
Tabel 6.1.2 viser, at for gennemførte og afviste søgeforespørgsler (de hyppigste) 
anvendes mest tid i RC8000. For afviste-,  gennemførte tlfnr.forespørgsler og
bladningsforespørgsler er forholdet det modsatte, idet til behandling
af disse bruger RC3500 mest tid. Det fremgår endda, at RC3500 bruger
mere tid til de 3 sidstnævnte forespørgselstyper end for de to førstnævnte.
Ved en bladningsforespørgsel kan dette begrundes med følgende:
$np$
De bladningsforespørgsler, som de 5 observationer til denne forespørgselstype
bygger på, havde 3 sider med kandidater. Ved hver bladning skulle et helt
skærmbillede således sendes gennem de 3 RC3500. Dvs. der
ved denne forespørgselstype skulle sendes mere data gennem en RC3500 end ved f.eks.
en søgeforespørgsel. Det forekommer rimeligt, at behandlingstiden i en
RC3500 bl.a. afhænger af mængden af data, der transporteres, og derfor
vil behandlingstiden i RC3500 ved en bladning være større end ved en søgeforespørgsel.
Da det er meget tidskrævende og vanskeligt
 at undersøge, hvorfor de forskellige forespørgselstyper
ikke har lige lange
behandlingstider i RC3500, og mere præcist at angive, hvor meget tid de
enkelte forespørgselstyper benytter i RC3500,
 er dette ikke undersøgt nærmere.
Begrundelsen for dette uddybes i nedenstående.
$np$
Udover at de hyppigst anvendte forespørgselstypers svartid er størst i RC8000,
kan i tabel 6.1.2 ses, at den gennemsnitlige svartid for samtlige
forespørgselstyper er over dobbelt så stor i RC8000 som i RC3500.
På denne baggrund bør en evaluering af OP-systemet kunne koncentreres om en RC8000.
$np$
Under evalueringen af en RC8000 har det vist sig, at ovenstående tabel endda er ret
unøjagtig.
Målingerne ved det elektroniske ur er foretaget en hverdag mellem 9.30-14.30.
Dette er det tidspunkt på dagen, hvor OP-systemet er mest belastet. Fra
senere undersøgelser se figur 6.2.1( side 65) kan anføres, at antallet af forespørgsler pr. time
i det anførte tidsrum er mindst 10.000.
$np$
 Målingerne er udført i efteråret 1980,
hvor der til OP-systemet anvendtes 2 RC8000. Det vil sige, der er mindst
5000 forespørgsler pr. time til  en RC8000. Ved dette antal vil den gennemsnitlige
svartid for en forespørgsel i RC8000
 ikke være 526 ms, men mindst 650 ms (se figur 6.2.5 side 74).
De 650 ms er fundet ved hjælp af en KTASSTAT. Dette program anvendes, som beskrevet
i afsnit 5.2, bl.a. til at finde, hvordan den gennemsnitlige svartid
for samtlige forespørgselstyper afhænger af antal forespørgsler pr. time. 
Ved hjælp af dette program er det ikke muligt at finde de enkelte
forespørgselstyper svartids afhængighed af belastningen. Dette
skyldes den belastningsmodel som jeg betragter se afsnit 4.

$np$
Tabel 6.1.3 viser, hvordan svartiden fordeler sig i RC8000 og RC3500
med den mere nøjagtige svartid fundet fra en KTASSTAT svarende
til en belastning på mindst 5000 forespørgsler pr. time.
$ps$
$sj$
              Samlet svartid  Svartid i RC8000 Svartid i RC3500
For samtlige forsptyper  783.8 ms       650 ms       133.8 ms
Procentlig fordeling     100 %           82.9 %       17.1 %

                         Tabel 6.1.3
$rj$$nl$
Denne tabel viser tydeligere end tabel 6.1.2, at den meste tid 
af svartiden for en forespørgsel går i RC8000.
$np$
Med de i tabellen anførte svartider i RC8000 og RC3500
betragtes nu hele OP-systemet som vist på figur 6.1.2. Forkortelserne anført på
figuren står for det samme som angivet ved figur 6.1.1.
$fg 100$

$np$
Systemet betragtes i en hårdt belastet time for at finde udnyttelsesgraden af de indgående enheder.
Da de 3 RC3500 tilsammen benytter 133.8 ms, antages det, at hver benytter 44.6 ms. Fra
en KTASSTAT den 24.04.81 kan CPU-udnyttelsen af de 3 RC8000 i den hårdest belastede 
time (mellem 10-11) findes til 66.9%.
CPU-udnyttelsen er fundet ved at summere CPU-udnyttelsen af de 4 processer.

 Hvis det antages, at forespørgslerne
fordeles ligeligt mellem de 3 RC8000 så findes, at udnyttelsesgraden af hver til 22.3 %. Udnyttelses af de RC3500 betegnet FP og NP beregnes til
$sj$

            13107 * 44.6
            ____________   *   1/2 * 100   =  8.1 %
              60*60*1000
$rj$
$np$
Her er 13107 antal forespørgsler i den betragtede time, og 44.6 ms er
behandlingstiden i en RC3500.
Der multipliceres med 1/2, idet der findes 2 af hver. For RC3500 betegnet
TP findes udnyttelsesgraden til 1.1 %, idet der mindst findes 15 af denne type.
$np$
Begrundelsen  for kun at betragte OP-systemets RC8000-del ved resten af evalueringen, kan nu på baggrund af ovenstående opsummeres i
 følgende punkter:
$lm20$$nl$
$lt 1,^^^1)$
En RC8000 er den enhed der har højst udnyttelsesgrad (3 gange så stor som 
nogen anden enhed). 
$nl$
$lt 1,^^^2)$
RC8000 benytter mest tid til at behandle en forespørgsel.
$nl$$lt 1,^^^3)$
I RC8000 findes i modsætning til RC3500 et udmærket måleredskab (logfilen) til 
en evaluering.
$lm0$
$ns 1,4,_«bs»6_«bs»._«bs»2_«bs»._«bs»V_«bs»u_«bs»r_«bs»d_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»O_«bs»P_«bs»-_«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs»e_«bs»t__«bs»u_«bs»d__«bs»f_«bs»r_«bs»a__«bs»m_«bs»å_«bs»l_«bs»i_«bs»n_«bs»g_«bs»e_«bs»r__«bs»i__«bs»l_«bs»o_«bs»g_«bs»f_«bs»i_«bs»l_«bs»e_«bs»n_«bs».$
$np$
Dette afsnit indeholder vurderingen af en RC8000 koblet til OP-systemet.
Vurderingen  bygger på målinger foretaget i logfilen.
Afsnittet indledes med et beskrive, hvilke målinger der er foretaget. Derefter angives,
hvilken belastning en RC8000 udsættes for. Så følger en analyse af de betragtede præstationsindices afhængighed af belastningen. Herefter undersøges, hvordan
de indgående programmel- og maskinelenheder udnyttes. Til sidst  gives
en samlet vurdering af OP-systemet RC8000-del,
 i en hårdt belastet time.
$np$
Ud fra vurderingen i dette afsnit vil det fremgå,
 hvilke dele af systemet, der bevirker en formindskelse i dets ydeevne.
 På baggrund af disse betragtninger, vil en række forbedringsforslag til OP-systemet kunne opstilles. Disse forbedringsforslag
vil blive afprøvet ved hjælp af en simulator, og det beskrives i afsnit 6.3, 
hvad der herved opnås.
$ns 1,4,_«bs»6_«bs»._«bs»2_«bs»._«bs»1_«bs»._«bs»D_«bs»e__«bs»f_«bs»o_«bs»r_«bs»e_«bs»t_«bs»a_«bs»g_«bs»n_«bs»e__«bs»m_«bs»å_«bs»l_«bs»i_«bs»n_«bs»g_«bs»e_«bs»r_«bs».$
$np$
Målingerne i logfilen er foretaget ved hjælp af to programmer OPSTAT 
og KTASSTAT, der findes beskrevet i afsnit 5.
 Ved kørsler med programmet KTASSTAT 
har der været en del problemer som skyldes følgende:
$np$
Logfilen til RC8000 kan indeholde information for enten 3 eller en maskine. Når logfilen
gennemløbes, er det ikke muligt at se, på hvilken måde logfilen er dannet.
Normalt indeholder logfilen
  transaktioner fra 3 maskiner. En sådan 
logfil kan kun anvendes meget lidt ved denne vurdering. Dette
skyldes, at evalueringen bl.a. skal undersøge, hvordan RC8000 opfører sig, når
belastningen øges.
 Da transaktionerne ikke fordeles ligeligt
mellem de 3 RC8000 vil belastningen for hver maskine således være forskellig. 
Når en RC8000 undersøges, benyttes derfor kun oplysninger dannet fra transaktionerne
på en maskine.
$np$
Begrundelsen, for hvorfor fordelingen af transaktioner ikke sker, således at hver
RC8000 modtager lige mange forespørgsler, er angivet i afsnit 3.
$np$
Den efterfølgende vurdering bygger på 6 kørsler med KTASSTAT foretaget på en logfil med een maskines transaktioner, 1 kørsel med KTASSTAT og en OPSTAT på en logfil
med 3 maskiners transaktioner. De 6 første kørsler er fra mandag den 23.03.81-fredag den 27.03.81 og mandag den 30.03.81. De 2 sidste kørsler er fra fredag den 24.04.81.
$np$
Kørslerne fra logfilen med 3 maskiners transaktioner benyttes til at beskrive
hvor mange forespørgsler, der modtages i hver time i døgnet,
og til at finde,
hvordan svartiden  for de forskellige forespørgselstyper er.
$np$
De 6 kørsler anvendes til at beskrive en RC8000's afhængighed af belastningen. 
$ns 1,4,_«bs»6_«bs»._«bs»2_«bs»._«bs»2_«bs»._«bs»B_«bs»e_«bs»l_«bs»a_«bs»s_«bs»t_«bs»n_«bs»i_«bs»n_«bs»g_«bs»e_«bs»n__«bs»a_«bs»f__«bs»e_«bs»n__«bs»R_«bs»C_«bs»8_«bs»0_«bs»0_«bs»0__«bs»t_«bs»i_«bs»l__«bs»O_«bs»P_«bs»-_«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs»e_«bs»t_«bs».$
$np$
I afsnit 4.2 er beskrevet, hvordan belastningen til en RC8000 betragtes. Opsummerende
kan her anføres, at belastningen består af et antal forespørgsler og disse
forespørgslers karakteristika. Forespørgslernes karakteristika beskrives
dels ved deres vej gennem systemet og dels ved deres CPU-forbrug. En forespørgsels
vej gennem systemet er en måde at angive forespørgselstypen.
$np$
Nedenstående analyse af belastningen opdeles på ækvivalent måde, dvs. først
betragtes, hvor mange forespørgsler systemet modtager i løbet af døgnet, og derefter
beskrives forespørgslernes art og tidsforbrug.
$np$
Figur 6.2.1 viser et histogram over forespørgslernes antal fordelt på et døgn.
Ud af X-aksen er angivet klokkeslet i døgnet, og Y-aksen angiver antallet af forespørgsler.
Eksempelvis kan ses, at mellem kl. 10.00-11.00 er ankommet 13107 forespørgsler.
Figuren bygger på KTASSTAT fra den 24.04.81. 
$np$
Figuren viser, at aktiviteterne  til OP-systemet i nattetimerne (23.00-7.00)
 er særdeles begrænset.
 Her ankommer aldrig mere end 500 forespørgsler i timen.
 Aktiviteterne i dag- og aftentimerne er derimod mere hyppig. Kurven viser, at
den hårdest belastede time  er mellem kl.10.00-11.00, hvor
der til OP-systemet sendes 13107 forespørgsler.
 Dette svarer til, at hver tasteoperatør
i gennemsnit afsender en forespørgsel for hver 35 sekund. Når en person ringer
til telefonnummeroplysningen giver dette i gennemsnit anledning til 2.5 forespørgsler. Dvs. telefonnummeroplysningen i den mest belastede time behandler 4369
spørgsmål.
$ps$$ps$
$np$
Kurven figur 6.2.1 viser endvidere at belastningen af systemet er størst i
tidsrummet mellem 9-16. I denne periode sker et lille fald i aktiviteterne
omkring frokost (12-13).
$np$
OP-systemets RC8000-dels reaktionsevne på dette antal
 forespørgsler afhænger nu udover transaktionernes antal af forespørgslers art.
 Til betragtning af deres art beregnes en overgangssandsynlighedsmatrix se afsnit 5.2.1. Matricen, som er fundet ud fra samtlige
forespørgsler (129185) den.24.04.81. har følgende udseende:
$sj$
              input  søge   opslags output
   
    input      0      0.66   0.21    0.13
    søge       0      0      0.58    0.42
    opslags    0      0      0       1
 
    output     0      0      0       0
$rj$$np$
Matricen skal nu opfattes på følgende måde: Rækkeindeks angiver fra hvilken proces
forespørgslen afsendes, og søjleindekset beskriver, hvilken proces forespørgslen
modtages af.
$np$
Dvs. der har været 66 % søgeforespørgsler, hvoraf 58 % er gennemførte og
42 % afviste. Matricens afhængighed af antallet af forespørgsler pr. time,
kan findes. Det viser sig, at matricen er særdeles konstant, hvilket egentlig
også kunne forventes. Spredningen for tallene i matricen er meget lille. Hvis
matricen beregnes for hver time i døgnet, findes spredningen på de indgående tal  til følgende:
$sj$

      input -> søge    =  0.04
      input ->opslags  =  0.04
      input ->output   =  0.04
      søge  ->opslags  =  0.03
      søge  ->output   =  0.03
$rj$
$np$
At den maksimale spedning er 0.04 skyldes, at matricen for timer med mindre end
1000 forerspørgsler variere en del. Hvis spredningen beregnes svarende til timer,
hvor antallet af forespørgsler pr. time
 er mere end 1000, så findes den maksimale spredning
til 0.016. Her bygger spredningen på 99.1 % af døgnets forespørgsler. Timerne
hvor antallet af forespørgsler er mindre end 1000 udgør således en meget lille
del af samtlige forespørgsler.
$np$
Konkluderende kan derfor siges, at forespørgselsmønsteret ikke afhænger af tidspunktet på dagen, og det er særdeles konstant.
$np$
Udover forespørgslernes art er den sidste faktor, der har indflydelse på belastningen
af en RC8000,
 forespørgslernes ressourcekrav. Nedenstående vil først belyse deres CPU-tidskrav i de enkelte processer.
Derefter betragtes en forespørgsels samlede CPU-forbrugs afhængighed af antal forespørgsler pr. time.
$np$
Det gennemsnitlige CPU-tidskrav for en forespørgsel kan findes direkte fra logfilen.
For de fire processer er den gennemsnitlige CPU-tid (angivet i ms) følgende:
$sj$

      CPU-tid i inputproces  = 16.3   spredning =    5.51
      CPU-tid i søgeproces   =179.74  spredning =  300.46
      CPU-tid i opslagsproces= 68.08  spredning =  103.38
      CPU-tid i outputproces =  9.05  spredning =    6.23
$rj$$nl$
Det ses, at søgeprocessen benytter mest CPU-tid. CPU-tiden i input- og
outputprocessen udgør en lille procentdel af den samlede svartid ( hhv. 2.8 og
1.6 %).
$np$
Da der er særdeles stor spredning på CPU-tiden betragtes nøjere, hvordan CPU-tiden fordeler sig.
 Figur 6.2.2 viser, hvordan fordelingen af CPU-tiden er i input-  
og outputprocessen.
$np$
Fordelingen er fundet ved at optælle antallet af forespørgsler, hvis
CPU-tid er i et interval eks. 10-11 ms. På figuren angives ud af
X-aksen CPU-tiden  og ud af Y-aksen anføres sandsynligheden i % for at
forespørgslens CPU-tid befinder sig i intervallet. Kurven viser
således tæthedsfunktionen for CPU-tiden.
$ps0$$ps0$$ps0$
$np$
Kurven for inputprocessen viser, at de fleste forespørgsler har et
ret konstant CPU-forbrug. Således har 84.9 % af samtlige forespørgsler
en CPU-tid mellem 12 og 19 ms. Dette kendetegnes også ved, at 
CPU-tiden i inputprocessen har en lille spredning.
$np$
Kurven for CPU-tiden i outputprocessen viser næsten samme billede. Her har
79.1 % af samtlige forespørgsler en CPU-tid mellem 5-10 ms. Det
bemærkes, at punktet i cirklen på kurven for outputprocessen stammer fra forespørgsler, hvis CPU-tid er større end 14 ms. 
Dette punkt er således misvisende og kurvens forløb vil ikke stige til dette 
punkt.
$np$
For søge- og opslagsprocesserne findes kurverne på figur 6.2.3. Kurven for
CPU-tiden i søgeprocessen ligger tæt på eksponentialfordelingen med samme
middelværdi(179.74). Denne er på figuren angivet som en stiplet linie.
Ud fra kurven kan ses, at 70.7 % af samtlige forespørgsler har en CPU-tid mindre end 180 ms. Det mest  iøjnefaldende for kurven er, at den har et faldende
forløb, og ikke afspejler at søgeprocessen behandler forskellige forespørgselstyper.
$np$
Kurven svarende til CPU-tiden for opslagsprocessen viser ligeledes, at den ligger tæt
op ad eksponentialfordelingen med samme middelværdi.
 Dette kan undre en del, da opslagsprocessen
både behandler gennemførte søgeforespørgsler og tlfnr.forspørgsler. Disse to
forespørgselstyper adskiller sig ved, at tlfnr.forspørgsler højst har en kandidat og
gennemførte søgeforespørgsler i gennemsnit har 7.5 kandidater. Man kunne
derfor forvente, at kurven for CPU-tiden ville have
to toppunkter svarende til de to forespørgselstyper.
$np$
En samlet vurdering af CPU-forbruget er, at fordelingen af CPU-tiden i de enkelte
processer ikke viser, at de forskellige forespørgselstyper adskiller sig
ved differencerede CPU-forbrug.
$ps0$
$ps0$
Figur 6.2.4 viser en kurve over det gennemsnitlige CPU-forbrug for en forespørgsel. Ud af X-aksen er angivet antallet af forespørgsler pr. time, og Y-aksen
angiver den samlede CPU-tid for en forespørgsel. (summen af CPU-tiden i de 4 processer.)
Punkterne til kurven er fremkommet ved at samle antallet af timer, hvor antallet af 
forespørgsler er mellem 0-500, 500-1000 ovs. Ud fra disse timer findes
først det gennemsnitlige antal forespørgsler og derefter findes den gennemsnitlige CPU-tid.
Dette er gjort for at få et overskueligt antal punkter.
$np$
 Figuren er tegnet på grundlag af KTASSTAT fra den 23.03 og 24.03.
Grunden til at kurven ikke er tegnet for hver proces er, at de viser samme billede som på figuren. Punktet svarende til et gennemsnit på 70.3 forespørgsler pr time
er noget misvisende, idet variansen på målingerne her er særdeles stor. De
ligger i intervallet 176.0 - 588.2 ms.
$np$
Figuren viser, at der er særdeles stor varians i CPU-tiden. Derudover ses,
at CPU-tiden ikke afhænger af antallet af forespørgsler.
Udover en forespørgsels CPU-tid hører til deres ressourcekrav også, hvor mange
pladelagertilgange de anvender. Denne størrelse er  ikke målelig i logfilen.
I afsnit 3 er  angivet en metode, hvorved antallet af pladelagertilgange
i de enkelte processer kan 
findes. For søgeprocessen er dette fundet til 13.9 pr. forespørgsel og for opslagsprocessen er
det  5.5 pr. forespørgsel.
 Det er ikke muligt at angive, hvor stor spredning der er på disse
tal.
$np$
Konkluderende om belastningen kan nu på baggrund af ovenstående anføres
følgende. Forespørgslernes art
er uafhængig af, hvor mange forespørgsler, der modtages. Input- og outputprocessen er
de processer, der benytter mindst CPU-tid.
 Søgeprocessen benytter mest CPU-tid. Den procentvise fordeling af CPU-tiden er input = 6 %, søge = 65.8 %, opslag = 24.9 % og output = 3.3 %. Når belastningen af systemet betragtes i det følgende,
vil den blive kvantificeret som antallet af forespørgsler ankommende i en time.
Dette gøres, da det er eneste størrelse i belastningen, der ændres.
$ns 1,4,_«bs»6_«bs»._«bs»2_«bs»._«bs»3_«bs»._«bs»P_«bs»r_«bs»æ_«bs»s_«bs»t_«bs»a_«bs»t_«bs»i_«bs»o_«bs»n_«bs»s_«bs»i_«bs»n_«bs»d_«bs»i_«bs»c_«bs»e_«bs»s__«bs»a_«bs»f_«bs»h_«bs»æ_«bs»n_«bs»g_«bs»i_«bs»g_«bs»h_«bs»e_«bs»d__«bs»a_«bs»f__«bs»b_«bs»e_«bs»l_«bs»a_«bs»s_«bs»t_«bs»n_«bs»i_«bs»n_«bs»g_«bs»e_«bs»n_«bs».$
$np$
Først betragtes den gennemsnitlige svartids afhængighed af belastningen.
Derefter bliver den gennemsnitlige svartid opdelt, således at tidsforbruget
i de enkelte processer anskueliggøres.
$np$
Figur 6.2.5 viser, hvordan svartiden afhænger af antallet af forespørgsler.
Kurven er konstrueret på grundlag af samtlige kørsler med KTASSTAT på een maskine.
For ikke at få et uoverskueligt antal punkter er observationerne samlet således
at alle timer med et antal forespørgsler på mellem 0-249,250-499,ovs er samlet til et punkt.
Svarende til punktet med mellem 0 og 249 forespørgsler pr. time er der særdeles
stor varians, så den gennemsnitlige svartid er her noget misvisende.
$np$
Kurven viser, at den gennemsnitlige svartid stiger i forhold til antallet af 
forespørgsler. Ved lave belastninger er variansen på svartiden stor.
Dette kommer ikke fra at forespørgselstyperne er forskellige ved denne belastning, men må komme fra at antallet af kandidater til forespørgslerne varierer meget.
For yderligere at anskueliggøre, at den gennemsnitlige svartid stiger i timer, hvor
antallet af forespørgsler er stort, er på figur 6.2.6 angivet, hvordan
svartiden fordeler sig ved to timer. Den ene time svarer til at der er modtaget
1210 forespørgsler. Ved denne belastning besvares 95 % af forespørgslerne
under 1250 ms. Den anden kurve svarer til en belastning på 5733 forespørgsler
pr. time. Her besvares kun 82 % af forespørgslerne under 1250 ms.
$np$
Ved en belastning på over 5000 forespørgsler i en time vil 55 % af forespørgsler besvares indenfor 500 ms. Ved en belastning på under 1500 forespørgsler 
besvares 75 % af forespørgslerne under 500 ms. Det er således klart, at
svartiden stiger, når antallet af forespørgsler pr. time forøges. Dette
er naturligvis også, hvad der kunne forventes, og det interesante er,
hvilke størrelser i svartiden, der stiger kraftigst, når belastningen til
systemet øges.
$ps$$ps$$ps$
Fra afsnittet om belastningen vides, at CPU-tiden ikke forøges væsentligt.
Der er således to andre størrelser, som bør betragtes. Dette er procestiden,
dvs. den tid en forespørgsel befinder sig under behandling i en proces, og
køtiden, den tid en forespørgsel opholder sig i kø til en proces.
$np$
Kurven figur 6.2.7 viser, hvordan procestiden i input- og outputprocessen
forløber, når antallet af forespørgsler forøges. På figuren er ud af X-aksen
angivet antallet af forespørgsler pr. time og Y-aksen angiver procestiden i ms.
$np$
For begge processer viser kurven et stigende forløb. At procestiden stiger,
når antallet af forespørgsler stiger, virker ret rimeligt. Når der er
ringe belastning til systemet vil en proces kunne behandle en forespørgsel,
uden at andre processer har nogle forespørgsler at behandle.
$np$
For både input- og outputprocessen gælder, at procestiden forøges,
når belastningen øges, men
deres indflydelse på den samlede svartid er stadig ringe. Det bemærkes, at
der ikke til inputprocessen er koblet et pladelager så forøgelsen af procestiden
stammer her kun fra at systemet er multiprogrammeret. 
$np$
Da procestiden i input- og outputprocestiden har særdeles ringe indflydelse på
den samlede svartid, er det mere interessant at betragte procestiden i søge- og
opslagsprocessen. Figur 6.2.8 viser  procestidens afhængighed af belastningen
 i hhv. søge- og
opslagsprocessen. 
$np$
For søgeprocessen viser kurven ikke nogen udpræget stigning i forhold til antallet 
af forespørgsler pr. time,
når først antallet af forespørgsler er over 2000.
 For opslagsprocessen viser
kurven en noget mere udpræget stigende tendens.
$np$
Hele tendensen fra disse kurver på  figur 6.2.7 og 6.2.8  er,
 at processer der benytter lidt CPU-tid,
input- output- og delvist opslagsproces,
 viser en stigende tendens for procestiden
når antallet af forespørgsler pr. time forøges. For søgeprocessen har multiprogrammeringsgraden
ikke samme indflydelse på procestiden. Konklusionen af disse kurver  
er, at  forøgelsen i svartiden i forhold til belastningen ikke
kan forklares ved, at procestiden  forøges.
$ps$$ps$$ps$
$np$
Figur 6.2.9 og figur 6.2.10 viser, hvordan køtiden ved hhv. søge- og opslagsprocessen afhænger af
belastningen. Kurven for køtiden ved søgeprocessen viser klart en stigende tendens. Køtiden bliver ved denne proces en betydende faktor i den gennemnsitlige svartid.
Ved en belastning på 6305 forespørgsler udgør køtiden 44.6 % af svartiden ved søgeprocessen.
Køtiden ved opslagsprocessen stiger ligeledes, men tidmæssigt har denne størrelse
ikke så stor indflydelse på svartiden.
$np$
De indtil nu anførte præstationsindices afhængighed af
belastningen har vist, at ved køtiden for søge- og opslagsprocessen
sker den største stigning. For de andre indices er stigningen ikke så kraftig. Størrelsesmæssigt
får køtiden ved søgeprocessen den største indflydelse på den gennemsnitlige svartid.
Dette betyder så, at når antallet af forespørgsler pr. time
stiger, vil der ske en kraftig stigning i svartiden for søgeforespørgsler.
For tlfnr.forespørgsler vil der også ske en stigning, men
den vil ikke tidsmæssigt være så stor.
$np$
Hvis to timer med hhv. ca. 100 og ca. 4000 forespørgsler betragtes, vil der i procestiden
i søgeprocessen ske en stigning på ca. 90 ms. Ved opslagsprocessen vil procestiden
kun stige ca. 35 ms. For køtiden sker ved søgeprocessen
en stigning på ca. 350 ms mod ca. 60 ms ved opslagsprocessen.
$np$
Konklusionen af dette afsnit om præstationsindices afhængighed af antal
forespørgsler pr. time er derfor, at søgeprocessen er den proces, der dårligst
klarer en stigning i belastningen. Dette vil endnu klarere blive vist under vurderingen ud fra simulatoren.
$ps$$ps$$ps$
$ns 1,4,_«bs»6_«bs»._«bs»2_«bs»._«bs»3_«bs»._«bs»V_«bs»u_«bs»r_«bs»d_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»e_«bs»n__«bs»R_«bs»C_«bs»8_«bs»0_«bs»0_«bs»0__«bs»i__«bs»e_«bs»n__«bs»h_«bs»å_«bs»r_«bs»d_«bs»t__«bs»b_«bs»e_«bs»l_«bs»a_«bs»s_«bs»t_«bs»e_«bs»t__«bs»t_«bs»i_«bs»m_«bs»e_«bs».$
$np$

En hårdt belastet
 time, hvor antallet af forespørgsler er 5733 betragtes nu.
 Her findes CPU-udnyttelsesgraden af
de 4 processer følgende:
$sj$
        inputproces     =  2.6 %
        søgeproces      = 19.0 %
        opslagsproces   =  6.8 %
        outputproces    =  1.5 %
$rj$$np$
For at kunne beregne den totale udnyttelse af CPU-en er, det nødvendigt at
finde, hvor meget monitoren benyttes. Det vides ikke, hvor lang
tid monitoren er om at skifte mellem 2 processer.
Ved at betragte timer, hvor belastningen er ringe, dvs. der kommer under 1000
forespørgsler i en time, er det muligt at angive, hvor lang tid
en forespørgsel er om at skifte mellem to processer. Dette kan ses på køtiden.
Ved en lille belastning skulle forventes, at køtiden er 0, men her må køtiden
kunne opfattes som den tid en forespørgsel er om at skifte mellem to processer.
Der er særdeles stor varians i køtiden i timer med ringe belastning. 
Ved en meget lille belastning kan det forekomme, at to forespørgsler skal behandles
samtidigt. Dette bevirker, at enkelte af disse timer har misvisende store køtider.
Hvis køtiden beregnes som gennemsnittet for alle observerede timer med
mindre end 100 forespørgsler bliver køtiden derfor for stor. Nedenstående angiver, hvor stor
køtiden er ved de 3 processer i en ringe belastet time, dvs. når de misvisende timer
ikke medtages.
Der opnås da følgende:
$sj$

      køtid ved søgeproces   = ca. 4.2 ms
      køtid ved opslagsproces= ca. 4.2 ms
      køtid ved outputproces = ca. 7.0 ms
$rj$$np$
Ved at beregne ud fra antallet af forespørgsler ved hver proces, hvor tit
en forespørgsel skifter mellem de enkelte processer fås da, at udnyttelsen
af monitoren ved en belastning på 5733 er 1.8 %. Den samlede CPU-udnyttelse
findes derved til 31.7 %.
CPU-udnyttelsen er fundet som summen af CPU-udnyttelses af de 4 processer
og monitorudnyttelsen.
Dette må siges at være særdeles lille i betragtning
af at den gennemsnitlige svartid ved denne belastning er 686.8 ms. Ved en
gennemsnitlig belastning på 2000 forespørgsler pr. time er den gennemsnitlige svartid ca. 430 ms.
$np$
Fordelingen af svartiden ved belastningen på 5733 forespørgsler pr. time
er vist som den stiplede linie figur 6.2.6. Det kan til denne figur tilføjes,
at 
95 % af forespørgslerne besvares under 2500 ms. Den mindste svartid er 11 ms, og den
største er 9666 ms.
$np$
I betragtning af, at CPU-en kun udnyttes i 31.7 %
er der ved denne belastning således sket en pæn stigning i den gennemsnitlige svartid i forhold til timer med mindre belastninger.
 Det vil 
derfor være interessant at betragte, hvor stor udnyttelsesgraden er
af de andre enheder.
$np$
Ud fra afsnit 3, hvor antallet af pladelagertilgange i de
enkelte processer er angivet kan udnyttelsen af de 3 diske og
datakanalen findes.
$nl$$sj$
Søgediskudnyttelse
=
antal disktilgange * antal forsp. i søge * disktilgangstid
____________________________________________________________
             60 * 60 * 100
        13.9 * 3687 * 16.3
      =___________________ *100= 23.2 %
           60 * 60 * 100
Opslagsdiskudnyttelse

            5.5 *  3511 * 16.3
      =    ____________________ * 100  =    8.7 %
             60 * 60 * 100

outputdiskudnyttelse

              0.07 * 5733 * 16.3
      =      ___________________  * 100   = 1.8 % 
               60 * 60 * 100

Diskkanaludnyttelse

 (13.9 * 3687 + 5.5 * 3511 + 0.07 * 5733) * 8.3
=_______________________________________________ * 100 =16.4 %
               60 * 60 * 100
$rj$$np$
Antal disktilgange i outputprocessen er sat til 0.07 pr. forespørgsel. Dette
stammer fra, at  med dette tal gav simulatoren de bedste resultater.
$np$
Det ses, at den enhed, der er udnyttet mest ved en RC8000 til OP-systemet er
centralenheden. Svarende til, at de beregnede tal er for den hårdest
belastede time, og der er sket en kraftig stigning i
svartiden, er det bemærkelsesmæssigt, at ingen enhed er udnyttet mere end
31.7 %. Ud fra disse betragtninger vil det være interessant at
betragte systemets opførsel ved endnu større belastninger. Dette vil
blive gjort i nedenstående afsnit.



$ns 1,4,_«bs»6_«bs»._«bs»3_«bs»._«bs»V_«bs»u_«bs»r_«bs»d_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»O_«bs»P_«bs»-_«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs»e_«bs»t__«bs»v_«bs»e_«bs»d__«bs»h_«bs»j_«bs»æ_«bs»l_«bs»p__«bs»a_«bs»f__«bs»e_«bs»n__«bs»s_«bs»i_«bs»m_«bs»u_«bs»l_«bs»a_«bs»t_«bs»o_«bs»r_«bs».$
$np$
Dette afsnit beskriver de resultater der er opnået i forbindelse
med kørsel med den udviklede simulator. Simulatoren er beskrevet
simulatoropgaven.
Det kan her opsumeres, at det er lykkedes at gøre simulatoren ret
nøjagtig. Således er der ved en belastning på 2000 forespørgler en
afvigelse på den gennemsnitlige svartid på 0.1 %. Ved 6000 forespørgsler
er afvigelsen på den gennemsnitlige svartid på 4.9 %. En kurve 
for svartidens udvikling når belastningen øges, har det derudover vist,
at simulatorens resultater for den gennemsnitlige svartid ligger tæt
op ad resultaterne, der er opnået ved målinger i logfilen.
$np$
Ud fra målinger i logfilen har det vist sig, at den
største udnyttelsesgrad af en RC8000, er 31.7 %. Dette svarer til en belastning
på 5733 forespørgsler. Svarende til denne belastning findes en gennemsnitlig svartid på 686.8 ms.
I betragtning af den lave udnyttelsesgrad af RC8000 er denne svartid ret stor.
Specielt i forhold til at den gennemsnitlige svartid over et helt døgn er
574.5 ms.(Den 24.04.81) Ved hjælp af simulatoren vil det blive undersøgt, hvad
baggrunden er for at CPU-en ikke udnyttes bedre. Der er således foretaget en serie kørsler med simulatoren for at afklare, hvordan den gennemsnitlige svartid
afhænger af antallet af forespørgsler pr time. Ved disse kørsler er en RC8000
udsat for væsentlig større belastninger end den vil være ved OP-systemet. 
$np$
Svarende til at CPU-tidskravet og antallet af pladelagertilgange er det samme
som ved OP-systemet viser figur 6.3.1, hvordan den gennemsnitlige svartid forøges,
når antallet af forespørgsler pr. time forøges. På figuren er antallet af forespørgsler angivet ud af X-aksen, og den gennemsnitlige svartid er anført op ad Y-aksen. 
Kurven viser, at den gennemsnitlige svartid stiger særdeles kraftigt,
når antallet af forespørgsler pr time er over 8000. Således er den gennemsnitlige
svartid svarende til 8000 forespørgsler = 868.9 ms. Når belastningen øges til
10.000 forespørgsler er svartiden 1528.7 ms. Fra dette punkt sker nærmest en eksposiv stigning, idet der ved 11.605 forespørgsler pr time er svartiden 58708.9 ms,
altså 58.7 s. 
$np$
Kurvens forløb viser derfor tydeligt, at der findes en lodret asymptote, der
ligger omkring 12.000 forespørgsler pr time. Det er ikke muligt at undersøge dette
nærmere ved simulatoren, idet ved en belastning på 13.000 forespørgsler opstår
så lange kølængder, at simulatoren ikke kan køre. Dette skyldes, den begrænsede
lagermængde man får tildelt ved kørsler på RECKU. 
$np$
Ud fra kurven kan således påstås, at en RC8000 koblet til OP-systemet maksimalt 
kan behandle op til 12.000 forespørgsler pr. time.(RC8000 kapacietet) Ved denne belastning vil
svartiden i RC8000 være så stor, at det vil være til 
irritation for tasteoperatørerne.
$ps$
$ps$$ps$
$np$
Svarende til denne kurve vil det være særdeles interessant, at betragte
belastningen af CPU-en.
Figur 6.3.2 viser, hvordan CPU-udnyttelsen afhænger af antallet af forespørgsler pr. time.
Udnyttelsesgraden af CPU-en er fundet ved at summere CPU-udnyttelsen fra de
4 processer, og udnyttelsen af monitoren.
 Det bør her bemærkes, at udnyttelses
af monitoren er fundet under den forudsætning, at det tager 1.5 ms at skifte mellem
to processer. Det viste sig, at med denne skiftetid blev resultaterne fra simulatoren
mest nøjagtig.
 Ud fra målinger i logfilen ved meget
små belastninger kan ses, at når en forespørgsler passerer mellem to processer, vil denne skiftetid være større. Antallet af gange en forespørgsel skifter
mellem to processer kan ved en belastning på 5733 findes til 12.931. Svarende til
en belastning på 6142 forespørgsler er antallet af processkift i simulatoren målt
til 131.893. Dvs. at antallet af processkift stammende fra, at monitoren skifter
den kørende proces på grund af enten processen ønsker pladelager eller processen
bliver afbrudt af et tidsinterrupt, dermed er
 væsentligt større end processkift stammende fra
at en forespørgsel skifter mellem to processer. Det antages derfor, at
udnyttelsesgraden af monitoren ved simulatoren beregnes rigtigt.
$np$
Kurven figur 6.3.2 viser nu ud af X-aksen antallet af forespørgsler pr. time og op ad
Y-aksen angives udnyttelsesgraden af CPU-en. Kurven tilnærmer sig en lineær
funktion. 
For at finde, hvilken linie der er tale om er den gennemsnitlige CPU-tid
for en forespørgsel samlet for de 4 processer beregnet. Dette er fra den
24.04.81 fundet til 273.0 ms. På figur 6.3.2
er den stiplede linie tegnet ud fra dette CPU-forbrug. Linien er
tegnet ud fra følgende formel:

$sj$
              antalforsp * 273.0 ms
              ______________________ *100
                60 * 60 * 1000
$rj$
$np$
Svarende til denne linie vil en udnyttelse på 100 % af CPU-en opnås ved
13160 forespørgsler pr. time. Det virker dog særdeles rimeligt, at en RC8000
ikke kan behandle dette antal, da de indgående kølængder bliver for store.
Med den konstruktion som OP-systemet idag har på en RC8000, kan det således påstås,
at en udnyttelse på CPU-en på 100 % ikke kan forekomme.
Udnyttelsen svarende til en belastning på 11605 forespørgsler pr. time
er 68.8 %.
$np$
For at komme med forbedringsforslag til OP-systemet er det nødvendigt at betagte
andre størrelsers afhængighed af belastningen.
Det viser sig, at køtiden ved søgeprocessen har den kraftigste stigning i forbindelse
med at belastningen øges. Figur 6.3.3 viser, hvorledes køtiden ved søgeprocessen
afhænger af belastningen. X-aksen angiver antallet af forespørgsler pr time og
Y-aksen angiver køtiden i ms. Køtiden er ved en belastning på 10048 forespørgsler
1791.2 ms. Dette er større end den gennemsnitlige svartid som ved samme belastning er 1653.4 ms. 
Til dette kan anføres, at ikke alle forespørgsler er søgeforespørgsler (kun 66 %), og andre forespørgselstyper vil ikke stå i kø til søgeprocessen. En tlfnrforespørgsel vil ved en tilsvarende belastning kun stå i kø til opslagsprocesen
i 35.5 ms.
 
Ved køtiden i opslagsprocessen er
 simulatoren  ikke så nøjagtig som den 
burde(se simulatoropgaven). Målinger har vist køtiden ved opslagsprocessen skal være væsentlig
større. 
$np$
Til kurven på figur 6.3.3 kan tilføjes,
 at kølængden ved søgeprocessen stiger tilsvarende.
 Ved en belastning på 5020 forespørgsler pr. time er den gennemsnitlige kølængde
til søgeprocessen
 på 1.8 og ved en belastning
på 11605 forespørgsler pr. time er kølængden 199.0. Et forbedringsforslag til systemet vil 
på baggrund af de indtil nu anførte kurver skulle være at forbedre søgeproccessen.
$ps$
$ps$
$np$
Inden egentlige forbedringsforslag anføres vil det blive beskrevet, hvorledes systemet præcist opfører sig ved en 
en belastning på hhv. 6000,8000 og 10.000 forespørgsler pr time.
Tabel 6.3.1 viser de mest betydende størrelser, når belastningen øges.
$sj$
antal forsp.pr.time  6000      8000     10.000

procestid søge       452.2 ms  460.8 ms  466.9 ms
  -"-     opslag     176.1 ms  184.9 ms  193.2 ms
køtid     søge       318.1 ms  607.3 ms 1791.2 ms
 -"-      opslag      20.7 ms   26.5 ms   35.5 ms
Gnst. svartid        657.8 ms  868.9 ms 1653.4 ms
Udnytg.   input        2.78 %   3.66 %     4.55 %
 -"-      søge        20.42 %   26.93 %   32.49 %
 -"-      opslag       6.92 %   9.17 %    11.26 %
 -"-      output       1.54 %   2.03 %     2.53 %
 -"-      monitor      5.50 %   7.19 %     8.75 %
 -"-      diskkanal   15.50 %  20.54 %    25.75 %
 -"-      søgedisk    22.53 %  29.65 %    36.21 %
 -"-      opslagdisk   7.16 %   9.12 %    11.04 %
 -"-      outputdisk   0.18 %   0.24 %     0.32 %
 -"-      CPU         37.16 %  48.99 %    59.75 %

kølængde  input        0.043    0.063      0.086
 -"-      søge         0.862    1.59       4.15
 -"-      opslag       0.203    0.233      0.380
 -"-      output       0.025    0.035      0.047
 -"-      diskkanal    0.160    0.212      0.262

minimal svartid       28.31 ms 28.31 ms   28.31 ms
maksiaml svartid    5137.66 ms 5949.3 ms 12147.3 ms

97 % af forsp.      2249 ms     2999 ms    6750 ms

                   tabel 6.3.1
$rj$$np$
Den sidste linie i tabellen angiver, hvornår 97 % af forespørgslerne er 
besvaret.
 Det kan bemærkes,
at udnyttelsen af søge- og opslagdisk er noget mindre end de målte. Dette skyldes
at antallet af diskaccesser ikke helt stemmer overens. Ved simulatoren er der således 12.5
diskaccesser ved søgedisken mod en beregnet størrelse på 13.9.
Når nogle forbedringsforslag skal opstilles, bør disse sigte mod at formindske
de størrelser, der har størst stigning 
ved en forøgelse af antallet af forespørgsler pr. time.
Dvs. køtiden ved søgeprocessen. 
Til en RC8000 kan stilles nogle forbedringsforslag der simpelt
 kan implementeres ved en RC8000. Disse forslag går dels ud på at prioritere søgeprocessen højere end de
andre processer og dels ud på at dublere pladelagerkanalen. 
$np$
Ved at opprioritere søgeprocessen opnås, at hver gang en forespørgsel
findes ved søgeprocessen vil denne blive behandlet. Ved hjælp af simulatoren har det
vist sig, at dette ikke giver nogen  væsentlig forbedring af udnyttelsen af en RC8000.
 Det har endda vist sig, at den gennemsnitlige
svartid stiger. At svartiden stiger kan forklares ved, at de andre processer ikke
kan behandle forespørgslerne så hurtigt.
Resultaterne fra kørslene er angivet i tabel 6.3.2. Procestiden og køtiden
ved søge processen formindskes lidt, hvorimod køtiden og procestiden ved de andre processer forøges. Konkluderende må dog anføres, at en prioritering
af søgeprocessen ikke bevirker, at systemet opførsel bliver bedre.
$sj$
                   4000       4000      6000      60000
                  uden prio. med prio. uden prio. med prio.
procestid søge     432.8 ms   424.0 ms    452.2 ms   440.3 ms
  -"-     opslag   165.4 ms   171.0 ms    176.1 ms   184.9 ms
Køtid     søge     130.8 ms   128.6 ms    318.1 ms   254.1 ms
  -"-     opslag    12.5 ms    14.4 ms     20.7 ms    24.4 ms
gnst. svartid      516.5 ms   519.7 ms    657.8 ms   620.2 ms
Udnytg. af CPU      24.0 %     24.5 %      37.2 %     36.7 %

                          tabel 6.3.2

$rj$$np$
Et andet forbedringsforslag, som specielt har interesse hos KTAS er at
dublere datakanalen, idet man råder over 
en ekstra datakanal.
 Ved en belastning på
4000 og 6000 forespørgsler pr. time er resultaterne fra kørsler med en dubleret
pladelagerkanalen vist i tabel 6.3.3.

$sj$
                   4000      4000      6000      6000
                 uden dub.  med dub.  uden dub. med dub.

procestid søge   432.8 ms    427.1 ms  452.2 ms   448.5 ms
  -"-     opslag 165.4 ms    166.8 ms  176.1 ms   174.6 ms

køtid     søge   130.8 ms    134.5 ms  318.1 ms   307.6 ms
  -"-     opslag  12.5 ms     11.2 ms   20.7 ms    18.8 ms

gnst svartid     516.5 ms    504.8 ms  657.8 ms   646.1 ms

Udnytg.diskkan1.               7.64 %              11.73 %
Udnytg.diskkan2.               2.59 %               3.86 %
Udnytg.diskkanal  10.21 %               15.59 %
Udnytg. CPU       23.93 %     24.06 %   37.16 %    37.39 %

                 tabel 6.3.3
$rj$
$np$
Dubleringen af datakanalen er foretaget, så søgedisken er koblet
til den ene kanal og opslags- og outputdisken er koblet til den anden kanal.
Resultaterne viser, at gevinsten ved at have to datakanler er særdeles lille.
Den gennemsnitlige svartid bliver mindre ved, at procestiden ved søgeprocessen formindskes lidt.
 Intuitivt er det  klart, at en dublering af datakanalen ikke
vil give den helt store forbedring.
 Dette skyldes, at datakanalen ikke er udnyttet i mere end ca.
 16.4 % af tiden ved en størst målte belastning. Der vil derfor ikke ske en 
forsinkelse af en forespørgsel ved at den står i kø til datanalen.
$np$
For at komme med et forslag,
 der virkelig forbedre systemet,
 er det nødvendigt at betragte,
 hvordan tiden forløber i søgeprocessen.
 På figur 6.3.4 er angivet et tidsdiagram
over, hvordan tiden forløber i en RC8000.
 Til figuren er foretaget en del begrænsinger.
Begrænsningerne er, at CPU-tiden er afrundet til et helt tal for at kunne
tegne tidslinien. På figuren er vist en tidslinie for hver proces og for
CPU-en. En skravering af tidslinien angiver, at pågældende proces er kørende.
For CPU-en er tegnet en sort kasse til at angive, når CPU-en er ledig.
 Det
antages at den gennemsnitlige CPU-tid i søgeprocessen er 180 ms, og at der er
14 pladelagertilgange i søgeprocessen.
Mellem to pladelagertilgange  er så 180:15 =12 ms.
En pladelagertilgang antages at tage 18 ms.
Tiden der benyttes til pladelageret i søge processen er således 14 * 18 = 252 ms.
$np$
Hvis nu søgeprocessen var den eneste proces, der benyttede CPU-en ville
den maksimale udnyttelse være 41.6 %. (180 ms ud af 180+252=432 ms).
Med andre ord venter CPU-en i 58.4 % af tiden på en pladelagertilgang er
færdig.
Ved at programmere OP-systemet i form af 4 processor er det muligt at udnytte nogle
af disse 58.4 % til behandling af forespørgsler ved de andre processer. Hvis det
antages,
at en forespørgsel benytter 66 ms ved opslagsprocessen, og systemet behandler en forespørgsel
ved opslagsprocessen hver gang en forespørgsel behandles ved søgeprocessen så
når man op på en udnyttelse af CPU-en på 56.9 % (180+66 = 246 ms ud af 432 ms).
 Hvis det derudover antages,
at input- og outputprocessen også behandler en forespørgsel indenfor tidsrummet 
og de benytter hhv 16 og 9 ms, så opnås en CPU-udnyttelse på 62.7 %. 
$np$
En forøgelse af udnyttelse af CPU-en kan nu kun foregå ved at opslagsprocessen
behandler en tlfnr.forespørgsel.
Dette er på figuren angivet med rødt.
Hvis det antages, at den bruger 66 ms i opslagsprocessen,
og hhv. 16 og 9 i input- og outputprocessen så opnås en maksimal udnyttelse
på 83.8 %. Dvs. den maksimale udnyttelse af CPU-en til en RC8000 til
 OP-systemet er omkring 
83.8 %.
$ps$$ps$
$np$
Det er ikke muligt, at en så stor udnyttelse kan foregå over en længere periode,
idet dette kræver at der kommer lige så mange tlfnr.forespørgsler som søgeforespørgsler.
$ns 1,4,_«bs»6_«bs»._«bs»3_«bs»._«bs»3_«bs»._«bs»D_«bs»u_«bs»b_«bs»l_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»s_«bs»ø_«bs»g_«bs»e_«bs»p_«bs»r_«bs»o_«bs»c_«bs»e_«bs»s_«bs».$
$np$
En drastisk forøgelse af udnyttelsen af CPU-en vil på baggrund af forrige afsnit
 forekomme ved,
at søgeprocessen behandler mere end en forespørgsel ad gangen. At
implementere at søgeprocessen skal kunne behandle mere end en forespørgsel
ad gangen vil  være lettest ved at dublere søgeprocessen. Hver
søgeproces kan så behandle en forespørgsel på samme tid.
$np$
Ved en dublering af søgeprocessen er det naturligt, at der kun opnås
en fordel, når belastningen af systemet er over et vist punkt.
Svarende til en belastning på ca. 6000 forespørgsler pr. time formindskes
den gennemsnitlige svartid fra 657.8 ms til 542.5 ms ved en dublering
af søgeprocessen.
$np$
Figur 6.3.5 viser, hvordan svartiden (angivet ud af Y-aksen) er en funktion
af antallet af forespørgsler pr. time (angivet ud af X-aksen). Kurven viser ikke en 
så stejl stigning for svartiden ved foreøgelse af belastningen som uden dublering af søgeprocessen(angivet som stiplet linie).
Når OP-systemet betragtes ved en belastning på 6000 forespørgsler vides,
fra målinger i logfilen, at 97 % af samlige forespørgsler besvares under 2 s. 
Ved en dublering af søgeprocessen vil 97 % af forespørgslerne kunne besvares
under 2 s ved en belastning på 7959 forespørgsler.
Ved denne belastning vil den gennemsnitlige svartid være 663.2 ms.
$ps$$ps$
$np$
Der anvendes til OP-systemet i meget belastede timer  3 RC8000, svarende til
at de 3 maskiner behandler ca 13.000 forespørgsler. Forespørgslerne
fordeles således, at en RC8000 modtager omkring 6000 forespørgsler. Dette
bevirker en svartid der lige kan accepteres. Ved at dublere søgeprocessen vil det være
muligt med 2 RC8000 at behandle samme antal forespørgsler under samme betingelser
som forespørgslerne idag behandles med 3 maskiner.
$np$
Figur 6.3.6 viser, hvordan CPU-udnyttelsen er ved en dubleret søgeproces, 
og den stiplede linie angiver, hvordan udnyttelsen er uden dublering.
Hvert punkt til dubleringen er angivet i en cirkel.
Figuren viser, at CPU-udnyttelsesgraden ved belastninger på under 8000
forespørgsler pr. time faktisk er den samme for de to typer. Dette
kan forklares ved, at CPU-en behandler det samme antal forespørgsler. 
Den lille forøgelse af CPU-udnyttelsen stammer fra, at der er sket en formindskelse i svartiden. Figuren viser ved belastninger på over 8000 forespørgsler
er det muligt at udnytte CPU-en mere ved dublering af søgeprocessen.
$ps$$ps$
$np$
Da søgeprocessen er den proces, der optager mest plads i RC8000, vil det
formentlig være en ret kostbar affære at dublere søgeprocessen. Det kræver
udover en programændring en udvidelse af lageret koblet til en RC8000. Et
andet forslag til forbedring af OP-systemets RC8000- del kan så gives
ud fra et dybere kendskab til søgeprocessen.
$np$
Søgeprocessen fungere således, at den ud fra hvert kriterie i en søgeforespørgsel
danner en mængde af kandidater. For at finde frem til eventuelle kandidater
findes fællesmængden af disse kandidater.
$nl2$
_«bs»E_«bs»k_«bs»s_«bs»e_«bs»m_«bs»p_«bs»e_«bs»l
$nl$
Antag at følgende søgeforespørgsel bliver stillet
$sj$

   *bFrederikssund   *nLarsen   *fKnud
$rj$
$nl2$

Ud fra første kriterie *bFrederikssund slås op i en tabel
kaldet hypp.tabellen over stednavne. Her findes alle hyppigt
brugte stednavne. Fra en OPSTAT vides, at ca. 82 % af alle 
stednavne findes i denne tabel. I tabellen er der ved stednavnet
angivet en pointer til en tabel kaldet AB-tabellen og
to pointere til en fil kaldet navnesøgefil. I AB-tabellen
findes en pointer til abonnentfilen. Abonnentfilen indeholder information om
telefonabonnenter.
$np$
Ud fra andet søgekriterie *nLarsen findes ved hjælp af Larsen en pointer
i en navneindeksfilen. Denne fil indeholder pointere til navnesøgefil,
hvor navne findes opdelt efter område.
På  figur 6.3.7 er de forskellige filer og pointere angivet.
$ps$$ps$
Figuren er noget simplificeret,
så der kun er medtaget to søgekriterier.
Det vigtigste
at observere er, at ud fra stednavnet opnås en pointer til
abonnentfilen og ud fra efternavnet opnås to pointere i abonnentfilen.
De kandidater som søgekriteriet giver adgang til bliver en mængde af pointere i abonnentfilen,
og ud fra denne dannes en fællesmængde svarende til de enkelte søgekriterier.
$np$
Undersøgelsen med en dubleret søgeproces viste, at dette bevirkede en bedre
udnyttelse af CPU-en. Dette skyldes, at det var muligt at behandle mere
end en forespørgsel ved søgeprocessen. Formålet med ovenstående
beskrivelse er, at beskrive at denne effekt også kan opnås ved at opspalte
søgeprocessen i mere end en proces.
$np$
Dette kunne gøres ved at lave en proces, der svarer til et
eller to kriterier, og derefter en anden proces, der
svarer til resten af søgekriterierne. Ud fra en OPSTAT
kan kriteriesammensætningen findes. Det viser sig, at udover stednavnet er det mest
anvendte kriterie efternavnet.
$np$
Udfra dette vil jeg så foreslå følgende opdeling af søgeprocessen.
Der laves to søgeprocesser. En søgeproces behandler stednavnet og
et gadenavn og husnr. De sidste kriterier er søgekriterier, som
ikke er de mest anvendte, men det forekommer i omkring 53.3 % af
søgeforespørgsler. Tallet 53.3 % er opnået fra en OPSTAT. Den anden 
søgeproces skal derefter behandle resten af søgekriterierne.
OP-systemet i RC8000 vil derefter få  udseendet vist på figur 6.3.8.
$fg 120$
De nye veje for en forespørgsel er på
figuren markeret A,B,C,D og E.
Det er ikke muligt præcist at angive, hvor stor en procentdel der vil passere
gennem de enkelte veje. Ved at betragte en OPSTAT vides, at en søgeforespørgsel
i gennemsnit tager 703 ms. En forespørgsel, hvor stednavnet ikke findes
tager i gennemsnit 272 ms.
$np$
De forespørgsler, der behandles i søgeproces 1 er forespørgsler på
stednavn,gade og husnr.
Det er ikke muligt at angive, hvormeget tid søgeproces 1 skal anvende,
men  det vil formentlig
ligge omkring tiden for en afvist forespørgsel, hvor stednavnet ikke
findes.
Antallet af pladelagertilgange i søgeproces 1 kan ikke findes, men det kan
maksimalt være (0.18 +(2*2*3.5)= 12.68 pr. forespørgsel, fundet
ud fra formlen angivet i afsnit 3). Da de to søgekriterier kun findes for
53.3 % af forespørgslerne, vil antallet af pladelagertilgange
i søgeproces 1 formentlig være omkring (53.3 * 12.68)/100= 6.8 pr. forespørgsel og
dermed omkring 7.2 i søgeproces 2. Formålet med opdelingen
er, at dele processerne således at de vil have samme arbejdsbyrde pr.
forespørgsel. Ved dette vil der opstå en vekselvirkning mellem CPU-behandling
i den ene proces og pladelagertilgange. Dette kan illustreres på nedenstående
figur.
$fg 60$
På figuren er forholdene beskrevet optimalt, men ved en opdeling
på tilsvarende måde vil en højere udnyttelse af CPU-en kunne opnås.

$np$
Det angivne skal således kun ses som et forslag til, hvordan en opdeling
kan gøres. Det vil dog kræve en meget dybtgående undersøgelse
af hvordan kriteriesammensætningen for en søgeforespørgsel
er og hvilket tidforbrug de enkelte søgekriterier har, før en 
anvendelig opdeling kan foretages godt.
$ns 1,4,_«bs»6_«bs»._«bs»3_«bs»._«bs»4_«bs»._«bs»I_«bs»n_«bs»d_«bs»f_«bs»ø_«bs»r_«bs»e_«bs»l_«bs»s_«bs»e__«bs»a_«bs»f__«bs»h_«bs»u_«bs»r_«bs»t_«bs»i_«bs»g_«bs»e_«bs»r_«bs»e__«bs»R_«bs»C_«bs»8_«bs»0_«bs»0_«bs»0_«bs».$
$np$
 Efter konstruktionen af OP-systemet har RC udviklet
en hurtigere RC8000. Denne RC8000 betegnes model 55. Forskellen fra den ved
OP-systemet benyttede RC8000 er, at der til denne findes et "cache" lager.
En beskrivelse for hvad et "cache" lager er, og hvordan det fungerer findes
i Tan76 side 263-264.
 Dette
bevirker, at maskinen ca. bliver dobbelt så hurtig. Anskaffelsesprisen for en
sådan maskine er ikke svarende til en ny, fordi det kun er nødvendigt
at anskaffe et "cache" lager.
$np$
 Ved at halvere tidsforbruget ved de enkelte processer og monitorskiftetiden
er der nu foretaget en række simulationskørsler. 
$np$
Tabel 6.3.4 viser en sammenligning af de 3 betragtede modeller af OP-systemet.
$ps$
$sj$
                    almindelig  dubleret søgeproc.  RC8000/55
antal forsp.pr.time   6142           5989             5998
procestid søgeproces   452.2 ms       516.8 ms        315.9 ms
  -"-     opslagsproc. 176.1 ms       185.0 ms        121.3 ms
køtid     søgeproces   318.1 ms        59.1 ms         97.1 ms
  -"-     opslagsproc.  20.7 ms        29.1 ms          8.0 ms
Gnst. svartid          657.8 ms       542.5 ms        366.3 ms
Udn.grad af søgedisk    22.7 %         22.2 %          22.1 %
  -"-       opslagsdisk  7.2 %          6.9 %           6.9 %
  -"-       datakanal   15.6 %         15.2 %          15.2 %
  -"-       CPU         37.2 %         35.9 %          17.7 %

                     tabel 6.3.5.
$rj$$np$
Tabellen viser en meget tydelig tidsgevinst i den gennemsnitlige svartid
ved anskaffelsen af en model 55. De indgående diske bliver udnyttet ligemeget
ved de tre modellen. Det vil derfor være interessant at se om disse
diskes udnyttelse ved en model 55 får indflydelse for, hvor stor en 
belastning en RC8000 kan klare. Det vil dog først blive vist, hvor stort
et antal forespørgsler en model 55 kan behandle under de samme forudsætninger,
som en almindelig RC8000 kan ved en belastning på 6000 forespørgsler pr. time.
Det er valgt at betragte denne belastning, idet den kan opfattes som
et mål for, hvor store svartider man vil aksepterer hos KTAS. 
$np$
Tabel 6.3.6 viser nu, de vigtigste størrelse for en model 55 ved en belastning
på ca. 12000 forespørgsler pr. time sammenlignet med en model 45 ved 6000 forespørgsler pr. time.
$ps$
$sj$
                        model 45      model 55
antal forsp             6142           11952

Procestid søge           452.2 ms        325.4 ms
  -"-     opslag         176.1 ms        129.2 ms

Køtid     søge           318.1 ms        454.1 ms
 -"-      opslag          20.7 ms         17.9 ms

Gnst svartid             657.8 ms        619.0 ms

Udnyttelse af søgedisk    22.5 %          43.6 %
  -"-         opslagdisk   7.2 %          13.3 %
Udnyttelse af diskkanal   15.6 %          30.3 %

Udnyttelse af CPU         37.2 %          34.9 %
         
               tabel 6.3.6

$rj$
$np$
Tabellen viser, at en model 55 faktisk ved en belastning på
6000 forespørgsler til en model 45 kan klare ca. dobbelt så
mange forespørgsler med samme svartid. Dette giver anledning til en
del forundring. Man skulle tro at andre størrelse end
hastigheden af CPU-en har indflydelse på,
hvordan svartiden for forespørgslerne er. 
At en model 55 kan behandle dobbelt så mange forespørgsler som en model 45
betyder, at man ved KTAS kan nøjes med at anvende 2 RC8000 til OP-systemet
i en hårdt belastet time. Derved kan samtlige forespørgsler besvares under
samme betingelser som det gøres nu med 3 RC8000. Der vil ved en model 55
være mindre svartider, og hvis antallet af forespørgsler forøges vil en
to maskiner kunne behandle ca. 24000 forespørgsler pr. time. Disse maskiner
vil således dække behovet et godt stykke ud i fremtiden.
$np$
For nærmere at belyse om, hvordan
 svartiden afhænger af
belastningen, er dette anført på figur 6.3.10.
På figur 6.3.10 er den stiplede kurve tegnet for en model 45. Figuren viser,
at en model 55 bevirker, at den gennemsnitlige svartid formindskes væsentligt.
Derudover bliver kapacitetet (absissen for den lodrette asymptote) forøget.
Kurven viser, at CPU-ens hastighed har meget stor indflydelse på behandlingen
af forespørgsler. Imidlertid har CPU-en hastighed ikke så stor
indflydelse på behandlingen af forespørgsler at en fordobling af
CPU-hastigheden bevirker, at en RC8000 maksimalt kan behandle dobbelt
så mange forespørgsler. Derimod ligger kapaciteten for en model 55
på ca. 17000 forespørgsler pr. time. Ved denne belastning er den
størst udnyttede enhed søgedisken, som er udnyttet i 58.8 % af tiden.
CPU-en er kun udnyttet i 48.0 % og datakanalen er udnyttet 41.5 %.
Ved store belastninger på en model 55 vil det derfor være naturligt
at anskaffe en hurtigere søgedisk og eventulet dublere diskkanalen.
$ps$$ps$
$ns 1,4,_«bs»6_«bs»._«bs»4_«bs»._«bs»T_«bs»e_«bs»o_«bs»r_«bs»e_«bs»t_«bs»i_«bs»s_«bs»k__«bs»a_«bs»n_«bs»a_«bs»l_«bs»y_«bs»s_«bs»e__«bs»a_«bs»f__«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs»e_«bs»t_«bs».$
$np$
Nedenstående afsnit beskriver 2 normalt anvendte metoder til teoreisk analyse
af et datamatisk system. Den første tager udgangspunkt i at finde antallet
af terminaler, der kan kobles til systemet. Den anden angiver en metode, hvormed
en
flaskehals ved et system kan findes.
$nl2$
_«bs»1_«bs»._«bs»V_«bs»u_«bs»r_«bs»d_«bs»e_«bs»r_«bs»i_«bs»n_«bs»g__«bs»a_«bs»f__«bs»t_«bs»e_«bs»r_«bs»m_«bs»i_«bs»n_«bs»a_«bs»l__«bs»s_«bs»y_«bs»s_«bs»t_«bs»e_«bs»m_«bs».
$nl$
En model svarende til nedenstående figur betragtes.
 Systemet består af n terminaler og en CPU. Ved terminalerne sendes et job (forespørgsel).

Tiden mellem to forespørgsler er en variabel størrelse og betegnes tænketiden.
 Dvs. en  person ved en terminal tænker et vist
stykke tid, når svaret på en sendt forespørgsel er modtaget
inden næste transaktion sendes.
$fg 100$
 Det forudsættes, at  tænketiden er eksponetial fordelt med middelværdi
1/^^.
En anden størrelse som skal kendes ved denne model
 er den gennemsnitlige behandlingstid for et
job under forudsætning af,
 at dette job befinder sig alene ved CPU-en. Behandlingstiden forudsættes ligeledes eksponentialfordelt med middelværdi 1/^^. 
Under disse forudsætninger kan det vises, at middelsvartiden er en funktion af antallet
af terminaler, og dens forløb vil være som vist på nedenstående figur.
Ud af X-aksen er angivet antallet af terminaler og Y-aksen angiver den
gennemsnitlige svartid.
$fg 80$
Kurven på figuren vil have to asymptoter en vandret og en skrå.
$np$
Den vandrette asymptote kan bestemmes ved den minimale svartid. Når
antallet af terminaler går mod 0 så vil den gennemsnitlige svartid pr. terminal
gå mod 1/^^.
Ligningen for den vandrette asymptote vil så være y = 1/^^.
Ligningen for den skrå asymptote kan bestemmes ud fra ^^,^^ og N
antallet af terminaler. Den skrå asymptote er givet ved ligningen
$sj$

         N/   -  1/   
$rj$$np$
Absissen for skæringspunktet mellem disse asymptoter betegnes mætningspunktet. Dette angiver
det antal terminaler, hvorom det kan siges, at hvis flere terminaler kobles til
systemet så vil der opstå kø ved CPU-en. Mætningspunktet kan bestemmes ved følgende formel:
$nl5$
$nl$
Ovenfor anførte betragtninger findes
 i Brin 73 side 214-221,  Ferr78 side 210-212 og Denn 78 side 239-243.
Hos Denn78 er fortolkningen af mætningspunktet fundet.
$np$
Denne model vil nu blive anvendt til at finde mætningspunktet for en RC8000 ved OP-systemet.
 De to indgående størrelser findes efter følgende princip:
$nl2$
_«bs»1_«bs»._«bs»G_«bs»e_«bs»n_«bs»n_«bs»e_«bs»m_«bs»s_«bs»n_«bs»i_«bs»t_«bs»l_«bs»i_«bs»g__«bs»b_«bs»e_«bs»h_«bs»a_«bs»n_«bs»d_«bs»l_«bs»i_«bs»n_«bs»g_«bs»s_«bs»t_«bs»i_«bs»d_«bs».
$nl$
Denne størrelse skal findes under forudsætning af, at en forespørgsel befinder
sig alene i RC8000. Til dette findes fra KTASSTAT den time,
 der har været mindst
belastning. Ved en belastning på 36 forespørgsler pr. time er den gennemsnitlige svartid
i RC8000 413.9 ms. 
$nl2$
_«bs»2_«bs»._«bs»G_«bs»e_«bs»n_«bs»n_«bs»e_«bs»m_«bs»s_«bs»n_«bs»i_«bs»t_«bs»l_«bs»i_«bs»g__«bs»t_«bs»æ_«bs»n_«bs»k_«bs»e_«bs»t_«bs»i_«bs»d_«bs».
$nl$
Antallet af terminaler koblet til systemet i en hårdt belastet time er 130, og den
hårdest belastede time svarer til,
 at der afsendes 13107 forespørgsler. Ud fra dette
kan den gennemsnitlige tænketid pr sekund beregnes til:
$sj$
                        130*60*60
                  =     _________    = 35.7
                          13107

$rj$
$ps$$ps$
Ud fra dette beregnes mætningspunktet for en RC8000 til :
$sj$
               *            35.70
             N     =  1  +  ______   =   87 terminaler.
                            0.4139
$rj$
$np$
Ud fra disse betragtninger kan antallet af forespørgsler der afsendes pr. time
pr. terminal findes. Dette findes ved:
$sj$

          60 * 60
          _______  = 108.4 transaktioner pr. time pr. terminal
           35.6
$rj$$np$
Hvis der kobles 87 terminaler til en RC8000 så vil antal tranaktioner
pr. time maskinen modtager være
$sj$

            87 * 108.4  = 9431 transaktioner pr. time
$rj$$np$
Ved dette antal transaktioner har simulatoren vist at den gennemsnitlige
svartid være ca. 1500 ms. Ved nu at antage, at den gennemsnitlige tænketid
ved terminalerne altid er 35.7 pr. sekund kan kurven på figur 6.4.3 tegnes.
Punkterne til kurven findes ved at x terminaler afgiver ((60*60)/35.7)* x
forespørgsler pr. time. Fra simulatoren vides, hvordan den gennemsnitlige  svartid er, når
antallet af forespørgsler pr. time kendes. 
$np$
Den derved opnåede kurve vil så være kurven svarende til figur 6.4.3. På
figur 6.4.3 er de to asymptoter angivet. Kurven viser, at et
punkt svarende til 100 terminaler har
en større svartid end den skrå asymptote angiver. Dette skyldes formentlig
følgende begrænsning i simulatoren. Ved et terminal system vil forespørgsler fra
en terminal først blive afsendt, når svaret på forrige forespørgsel er modtaget.
Der tages imidlertid ikke højde for dette ved simulatoren, da der her anvendes et fast
ankomstmønster. Dette skyldes, at simulatoren kun afbilder RC8000-delen af OP-systemet.
Hvis kurven for svartiden fortsættes sker en særdeles kraftig stigning ved 11605 forespørgsler pr. time(svarer til ca. 107 terminaler). Det virker
derfor sandsynligt, at kurven vil tilnærme sig den anførte skrå asymptote.

$nl2$
2.Kømodeller.
$np$
Det anføres her ud fra en teoretisk model, hvordan en flaskehals til systemet
kan findes. For at kunne gøre dette betragtes en kønetværksmodel af
systemet. Kømodellen er angivet på figur 6.4.4.
Den findes beskrevet i Buze71.
$fg 90$
Systemet har 1 CPU og L ydre enheder.
 I forbindelse med anvendelsen her er L = 3, og de ydre enheder er hhv. søge- , opslags- og outputdisk. Til
modellen anføres nogle sandsynligheder p0,...,pL. pi angiver sandsynligheden
for, at et job, når det har afsluttet en behandling ved CPU-en,  skal behandles ved enhed i.
Et job betegnes som færdigt, når det har afsluttet en CPU-behandling, og
ikke skal benytte en af de ydre enheder. p0 angiver således sandsynligheden for, at jobbet er
færdigt. Efter at jobbet er færdigt bliver det sat i kø til CPU-en, og dette
angiver, at et nyt job starter i systemet.
$np$
Et job består således af en række forløb bestående af
 et CPU-tidsinterval efterfulgt af en behandling ved en ydre enhed. 

Summen af  pi'erne er 1.
$np$
Der er både til CPU-en og de ydre enheder knyttet en kø. Det antages, at antallet
af job, der befinder sig i systemet er konstant, og det betegnes N.
$np$
Behandlingstiden ved de indgående enheder antages at være eksponentialfordelt med 
middelværdi ui. Den gennemsnitlige behandlingstid ved enhed i er så 1/ui.
$np$
Inden en flaskehals  defineres vil en række
ting blive fremhævet.
$np$
Med Ai betegnes sandsynligheden for, at enhed i er aktiv.
 Dvs. at Ai kan opfattes,
som den del af observationsperioden, hvor enheden er optaget(Ai er således udnyttelsesgraden af enhed i).

Ao er sandsynligheden for, at CPU-en er optaget.
$np$
Man er  interesseret i at beregne det forventede antal job, der færdiggøres
over en tidsperiode af længden T. CPU-en vil her være optaget i Ao*T.
$np$
Et job afvikles ved CPU-en i et antal tidsintervaller. Det gennemsnitlige
antal CPU-tidsintervaller pr job er 1/po, fordi sandsynligheden for at
et program vil afslutte efter et CPU-tidsinterval er po. Den gennemsnitlige
behandlingstid for et CPU-tidsinterval er 1/uo. Dvs. at et job i gennemsnit
benytter CPU-en i 1/uo*1/po= 1/uopo.
$np$
Dermed kan det gennemsnitlige antal afviklede job over tidsperioden T findes til
$sj$

               Ao*T*uopo
$rj$$nl$
Dermed vil afviklingen pr tidsenhed være
$sj$
   (1)         Ao*uo*po
$rj$$nl$
Hvert jobs sandsynlighed for at modtage behandling
ved enhed i er pi. Da Ao angiver sandsynligheden for, at CPU-en er optaget, og
1/uo angiver den gennemsnitlige behandlingstid pr job ved CPU-en, vil
Ao*uo være et mål for, hvor tit et job er færdig med et CPU-tidsinterval.
Det forventede antal job, som skal behandles ved enhed i er derfor 
$sj$
   Ao*uo*pi
$rj$
$np$
Omvendt er Ai sandsynligheden for, at enhed i er aktiv og ui er behandlingsraten
ved enhed i.

Dvs. Ai*ui er antallet af job afviklet ved enhed i. Da antallet af job afviklet ved
enhed i er det samme som antallet af ankommende job til enhed i, så gælder
$sj$
       Ao*uo*pi = Ai*ui
og dermed
       Ao*uo = Aiui/pi.
$rj$$nl$
Systemets gennemstrømning defineres som det gennemsnitlige antal job,
der færdiggøres pr tidsenhed.
Et udtryk for gennemstrømningen  kan nu opstilles ved brug af (1).
Derved fås
$sj$

       Ao*uo*po   =  Ai*ui*po / pi
$rj$$nl$
En flaskehals defineres i Buze71 som den enhed i systemet, der bevirker en alvorlig
formindskelse i systemets ydeevne. Denne definition kan nu omformuleres til:
$nl$
Hvis en lille forøgelse i en enheds gennemstrømning bevirker en stor forøgelse
i systemets gennemstrømning, så er pågældende enhed en flaskehals. 
$np$
Hele systemets gennemstrømning er Ao*uo*po og enhed i skaber en derfor en flaskehals,
hvis
^(Ao*uo*po)/^^ui er stor. Når en flaskehals skal findes skal den maksimale af
disse partielle afledede findes.
Ao er en funktion af uo,u1,...,uL,po,p1,...,pL, og N.
$np$
Den definition, der ofte anvendes på en flaskehlas, nemlig at en flaskehals
er den enhed med størst udnyttelse, kan man vise (se Buz71 side 98-100) gælder
i det tilfælde, hvor de indgående sandsynligheder er valgt optimalt.
$np$
Ved OP-systemet er det imidlertid ikke muligt at angive om de indgående
sandsynligheder er optimalt valgt. Derudover er det meget vanskeligt at finde
de partielle afledede. Dette er faktisk kun muligt ved hjælp af simulatoren.
$np$
Ved hjælp af simulatoren er det endda ikke muligt præcist at angive, 
hvordan de partielle afledede er for alle belastninger. Derimod
er det muligt at finde de partielle afledede svarende til en fast
belastning. Dette gøres på følgende måde:
$np$
En belastning på ca. 4000 forespørgsler betragtes. Svarende til denne belastning
varieres nu på hastigheden af de indgående enheder. Derved kan de partielle afledede
for de indgående enheder findes. Figur 6.4.5 viser tre linier stammende fra
at hhv. CPU-en,søge- og opslagsdiskens hastighed er variaret. De er opnået ved at
gøre den til linien svarende enhed hhv. 25 % hurtigere og 25 % langsommere end enheden
normalt er. På figuren er det præstationsindeks, som ønskes forbedret dvs. den
gennemsnitlige svartid, anført ud af Y-aksen.
X-aksen angiver et mål for ændringen i hastigheden på en enhed. X = 1 er 
den hastighed enheden har ved OP-systemet. Punktet X=1.25 svarer til at
hastigheden for enheden er gjort 25 % hurtigere. For eksempelvis søgedisken svarer
X = 1 til almindelig hastighed.
X=1.25 svarer til at søgedisken er 25 % hurtigere. Hældningkoefficienten for de 3
linier  kan nu opfattes, som et mål for de partielle afledede. På figuren 6.4.5
ses derfor, at den enhed, hvor den angivne linie har størst hældning er linien
stammende fra CPU-en. Dermed er CPU-en flaskehalsen ved en RC8000 benyttet til 
OP-systemet.
$np$
Opsummerende viser figuren, at hvis de i systemet indgående enheder enkeltvis gøres
25 % hurtigere, vil den enhed, der bevirker den største formindskelse i svartiden, være CPU-en.
$ps$$ps$
$nl2$
$ef$
scope user vko2 afs6
finis
▶EOF◀