100 likes | 221 Views
J-sim. Lars & Bjørnar. Introduksjon. Java basert, bruker TCL skript (som ns2) for å sette opp simuleringer. Gratis, åpen kildekode Ny: Release 1.0: Oktober 2001 Nå: Release 1.3 Dokumentasjon: Tja, ikke komplett Gui: Tja, prerelease-stadiet Statistikkverktøy: Lite eller ingenting.
E N D
J-sim Lars & Bjørnar
Introduksjon • Java basert, bruker TCL skript (som ns2) for å sette opp simuleringer. • Gratis, åpen kildekode • Ny: • Release 1.0: Oktober 2001 • Nå: Release 1.3 • Dokumentasjon: Tja, ikke komplett • Gui: Tja, prerelease-stadiet • Statistikkverktøy: Lite eller ingenting
Prosess-orientert Java objekter i bunnen Utvidet med ”Autonomous Compoment Architecture” (ACA) To grunnleggende byggestener: Komponenter Porter J-sim arkitektur
ACA Høy grad av modularitet Omfattende bibliotek for nettverkssimulering Egenutvikling/utbytting av komponenter enkelt Nettverkspakker: ”Vanlig” Internet (ruting og transport protokoller osv) Diffserv Wireless Sensor network Active network J-sim arkitektur (2)
Simulatorkjernen • To kjerner å velge mellom: • ”Real-time Process-driven” • Simulering i sanntid (skalert) • Hendelser er ikke atomiske kan eksekveres i paralell • ”Descrete-time Event-driven” • DES
Implementasjon og effektivitet • SES kjernen bruker et red-black tree for køing av fremtidige hendelser (java.util.TreeMap) • Red-black er et binært søketre, slik som f.eks splay tree, men med en annen balanseringsalgoritme • Et binært søke tre er red-black hvis; • Alle noder er enten røde eller svarte • Rot noden er svart • Alle løv-nodene er svarte • Hvis en node er rød, så er begge barna svarte • For alle noder, alle stier fra en node til hvilken som helst løv-node innehar like mange svarte noder
Egenskaper ved et red-black tre I want to find my key in log n time-- thats all, Rotating sub-trees 'round sure can be a ball. • Lengste stien, fra root noden til en løv-node, er aldri lengre enn dobbel så lang som den korteste stien • Korteste stien har kun svarte noder • Lengste stien er nodene farget annenhver svart og rød • Treet er tilnærmet balansert • Innsetting samt fjerning er gitt av worst-case tid som er proporsjonal med høyden av treet • Høyden av treet er høyest 2 lg(n + 1) • Garanterer O(lg n)
Effektivitet Unfortunately, coding them can be a bitch. If we had half a brain to splay trees we would switch. • Effektiviteten til treet beror på fordelingen til operasjonene. • God hvis du har en uniform fordeling på node aksess • Ikke så god hvis du har andre fordelinger • Hvis andre fordelinger, så vil splay algoritmen gjøre en bedre jobb, siden; • Vi, ved node fjerning, er ute etter den noden som ligger nærmest i tid • i.e. binært tre har lavest verdi nederst i venstre tråd • I et splay tre vil den sist aksesserte node bli rot 1(lg n) red-black 2(lg n) Tid
Positivt Modularitet Åpen kildekode Oversiktlig struktur Muligheter for abstraksjon Java Godt kjent Portabelt Negativt Barnesykdommer (bugs) Mangelfull dokumentasjon Ikke optimal eventliste håndtering Statistikkverktøy Java Ikke effektivt Konklusjon