مصفوفات RAID بين الوهم و الحقيقة
MR HACKER- جامعي ذهبي
عدد المساهمات : 2364
العمر : 38
المكان : Syrian Arab Rebablic
المزاج : معصب و مكهرب دوما
الدراسة : اقتصاد
السنة الدراسية : 4
المستوى : 56
نقاط : 4906
تاريخ التسجيل : 21/05/2009
من طرف MR HACKER الأربعاء أغسطس 12, 2009 12:36 am
منذ أن شاع استخدام واجهة S-ATA منذ حوالي السنتين كثر معها استخدام مصفوفات RAID و خاصة RAID-0 ، فبينما كان استخدام مصفوفات RAID سابقاً يحتاج إلى شراء بطاقات إضافية، أصبحت تقريباً جميع اللوحات الأم الحديثة تحتوي على رقاقة مدمجة للتحكم بمصفوفات RAID و شهدت الأقراص الصلبة انخفاض ملحوظ في الأسعار، كل ذلك ساعد على ازدياد تبني تقنية RAID بشكل كبير و تحولت من سوق المخدمات Servers عالية الأداء إلى سوق المستخدم المنزلي العادي، الذي أقبل بكثافة على تبني هذه التقنية معتقدا أنه سيحصل على ضعف الأداء الحالي و أن حاسبه سينقلب من حال إلى حال .
منذ أن شاع استخدام واجهة S-ATA منذ حوالي السنتين كثر معها استخدام مصفوفات RAID و خاصة RAID-0 ، فبينما كان استخدام مصفوفات RAID سابقاً يحتاج إلى شراء بطاقات إضافية، أصبحت تقريباً جميع اللوحات الأم الحديثة تحتوي على رقاقة مدمجة للتحكم بمصفوفات RAID و شهدت الأقراص الصلبة انخفاض ملحوظ في الأسعار، كل ذلك ساعد على ازدياد تبني تقنية RAID بشكل كبير و تحولت من سوق المخدمات Servers عالية الأداء إلى سوق المستخدم المنزلي العادي، الذي أقبل بكثافة على تبني هذه التقنية معتقدا أنه سيحصل على ضعف الأداء الحالي و أن حاسبه سينقلب من حال إلى حال .
لكن ها هذه هي الحقيقة فعلاً، هذا ما سنحاول الإجابة عليه في السطور المقبلة .
التوازي مستقبل الحوسبة
Parallelism أي التوازي و هو مصطلح يشير إلى استخدام نسختين أو أكثر من نفس قطعة العتاد لتسريع الأداء، و هو مصطلح قديم نسبياً في صناعة التقنية فالمبدأ الأساسي المثالي للحوسبة يقوم على انجاز مهمات معقدة عن طريق تقسيمها إلى أجزاء بسيطة و من ثم تنفيذ كل منها في نفس الوقت بالتوازي للحصول على أكبر أداء ممكن، و في الفترة الأخيرة و نظراً لازدياد تعقيد المهمات المطلوب تنفيذها و انخفاض تكاليف تصنيع العتاد فقد انتشر مفهوم التوازي بشكل كبير و أصبح استخدام التقنيات المستندة إليه من الأمور الشائعة مثل الأنظمة متعددة المعالجات Multiprocessor Systems و تقنية HyperThreading المعروفة بـHT الخاصة بمعالجات Intelو أخيراً تقنية SLI و التي تسمح باستخدام بطاقتين للرسوميات معاً بشكل متوازي .إن فوائد التوازي Parallelism تختلف حسب التطبيقات و المهمات الواجب تنفيذها، فعلى سبيل المثال تأثير نظام ثنائي المعالج Dual Processors على الأداء يمكن أن لا يتجاوز 5% بالنسبة للتطبيقات المكتبية الاعتيادية و لكنه أيضاً يصل إلى أكثر من 50% عند تنفيذ المهمات المعقدة على أنظمة المخدمات Servers، بل و حتى يقدم التوازي زيادة أداء تقارب 100% عند استخدام تقنية SLI للبطاقات الرسومية و التي تؤدي إلى مضاعفة الأداء الذي يمكن الحصول عليه من بطاقة رسوميات واحدة .
لكن ماذا عن تأثير التوازي على أداء الأقراص الصلبة؟
و هل استخدام قرصين صلبين أو أكثر بالتوازي دائماً أفضل من واحد؟
تعددت الأقراص و السبب واحد RAID
تعرف التقنية التي تسمح باستخدام عدة أقراص صلبة معاً بـ RAID و هي اختصار لعبارة Redundant Array of Independent Disks أي المصفوفة الردودة للأقراص المستقلة، و أول ما نشأت هذه التقنية كان بغرض الحصول على الردودية Redundancy عند استخدام الأقراص الصلبة والتي تسمح بحماية البيانات عند تخرب أحد الأقراص الصلبة و ذلك بالحصول على المعلومات المهمة من القرص الأخر، و لكنها تحولت فيما بعد إلى طريقة لزيادة الأداء بتكلفة معقولة .
تتألف تقنية مصفوفات RAID من العديد من المواصفات المختلفة كل منها مخصص لغاية معينة جزء كبير من هذه المراحل لم يدخل حيز التنفيذ و لا يزال حبر على ورق، و بعضها أيضاً لا يزال يستخدم بشكل ضئيل في بعض الأنظمة الخاصة، و لذا فإننا سنركز خلال السطور التالية على المواصفات الأكثر انتشاراً و استخداماً في سوق الحاسب :
RAID-1 أو Disk Mirroring الأمن و حماية البيانات
أبسط استخدامات تقنية RAID و تهدف إلى حماية البيانات المخزنة على الأقراص الصلبة، فعند استخدام قرصين صلبين معاً وفق مواصفة RAID-1 فإنه يتم كتابة جميع البيانات مرتين مرة على القرص الصلب A و أخرى على القرص B كما هو موضح في المخطط(1)
تسمح هذه المواصفة بالحصول على نسخة احتياطية Backup من جميع البيانات في جميع الأوقات، و بالتالي في حال فشل أو عطب أحد الأقراص الصلبة بشكل مفاجىء فإن القرص الأخر يضم جميع البيانات المخزنة، و يوفر الجهد و الوقت و المال إضافة إلى راحة البال .
غير أن هذه المواصفة لا تقدم أي زيادة في الأداء بل على العكس فإن العديد من الخبراء يدّعون أن بعض رقاقات التحكم RAID Controller تؤدي إلى انخفاض في سرعة الكتابة إلى الأقراص المزدوجة مقارنة مع الأقراص الصلبة المفردة، غير أن هذه االحقيقة ليست عامة بشكل كامل .
إضافة إلى أن مواصفة RAID-1 تلتهم سعات تخزين كبيرة فمثلاً عند استخدامها مع قرصين صلبين حجم كل منهما 80 GB فإن الناتج يكون مساحة تخزين كلية تساوي 80 GB و ذلك لأن المساحة المتبقية 80 GB تستخدم لإجراء النسخ الاحتياطي .
بشكل عام تعتبر مواصفة RAID-1 الحل المثالي في الأنظمة التي تحتل فيها البيانات أهمية كبيرة و لا يمكن المخاطرة بفقدانها، و بالتالي فإن التكلفة الإضافية المترتبة على شراء قرص صلب إضافي مبررة بل و حتى ضرورية .
RAID-0 أو Disk Striping زيادة الأداء
تعتبر هذه المواصفة الوحيدة من نوعها من مواصفات تقنية RAID الخاصة بزيادة الأداء، و هي بلا شك الأشهر حالياً من بين المواصفات الأخرى و أكثرها استخداماً و لذا فإننا و سنركز عليها خلال ما تبقى من هذه المقالة .
المبدأ التي تعمل به هذه المواصفة بسيط، حيث تعتمد على تقسيم البيانات المراد كتابتها إلى القرص الصلب إلى أجزاء Stripes بأحجام تتراوح عادة بين 16KB – 256KB و يتم كتابة هذه الأجزاء بالتناوب على كل من الأقراص الصلبة الموجودة في المصفوفة Array، فإذا كنا نتعامل مع مصفوفة من قرصين صلبين بمواصفة RAID-0 و نظام تجزيء بحجم 128KB و أردنا تخزين بينات بحجم 256KB فإنه سيتم كتابة 128KB منها على القرص الأول و يتم كتابة 128KB الأخرى على القرص الثاني في نفس الوقت، و هنا يمكن بسهولة ملاحظة أن سرعة الكتابة يمكن أن تصل إلى ضعف سرعة الكتابة على قرص صلب منفرد و ذلك مقابل الإنشغال Utilization الذي تقوم به رقاقة التحكم RAID Controller و التي تتولى مهمة تقسيم البيانات إلى أجزاء و لكن نظراً لازدياد سرعات المعالجة فإن تأثير إنشغال و عمل رقاقة التحكم على أداء جهاز ضئيلاً و يكاد يكون مهملاً .
و ما سبق ينطبق على عملية القراءة Reading من الأقراص الصلبة، فعندما نحتاج إلى قراءة بيانات بحجم 256KB فإنه يتم قراءة جزء منها بحجم 128KB من القرص الأول و الجزء الأخر المماثل بالحجم يتم قراءته من القرص الثاني، و بالتالي تحصل عملية القراءة في نصف الوقت اللازم للقراءة من قرص منفرد و تؤدي نظرياً إلى مضاعفة الأداء . و لحسن الحظ فإن تقنية هذه المواصفة لا تستهلك مساحات تخزين كبيرة كمواصفة RAID-1، فعند استخدامها مع قرصين حجم كل منها 80 GB نحصل على مساحة تخزين كلية تعادل 160 GB .
للأسف الفوائد النظرية السابقة الذكر تتضائل بشكل واضح عندما ننتقل إلى الحالة العملية، و التي نتعامل فيها مع أوضاع أبعد ما تكون عن المثالية كالتي ذكرناها سابقاً، فازدياد أحجام الأجزاء المستخدمة عند تقطيع البيانات يؤدي إلى تضاؤل الفوائد في الأداء، و بالعكس فإن أحجام الأجزاء الصغيرة جداً المستخدمة يؤدي إلى ازدياد ضغط العمل على رقاقة التحكم RAID Controller بشكل كبير يؤدي إلى تحولها إلى العنصر المعيق للأداء أو ما يسمى عنق الزجاجة Bottleneck .
المساوىء التي تطرحها مواصفة RAID-0 تتلخص في التكلفة المرتفعة الضرورية لشراء قرصين صلبين إضافة إلى المخاطرة و ازدياد احتمال ضياع البيانات و ذلك على العكس من مواصفة RAID-1، فعند استخدام مواصفة RAID-0 فإن كلاً من القرصين الصلبين يكون ضرورياً للحصول على البيانات و بالتالي فإن تعرض أحد القرصين لمشكلة أو خلل يعني ضياع البيانات بشكل كامل، لذا فإن مواصفة RAID-0 تعتبر ملائمة للأنظمة التي تعتمد بشكل كبير على الأداء و لا تضم بيانات حساسة أو مهمة مثل هواة الألعاب .
لكن السؤال هو : هل زيادرة الأداء التي تقدمها مواصفة RAID-0 تستحق التكلفة الإضافية؟
سنحاول معرفة النتيجة من خلال سلسلة اختبارات نجريها مرة بواسطة قرص صلب منفرد و مرة أخرى باستخدام قرصين صلبين متماثلين يعملان بمواصفة RAID-0 .
مواصفات جهاز الاختبار
AMD Athlon64 3200+
Asus K8V SE Deluxe
512 GB Twinmos Ram
Maxtor SATA 80 GB HDD
ATI Radeon 9800 PRO
يوضح الشكل(1)
نتائج اختبار File System Benchmark التابع لبرنامج Sisoft Sandra 2004 Pro ، يقوم هذا الاختبار بتقييم الأداء النظري للقراءة و الكتابة للقرص الصلب و كما هو واضح من النتائج فإن الفرق كبير بين أداء القرص المنفرد و أداء قرصين يعملان بمواصفة RAID-0 ، لكن هل ينطبق هذا على أداء النظام في التطبيقات الحقيقية؟
يوضح الشكل(2) نتائج اختبار برنامج Business Winstone 2004 و الذي يعطي فكرة عن أداء النظام عند التعامل مع أشهر التطبيقات المكتبية و الشكل(3) يضم نتائج اختبار برنامج Content Creation Winstone 2004 و الذي يركز على أداء التطبيقات الاحترافية الخاصة بالصوت و الصورة Multimedia Creation Programs
كلا الاختبارين يوضحان زيادة الأداء بنسبة ضئيلة عند استخدام RAID-0 مقارنة مع أداء القرص المفرد .
الاختبارات الأخرى و التي تضم مجموعة من أشهر الألعاب تؤكد غياب أي زيادة في الأداء أو السرعة في التحميل عند استخدام RAID-0 إلا في حالات خاصة كانت فيها الزيادة البسيطة لا تثير الإعجاب أبداً .
ما هي النتيجة؟
النتيجة واضحة جداً ليس هناك أي ضرورة لاستخدام مواصفة RAID-0 على الحواسب المكتبية، فالزيادة في الأداء التي تقدمها للتطبيقات في أحسن الحالات ضئيلة و لا تبرر التكلفة الزائدة المترتبة على شراء قرصين صلبين هذا إضافة للمخاطرة بفقدان جميع البيانات عند تخرب أحد الأقراص . أما بالنسبة لهواة الألعاب فإن مواصفة RAID-0 عديمة الفائدة و ينحصر تأثيرها في تسريع تحميل الألعاب Loading بشكل بسيط و ليس لها أي تأثير يذكر على أداء الألعاب لذا فهي لا تستحق الاهتمام في وضعها الحالي .
RAID 0+1 زيادة الأداء مع حماية البيانات
و هي المواصفة التي تسمح للمستخدم بالحصول على زيادة الأداء التي تقدمها مواصفة RAID-0 مع مزايا الأمن و حماية البيانات التي تتمتع بها مواصفة RAID-1 ، لكن المشكلة هنا هي أن المستخدم يحتاج إلى أربعة أقراص صلبة على الأقل حتى يتمكن من استخدام مواصفة RAID 0+1 و هي ببساطة عبارة عن تطبيق مواصفة RAID 1 على قرصين يعملان بنمط RAID 0 فالناتج أربعة أقراص صلبة و تكلفة كبيرة مما يبرر ندرة استخدام هذه المواصفة .
Matrix RAID الحل الذي تقدمه Intel
قدمت Intel العديد من التقنيات الجديدة في أطقم الرقاقات الحديثة 915 و 925 و قد سبق لنا الحديث عنها، إلا أن ما يهمنا الأن منها هو تقنية خاصة بالأقراص الصلبة التي رغم أنها مفيدة جداً إلا أنه لم تكن محط الانتباه و النقاش و هي ميزة Matrix RAID الموجودة ضمن رقاقة الجسر الجنوبي Southbridge Chip الجديدة المسماة ICH6 .
توفر ميزة Matrix RAID حل اقتصادي للحيرة التي يعانيها المستخدم في الاختيار بين مزايا حماية البيانات في RAID-1 و مزايا السرعة في RAID-0 ، و هي تمكن المستخدم من تطبيق مواصفة RAID 0+1 باستخدام قرصين صلبين فقط، المبدأ التي تعمل به هذه التقنية معقد إلى حد ما و هو يستخدم القرصين لتطبيق مواصفة RAID-0 على قسم منهما و تطبيق RAID-1 على القسم المتبقي منهما .
تمكن مواصفة Matrix RAID المستخدم من تقسيم الأقراص إلى قسمين مثلاً C و D كل منها يضم نصفي كل من الأقراص المستخدمة عندها يمكن أن يختار المستخدم القسم C ليعمل بمواصفة RAID 1 على نصف كل من الأقراص الصلبة و يختار القسم D ليعمل بمواصفة RAID-0 على النصفين المتبقين، عندها يستطيع المستخدم من تخزين جميع البيانات المهمة إضافة إلى نظام التشغيل على القرص C و يتمتع بمزايا النسخ الاحتياطي و حماية البيانات لأن البيانات ستكون موجودة على القرصين في حال فشل أحدهما، و يستخدم القرص D لنسخ التطبيقات و الألعاب التي تستفيد من زيادة الأداء و التي سيتم فقدانها كلياً عند فشل أحد الأقراص .
الخلاصة
بالنسبة للتكلفة الإضافية اللازمة لتطبيق RAID-1 مبررة بل و حتى ضرورية في أغلب الأنظمة التي يحتل فيها أمن المعلومات مكان الصدارة، لكن عندما يتعلق الأمر بالسرعة (RAID-0) فمن الأفضل استثمار المال بشيء أخر كالمزيد من نواكر RAM مثلاً .