Amdahl's Law (قانون أمدال)
قانون يستخدم لحساب التحسن الكلي في أداء النظام عند تحسين جزء معين منه.
الخلاصة: لا تضيع وقتك في تحسين جزء نادراً ما يستخدم (إذا كانت f صغيرة، التحسن S سيكون صغيراً).
I/O Control Methods
1. Programmed I/O (Polling)
المعالج (CPU) يدور في حلقة (Loop) ويسأل الجهاز باستمرار: "هل انتهيت؟".
عيب: يضيع وقت المعالج.2. Interrupt-Driven I/O
المعالج يكمل عمله، والجهاز يرسل "مقاطعة" (Interrupt) عند الانتهاء.
أفضل، لكنه يزعج المعالج مع كل بايت.3. Direct Memory Access (DMA)
تفويض "مساعد خاص" (DMA Controller) لنقل كتل البيانات مباشرة بين الجهاز والذاكرة دون إشغال المعالج.
الأفضل للبيانات الكبيرة (Disk).4. Channel I/O
استخدام معالجات ذكية ومستقلة (I/O Processors) لإدارة الإدخال والإخراج بالكامل (Mainframes).
Disk Performance Metrics
Disk Access Time Formula
RAID Levels (مصفوفات الأقراص)
RAID 0
Stripingتوزيع البيانات على الأقراص.
- ✔ أداء عالي جداً.
- ✘ لا توجد حماية (فشل قرص = ضياع الكل).
RAID 1
Mirroringنسخ البيانات طبق الأصل.
- ✔ حماية عالية (Redundancy).
- ✘ تكلفة عالية (نحتاج ضعف الأقراص).
RAID 5
Distributed Parityتوزيع بيانات التصحيح (Parity) على الأقراص.
- ✔ توازن ممتاز بين الأداء والحماية والتكلفة.
- ● يتحمل فشل قرص واحد.
RAID 6 & RAID DP
Double Parityيستخدم تصحيح مزدوج. يتحمل فشل قرصين (2 Disk Failures) في نفس الوقت.
تطبيق قانون أمدال
طورنا المعالج ليصبح أسرع 10 مرات ($k=10$). المعالج يستخدم 40% من الوقت ($f=0.4$). ما هو التسريع الكلي؟
S = 1 / (0.6 + 0.04)
S = 1 / 0.64 ≈ 1.56
الدرس: رغم أن المعالج صاروخ، النظام تحسن قليلاً لأننا لا نستخدمه كثيراً!
RAID Levels
مستوى RAID الأعلى ليس دائماً "أفضل".
RAID 10 أفضل من RAID 5 في الأداء العالي (Database).
RAID 6 أبطأ في الكتابة من RAID 5 بسبب حساب الـ Parity المزدوج.
اختر بناءً على الحاجة (Performance vs Reliability).