Tillbaka till Omgivningssimulator
Sida 43

2.0.5 Max nätlast för olika distributionsmodeller

Det som avgör "till syvende og sidst" är hur mycket data som kan överföras på SimulatorLANet. Begränsande faktorer är då bandbredd och anslutna EXS-noders mottagningskapacitet (som i sin tur beror på hårdvara och mjukvara. Kan alltså bara bestämmas empiriskt). Nedan används de Meddelandetyper som beskrivits i Designförslaget.
  1. All simulering i ENS. Statusinformation om varje objekt i omvärlden ska skickas över nätet till EXS där det skall lagras. Då blir det som mest

    1 Objectdata*#objekt + 1 Environmentdata*#egna + 1 Timesynch + 1 Order + 1 Origo = 288*#objekt + 256*#egna + 32 + (32 + #data) + 64 = 288*#objekt + 256*#egna + (32 + #data) + 86 bitar per uppdatering.
    Client-Server och Headers ej inräknat.

    Sätt #objekt = 400, #egna system = 1, #data = 4, #uppdateringar/sec = 11

    så får vi en nättrafik i storleksordningen 1.2Mbits/sec. Client-Server och Headers ej inräknat. Nätlasten i genomsnitt blir dock något lägre eftersom Environmentdata, Timesynch, Origo och Order sänds mer sällan.
    Bandbredden ligger på 10Mbits/sec så det kan fungera. Begränsande faktor blir då ENS's prestanda. Om vi lyfter ut det grafiska användargränssnittet på en fristående maskin som använder client-server gränssnittet för att kommunicera med ENS så avlastar det en hel del. (Detta koncept används i SIMPL)
    En annan variant är att ha flera ENS som hanterar var sin del av multicastgrupperna.

  2. Uppdatering av object m.a.p tid i EXS. Enligt variant 3 ovan.
    Händelsehantering, felhantering, tidssynkronisering,filhantering och Client-Server-gränssnitt i ENS. Tillkommer objektstatussynkronisering, meddelanden för införande av objekt, modifiering av objekt samt borttagning av objekt i EXS.

    Antag högst en ändring av objektsstatus per tidscykel och objekt. Då blir det som mest

    1 (Objectdata | Environmentdata) * #statussynk + 1 Timesynch * #timesynch + 1 Order * #order + 1 Objectdata * #objekt bitar per tidscykel.

    Sätt (Objectdata | Environmentdata) = 270, #statussynk = 10, #order = 1, #objekt = 400, #tids-cykler / sekund = 1, #övrigt = 4, #timesynch = 0.1

    så får vi en nättrafik i storleksordningen 270*10+32*0.1+(32+4)*1+288*400 = 118 k bits/sec. Client-Server och Headers ej inräknat.
    Bandbredden ligger på 10Mbits/sec. Begränsande faktor blir då EXS prestanda.
    I genomsnitt blir dock nätlasten betydligt mindre. Att alla objekt skulle ändras samtidigt är mycket osannolikt.

  3. All händelsehantering sker i EXS. Objekt i världen vid spelstart samt deras händelselistor skickas över till EXS från ENS före spelstart. Tillkommer objektstatussynkronisering, meddelanden för införande av objekt, modifiering av objekt samt borttagning av objekt i EXS. Blir samma värsta fall som för 2) ovan, men i genomsnitt lägre nätlast än 2). Beräkningslast på EXS blir dock mycket större.


Sida 45