TGViewer
نوشته‌های ترمینالی نوشته‌های ترمینالی @terminal_stuff · 3.51K subscribers
Post #3255 1.99K
ساعتی که توی سیستم‌ها داریم معمولا با یه کریستال کوارتزی کنترل می‌شه و خب خطا هم داره. برای حل خطاش معمولا سیستم‌ها به یکسری سرور وصل می‌شن و تایمشون رو آپدیت می‌کنن، مثلا با پروتوکل NTP (یا همون network time protocol) که خیلی پروتوکل جالبیه و پیچیدگی‌های بامزه‌ای رو حل می‌کنه (ویدیوی اول رو ببینید)
این تنظیم زمان اگرچه خوبه اما یه گارانتی مهم رو از سیستم حذف میکنه: زمان دیگه فقط صعودی نیست!‌ ممکنه بین دو بار پرسیدن زمان، زمان اول از دوم بیشتر باشه!
این موضوع به همراه تاخیر شبکه و این که دقت NTP هم بینهایت نیست باعث می‌شه که ما نتونیم تو یه سیستم distributed با خوندن تایم فعلی سیستم و مقایسه‌ش با تایم فعلی یک سیستم دیگه، بفهمیم کدوم یکی از اتفاقات زودتر افتاده.
لزلی لمپورت در مقاله معروفش به این مشکل پرداخته.
Time, Clocks, and the Ordering of Events in a Distributed System

لزلی لمپورت در اصل فیزیک‌دان بوده و با دید فیزیک وارد distributed systemها می‌شه و چیزهای جالبی مثل الگوریتم Paxos و جنرال‌های بیزانسی (یا تحمل خطای بیزانسی) رو اختراع کرده.

لمپورت در زمینه ساعت‌ها یه مدل ارائه می‌ده که در اصل یه شمارنده‌ست که سیستم نرم‌افزاری بر اساس اتفاقاتی که برای خودش می‌افته یا پیام‌هایی که می‌فرسته یا می‌گیره بروزرسانی می‌کنه. این ساعت دیگه سعی نمی‌کنه «زمان واقعی دنیا» رو اندازه بگیره، بلکه فقط ترتیب علّی (causal ordering) اتفاقات رو مدل می‌کنه؛ یعنی اگر رویدادی باعث رویداد دیگه‌ای شده باشه، عدد ساعتش هم این رابطه رو حفظ می‌کنه. به این ترتیب بدون اینکه به ساعت فیزیکی یا هماهنگ‌سازی جهانی وابسته باشیم، می‌تونیم بفهمیم کدوم اتفاق قبل از کدوم یکی رخ داده و از همین مفهوم ساده، کلی الگوریتم و تضمین مهم در سیستم‌های توزیع‌شده ساخته می‌شه.


https://www.youtube.com/watch?v=Ihm6AYNFUKA
https://sookocheff.com/post/time/lamport-clock/
https://martinfowler.com/articles/patterns-of-distributed-systems/lamport-clock.html
https://lamport.azurewebsites.net/pubs/time-clocks.pdf
YouTube الپیک ۱ - ۰۶۲ - ماجول ۱۰۸.۱ - ۲/۲ - مدیریت زمان سیستم، سرویس‌های تنظیم زمان بر اساس NTP نگهداری زمان در سیستم‌عامل بسیار مهم است. برای کارهای مختلف، دانستن زمان دقیق الزامی است و در نتیجه حتی زمانی که کامپیوتر خاموش است هم باید بتواند زمان را تا حدی نگهداری کند تا بتواند در زمان روشن شدن، به عملکرد صحیح خود ادامه دهد. در بخش قبلی با زمان سنج…
  • ❤ 17
  • 👍 1
  • 👎 1
More from @terminal_stuff
  1. Sep 23, 2026I am done with this shit Article, Comments
  2. Sep 19, 2026اگه حوصله دارید ببینید به نظرم ایده های جالبی مطرح کرده.
  3. Sep 19, 2026اینو یادم رفته بود اینجا بذارم. یه گپ است در مورد هوش مصنوعی و اینکه چه فرصت هایی رو برای…
  4. Sep 17, 2026از زبون آمار: آیا AI کدهای خوبی می‌نویسه یا نه؟ وقتی تولید کد تقریباً مجانی و خیلی سریع ان…
  5. Sep 17, 2026photo post
  6. Sep 16, 2026یه مدل AI جدید معرفی شده که مطمین نیستم همون Reinforcement Learning خودمونه یا چیز جدیدیه…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →