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

انقلاب سرعت در لینوکس؛ بوت شدن سیستم از ۴ دقیقه رسید به نیم ثانیه!

Linux Boot Memory Allocator Speedup

بی تعارف بگوییم؛ تا حالا شده سیستم‌تان موقع بالا آمدن مثل لاک‌پشت کار کند و کلافه‌تان کند؟ خبر خوب اینکه دنیای متن‌باز قرار است دوباره ما را شگفت‌زده کند! تازهus ترین آپدیت برای Kernel لینوکس نشان می‌دهد که بخش مدیریت حافظه در همان لحظات اولیه بوت شدن سیستم، یک آپدیت خفن گرفته که سرعتش را از حدود ۲۶۸ ثانیه رسانده به چیزی حدود ۵۰ میلی‌ثانیه! یعنی فک کنید کاری که نزدیک ۴ دقیقه طول میکشید، حالا در یک چشم به هم زدن انجام می‌شود.

این شاهکار عجیب و غریب به لطف تلاش‌های یک مهندس گوگل به نام Tarun Sahu اتفاق افتاده است. ماجرا از این قرار است که سیستم اختصاص دادن حافظه فیزیکی در روزهای اول بوت سیستم (یعنی همان زمانی که هنوز سیستم اصلی صفحه بندی حافظه فعال نشده) یک نقص کوچک داشت و برای پیدا کردن فضاهای خالی، از یک روش جستجوی خطی یا همان linear search استفاده می‌کرد؛ روشی که مثل این است که بخواهید یک کتاب را صفحه به صفحه بگردید تا نام یک نفر را پیدا کنید!

Kernel Performance Optimization

ماجرا از چه قرار است و چرا اینقدر کند بود؟

وقتی سیستم زیر فشار کارهای سنگین باشد و اصطلاحاً fragmentation یا تکه‌تکه شدن حافظه بالا برود (مثلاً وقتی از قابلیت خفن Kernel Handover یا همان KHO استفاده می‌کنید که توی به‌روزرسانی‌های بدون ری‌استارت و Live Update کاربرد دارد)، جستجوی خطی ساده کم می‌آورد. این یعنی سیستم مجبور بود تکه‌های پخش و پلا شده حافظه را یکی‌یکی و با حوصله زیاد اسکن کند که زمان بسیار زیادی می‌برد.

این مهندس گوگل متوجه شد اگر این جستجوی کند را با یک binary search یا همان جستجوی دودویی جایگزین کنند، همه‌چیز زیر و رو می‌شود. با این تغییر هوشمندانه، پیچیدگی بدترین حالت ممکن از حالت قبلی به شدت کاهش پیدا کرد.

“استفاده از binary search باعث می‌شود پیچیدگی سیستم در بدترین حالت به شدت افت کند و زمان بازیابی حافظه KHO از حدود ۲۶۸ ثانیه به چیزی در حدود ۵۰ میلی‌ثانیه کاهش یابد.”

این بهینه‌سازی خفن حالا به عنوان بخشی از درخواست ادغام یا همان pull request جدید برای Kernel لینوکس ارسال شده و به زودی همه‌ی ما از لذت یک بوت فوق‌العاده سریع بهره‌مند می‌شویم. این یعنی لینوکس روز به روز دارد سریع‌تر، بهینه‌تر و بی‌رقیب‌تر می‌شود.

منبع اصلی: Phoronix (Linux News) | 2 آبان 1405

خسرو عظیمی

خسرو عظیمی هستم. علاقه مند به دنیای اوپن سورس و IT، لینوکس، امنیت، وب و برنامه نویسی. در حال حاضر توسعه دهنده وب، کارشناس سئو و ادمین سیستم عامل هستم. لینک سایت شخصی: khosro-azimi.ir

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا