Red Hat در حال توسعه یک فایل سیستم جدید NVFS است که برای حافظه NVM کارآمد است

Mikuláš Patočka، یکی از توسعه دهندگان LVM و نویسنده تعدادی از اختراعاتمربوط به بهینه سازی سیستم های ذخیره سازی، کار در Red Hat، معرفی شده سیستم فایل جدید در لیست پستی توسعه دهندگان هسته لینوکس NVFS، با هدف ایجاد یک FS فشرده و سریع برای تراشه های حافظه غیر فرار (NVM، حافظه غیر فرار، به عنوان مثال NVDIMM)، ترکیبی از عملکرد RAM با توانایی ذخیره دائمی محتوا.

تجربه FS هنگام توسعه NVFS در نظر گرفته شد NEW، به طور خاص برای حافظه NVM در سال 2017 ایجاد شد، اما در هسته لینوکس پذیرفته نشد و محدود پشتیبانی از هسته های لینوکس از 4.13 تا 5.1.
FS NVFS پیشنهادی بسیار ساده‌تر از NOVA است (4972 خط کد در مقابل 21459)، ابزار fsck را ارائه می‌کند، عملکرد بالاتری دارد، از ویژگی‌های توسعه‌یافته (xattrs)، برچسب‌های امنیتی، ACL و سهمیه‌ها پشتیبانی می‌کند، اما از عکس‌های فوری پشتیبانی نمی‌کند. معماری NVFS نزدیک است
سیستم فایل Ext4 به خوبی با مدل سیستم های فایل مبتنی بر زیرسیستم VFS سازگار است، که به شما امکان می دهد تعداد لایه ها را به حداقل برسانید و به ماژولی که نیازی به وصله های هسته ندارد بسنده کنید.

NVFS از رابط هسته استفاده می کند DAX برای دسترسی مستقیم به دستگاه های حافظه پایدار، دور زدن حافظه پنهان صفحه. برای بهینه‌سازی عملکرد حافظه NVM با آدرس‌دهی بایت، محتویات درایو به فضای آدرس خطی هسته بدون استفاده از لایه دستگاه بلوک سنتی و حافظه پنهان میانی نگاشت می‌شوند. برای ذخیره محتویات دایرکتوری استفاده می شود درخت پایه (درخت ریشه) که در آن نام هر فایل هش شده و هنگام جستجوی درخت از مقدار هش استفاده می شود.

یکپارچگی داده ها با استفاده از ” تضمین می شودبه روز رسانی های نرم(مانند UFS از FreeBSD و FFS از OpenBSD) بدون استفاده از ژورنال. برای جلوگیری از خراب شدن فایل در NVFS، عملیات تغییر داده ها به گونه ای گروه بندی می شوند که خرابی نمی تواند منجر به از دست رفتن بلوک ها یا inode ها شود و یکپارچگی ساختارها با استفاده از ابزار fsck بازیابی می شود. ابزار fsck در حالت چند رشته ای کار می کند و عملکرد brute-force 1.6 میلیون inode در ثانیه را ارائه می دهد.

В تست های عملکرد NVFS عملیات کپی درختی منبع هسته لینوکس را روی حافظه NVM حدود 10٪ سریعتر از NOVA، 30٪ سریعتر از ext4 و 37٪ سریعتر از XFS انجام داد. در آزمون بازیابی داده ها، NVFS 3% سریعتر از NOVA و ext4 و XFS 15% سریعتر بود (اما با حافظه پنهان دیسک فعال، NOVA 15% کندتر بود).
در آزمایش میلیون عملیات دایرکتوری، NVFS 40% از NOVA، 4% ext22 و 46% از XFS بهتر عمل کرد. هنگام شبیه سازی فعالیت DBMS، سیستم فایل NVFS 20 درصد، ext4 18 برابر و XFS 5 برابر عملکرد بهتری داشت. در تست fs_mark، عملکرد NVFS و NOVA تقریباً در یک سطح بود، در حالی که ext4 و XFS حدود 3 برابر عقب افتادند.

تأخیر سیستم های فایل سنتی در حافظه NVM به این دلیل است که آنها برای آدرس دهی بایت طراحی نشده اند، که در حافظه غیر فرار که شبیه به RAM معمولی به نظر می رسد استفاده می شود. خواندن از درایوهای معمولی اتمی بودن عملیات را در سطح خواندن/نوشتن بخش تضمین می‌کند، در حالی که حافظه NVM دسترسی را در سطح تک تک کلمات ماشین فراهم می‌کند. علاوه بر این، سیستم های فایل سنتی سعی می کنند شدت دسترسی به رسانه ها را کاهش دهند که به وضوح کندتر از RAM در نظر گرفته می شود و همچنین سعی می کنند عملیات را گروه بندی کنند تا از خواندن متوالی هنگام استفاده از هارد دیسک، صف های درخواست پردازش، مبارزه با تکه تکه شدن و جداسازی اطلاعات اطمینان حاصل کنند. اولویت های عملیات مختلف . . برای حافظه NVM، چنین عوارضی غیر ضروری هستند، زیرا سرعت دسترسی به داده ها با RAM قابل مقایسه است و ترتیب دسترسی مهم نیست.

منبع: opennet.ru

اضافه کردن نظر