Yleisk ytt isen tietokoneen kellosynkronisointi ja k ytt verkkoliikenteen mittauksiin
Download ReportTranscript Yleisk ytt isen tietokoneen kellosynkronisointi ja k ytt verkkoliikenteen mittauksiin
Yleiskäyttöisen tietokoneen kellosynkronisointi ja käyttö verkkoliikenteen mittauksiin Oskari Simola Diplomityöseminaari 9.5.2007 Tietoverkkolaboratorio Valvoja Prof. Raimo Kantola Ohjaaja Tkt. Markus Peuhkuri Agenda Taustaa Työn Tavoitteet Kellosynkronisoinnin ongelmat SynPCI-X Lämpötilan vaikutus synkronisointiin Mittauslaitteisto Mittaustulokset Johtopäätökset Jatkokehitysideat Taustaa Verkkoliikenteen yksipistemittauksissa kellosynkronisointi helppoa Monipistemittauksissa mittalaitteiden keskinäinen kellosynkronisointi haastavaa Yleiskäyttöisissä tietokoneissa ongelmana saavuttaa riittävä tarkkuus synkronisoinnissa Työn tavoitteet Jatko kehittää aiemmin valmistettua SynPCI synkronisointikortin prototyyppiä Mitata kellosynkronisoinnin ja pakettien aikaleimauksen tarkkuutta yleiskäyttöisellä tietokoneella Tunnistaa virhelähteet ja määrittää niille virherajat Kellosynkronisoinnin ongelmat PC koneissa ajanmäärittämiseen käytetään laskureita, joiden taajuus on johdettu emolevyllä sijaitsevasta kiteestä Kiteen taajuus on hyvin lämpötila herkkä Normaalisti on käytetty NTP:tä määrittämään lokaalin kiteen taajuuspoikkeamaa SynPCI-X 1/3 Jatko kehitetty alkuperäisestä Antti Gröhnin suunnittelemasta SynPCI kortista Ideana tuoda ulkoiselta GPS laitteelta 10MHz ja 1PPS signaalit kortille ja käyttää niitä kellosynkronisointiin Signaalit tuodaan jakolaudan kautta optisia kuituja pitkin jokaiselle kortille Optisten vastaanottimien ja nopeiden komparaattorien avulla signaalit muutetaan takaisin sähköiseen muotoon Kortilla oleva CPLD piiri toteuttaa tarvittavan laskurilogiikkan ja PCI/PCI-X tilakoneen Ulkoisen ohjelmoitavan PLL avulla 10MHz taajuus nostetaan 125MHz, jolloin laskurin resoluutio on 8ns SynPCI-X 2/3 Laskuri logiikka Välimuisti (32bit) 10Mhz LATCH PLL 1PPS Laskuri (32bit) PCI/PCI-X logiikka PPS arvo (32bit) PCI/PCI-X väylä SynPCI-X 3/3 Ongelmat 5 voltin PCI väylät PCI-logiikka ei toimi kunnolla kaikkien emolevyjen 133MHz PCI-X väylässä Laskurilogiikan ja PCI-logiikan tiedonvälitys ongelmat Osa ongelmista saatu korjattua ohjelmallisesti ajurissa Lämpötilan vaikutus Kuvaajassa NTP synkronisoitu Linux kone yhden kytkimen yli Lämpötilan vaikutus nähtävissä 4 minuutin viiveellä Kellon aikapoikkeama kymmeniä mikrosekunteja kiteen lämpötilan muuttuessa vain asteen kymmenyksiä Mittauslaitteisto 1/3 Pakettien generointiin käytettiin Spirentin AX/4000 mittalaitetta Kaappauskoneet Supermicro 3U Dual Opteron 2.2GHz PC Kaksi Supermicron 1U Celeron 2.66GHz PC:tä Mediamuuntimen avulla optisesta muodosta sähköiseen muotoon Paketit monistettiin 1Gbit kuparijakajien avulla koneille Koneiden sarjaporttiin tuotiin 1PPS signaali keskeytysviiveen mittausta varten Mittauslaitteisto 2/3 Mediamuunnin AX/4000 Jakaja Jakaja Jakaja 10MHz GPS Jakolauta 1PPS Celeron 1 Opteron Hallinta kytkin Celeron 2 Mittauslaitteisto 3/3 AX/4000 generoimien pakettien aikaleiman resoluutio 10ns Tarkkuus gigabitin Ethernetissä muutamia satoja nanosekunteja Jakajat ja mediamuuntimet jokainen aiheuttaa n. 300ns vakioviiveen Opteron koneessa kaappauskortin keskeytyksille varattu toinen prosessori Celeron koneissa Linuxin ydin päivitetty tukemaan reaaliaika prioriteettia Mittaustulokset Mittauksissa kulkuaikaviive määritettiin vähentämällä paketin aikaleimasta AX/4000 generoima aikaleima Kulkuaikaviiveestä piirretty jakauma kertoo aikaleimauksen tarkkuudesta Opteron koneessa keskeytysviive maksimissaan alle 20μs ja Celeron koneissakin alle 50μs 99% paketeista muutaman mikrosekunnin sisällä Mittaustulokset Johtopäätökset SynPCI-X kortin avulla synkronoidussa koneessa suurin pakettien aikaleimojen virheen aiheuttaja on keskeytysviive Lämpötilan muutokset eivät vaikuta kellon tarkkuuteen NTP synkronoidussa koneessa keskeytysviiveen lisäksi lämpötilan muutokset aiheuttavat kellovirhettä Jatkokehitysideat Keskeytysviiveen optimointi SynPCI-X kortista PCI Express versio MSI/MSI-X keskeytysten hyödyntäminen IEEE 1588 standardin mukaiset verkkokortit Kysymyksiä? Kiitos!