मेरा कंप्यूटर समय कहाँ से लाता है?
(dotat.at)- कंप्यूटर का समय आमतौर पर NTP से शुरू होता है, लेकिन उसके पीछे reference clocks, GPS, US Naval Observatory, और अंतरराष्ट्रीय समय मानकों तक जाती एक लंबी सप्लाई चेन होती है
- stratum 1 NTP सर्वर MSF·DCF77 जैसे radio signals या GPS receivers को reference clock की तरह इस्तेमाल करते हैं, और वास्तविक दुनिया में GPS एक आम स्रोत होता है
- GPS समय का स्रोत कोलोराडो के Schriever Space Force Base, US Naval Observatory Alternate Master Clock, और वॉशिंगटन DC के US Naval Observatory तक जाता है
- UTC एक ऐसा मानक है जो atomic clock time और पृथ्वी के घूर्णन के बीच सामंजस्य बनाए रखता है, और IERS के Bulletin C तथा BIPM के Circular T leap seconds और आधिकारिक UTC अंतर को प्रबंधित करते हैं
- सेकंड की मौजूदा cesium-आधारित परिभाषा 1955~1958 के बीच Louis Essen·Jack Parry की atomic clock, William Markowitz के astronomical observations, और WWV radio time signals को जोड़ने वाले calibration कार्य से आई है
NTP से शुरू होने वाली समय की परतें
- कंप्यूटर समय कहाँ से लाता है, इसका सबसे छोटा जवाब NTP है
- लेकिन NTP सर्वर भी समय खुद पैदा नहीं करते, और स्रोत का पीछा करें तो कई परतें सामने आती हैं
- NTP समय को stratum संरचना में वितरित करता है
- stratum 3 NTP सर्वर stratum 2 NTP सर्वर से समय लेते हैं
- stratum 2 NTP सर्वर stratum 1 NTP सर्वर को आधार मानते हैं
- stratum 1 NTP सर्वर सीधे reference clock से समय लेते हैं
- reference clock ब्रिटेन के MSF, जर्मनी के DCF77 जैसे radio signals भी हो सकते हैं, लेकिन कई मामलों में GPS receiver होने की संभावना अधिक होती है
GPS समय और US Naval Observatory
- GPS समय के स्रोत का पीछा करें तो बात कोलोराडो के Schriever Space Force Base तक पहुँचती है
- Schriever में कई अत्यंत गोपनीय satellites और संबंधित मिशन हैं, इसलिए उसके क़रीब जाकर अच्छी तस्वीरें लेना मुश्किल है
- वहाँ US Naval Observatory Alternate Master Clock मौजूद है
- यह alternate master clock वॉशिंगटन DC के US Naval Observatory से समय प्राप्त करता है
USNO समय मिलाने के तीन आधार
-
atomic clocks
- US Naval Observatory का पहला आधार बहुत सारी atomic clocks हैं
- rack-mounted cesium beam clocks, hydrogen maser वाले black boxes, और rubidium fountains इस्तेमाल किए जाते हैं
- USNO के पास इतनी घड़ियाँ हैं कि atomic clocks के लिए अलग इमारत है
- Apple Maps में USNO campus के बीच एक बड़ा construction site दिखा, जिसकी पुष्टि नई clock building के रूप में हुई
- clock accuracy की मुख्य सीमा तापमान और आर्द्रता जैसी environmental stability है, और नई इमारत में शक्तिशाली air-conditioning systems होंगे
-
पृथ्वी के घूर्णन की जानकारी
- दूसरा आधार यह है कि UTC, atomic clock time और पृथ्वी के घूर्णन समय के बीच एक समझौता है
- USNO को संबंधित जानकारी पेरिस वेधशाला पर आधारित अंतरराष्ट्रीय पृथ्वी-घूर्णन सेवा IERS से मिलती है
- IERS साल में दो बार Bulletin C भेजता है, जिसमें बताया जाता है कि 6 महीने बाद leap second होगा या नहीं
- UTC को पृथ्वी के घूर्णन के साथ मिलाए रखने के लिए leap second जोड़ा या हटाया जा सकता है
- IERS Bulletin A पृथ्वी अभिविन्यास पैरामीटर की सटीक जानकारी वाला साप्ताहिक नोटिस है, जिसे US Naval Observatory भेजता है
- GPS को सटीक position देने के लिए satellites के नीचे पृथ्वी की दिशा सही-सही जानना ज़रूरी है
-
atomic clocks का सत्यापन
- तीसरा आधार वह जानकारी है जिससे पुष्टि होती है कि USNO की atomic clocks सही काम कर रही हैं
- यह जानकारी पेरिस के BIPM से आती है, जो दुनिया का मानक UTC बनाए रखता है
BIPM, UTC, SI second
- BIPM दुनिया भर की राष्ट्रीय time laboratories के time measurements को इकट्ठा करके आधिकारिक UTC तय करता है
- समय-समय पर प्रकाशित होने वाले Circular T में आधिकारिक UTC और अलग-अलग देशों की time laboratories के UTC के बीच अंतर की जानकारी होती है
- BIPM पर अंतरराष्ट्रीय इकाई प्रणाली SI को बनाए रखने की ज़िम्मेदारी भी है
- SI को CGPM परिभाषित करता है, और CGPM 1875 की Meter Convention से स्थापित एक अंतरराष्ट्रीय संधि संगठन है
- UTC, cesium atom के quantum measurements पर आधारित SI time unit का कार्यान्वयन है
- सेकंड की मौजूदा परिभाषा में आने वाला लगभग 9.2GHz का अंक शुरुआती cesium atomic clock calibration से आया है
cesium atomic clock और astronomical second के बीच संबंध
- 1955 में Louis Essen और Jack Parry ने पहली cesium atomic clock बनाई, और सेकंड की मौजूदा परिभाषा इसी घड़ी के calibration से निकली
- atomic clock से पहले सेकंड की परिभाषा astronomy पर आधारित थी, इसलिए Essen और Parry को यह पता लगाना था कि उनकी atomic clock पुराने time standard की तुलना में कितनी तेज़ टिक कर रही थी
- इस कड़ी को जोड़ने के काम में US Naval Observatory के astronomers शामिल थे
- William Markowitz ने आकाश का अवलोकन करके समय मापा
- Louis Essen ने atomic clock देखकर समय मापा
- दोनों मापों को मिलाने के लिए दोनों ने वॉशिंगटन DC के National Bureau of Standards द्वारा प्रसारित WWV radio time signals सुने
- यह काम 1955~1958 के बीच 3 साल तक चला
- Markowitz ने जो मापा वह ephemeris second था
- 1952 में International Astronomical Union ने समय की परिभाषा को पृथ्वी के घूर्णन के बजाय सूर्य के चारों ओर पृथ्वी की कक्षा पर आधारित कर दिया
- 1930 के दशक में पता चला कि पृथ्वी का घूर्णन पूरी तरह स्थिर नहीं है और थोड़ा-थोड़ा धीमा और तेज़ होता रहता है
- जब घड़ियाँ पृथ्वी के घूर्णन से भी अधिक सटीक हो गईं, तब ephemeris second एक अधिक सटीक नया time standard बन गया
- ephemeris second सौर मंडल के गणितीय मॉडल ephemeris पर आधारित है
- मानक ephemeris Simon Newcomb ने 1800 के दशक के उत्तरार्ध में बनाया था
- Newcomb ने विशाल ऐतिहासिक astronomical data इकट्ठा करके एक mathematical model बनाया
- यह मॉडल 1980 के दशक के मध्य तक मानक बना रहा
- Simon Newcomb ने भी US Naval Observatory और US nautical almanac office में काम किया था
- इससे भी पहले, घड़ियों को मिलाने का अधिक सीधा तरीका आकाश में तारों की चाल को देखकर समय निर्धारित करना था
- कंप्यूटर समय का स्रोत Royal Greenwich Observatory नहीं है
1 टिप्पणियां
Hacker News की राय
समय बनाए रखने से जुड़ा NIST Randomness Beacon भी है: https://csrc.nist.gov/projects/interoperable-randomness-beac...
यह prototype हर 60 सेकंड में 512-bit blocks के रूप में पूरी entropy bit string generate करके publish करता है, और हर value के साथ sequence number, timestamp और signature जुड़ा होता है; साथ ही previous value का hash भी शामिल होता है, जिससे values chain में बंध जाती हैं
यहां “समय को blockchain पर डालना” वाला मज़ाक था, लेकिन एक तरह से NIST पहले से ही कुछ वैसा कर रहा है
इसमें consensus की ज़रूरत नहीं होती, और यह single author वाले Git repository जैसा है
किसी public लंबी random string को chain पर चढ़ाना, यह prove करने के अलावा कि कोई घटना किसी खास समय से पहले नहीं हुई थी, क्यों उपयोगी है—यह मुझे साफ़ समझ नहीं आता
अगर कुछ keys वाला कोई भरोसेमंद time source हो जो बदलेगा नहीं और जिसे कोई भी retransmit कर सके, तो यह काफी उपयोगी लगता है
इससे manual setup के बिना nearest phone या computer से time लेने वाली zero-configuration घड़ी भी संभव हो सकती है
अगर computer को time auto-sync न करने दें, तो यह देखना चौंकाने वाला है कि time कितनी जल्दी drift करता है
मेरा main desktop अभी 1.7 seconds आगे है, और संभव है कि कई हफ्तों से clock update न हुई हो
फिर भी यह बहुत ज़्यादा नहीं है; दूसरे systems इससे कहीं ज़्यादा गलत हो सकते हैं
NTP से automatically set क्यों नहीं करता? शायद drift rate देखना हो, या running services जितनी कम हो सकें उतनी रखना चाहूं, या सामने वाला Ethernet switch बहुत ज़्यादा blink न करे यह चाहूं, या जब clock बहुत गलत हो जाए तो क्या-क्या टूटता है यह याद करना चाहूं
आखिर जवाब है “क्योंकि मैं ऐसा चाहता हूं”, और कई computers की internal clocks या crystals बिल्कुल precise नहीं होते
20ppm के हिसाब से एक हफ्ते में लगभग 12 seconds तक गलती हो सकती है
motherboard में शायद cr2032 battery होती है, जो power हटने पर भी time बनाए रखती है
crystal example: https://www.digikey.com/en/products/filter/crystals/171?s=N4...
मुझे यह design पसंद आया, क्योंकि NTP ठीक करने पर time आगे jump करता है और “एक ही पल को दो बार जीने” के बजाय perceived time में gap बनता है
इसलिए मैंने सोचा था कि जैसे speedometer जानबूझकर थोड़ा ज़्यादा दिखाते हैं, वैसे ही crystals भी जानबूझकर थोड़े slow बनाए जाते हैं ताकि computer future में फिसल न जाए
2 हफ्तों में 30 seconds का drift जमा हो गया, और Prometheus ने alert किया, लेकिन शुरुआत में मैंने गलत अंदाज़ा लगाया कि यह warning single node पर सब कुछ चलाने की वजह से है
metrics query करते समय drift की वजह से error आते देख, मैंने server और laptop पर
date +'%s'output compare किया तो अंतर 30 seconds से काफी ज़्यादा निकलाtemperature-compensated RTC IC 5ppm से कम भी कर सकते हैं, और practically यह celestial navigation करने के लिए पर्याप्त है—जो navigation chronometers का पारंपरिक काम रहा है
2011 में chip-scale atomic clock आया था, जो काफी महंगा है और power भी ज़्यादा खाता है, लेकिन time को 50ppt के भीतर बनाए रखता है
व्याख्या दिलचस्प है, लेकिन यह format जानकारी देने के लिए बहुत असुविधाजनक है
slides हटाकर इसे लगातार paragraphs में फिर से लिखना और सिर्फ मुख्य images को supporting material के रूप में वापस जोड़ना बेहतर होता
यह बताना कि presentation हुआ था, recording upload करना, बिना explanation के slides को PDF आदि के रूप में upload करना, slides को HTML page पर रखकर presenter ने जो कहा होगा उसे साथ में जोड़ना, और आखिर में पूरी चीज़ को paragraph-style article के रूप में फिर से लिखना
यहां 1 से 4 तक किया गया है, और 5 तक नहीं किया गया—इसकी शिकायत करना काफ़ी बड़ा extra काम मांगने जैसा है, इसलिए कुछ कहना मुश्किल है; वैसे भी presentation को पढ़ने योग्य रूप में डाल दिया, यही काफीありがत है
mobile पर, खासकर शुरुआती version में, पढ़ना मुश्किल था—इससे सहमत हूं, लेकिन “annotated talk” format अपने-आप में बुरा नहीं है
उदाहरण के लिए https://idlewords.com/talks/ का https://idlewords.com/talks/superintelligence.htm, https://noidea.dog/talks का https://noidea.dog/impostor, और https://simonwillison.net/tags/annotatedtalks/ का https://simonwillison.net/2022/Nov/26/productivity/ जैसे examples हैं; CSS को थोड़ा adjust करके images को दाईं तरफ रखने जैसा किया जाए तो पढ़ना और आसान हो सकता है
जैसे “यहां NTP packet की तस्वीर है” के बाद desk पर बैठे आदमी की photo आ जाना
पसंद आया
कई devices में common तौर पर इस्तेमाल होने वाला resource NTP Pool भी उल्लेख के लायक है
यह volunteers द्वारा चलाया जाने वाला NTP servers का group है, और खासकर open source ecosystem वाले devices में अक्सर चुना जाता है
Microsoft, Apple, Google अपने-अपने time servers चलाते हैं, लेकिन बाकी अधिकांश के लिए NTP Pool एक शानदार resource है: https://www.ntppool.org/en/
मजेदार था, लेकिन machine room environment में dome antenna लगातार लगाए रखना मुश्किल था
special cables पसंद नहीं थे, और roof access security व leakage के लिहाज से headache था
आजकल rubidium clocks भी काफी सस्ती हैं
अभी Raspberry Pi के साथ Bert Hubert के GPS drift/availability project में participate कर रहा हूं, जो home office की खिड़की के बाहर GPS visibility और availability measure करता है; यह वाला कहीं ज्यादा मजेदार है
वह क्षण दिलचस्प होता है जब measurement instrument या measurement method reference material से भी ज्यादा precise, stable और reliable हो जाता है
और कोई—अक्सर कोई एक व्यक्ति—आखिरकार यह बात discover करता है, या कुछ मामलों में खुद ऐसा बना देता है
Ephemeris second solar system के mathematical model यानी ephemeris पर आधारित था; standard ephemeris वह model था जिसे Simon Newcomb ने 1800s के आखिर में विशाल historical astronomical data इकट्ठा करके बनाया था, और यह 1980s के मध्य तक standard रहा
1952 में International Astronomical Union ने time को Earth के rotation के बजाय Earth के Sun के चारों ओर orbit के आधार पर define करने के लिए बदल दिया, क्योंकि 1930s में यह पता चला था कि Earth का rotation पूरी तरह uniform नहीं है और थोड़ा-थोड़ा धीमा या तेज होता रहता है
clocks अब Earth के rotation से ज्यादा precise हो चुकी थीं, और ephemeris second नया, ज्यादा precise time standard बन गया
अगर आधार Earth का rotation था, तो Newcomb ने जो “विशाल historical astronomical data” इकट्ठा किया था, वह किस तरह का data था?
समय के साथ बदलती Earth rotation speed को ही आधार बनाकर time की length को reliably capture और store कैसे किया जा सकता था—यह सवाल है; शायद वह किसी और natural phenomenon से तुलना किए गए data पर आधारित रहा होगा
Big Time पर बहुत ज्यादा निर्भर न रहने के लिए, मुझे लगता है कि community-maintained और democratized time tracking standard की जरूरत है
True Time™ दुनिया भर की labs की दर्जनों atomic clocks का basically average निकालकर तय होता है, इसलिए इससे ज्यादा “community-maintained” और “democratized” होना मुश्किल लगता है
redundancy और consensus काफी दिखते हैं, लेकिन कौन-सा system fail होगा, किस timeline पर problems आएंगी, और recovery कैसे होगी—यह जानना चाहूंगा
second-level accuracy भी बेतुकी उम्मीद नहीं लगती, हालांकि calibration में अव्यावहारिक रूप से बहुत लंबा समय लग सकता है
DARPA Robust Optical Clock Network (ROCkN) program को fund कर रहा है
इस program का लक्ष्य ऐसी optical atomic clocks बनाना है जिनका size, weight और power (SWaP) कम हो, accuracy और holdover performance GPS atomic clocks से बेहतर हो, और जिन्हें laboratory के बाहर भी इस्तेमाल किया जा सके
अधिकांश बड़े cloud providers GPS से time लेते हैं, लेकिन GPS न होने पर भी accurate time बनाए रखने के लिए Open Compute Time Card-class equipment deploy कर चुके हैं
https://www.darpa.mil/news-events/2022-01-20
अगर आपके पास Raspberry Pi बचा हुआ है और आप खुद Stratum 1 NTP server चलाना चाहते हैं, तो यह लेख है: https://austinsnerdythings.com/2021/04/19/microsecond-accura...
पुराने board में Ethernet port USB hub के पीछे होता है, जिससे network में millisecond स्तर का packet timing jitter आता है, और microsecond स्तर की NTP accuracy पाना मुश्किल होता है
मज़ा और बढ़ाना हो तो इसे insulated box में रखकर CPU load डालें ताकि यह गर्म रहे, और Raspberry Pi को oven-compensated crystal oscillator जैसा बना सकते हैं: https://blog.ntpsec.org/2017/03/21/More_Heat.html
Stratum 1 server उस server को कहते हैं जो Stratum 0 server से time लेता है
Slides का ज़्यादातर हिस्सा GPS या atomic clock जैसी time measurement की physics पर है
यह अपने-आप में दिलचस्प है, लेकिन यह समझने के लिए कि मेरा computer current time कैसे पाता है, ज़्यादा relevant सवाल यह है: “घर का computer remote time server से आए packet की delay time कैसे measure करता है?”
क्या कई round-trip time की duration measure करके उनके average को delay time माना जाता है, या किसी खास round trip के दौरान अचानक congestion हो जाए तो क्या होता है—ऐसे सवाल physical सवालों से भी ज़्यादा रहस्यमय लगते हैं
कौन-सा time source इस्तेमाल कर रहे हैं, इस पर सावधान रहना चाहिए
लगभग 10–15 साल पहले हमारे servers में से एक
tick.usno.navy.milऔरtock.usno.navy.milइस्तेमाल करने के लिए configured था, लेकिन Navy द्वारा भेजे जा रहे time में “समस्या” थीरातों-रात कई license servers authenticate नहीं कर पाए, और system में login नहीं हो पा रहा था
मुझे पता था कि SSH को भी कुछ मिनटों के भीतर accurate time चाहिए होता है, लेकिन उसी building के दूसरे office से locally login करके time mismatch देखा और time server तथा synchronization method बदलकर समस्या हल की
SSH time की बिल्कुल परवाह नहीं करता, जब तक कि आप बहुत कम lifetime वाले SSH certificates इस्तेमाल नहीं कर रहे हों