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

Monotonic Clock

মোনোটোনিক ঘড়ি

শুধু এগোয়, পেছায় না — elapsed time মাপার ঘড়ি; wall clock-এর NTP step-এর ছোঁয়া নেই।

start = time.monotonic()
do_work()
elapsed = time.monotonic() - start     # কখনো negative হয় না
  • Semantics: কোনো reference epoch নেই, দুই machine-এর value তুলনীয় নয় — শুধু নিজের machine-এর ব্যবধানই অর্থবহ
  • time.time() wall clock — NTP step-এ পেছনে লাফায়; timeout, rate limit, lease expiry-র measurement সব monotonic-এ
  • Distributed-এ ভূমিকা দুই স্তরে: local timer/timeout monotonic-এ, cross-machine ordering logical clock-এ — wall clock কোথাও নয়