پردازش موازی و فوقسریع در فایل سیستم F2FS با انتشار لینوکس ۷.۳

فهرست مطالب:
- پردازش موازی در چند دستگاه ذخیرهسازی
- کاهش مصرف حافظه و جهش سرعت I/O
- برطرف شدن باگها و لینک پول ریکوئست
در آخرین ساعات بسته شدن پنجره ادغام (Merge Window) برای هسته لینوکس ۷.۳ در آخر هفته گذشته، آپدیتهای بسیار مهمی برای فایل سیستم F2FS (فایلسیستم سازگار با حافظههای فلش) به گیت لینوکس ارسال و با موفقیت ادغام شد.
پردازش موازی در چند دستگاه ذخیرهسازی
برای بهبود تجربه کار با فایل سیستم F2FS روی چندین درایو ذخیرهسازی، درایور این فایلسیستم در لینوکس ۷.۳ اکنون دستورات آزادسازی حافظه (Flushes) را به صورت موازی اجرا میکند. این پیشرفت عالی به لطف مهندس شرکت سامسونگ، یونگگیل سونگ (Yonggil Song) محقق شده است؛ او کدهای هسته را طوری تغییر داد تا مطمئن شود تمام دستگاهها دستورات Flush خود را به جای حالت ترتیبی (پشت سر هم)، به صورت کاملاً موازی و همزمان اجرا میکنند.
از آنجایی که هر دستگاه ذخیرهسازی صف Flush مستقل خودش را دارد، هیچ دلیل منطقی برای عدم اجرای موازی آنها وجود نداشت. با این آپدیت در فایل سیستم F2FS، زمان کل این فرایند حالا به جایِ مجموعِ زمانِ همه درایوها، فقط به اندازه کُندترین درایو متصل به سیستم طول میکشد که باعث صرفهجویی فوقالعادهای در زمان و کاهش تاخیر میشود.
کاهش مصرف حافظه و جهش سرعت I/O
نسخه جدید فایل سیستم F2FS در لینوکس ۷.۳، علاوه بر موارد بالا، سربار حافظه (Memory Overhead) در مدیریت inodeها را به شدت کاهش داده است. همچنین اکنون از قابلیت رزرو و آزادسازی پویا برای ایجاد نامهای مستعار دستگاه (Device Aliasing) پشتیبانی میکند.
یکی دیگر از تغییرات شگفتانگیز این آپدیت، پشتیبانی از اجرای غیرهمگام (Asynchronous) تابع f2fs_write_end_io است که توان عملیاتی (Throughput) خواندن و نوشتن را به شدت بالا میبرد. برای درک میزان این بهبود، جالب است بدانید که اجرای غیرهمگام این تابع روی یک دستگاه با پردازنده Arm Cortex-A520، زمان پردازش را از ۱۰ میلیثانیه به تنها ۱۵۰ میکروثانیه (کسری از یک میلیثانیه!) کاهش داده است.
علاوه بر این ویژگیهای جدید، دهها باگ ریز و درشت نیز در این نسخه برطرف شده است که جزئیات فنی و لیست کامل آنها در این پول ریکوئست قابل مشاهده است. (برای پیگیری اخبار بیشتر در حوزه سیستمعاملها، حتماً بخش اخبار لینوکس سایت آزاد لاگ را دنبال کنید).


