Foundationপ্রথম নীতি থেকে
LEVEL 9 · Distributed Systems

Clock Skew

ক্লক স্কিউ

দুই machine-এর ঘড়ির পার্থক্য — NTP-তেও কয়েক ms থেকে যায়, তাই wall-clock দিয়ে event ordering অবিশ্বস্ত।

প্রতিটা crystal oscillator নিজের গতিতে চলে — drift প্রতি দিনে ms-scale, sync ছাড়া সেকেন্ড-scale। Sync-ও bound দেয়, zero নয়:

machine-1: t = 10:00:00.000   write A
machine-2: t = 09:59:59.997   write B   ← ঘড়ি পিছিয়ে, কিন্তু B পরে!
  • LWW (last-write-wins) system-এ skew-এর ফল: আগের লেখা পরের লেখাকে গিলে ফেয়ে যেতে পারে — নীরবে, কোনো error ছাড়া
  • Spanner-এর TrueTime ভিন্ন পথ: skew লুকায় না, uncertainty interval [earliest, latest] হিসেবে algorithm-কে সোজা handover করে
  • Ordering দরকার হলে সমাধান physical clock নয় — logical/vector clock