تصور کنید سختترین بخشهای کدنویسی دنیا، جایی که حتی یک اشتباه کوچک میتواند میلیونها سرور را از کار بیندازد، حالا با کمک هوش مصنوعی بازنویسی شود. لینوس توروالدز، خالق لینوکس، دقیقاً همین ریسک را پذیرفت تا یکی از گلوگاههای قدیمی حافظه را از بین ببرد.
به نقل از اعلام توروالدز در ۱۳ اکتبر ۲۰۲۶، او برای توسعه مجموعهای از وصلهها (Patches) جهت رفع کندی حافظه کش، از Claude Code محصول شرکت Anthropic استفاده کرده است. او در گزارش ارسالی خود صراحتاً ذکر کرد که کدها، برنامههای تست و پیشنویس بررسیها همگی تحت نظارت او توسط یک مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — تولید شدهاند. توروالدز در Git Submission خود به طور صریح نوشت: «کدها، برنامههای تست، بررسیهای پشت لیست بالا و پیشنویس اول این متن با یک دستیار کدنویسی LLM (یعنی Claude Code) و تحت هدایت من انجام شده است.» او اشاره کرد که از هوش مصنوعی برای انجام کارهایی استفاده میکند که در آنها «ضعیف» است، که این نشاندهنده یک رویکرد عملگرایانه به مهندسی نرمافزار است.
این چرخش راهبردی در دیدگاه توروالدز، پس از سالها تردید رخ داده است. همانطور که در تحلیل قبلی ما دربارهی دیدگاه او به هوش مصنوعی به عنوان «داروی ورودی» برای برنامهنویسان اشاره کردیم، او اکنون از مرحلهی شناسایی باگها به مرحلهی پذیرش AI به عنوان یک شریک فعال در کدنویسی رسیده است. این دیدگاه در ادامه رویکرد اوست که هوش مصنوعی را پلی برای ورود برنامهنویسان تازهکار به دنیای کدنویسی میدید. برای اکثر توسعهدهندگان، هسته لینوکس به دلیل پیچیدگی شدید و الزامات سختگیرانه برای پایداری، یک «منطقه پرواز ممنوع» برای هوش مصنوعی بود، اما این تجربه سیگنالی جدی به کل صنعت نرمافزار فرستاد.
زمینه: از تردید تا پذیرش
مسیر توروالدز به سوی هوش مصنوعی یک تغییر جهت ناگهانی نبود، بلکه یک گذار چندساله بود. در دسامبر ۲۰۲۳، او هوش مصنوعی را اساساً ابزاری میدید که به توسعهدهندگان کمک میکند در شغل خود بهتر باشند و به طور خاص بر توانایی AI در شناسایی باگها تمرکز داشت، نه نوشتن کدهای جدید.
تا اواخر سال ۲۰۲۵، موضع او تغییر کرد. او خود را «طرفدار پروپاقرص AI به عنوان یک ابزار» نامید و علاقه خود را به حوزههایی چون نگهداری کد و بررسی وصلهها گسترش داد. با این حال، در آن بازه زمانی، تولید کدهای جدی و جدید برای هسته لینوکس همچنان خارج از دایره پذیرش او بود.
در ژانویه ۲۰۲۶، توروالدز آزمایشهای کدنویسی به کمک AI را در مقیاس کوچکتر آغاز کرد و از آن برای ساخت یک بصریساز صوتی پایتون (Python audio visualizer) در یک پروژه تفننی استفاده کرد. در نهایت، در ۹ اکتبر ۲۰۲۶ طی گفتگو با دیرک هوندل در اجلاس Open Source Summit اروپا در پراگ، اعتراف کرد: «قبلاً فکر میکردم که این ابزار خیلی خوب نیست — اما حالا به نقطهای رسیدهام که واقعاً از استفاده از AI لذت میبرم.»
با این حال، او با وجود این اشتیاق، مرزهای محتاطانهای را حفظ کرده است. او معتقد است AI اگر به درستی استفاده شود یک «ابزار فوقالعاده» است، اما هشدار داد که توسعهدهندگان «باید هنگام استفاده از AI برای انجام کارهای واقعی و مهم، بسیار محتاط باشند.»
گلوگاه فنی: نبرد بر سر حافظه
مشکل مورد نظر به یک گلوگاه در حافظه مشترک (Shared-memory) مربوط میشد که در بخش Page Cache (جایی که دادههای فایل در حافظه ذخیره میشوند) رخ میداد. وقتی چندین رشته (Thread) همزمان دادههای کوچکی را از یک فایل کششده میخوانند، آنها ارجاعاتی (References) را به folio (واحد مدیریت حافظه) که دادهها را پشتیبانی میکند، میگیرند و رها میکنند.
این بهروزرسانیهای شمارنده ارجاع (Reference-count updates) نیازمند نوشتنهای اتمیک (Atomic writes) در یک خط حافظه مشترک (Shared cache line) هستند. این موضوع باعث میشود هستههای پردازنده برای دسترسی به آن خط حافظه با یکدیگر رقابت کنند و باعث کندی شدید شود.

توروالدز برای تست این موضوع از یک لپتاپ Intel Core i7-8565U (با چهار هسته و هشت رشته) استفاده کرد. او دریافت که وقتی ۸ رشته درخواست خواندن ۱۶ بایتی (pread) را علیه یک صفحه واحد ارسال میکنند، بر اساس معیار HITMs (Hit in Modified cache line)، حدود ۹۹.۹۲٪ از بار پردازشی بین هستهها صرفاً مربوط به همین رقابت بر سر خط حافظه مشترک است. این مشکل از سال ۲۰۲۴ شناخته شده بود، اما تلاشهای انسانی قبلی برای حل آن با شکست مواجه شده بود.
راهکار ارائه شده توسط هوش مصنوعی
توروالدز و Claude Code مکانیزمی را پیشنهاد دادند که نحوه بازیافت حافظه توسط هسته (زمانی که حافظه از Page Cache حذف میشود) را تغییر میدهد.
- سازوکار: بهجای بازگرداندن فوری حافظه به تخصیصکننده (Allocator)، وصلههای جدید بازیافت را تا پایان یک دوره زمانی خاص به نام RCU grace period به تعویق میاندازند.
- مزیت: این کار اجازه میدهد یک خواننده (Reader) که توسط بخش read-side یک RCU محافظت شده است، دادهها را مستقیماً در یک بافر کاربر کپی کند، بدون اینکه نیاز باشد یک ارجاع folio بگیرد.
- هزینه: سیستم، بازیافت فوری حافظه را فدای مسیری میکند که در آن تداخل بین هستهها و بهروزرسانی مکرر شمارنده ارجاع مشترک حذف میشود.

نتایج عملکرد در این حجم از کاری شگفتانگیز و قابل توجه بود:
- توان عملیاتی (Throughput): نرخ خواندن در حالت ۸ رشته از حدود ۹.۹ تا ۱۰.۴ میلیون در ثانیه به ۳۰ تا ۳۳ میلیون رسید.
- کارایی: چرخههای پردازشی مورد نیاز برای هر خواندن (Kernel cycles per read) از حدود ۲۹۵۰ به ۷۲۵ کاهش یافت.
- تأثیر تکرشتهای: بهبود جزئی از حدود ۴۵۲-۴۵۴ چرخه به ۴۰۸-۴۰۹ چرخه برای هر خواندن مشاهده شد.

توروالدز در درخواست ادغام (Pull Request) خود اضافه کرد که ماشینهایی با تعداد CPU بیشتر یا بیش از یک سوکت (Socket) باید شاهد بهبودهای حتی چشمگیرتری باشند، هرچند تا آن لحظه هیچ سیستمی بزرگتر از لپتاپ او اندازهگیری نشده بود.
موازنه مهندسی و چالشهای باقیمانده
با وجود این سرعت، کدها هنوز وارد شاخه اصلی لینوکس ۷.۳-rc6 نشدهاند. دلیل آن هزینههای مهندسی است؛ تعویق در بازیافت حافظه یعنی صفحات میتوانند در حالی که هسته منتظر پایان دوره RCU است، غیرقابل دسترس باقی بمانند. توروالدز این مسئله بازیافت را «بخشی از این سری تغییرات که کمتر از همه حل شده است» توصیف کرد.
همچنین یک نقص (Regression) شناسایی شد: وقتی یک عملیات خواندن، صفحهای از کاربر را هدف قرار میدهد که هنوز نگاشت (Map) نشده است، مسیر جدید یک استثنای (Exception) شکستخورده اضافی ایجاد میکند و سپس به پیادهسازی قدیمی بازمیگردد.

این تجربه ثابت کرد که AI میتواند روی مسائل معماری عمیق و سیستماتیکی کار کند که مهندسان انسانی سالها با آنها دستوپنجه نرم کردهاند. اما مشکل «مایل آخر» همچنان پابرجاست: AI میتواند یک پیشنویس با عملکرد بالا تولید کند، اما ایمنی سختگیرانه و مدیریت حافظه در یک هسته عملیاتی، همچنان به نظارت انسانی نیاز دارد. این سطح از بهینهسازی در زیرساختها، یادآور نقشه راه جامع برای ساخت استکهای مقاوم AI در لینوکس است که بر پایداری سیستمهای پیچیده تأکید دارد.
برای یک توسعهدهنده معمولی، این یعنی AI از تولید کدهای تکراری (Boilerplate) و تستهای ساده فراتر رفته و وارد حوزه بهینهسازی سیستمهای پیچیده شده است. قدرت AI در اینجا این نیست که هسته لینوکس را بهتر از لینوس میشناسد، بلکه میتواند فرضیات او را با سرعت خیرهکنندهای تحت هدایت او آزمایش و تکرار کند.
باید منتظر تصمیم نهایی در مورد ادغام این وصلهها در هسته اصلی بود، زیرا این اتفاق الگویی را برای کدهای نوشته شده توسط AI در زیرساختهای حیاتی جهان ایجاد خواهد کرد.
گام بعدی شما
- اگر روی بهینهسازی سیستمهای پیچیده کار میکنید، از AI برای تولید «فرضیات جایگزین» (Alternative Hypotheses) استفاده کنید، نه فقط نوشتن کد.
- ابزارهای Agentic مانند Claude Code را برای تحلیل گلوگاههای عملکردی (Performance Bottlenecks) در پروژههای خود تست کنید.
- بررسی کنید که آیا در کد شما بخشهایی وجود دارد که به دلیل «ترس از پیچیدگی» سالها بدون تغییر ماندهاند؛ شاید زمان امتحان کردن یک پیشنویس AI باشد.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو