لینوکس ۷.۴ بترکونه؛ بهینهسازی دیوانهوار و ۱۰۰ برابری در راه است!

حسابی قراره توی لینوکس ۷.۴ شگفتزده بشید! کمتر پیش میاد توی دنیای نرمافزار خبر از یه بهینهسازی خفن بدیم که سرعتت بین ۱۰ تا ۱۰۰ برابر بیشتر بشه. دنیای لینوکس قراره با این آپدیت جدید یه تکون اساسی بخوره و کارها رو با سرعتی باورنکردنی جلو ببره.
توی هسته لینوکس، چیزی داریم به اسم workqueue که کارهای مختلف رو به صورت غیرهمزمان و در پسزمینه مدیریت میکنه. حالا توی لینوکس ۷.۴ یه تغییر فوقالعاده روی این بخش پیاده شده که روی سرورهای غولپیکر و خفن امروزی مثل پردازندههای چند هستهای اینتل Xeon و AMD EPYC تأثیر مستقیم داره. داستان از این قراره که وقتی سیستم میخواد صفها رو خالی یا اصطلاحاً flush کنه، دیگه نیازی نیست دونهدونه تمام CPUها رو چک کنه؛ بلکه فقط سراغ اونهایی میره که از آخرین پاکسازی به بعد استفاده شدن. همین ترفند ساده باعث شده سرعت سیستمهای بزرگ بین ۱۰ تا ۱۰۰ برابر سریعتر بشه!
«حالا فرآیند پاکسازی workqueue فقط صفهایی رو بررسی میکنه که از آخرین بار تاکنون فعال بودن، نه تمام CPUهای ممکن. این یعنی سرعت انجام کارها روی ماشینهای بزرگ تا ۱۰۰ برابر بیشتر شده؛ چیزی که فایلسیستم XFS روی هر لاگ به شدت بهش نیاز داشت.»
این شاهکار توسط Tejun Heo، یکی از توسعهدهندگان قدیمی لینوکس کدنویسی شده. اعداد و ارقامی که از کامیتهای این تغییر بیرون اومده واقعاً دهنپُرکنه و نشون میده چقدر قراره همهچیز روونتر کار کنه:
«روی یک سیستم با ۱۹۲ هسته و ۲ نود، سرعت پاکسازی صفهای بیکار پردازنده از ۴۰ هزار بار در ثانیه به رقم خیرهکننده ۴.۲ میلیون بار رسیده! همچنین حالتهای دیگه هم با رشد چند برابری روبهرو شدن تا هیچ جائی برای افت سرعت باقی نمونه.»
رسیدن از سرعت ۴۰ هزار به ۴.۲ میلیون در هر ثانیه، اونم بدون اینکه دستی تو کار هوش مصنوعی باشه، یه دستاورد تاریخی و خفن برای لینوکس به حساب میاد.
ریشهی این بهینهسازی خفن برمیگرده به گزارشی که اوایل سپتامبر توسط Yao Kai، مهندس هوآوی، دربارهی سربار کارهای پردازنده مطرح شد. این یکی از جذابترین تغییراتیه که بالاخره برای نسخه جدید لینوکس ادغام شد و نوید یه سیستمعامل فوقالعاده پرقدرت رو میده.


