
فایلسیستم EXT4 که سالهاست بهعنوان فایلسیستم پیشفرض بسیاری از توزیعهای لینوکسی شناخته میشود، در آستانه یک تغییر ساختاری مهم در مسیر پردازش ورودی/خروجی خود قرار گرفته است. بر اساس گزارش منتشرشده، قرار است در هسته لینوکس ۷.۴ پشتیبانی اختیاری از مسیر ورودی/خروجی بافرشده (Buffered I/O) مبتنی بر IOmap معرفی شود؛ رویکردی که جایگزین استفاده این فایلسیستم از سازوکار قدیمی بافر هد (buffer_head) خواهد شد.
IOmap چیست و چرا اهمیت دارد؟
IOmap چارچوب مدرن هسته لینوکس برای نگاشت آفستهای فایل (File Offsets) به بلوکهای دستگاه (Device Blocks) است و در مقابل روش قدیمیتر بافر هد (buffer_head) قرار میگیرد. استفاده از IOmap کارآمدتر است و یکپارچگی بهتری با ساختار فولیو (folios) در لینوکس دارد؛ ضمن آنکه بخشی از سرباری سنگین حافظه (Memory Overhead) مربوط به بافر هدها را نیز به همراه ندارد.
نقش هوآوی در انتقال EXT4 به IOmap
«ژانگ یی» از شرکت هوآوی مسئولیت تبدیل مسیر ورودی/خروجی بافرشده EXT4 به IOmap را بر عهده داشته است. بر پایه نتایج منتشرشده، این جابهجایی در برخی پیکربندیها بهبودهای چشمگیر کارایی را نشان میدهد، اما در کنار آن افت کارایی (Regression) نیز در برخی موارد دیده میشود. نامه پوششی نسخه ششم (v6 Cover Letter) این مجموعه پچ، بنچمارکهای متعددی را در پیکربندیهای گوناگون برای EXT4 مبتنی بر IOmap در مقایسه با وضعیت پایه مبتنی بر بافر هد ارائه کرده است.
فعالسازی اختیاری با گزینه مانت buffered_iomap
از آنجا که مسیر کد ورودی/خروجی بافرشده مبتنی بر IOmap هنوز همه قابلیتهای موجود EXT4 را پیادهسازی نکرده است، این ویژگی بهصورت پیشفرض فعال نمیشود. توسعهدهندگان گزینه مانت (Mount Option) جدیدی با نام buffered_iomap را به کد افزودهاند تا کاربران در صورت تمایل بتوانند EXT4 را با مسیر کد تازه IOmap به کار بگیرند.
مسیر پیشرو تا پنجره ادغام لینوکس ۷.۴
«تد تسو» (Ted Ts'o)، نگهدارنده اصلی EXT4، در هفته گذشته تمامی این پچهای ورودی/خروجی بافرشده IOmap را در شاخه توسعه (Dev Branch) این فایلسیستم قرار داد. با قرار گرفتن این پچها در شاخه توسعه EXT4، انتظار میرود آنها برای پنجره ادغام (Merge Window) پیشروی هسته لینوکس ۷.۴ ارسال شوند.
جمعبندی
- انتقال مسیر ورودی/خروجی بافرشده EXT4 از بافر هد به چارچوب مدرن IOmap
- کارایی بهتر و یکپارچگی بیشتر با فولیوها و کاهش سربار حافظه
- ثبت بهبودهای محسوس کارایی در کنار برخی افتهای عملکردی در پیکربندیهای خاص
- فعالسازی اختیاری از طریق گزینه مانت buffered_iomap و عدم فعالسازی پیشفرض
- قرارگیری پچها در شاخه توسعه EXT4 و احتمال ارسال برای پنجره ادغام لینوکس ۷.۴