अब 'Leap Second' को अतीत में छोड़ देने का समय आ गया है
(engineering.fb.com)- Leap Second को पृथ्वी के घूर्णन वेग के कारण पैदा होने वाले UT1 (Universal Time) और UTC के बीच अंतर को ठीक करने के लिए लागू किया गया था
- इससे UTC को खगोलीय अवलोकन जैसे विभिन्न उद्देश्यों के लिए इस्तेमाल किया जा सकता है, इसलिए इसका मुख्य लाभ वैज्ञानिकों और खगोलशास्त्रियों को मिला
- यदि UTC को समायोजित न किया जाए, तो खगोलीय अवलोकन के लिए UTC के साथ सिंक होने वाले legacy उपकरणों और software को ठीक करना पड़ेगा
- Leap Second प्रस्तावित होने के बाद से अब तक UTC को कुल 27 बार समायोजित किया गया है
- 1972 में Leap Second वैज्ञानिक समुदाय और telecom industry दोनों को संतुष्ट करने वाला एक स्वीकार्य समाधान था, लेकिन अब UTC न तो digital applications के लिए अच्छा है और न ही वैज्ञानिकों के लिए
→ वे अक्सर TAI (International Atomic Time) या UT1 को चुनते हैं - Meta भविष्य में Leap Second जोड़ने को बंद करने और मौजूदा स्तर 27 को बनाए रखने के लिए उद्योग के प्रयासों का समर्थन कर रहा है
- नया Leap Second जोड़ना लाभ से अधिक हानि वाला एक जोखिमपूर्ण अभ्यास है, और अब इसे बदलने के लिए नई तकनीक अपनाने का समय है
Leap of Faith
- पृथ्वी के घूर्णन की अनियमितता में योगदान देने वाले कई कारणों में से एक यह है कि दुनिया के सबसे ऊँचे पहाड़ों की स्थायी बर्फ लगातार पिघलती और फिर जमती रहती है
- इसे घूमती हुई figure skater की कल्पना करके आसानी से समझा जा सकता है
- अब तक केवल positive Leap Second ही रहे हैं, इसलिए 23:59:59 और 00:00:00 के बीच बस 23:59:60 का एक अतिरिक्त सेकंड जोड़ना पड़ता था,
लेकिन पृथ्वी के घूर्णन पैटर्न में बदलाव के साथ भविष्य में किसी समय negative Leap Second आने की संभावना अधिक है
तब 23:59:58 के बाद सीधे 00:00:00 आना होगा - इस negative Leap Second के प्रभाव का बड़े पैमाने पर कभी परीक्षण नहीं किया गया है, और timer या scheduler पर निर्भर software पर इसका घातक असर पड़ सकता है
Smearing
- हाल के समय में केवल घड़ी को थोड़ा धीमा या तेज करके Leap Second को धीरे-धीरे 'smear' करना आम प्रथा बन गया है
- इसे करने का कोई सार्वभौमिक तरीका नहीं है, लेकिन Meta में Leap Second को 00:00:00 से शुरू करके 17 घंटे में smear किया जाता है
- क्योंकि सैकड़ों NTP server साथ मिलकर Stratum 2 में यह प्रक्रिया चलाते हैं, इसलिए अगर smearing बहुत बड़ा हो जाए तो NTP client इसे त्रुटि मानकर quorum से बाहर कर सकते हैं, और इससे outage हो सकता है
- 00:00:00 से शुरू करना भी standardized नहीं है, इसलिए कई विकल्प हो सकते हैं
→ उदाहरण के लिए, कोई कंपनी 12:00:00 UTC से शुरू करके इसे 24 घंटे तक चला सकती है - Smearing के अपने अलग algorithms भी हैं: kernel Leap Second adjustment, Linear Smearing, Quadratic (जिसका उपयोग Meta करता है)
- इन सबके लिए Meta के अपने Time Appliance सहित महत्वपूर्ण conversion logic की आवश्यकता होती है
- अगर इस smearing अवधि के दौरान NTP server restart हो जाए, तो "Old" और "New" समय client तक जा सकते हैं और outage हो सकता है
The negative impact of Leap Seconds
- Leap Second और उसका offset पूरे उद्योग में समस्याएँ पैदा करते हैं
- Outage होने का सबसे आसान तरीका यह है कि code इस मान्यता के साथ लिखा जाए कि समय हमेशा आगे ही बढ़ता है
start := time.Now()
// do something
spent := time.Now().Sub(start)
- ऊपर दिए गए
spentका उपयोग कैसे होता है, इस पर निर्भर करते हुए Leap Second अवधि के दौरान यह negative भी हो सकता है - Reddit में 2012 में Leap Second के कारण बड़ा outage हुआ था, और साइट 30–40 मिनट तक उपलब्ध नहीं थी
- Cloudflare ने 2017 में कंपनी के public DNS पर पड़े प्रभाव के बारे में एक विस्तृत लेख प्रकाशित किया था
Moving beyond the leap second
- Leap Second घटनाएँ पूरे उद्योग में समस्याएँ पैदा करती हैं और लगातार बड़े जोखिम अपने साथ लाती हैं
- व्यवहारिक कामकाज में, हर बार जब Leap Second लागू किया जाता है, हमें समस्याओं का सामना करना पड़ता है
- और क्योंकि यह बहुत दुर्लभ घटना है, हर बार होने पर communities अस्त-व्यस्त हो जाती हैं
- सभी उद्योगों में clock precision की माँग बढ़ने के साथ, Leap Second अब लाभ से अधिक हानि पहुँचाता है और outage का कारण बनता है
- Meta के engineers के रूप में, हम भविष्य में Leap Second जोड़ना बंद करने और मौजूदा स्तर 27 को बनाए रखने के लिए मज़बूत समर्थन दे रहे हैं, जिसे हम अगले एक हज़ार वर्षों के लिए पर्याप्त मानते हैं
5 टिप्पणियां
वाह, यह वाकई बहुत दिलचस्प विषय है! लेकिन उम्म्… यह तो समझ आ रहा है कि leap second जोड़ना बड़ी बात है, पर 27 सेकंड बनाए रखने के लिए कौन-सी बड़ी मेहनत की जा रही है, यह मैं समझ नहीं पाया।
शायद इसका मतलब ये चीज़ें हैं
https://hi.news.hada.io/topic?id=1752
लेख का शीर्षक कुछ अजीब है
Twitter bot या Slackbot ने जो संदेश भेजा है, उसका शीर्षक तो ठीक है, लेकिन साइट पर दिखने वाला अजीब लग रहा है।
ओह, लगता है कुछ गड़बड़ थी। मैंने उसे ठीक कर दिया है।