Performance Measurement

الفصل الثالث عشر: قياس وتحليل الأداء

الهدف: المتوسطات الرياضية (Means)، المعايير (Benchmarks)، وتحسين الكود والقرص.
1

Measures of Central Tendency

Arithmetic Mean

$$ \frac{\sum x_i}{n} $$

المتوسط الحسابي العادي. جيد للبيانات المنتظمة، لكنه مضلل إذا كانت البيانات مبعثرة (Skewed).

Geometric Mean

$$ \sqrt[n]{x_1 \cdot x_2 \dots x_n} $$

يستخدم للمقارنة النسبية (Ratios) والبيانات المعيارية (Normalized). يعطي نتائج متسقة بغض النظر عن الجهاز المرجعي.

Harmonic Mean

$$ \frac{n}{\sum \frac{1}{x_i}} $$

الأفضل للتعامل مع المعدلات (Rates) والإنتاجية (Throughput). القيم الصغيرة تؤثر فيه بشدة.

2

Benchmarks (المعايير القياسية)

SPEC

Standard Performance Evaluation Corp

مجموعة من البرامج الحقيقية (Kernels) لقياس أداء المعالج (CPU) بشكل خام.
يركز على الحسابات (Integer/Floating Point).

TPC

Transaction Performance Council

لقياس أداء النظام كاملاً (خاصة قواعد البيانات والسيرفرات).
يركز على المعاملات في الدقيقة (Transactions per minute).

3

Code Optimization Techniques

Loop Unrolling

الكود العادي (بطيء)

for (i=0; i<100; i++) {
  a[i] = a[i] + b[i];
}

*يتحقق من الشرط 100 مرة.

بعد الـ Unrolling (سريع)

for (i=0; i<100; i+=2) {
  a[i] = a[i] + b[i];
  a[i+1] = a[i+1] + b[i+1];
}

*يتحقق من الشرط 50 مرة فقط.

Loop Fusion

دمج حلقتين (Loops) تستخدمان نفس البيانات في حلقة واحدة لتحسين استخدام الكاش.

Loop Peeling

فصل الحالات الخاصة (أول أو آخر دورة) خارج الحلقة لتسريع الجسم الرئيسي للحلقة.

4

Disk Scheduling Algorithms

الخوارزمية طريقة العمل الميزة / العيب
FCFS خدمة الطلبات بالترتيب (First Come First Served). أداء سيء وعشوائي (حركة الذراع كثيرة).
SSTF الأقصر مسافة أولاً (Shortest Seek Time First). سريع، لكن قد يسبب مجاعة (Starvation) للطلبات البعيدة.
SCAN (Elevator) يتحرك الذراع للنهاية ثم يعود (مثل المصعد). عادل ومنتظم.
C-SCAN يتحرك في اتجاه واحد فقط، ثم يقفز للبداية (Circular). زمن استجابة أكثر تجانساً.
EXAM VAULT (خزنة الاختبار)
CONCEPT / مفهوم

Branch Prediction

Static: التخمين ثابت دائماً (مثلاً: دائماً افترض أن الشرط سيتحقق).
Dynamic: التخمين بناءً على التاريخ السابق (History) لهذا الشرط.
الهدف: تجنب تفريغ الـ Pipeline.

RULE OF THUMB / قاعدة

Disk Utilization Knee

في الأقراص، عندما تصل نسبة الاستخدام (Utilization) إلى 80%، يبدأ وقت الانتظار (Queue Time) في الارتفاع بشكل جنوني.
لذلك، القاعدة الذهبية: لا تدع استغلال القرص يتجاوز 80%.

الفصل السابق العودة للفهرس الرئيسي