تأخیر (مهندسی)

تأخیر یا نهفتگی  در علوم مهندسی به بازهٔ زمانی بین محرک و پاسخ گفته می‌شود. تأخیر محصول محدودیت ذاتی سرعت پدیده‌های فیزیکی است.

تعریف دقیق تأخیر به سامانه‌ای که در حال مشاهده‌است و نیز به ماهیت محرک بستگی دارد. در ارتباطات معمولاً کمینهٔ تأخیر را ارزیابی می‌کنند و در یک سامانهٔ ارتباط دوطرفهٔ مورد اعتماد، تأخیر کنترل‌کنندهٔ حداکثر سرعت انتقال اطلاعات است.

ارتباطات 
بازی‌های آنلاین به تأخیر (یا لگ) حساس هستند، چرا که زمان‌های پاسخ سریع به رویدادهای جدیدی که در طول یک بازی رخ می‌دهند پاداش می‌گیرند، در حالی که زمان پاسخ آهسته ممکن است جریمه‌هایی را به همراه داشته باشد. به دلیل تأخیر در انتقال رویدادهای بازی، یک بازیکن که اتصال اینترنتی با تأخیر بالا دارد، ممکن است علی‌رغم زمان واکنش مناسب، پاسخ کندی از خود نشان دهد؛ بنابراین بازیکنانی که اتصالات با تأخیر کم دارند، یک مزیت فنی خواهند داشت.

بازار سرمایه 
در بازارهای سرمایه، به حداقل رساندن تأخیر اهمیت بسیاری دارد، مخصوصاً در جایی که برای پردازش به‌روزرسانی‌های بازار و چرخه دریافت، پردازش و ارسال سفارش‌ها از معاملات الگوریتمی در عرض میلی‌ثانیه استفاده می‌شود. در شبکه‌های مؤسسات مالی برای اتصال به بورس‌ها و شبکه‌های ارتباط الکترونیکی (ECN) برای اجرای تراکنش‌های مالی، معاملات با تأخیر کم اتفاق می‌افتد. در حال حاضر، تجارت الکترونیک ۶۰ تا ۷۰ درصد از حجم روزانه در بورس نیویورک و معاملات الگوریتمی نزدیک به ۳۵ درصد آن را تشکیل می‌دهد. تجارت با استفاده از رایانه به حدی توسعه یافته‌است که بهبود در سرعت شبکه حتی به میزان یک میلی ثانیه، مزیتی رقابتی برای مؤسسات مالی ایجاد می‌کند.

شبکه‌های سوئیچ بسته 

تأخیر شبکه، در یک شبکه سوئیچ بسته به دو صورت اندازه‌گیری می‌شود؛ یا به صورت یک طرفه (زمان ارسال بسته از منبع به مقصد دریافت‌کننده) یا تأخیر چرخشی (تأخیر یک طرفه از مبدأ به مقصد به اضافه یک زمان تأخیر یک-طرفه از مقصد به مبدأ). تأخیر چرخشی بیشتر مورد تأکید است، چرا که می‌شود آن را از یک نقطه اندازه‌گیری کرد. توجه داشته باشید که تأخیر چرخشی، مدت زمانی را که یک سیستم مقصد برای پردازش بسته صرف می‌کند، مستثنی می‌کند. بسیاری از پلتفرم‌های نرم‌افزاری، سرویسی به نام پینگ ارائه می‌دهند که می‌توان از آن برای اندازه‌گیری تأخیر چرخشی استفاده کرد. پینگ از درخواست اکو پروتکل کنترل پیام اینترنت استفاده می‌کند که باعث می‌شود گیرنده بسته دریافتی را به عنوان یک پاسخ فوری ارسال کند، بنابراین یک روش تقریبی برای اندازه‌گیری تأخیر چرخشی ارائه می‌کند. پینگ نمی‌تواند اندازه‌گیری‌های دقیق را انجام دهد. چرا که پروتکل کنترل پیام اینترنت، فقط برای اهداف تشخیصی یا کنترلی اختصاص یافته‌است و با پروتکل‌های ارتباطی واقعی مانند پروتکل انتقال فایل متفاوت است. علاوه بر این، روترها و ارائه‌دهندگان خدمات اینترنتی ممکن است سیاست‌های شکل‌دهی ترافیک متفاوتی را برای پروتکل‌های مختلف اعمال کنند. برای اندازه‌گیری دقیق‌تر، بهتر است از نرم‌افزارهای مخصوص استفاده شود: hping, Netperf یا Iperf.

با این حال، در یک شبکه غیر پیش پا افتاده، یک بسته معمولی از طریق چندین لینک و دروازه ارسال می‌شود، که هر کدام تا زمانی که بسته به‌طور کامل دریافت نشده باشد، شروع به ارسال آن نمی‌کنند. در چنین شبکه‌ای، حداقل تأخیر، مجموع تأخیر انتقال هر پیوند، به اضافه تأخیر ارسال هر دروازه است. در عمل، حداقل تأخیر همچنین شامل تأخیر در صف و پردازش است. تأخیر صف زمانی اتفاق می‌افتد که یک دروازه چندین بسته را از منابع مختلف دریافت می‌کند که به سمت یک مقصد حرکت می‌کنند. از آنجایی که معمولاً فقط یک بسته را می‌توان در یک زمان ارسال کرد، برخی از بسته‌ها باید برای ارسال در صف قرار گیرند و تأخیر بیشتری را متحمل شوند. تأخیرهای پردازشی زمانی رخ می‌دهد که یک دروازه تعیین می‌کند که با یک بسته تازه دریافت‌شده، چه کاری انجام دهد. بافربلات همچنین می‌تواند باعث افزایش تأخیر شود.

تأخیر، توان عملیاتی کل را در سیستم‌های ارتباطی دو طرفه قابل اعتماد محدود می‌کند که توسط محصول تأخیر پهنای باند تعریف داده شده‌است.

انواع تأخیر 
 تأخیر صف
 تأخیر پردازش
 تأخیر انتقال
 تأخیر پراکندگی

تأخیر صوتی 

تأخیر صوتی به معنای فاصلهٔ زمانی است بین وقتی که سیگنال صدا وارد سامانه می‌شود و زمانی که این سیگنال پدیدار می‌شود. از دلایل تأخیر می‌توان به سرعت صوت، مدت زمان لازم برای انتقال سیگنال، حافظه میانگیر، و تبدیل سیگنال آنالوگ به دیجیتال اشاره کرد.

سخت‌افزار و سیستم عامل کامپیوتر 

کامپیوترها، دستورالعمل‌ها را در چارچوب یک فرایند اجرا می‌کنند. در زمینه چندکارگی کامپیوتر، حتی اگر سایر فرایندها نیز در حال اجرا باشند، می‌توان اجرای فرایند را به تعویق انداخت. علاوه بر این، سیستم عامل می‌تواند زمان انجام عملی را که فرایند دستور می‌دهد، برنامه‌ریزی کند. به عنوان مثال، فرض کنید فرآیندی دستور می‌دهد که ولتاژ خروجی کارت کامپیوتر، بالا-پایین-بالا-پایین و به همین منوال با نرخ ۱۰۰۰ هرتز تنظیم شود. سیستم عامل فرایند را برای هر انتقال (بالا-پایین یا پایین-بالا) بر اساس ساعت سخت‌افزاری سیستم مانند تایمر HPET برنامه‌ریزی می‌کند. در اینجا، تأخیر، تأخیر بین رویدادهای تولید شده توسط ساعت سخت‌افزاری و انتقال واقعی ولتاژ از بالا به پایین یا پایین به بالا است.

بسیاری از سیستم عامل‌های دسکتاپ، محدودیت‌های عملکردی دارند که تأخیر بیشتری ایجاد می‌کند. این مشکل را می‌شود با افزونه‌ها و پچ‌های بی‌درنگ مانند PREEMPT_RT کاهش داد.

در سیستم‌های کامپیوتری با عملکردی مخصوص و هدفی مشخص (سیستم‌های جاسازی شده)، اجرای بی‌درنگ دستورالعمل‌ها اغلب توسط یک سیستم‌عامل بی‌درنگ پشتیبانی می‌شود.

منابع

پیوند به بیرون 
 شبیه‌سازی تأخیر لینک شبکه تحت لینوکس 

مبانی مهندسی
ویکی‌سازی رباتیک