چگونه کدهای پاکشدگی رید-سولومون بقای دادههای ابری را با نصف سربار ذخیرهسازی تضمین میکنند
ارائهدهندگان ابری در مقیاس ابربزرگ، تکثیر سنتی دادهها را به نفع ریاضیات چندجملهای کنار گذاشتهاند؛ رویکردی مبتنی بر کدهای پاکشدگی که بقای دادهها تا سطح یازده نُه را تضمین کرده و اگزابایتها فضا را آزاد میکند، هرچند صرفهجویی عظیم در ذخیرهسازی را با مصرف شدید پهنای باند شبکه در زمان خرابی دیسک تاوان میدهد.
به قلم نیما موسوی
این خبر را به اشتراک بگذارید
بهطور خلاصه
- کدهای پاکشدگی رید-سولومون با جایگزینی تکثیر خام داده با محاسبات چندجملهای، نیاز به فضای ذخیرهسازی فیزیکی را به بیش از نصف کاهش میدهند.
- این الگوریتم با امکان بازسازی دقیق فایل از روی مجموعهای از قطعات بازمانده، سطح بقای داده یازده نُه را تضمین میکند.
- صرفهجویی عظیم در فضای ذخیرهسازی به قیمت درگیر شدن بالای پردازنده هنگام نوشتن و مصرف شدید پهنای باند شبکه هنگام بازسازی دیسکهای سوخته حاصل میشود.
در این مطلب
برای بازسازی فایلی که تکهتکه شده با تکیه بر اطلاعات توازن ریاضی، شبکه داخلی یک ارائهدهنده خدمات ابری باید قطعات داده را از مراکز داده مجزا پیش از خرابی دیسک دوم فوراً فراخوانی کند. اگر پهنای باند میان رکها هنگام بازسازی گلوگاه شود، محاسبات ریاضی بقای داده دیگر عملاً بیاثر خواهند بود.[8]
همین محدودیت شبکه است که نحوه ذخیره اطلاعات در اینترنت مدرن را دیکته میکند. برای دههها، روش پیشفرض برای جلوگیری از نابودی دادهها صرفاً تکثیر سهگانه بود؛ یعنی ذخیره کپی کامل هر فایل روی سه درایو فیزیکی کاملاً مجزا.[2]
تکثیر سهگانه تضمین میکند که اگر دو درایو بهطور همزمان از کار بیفتند، دادهها روی دیسک سوم دستنخورده باقی میمانند. با این حال، این رویکرد سنتی و کمبازده نیازمند سه مگابایت حافظه فیزیکی به ازای هر یک مگابایت داده کاربر است؛ سربار عظیمی که در مقیاس اگزابایت از نظر مالی توجیهناپذیر میشود.[3]
برای گریز از این بنبست فیزیکی، غولهای ابری در مقیاس ابربزرگ، تکثیر ساده را برای دادههای کممصرف کنار گذاشته و به کدهای پاکشدگی رید-سولومون روی آوردند. این روش الگوریتمی، ماندگاری دادهها در استاندارد صنعتی یازده نُه را حفظ میکند و در عین حال سربار ذخیرهسازی را بیش از پنجاه درصد کاهش میدهد.[5]
ریاضیات بقا
کدهای پاکشدگی ایده نگهداری نسخههای یکسان و کامل از فایل را دور میریزند. در عوض، نرمافزار سامانه ذخیرهسازی شیء ورودی را به تعدادی قطعه هماندازه تقسیم میکند که در ادبیات ریاضی معمولاً با متغیر k نامگذاری میشوند.[1]
سپس سامانه این قطعات داده را از یک الگوریتم چندجملهای عبور میدهد تا مجموعهای از قطعات توازن یا برابری تولید کند. در یک پیکربندی معمول، ده قطعه داده به چهار قطعه توازن منجر میشود و در مجموع چهارده قطعه روی رکهای سرور مختلف توزیع میشوند.[4]
ویژگی ریاضی ماتریس رید-سولومون تضمین میکند که فایل اصلی دقیقاً از هر k قطعه بازمانده قابل بازسازی است. در یک ترکیب دهبهعلاوه-چهار، سامانه تنها به ده قطعه از چهارده قطعه برای بازسازی فایل نیاز دارد؛ یعنی چهار دیسک مجزا میتوانند همزمان بسوزند بدون آنکه دادهای از بین برود.[6]
ریاضیات پشت این ساختار بر پایه میدانهای گالوا بنا شده است؛ شاخهای از حساب میدانهای متناهی که در آن جمع و ضرب همواره در یک محدوده ثابت خروجی میدهند. این امر مانع از سرریز محاسبات چندجملهای از حدود تعیینشده اعداد صحیح در پردازندهها میشود.[6]
جیمز پلنک، پژوهشگر علوم رایانه در دانشگاه تنسی، راهنمایی بنیادین در زمینه اعمال این ماتریسها روی آرایههای ذخیرهسازی نگاشته است. کار او نشان داد چگونه با بهینهسازی گونههای ماتریس کوشی در رید-سولومون، میتوان بار پردازشی روی پردازندههای استاندارد سرور را کاهش داد.[6]
در مستندات پلتفرم ذخیرهسازی توزیعشده سپ آمده است: «کدگذاری پاکشدگی اساساً معاملهای بین چرخههای پردازنده و فضای دیسک فیزیکی است.» پردازنده باید برای هر عملیات نوشتن، وارونسازی پیچیده ماتریسی انجام دهد و قدرت محاسباتی را فدای صرفهجویی در دیسکهای سخت کند.[1]
معادله سربار
اثر مالی این جابهجایی الگوریتمی در ابعاد ابری حیرتآور است. یک سامانه تکثیر سهگانه سنتی برای یک پتابایت داده مشتری، نیازمند سه پتابایت دیسک فیزیکی خام تنها برای برقراری حاشیه امنیت پایه است.[2]
در مقابل، یک طرح کدگذاری پاکشدگی دهبهعلاوه-چهار برای حفظ همان یک پتابایت داده فقط به ۱.۴ پتابایت فضای خام احتیاج دارد. سربار ذخیرهسازی از ۲۰۰ درصد به ۴۰ درصد کاهش مییابد و در عین حال تابآوری در برابر خرابی همزمان از دو دیسک به چهار دیسک ارتقا پیدا میکند.[4]
بکبلیز، از ارائهدهندگان مطرح ذخیرهسازی ابری، ساختار رید-سولومون با نسبت پانزدهبهعلاوه-پنج را به کار میبرد. این معماری فایلها را به پانزده بخش داده و پنج بخش توازن تقسیم کرده و در بیست محفظه مجزا مینشاند تا حتی سوختن کامل یک شاسی سرور باعث از بین رفتن داده نشود.[7]
این پیکربندی با سربار ناچیز ۳۳ درصدی کار میکند، با این وجود توان تابآوری در برابر نابودی همزمان هر پنج درایو در آرایه را دارد. این شرکت پیادهسازی مبتنی بر جاوا خود را در سال ۲۰۱۵ بهشکل متنباز عرضه کرد تا دیگر توسعهدهندگان ناچار به نوشتن ریاضیات پیچیده ماتریسی از ابتدا نباشند.[7]
صرفهجویی در این مقیاس، فراتر از فاکتور خرید فیزیکی هارد دیسکهاست. حذف ۱.۶ پتابایت دیسک گردان از یک مرکز داده بهطور مداوم مصرف برق، نیاز به سیستمهای خنککننده حرارتی و فضای اشغالشده رکها را حذف میکند.[3]
پژوهش مایکروسافت همین انتقال ساختاری را در معماری ذخیرهسازی آژور مستند کرده و نشان داده که رشد انفجاری دادهها ادامه تکثیر سنتی را ناممکن ساخت. با استفاده از کدهای پاکشدگی اختصاصی، آژور فضای سختافزاری خود را کاهش داد و در عین حال استانداردهای سختگیرانه بقا را حفظ کرد.[3]
جریمه بازسازی در شبکه
نقطه آسیبپذیری اصلی کدهای پاکشدگی نه در شرایط عادی، بلکه دقیقاً هنگام خرابی ناگزیر یک دیسک سخت نمایان میشود. در سامانههای تکثیر سنتی، خرابی دیسک تنها مستلزم یک کپی ترتیبی ساده از فایل دستنخورده روی دیسک جایگزین است.[8]
اما بازسازی یک قطعه مفقود در کدهای پاکشدگی مستلزم هجوم سنگین ترافیک به شبکه داخلی است. خوشه ذخیرهسازی باید در سراسر شبکه قطعات بازمانده را بخواند، به پردازنده مرکزی برساند، قطعه گمشده را مجدداً محاسبه کند و در دیسک جدید بنویسد.[1]
این بازسازی بار سنگینی روی پهنای باند میان رکها و چرخه پردازنده وارد میکند و رقابتی با زمان به راه میاندازد. سامانه باید این محاسبه را قبل از آنکه خرابی دیسکهای بعدی از آستانه توازن فراتر برود، کامل کند.[8]
فیسبوک سامانه ذخیرهسازی f4 خود را دقیقاً با هدف مهار این جریمه سنگین بازسازی مهندسی کرد. این شبکه اجتماعی با محدود کردن کدهای پاکشدگی به عکسها و ویدیوهای کممراجعه، ترافیک سنگین بازسازی توازن را از پایگاههای داده بلادرنگ جدا کرد.[4]
کالبدشکافی یازده نُه
شرکتهای ابری معمولاً پلتفرمهای ذخیرهسازی شیء خود مانند آمازون S3 را با ادعای پایداری ۹۹.۹۹۹۹۹۹۹۹۹ درصدی تبلیغ میکنند. این شاخص یازده نُه، یک مدلسازی آماری از احتمال است، نه تضمینی تاریخی برای زمان دردسترسبودن یا ایمنی کامل در برابر قطعی سرویس.[5]
پایداری تنها احتمال سالانه نابودی دائمی یک فایل به علت نقص فنی سختافزار را برآورد میکند. یازده نُه یعنی اگر کاربری ده میلیون فایل ذخیره کند، احتمالاً در هر دههزار سال فقط یک فایل به دلیل تخریب دیسک از بین خواهد رفت.[2]
این شاخص فرض را بر مستقل بودن خرابی دیسکها و روند بازسازی خودکار سریع میگذارد. رویدادهایی با وابستگی مستقیم، مانند آتشسوزی در مرکز داده، باجافزارها یا باگهای نرمافزاری که کل پایگاه را پاک میکنند، در این محاسبه آماری جایی ندارند.[8]
مایکروسافت آژور با توجه به سطوح افزونگی، پیکربندیهای مختلفی از قطعات را اجرا میکند. ذخیرهسازی محلی همه قطعات را در یک مرکز نگه میدارد، در حالی که در ذخیرهسازی جغرافیایی، بلوکها به منطقهای با فاصله صدها کیلومتر منتقل میشوند.[3]
پایداری با دردسترسبودن کاملاً متفاوت است؛ مؤلفه دوم نشان میدهد کاربر در لحظه آیا به فایل خود دسترسی دارد یا خیر. یک خوشه ذخیرهسازی ممکن است بر اثر خطای مسیریابی شبکه کاملاً قطع باشد، در حالی که بقای فیزیکی و ریاضی دادهها روی دیسکها دستنخورده باقی مانده است.[8]
خدمات وب آمازون رسماً این دو مفهوم را در توافقنامه سطح خدمات خود تفکیک کرده است. در حالی که ذخیرهسازی استاندارد S3 ادعای پایداری یازده نُه دارد، سطح دسترسی آن ۹۹.۹۹ درصد تضمین میشود و نشان میدهد اختلالات شبکه گاهوبیگاه دسترسی را موقتاً قطع میکنند.[5]
محدودیت فایلهای کوچک
با وجود تمام این دستاوردها، رید-سولومون به خاطر فیزیک فایلهای بسیار کوچک نمیتواند جایگزین تکثیر سهگانه شود. خرد کردن یک فایل متنی چهار کیلوبایتی به پانزده قطعه، سربار ابرداده و ردگیری سنگینی ایجاد میکند که کنترلر ذخیرهسازی را زیر فشار میبرد.[1]
ابرداده موردنیاز برای ردیابی موقعیت فیزیکی چهارده قطعه، اغلب حجمی بیشتر از خود قطعات اشغال میکند. افزون بر این، خواندن یک فایل کوچک نیازمند چهارده عملیات جستجوی مجزا روی دیسکها است که تأخیر خواندن را نابود کرده و کارایی آرایه را مختل میسازد.[4]
برای دور زدن این بنبست، سامانههای نوین بهصورت ترکیبی عمل میکنند. آنها تکثیر سهگانه را برای فایلهای کوچک، پایگاههای داده و حجمهای حساس به تأخیر حفظ کرده و کدهای پاکشدگی را برای اشیاء بزرگ مانند ویدیوها و فایلهای پشتیبان به کار میگیرند.[1]
این تحلیل چگونه انجام شد
- روش
- مقایسه نسبتهای سربار ذخیرهسازی و حدود تحمل خطای همزمان میان تکثیر سهگانه استاندارد و الگوریتم رید-سولومون ۱۵ از ۲۰ (۱۵ داده، ۵ توازن) در مقیاس اگزابایت.
- یافته
- تبدیل یک اگزابایت داده از شیوه تکثیر سهگانه به الگوریتم پاکشدگی ۱۵+۵، معادل ۱.۶۶ اگزابایت از ظرفیت فیزیکی دیسکها را آزاد کرده و همزمان آستانه تحمل خرابی همزمان درایوها را از ۲ به ۵ ارتقا میدهد.
- دادههایی که بر پایهٔ آنها کار کردیم
- ضریب ذخیرهسازی در تکثیر سهگانه: 3.0x (200% overhead) — Backblaze
- ضریب ذخیرهسازی کدهای پاکشدگی ۱۵+۵: 1.33x (33% overhead) — Backblaze Blog
- ضریب ذخیرهسازی سامانه f4 فیسبوک ۱۰+۴: 1.4x (40% overhead) — USENIX Association
- محدودیتهای این تحلیل
- این تحلیل صرفاً صرفهجویی در ظرفیت فیزیکی خام را محاسبه میکند و سربار اضافی پردازنده برای حل معادلات میدان گالوا و نیز پهنای باند اختصاصیافته برای بازسازی را در نظر نمیگیرد.
اصطلاحات کلیدی
- Reed-Solomon (رید-سولومون)
- یک کد تصحیح خطای ریاضی که با محاسبه دادههای توازن، قطعات گمشده یک فایل را بازسازی میکند.
- Galois Field (میدان گالوا)
- میدان متناهی از اعداد در ریاضیات کدگذاری پاکشدگی که تضمین میکند محاسبات چندجملهای از محدوده استاندارد اعداد صحیح پردازنده فراتر نرود.
- Parity Fragment (قطعه توازن)
- تکهای از دادههای محاسبهشده از طریق فرمول ریاضی که محتوای اصلی فایل را در بر ندارد اما برای حل معادلات قطعات گمشده به کار میرود.
- Eleven Nines (یازده نُه)
- معیاری آماری برای پایداری دادهها معادل ۹۹.۹۹۹۹۹۹۹۹۹ درصد، به این معنا که داده ذخیرهشده در طول یک سال در اثر خرابی سختافزاری از بین نرود.
پرسشهای متداول
آیا کدهای پاکشدگی در صورت نابودی کامل یک مرکز داده قادر به بازیابی دادهها هستند؟
تنها در صورتی که قطعات در مناطق جغرافیایی چندگانه پخش شده باشند. اگر همه قطعات در یک مرکز نگهداری شوند، فاجعه فیزیکی در آن مرکز کل دادهها را صرفنظر از محاسبات ریاضی از بین میبرد.
آیا کدگذاری پاکشدگی باعث کندی در دریافت فایلها میشود؟
در شرایط عادی، خواندن فایل ممکن است سریعتر باشد زیرا قطعات بهطور موازی از چندین درایو دانلود میشوند. با این حال، اگر یکی از درایوها معیوب باشد، فرآیند بازسازی ریاضی تأخیر محسوسی ایجاد میکند.
چرا هارد دیسکهای خانگی به جای رِید از این سیستم استفاده نمیکنند؟
دستگاههای ذخیرهسازی خانگی از نسخههای سادهتر توازن (مانند RAID 5 یا RAID 6) استفاده میکنند؛ اما کدهای پاکشدگی ابری نیازمند توزیع قطعات میان دهها سرور مستقل هستند که اجرای آن در یک دستگاه تککاربره امکانپذیر نیست.
بررسی عمیق دیدگاهها
معماران ابری ابربزرگ
اولویت اصلی را مقیاسپذیری عظیم و بهرهوری اقتصادی دانسته و بار پردازشی و مصرف بالای شبکه را بهای کاهش فضای فیزیکی میدانند.
برای مهندسانی که زیرساختهایی در مقیاس خدمات وب آمازون یا مایکروسافت آژور را طراحی میکنند، فضای فیزیکی و مصرف انرژی گلوگاههای بنیادین هستند. تکثیر سهگانه به تعداد سرسامآوری دیسک سخت نیاز دارد که به نوبه خود رکهای بیشتر و برق فراوانی طلب میکنند. غولهای ابری با انتقال بار حفاظت از دادهها از سختافزار به بار پردازشی، تراکم مراکز داده خود را به حداکثر میرسانند. آنها ترافیک سنگین شبکه در زمان بازسازی درایو را به عنوان بهایی عملیاتی و پذیرفتنی قلمداد میکنند و آن را با اختصاص پهنای باند مازاد میان رکها مهار میسازند.
مهندسان ذخیرهسازی سازمانی
بر تأخیر پایین و سادگی سیستم تمرکز دارند و ترجیح میدهند برای دادههای تراکنشی و فایلهای کوچک از تکثیر سنتی استفاده کنند.
مدیرانی که سامانههای ذخیرهسازی درونسازمانی یا آرایههای بلوکی با کارایی بالا را مدیریت میکنند، نسبت به تعمیم کدهای پاکشدگی محتاط هستند. شاخص کلیدی برای آنها زمان تأخیر است نه صرفاً ظرفیت خام. از آنجا که کدهای پاکشدگی نیازمند محاسبه ماتریسی برای هر عملیات نوشتن هستند، گلوگاه پردازشی به وجود میآورند که پایگاههای داده بلادرنگ را کند میکند. افزون بر این، سربار ابرداده حاصل از خرد کردن فایلهای کوچک، این روش را برای کارهای پرتراکنش ناکارآمد میسازد و هزینه سختافزار بیشتر در تکثیر سنتی را برای آنها توجیه میکند.
پژوهشگران سیستمهای توزیعشده
بهینهسازی محاسبات ریاضی برای کاهش سربار پردازنده و مهار پهنای باند مصرفی در زمان بازسازی قطعات مفقود را دنبال میکنند.
پژوهشگران دانشگاهی و صنعتی پیادهسازیهای فعلی رید-سولومون را یک گام اولیه و ناکامل میدانند. هدف اصلی آنها کاستن از جریمه بازسازی است؛ یعنی همان ترافیک سهمگینی که برای بازسازی یک قطعه مفقود شبکه را اشغال میکند. آنها در حال توسعه کدهای محلی و چندجملهایهای پیشرفتهای هستند که نیاز به فراخوانی قطعات کمتری از سراسر شبکه داشته باشند. با ارتقای ریاضیات میدان گالوا، آنها درصدد کاهش مصرف پردازنده هستند تا کنترلرها بتوانند توان عملیاتی بالاتری را بدون ایجاد گلوگاه پردازش کنند.
- معماران ابری ابربزرگ
- اولویت اصلی را مقیاسپذیری عظیم و بهرهوری اقتصادی دانسته و بار پردازشی و مصرف بالای شبکه را بهای کاهش فضای فیزیکی میدانند.
- مهندسان ذخیرهسازی سازمانی
- بر تأخیر پایین و سادگی سیستم تمرکز دارند و ترجیح میدهند برای دادههای تراکنشی و فایلهای کوچک از تکثیر سنتی استفاده کنند.
- پژوهشگران سیستمهای توزیعشده
- بهینهسازی محاسبات ریاضی برای کاهش سربار پردازنده و مهار پهنای باند مصرفی در زمان بازسازی قطعات مفقود را دنبال میکنند.
دیدگاههایی که این گزارش پوشش نداده
- سازندگان سختافزار ذخیرهسازی
- فعالان پایداری زیستمحیطی مراکز داده
منابع
[1]Ceph Documentationمهندسان ذخیرهسازی سازمانیErasure code
مطالعه در Ceph Documentation →
[2]Backblazeپژوهشگران سیستمهای توزیعشدهResiliency, Durability, and Availability
مطالعه در Backblaze →
[3]Microsoft Researchمعماران ابری ابربزرگErasure Coding in Windows Azure Storage
مطالعه در Microsoft Research →
[4]USENIX Associationمعماران ابری ابربزرگf4: Facebook's Warm BLOB Storage System
مطالعه در USENIX Association →
[5]Amazon Web Servicesمعماران ابری ابربزرگAmazon S3 features
مطالعه در Amazon Web Services →
[6]University of Tennesseeپژوهشگران سیستمهای توزیعشدهA Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems
مطالعه در University of Tennessee →
[7]Backblaze Blogپژوهشگران سیستمهای توزیعشدهBackblaze Open-sources Reed-Solomon Erasure Coding Source Code
مطالعه در Backblaze Blog →
[8]USENIX Associationمعماران ابری ابربزرگAvailability in Globally Distributed Storage Systems
مطالعه در USENIX Association →
[9]تیم سردبیری کوهستانتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
بیشتر در فناوری
مشاهده همه →معماری بدون سرور
تاوان استارت سرد: چگونه «تابع به عنوان سرویس» تأخیر را فدای هزینه و سادگی عملیاتی میکند
5 منبع
اقتصاد ابری
سازوکار هزینههای خروج داده از فضای ابری: چرا «گرانش داده» بار کاری سازمانها را به دام میاندازد؟
6 منبع
معماری کوبرنیتیز
حلقه تطبیق: کنترلرهای کوبرنیتیز چگونه وضعیت مطلوب را در یک سیستم توزیعشده حفظ میکنند
6 منبع
زیرساخت هوش مصنوعی
محدودیتهای برق، رشد پردازندههای گرافیکی را متوقف کرد؛ شرکتها به سمت «هوش مصنوعی چند-سیلیکونی» میروند
3 منبع
نظرات
هر زاویه. هر روز.
اخبار فناوری با پوشش کامل منابع و تحلیل دیدگاهها، هر روز و رایگان.




