Dlaczego komputery mają problem z precyzyjnym określeniem czasu?

Komputery mają problem z wskazaniami właściwego czasu. Na taki stan rzeczy wpływa wiele czynników.

Komputery potrafią wykonywać różne zadania, w tym również te bardziej skomplikowane mocno obciążające procesor. Biorąc to pod uwagę aż ciężko uwierzyć, że mają problem z... dokładnym utrzymywaniem aktualnego czasu.

Na problem ten zwrócił uwagę w wystąpieniu podczas konferencji Association for Computing Machinery’s Applicative George Neville-Neil, inżynier oprogramowania współpracujący z instytucjami finansowymi i innymi organizacjami, w których działalności dokładność z jaką określany jest czas jest bardzo ważnym elementem.

"Aby uzyskać bardziej dokładny czas, bliższy temu prawdziwemu, pod uwagę należy wziąć bardzo wiele zmiennych" - powiedział Neville-Neil, który pracuje nad Precision Time Protocol (PTP; standard IEEE), czyli protokołem precyzyjnej synchronizacji czasu poprzez Ethernet umożliwiającym uzyskanie dokładności synchronizacji czasu na znacznie lepszym poziomie niż przy standardzie Network Time Protocol (NTP).

Wiele szkodliwych czynników

Zegar komputera wrażliwy jest na wiele czynników, takich jak niestabilność sieci, opóźnienia wprowadzane przez oprogramowanie, a nawet warunki środowiskowe. Wykorzystuje on oscylator krystaliczny, który niestety w wielu przypadkach jest bardzo niskiej jakości, co przekłada się oczywiście na znaczne obniżenie dokładności. Ponadto na drgania kryształu wpływ ma obciążenie systemu (wzrost temperatury zwiększa częstotliwość).

Neville-Neil przeprowadził domowe testy wykorzystując swój laptop. Porównał jego wskazania z wskazaniami bardzo drogiego i precyzyjnego zegarka. Okazało się, że zegar systemowy w ciągu dwóch godzin "odjechał" o 15 milisekund. To podobno "typowe zachowanie".

Czy to ważne?

Oczywiście takie odchylenia dla zwykłego użytkownika nie mają praktycznie żadnego znaczenia. Jak już wspomnieliśmy, są jednak dziedziny, w których od systemów komputerowych wymaga się precyzji na bardzo wysokim poziomie. Dla przykładu możemy tutaj wymienić systemy rozproszone wykorzystujące wiele serwerów pracujących nad jednym zadaniem, czy wrażliwe czasowo aplikacje automatyki przemysłowej, telekomunikacji oraz energetyki.

Więcej informacji na temat Precision Time Protocol


Zobacz również