Aryam — Metrics & Tables Owner أريم — مالكة المقاييس والجداول
Works only from measurement data. Computes speedup, % improvement, and creates formatted results tables. تعمل فقط من بيانات القياس. تحسب التسريع ونسبة التحسين وتنشئ جداول النتائج المنسقة.
Responsibilitiesالمسؤوليات
Metricsمقاييس-
✓Compute speedupحساب التسريع
-
✓Compute % improvementحساب نسبة التحسين
-
✓Create formatted results tablesإنشاء جداول النتائج المنسقة
-
✓Prepare tables for report insertionتحضير الجداول لإدراجها في التقرير
Step-by-Step Processالخطوات التفصيلية
Processالعملية-
1Import dataset from Shoug (Person 2).استيراد مجموعة البيانات من شوق.
-
2Verify averages (if not already done).التحقق من المتوسطات إذا لم تُحسب مسبقاً.
-
3Create main table: Threads | Avg Time | Speedup | % Improvementإنشاء الجدول الرئيسي: الخيوط | متوسط الوقت | التسريع | نسبة التحسين
-
4Compute: Speedup = T(1)/T(n) and % Improvement = ((T1−Tn)/T1)×100الحساب: التسريع = T(1)/T(n) ونسبة التحسين = ((T1−Tn)/T1)×100
-
5Create additional supporting table if needed (raw vs average).إنشاء جدول دعم إضافي عند الحاجة (خام مقابل متوسط).
-
6Format tables professionally.تنسيق الجداول باحترافية.
-
7Export final tables (Excel/PDF).تصدير الجداول النهائية (Excel/PDF).
-
8Deliver tables to Layan and Rana.تسليم الجداول لليان ورنا.
Layan — Graphs & Performance Analysis Owner ليان — مالكة الرسوم البيانية وتحليل الأداء
Works from final results table. Creates graphs, identifies performance decrease point, and writes technical interpretation. تعمل من جدول النتائج النهائي. تُنشئ الرسوم البيانية وتُحدد نقطة انخفاض الأداء وتكتب التفسير التقني.
Responsibilitiesالمسؤوليات
Analysisتحليل-
✓Create required graphsإنشاء الرسوم البيانية المطلوبة
-
✓Identify performance decrease pointتحديد نقطة انخفاض الأداء
-
✓Write short technical interpretationكتابة تفسير تقني مختصر
Step-by-Step Processالخطوات التفصيلية
Processالعملية-
1Import final table from Aryam.استيراد الجدول النهائي من أريم.
-
2Create graph: Threads vs Avg Execution Time.إنشاء رسم بياني: الخيوط مقابل متوسط وقت التنفيذ.
-
3Create graph: Threads vs Speedup.إنشاء رسم بياني: الخيوط مقابل التسريع.
-
4Label axes clearly.وضع تسميات واضحة للمحاور.
-
5Identify thread count where Avg Time increases compared to previous count.تحديد عدد الخيوط التي يرتفع عندها متوسط الوقت.
-
6Write short explanation: speedup trend, overhead causes, decrease point.كتابة شرح مختصر: اتجاه التسريع وأسباب الحمل الزائد ونقطة الانخفاض.
-
7Export graphs as PNG.تصدير الرسوم البيانية بصيغة PNG.
-
8Deliver graphs + explanation to Rana.تسليم الرسوم البيانية والشرح لرنا.
Danah — Code Modification Owner دانه — مالكة تعديل الكود
Fully independent. Modifies the Java program, ensures correctness, and freezes the final version before benchmarking. مستقلة تماماً. تُعدّل برنامج Java وتضمن صحته وتُجمّد النسخة النهائية قبل القياس.
Responsibilitiesالمسؤوليات
Developmentتطوير-
✓Modify program to compute sum of cubesتعديل البرنامج لحساب مجموع المكعبات
-
✓Ensure array values are < 100التأكد من أن قيم المصفوفة أقل من 100
-
✓Make thread count configurable (1, 2, 4, 6, 8)جعل عدد الخيوط قابلاً للضبط (1، 2، 4، 6، 8)
-
✓Verify correctness (parallel == single-thread result)التحقق من الصحة (النتيجة الموازية == نتيجة الخيط الواحد)
-
✓Clean and comment the codeتنظيف الكود وإضافة التعليقات
-
✓Freeze final version before benchmarkingتجميد النسخة النهائية قبل القياس
Step-by-Step Processالخطوات التفصيلية
Processالعملية-
1Open existing Java program.فتح برنامج Java الموجود.
-
2Modify computation logic to calculate x³.تعديل منطق الحساب لحساب x³.
-
3Ensure random/generated values are strictly < 100.التأكد من أن القيم العشوائية/المولّدة أقل من 100 بالتأكيد.
-
4Implement configurable thread count parameter.تطبيق معامل عدد الخيوط القابل للضبط.
-
5Implement correctness check comparing multi-thread and single-thread result.تطبيق التحقق من الصحة بمقارنة نتيجتي تعدد الخيوط والخيط الواحد.
-
6Compile and test functionality (not performance).تجميع واختبار الوظائف (وليس الأداء).
-
7Clean and comment code clearly.تنظيف الكود وإضافة تعليقات واضحة.
-
8Freeze file.تجميد الملف.
-
9Deliver final file to Shoug.تسليم الملف النهائي لشوق.
Shoug — Measurement & System Owner شوق — مالكة القياس والنظام
The ONLY person running official performance tests. Runs all thread configurations, records raw times, and exports the dataset. الشخص الوحيد الذي يُجري اختبارات الأداء الرسمية. تُشغّل جميع تكوينات الخيوط وتُسجّل الأوقات الخام وتُصدّر مجموعة البيانات.
Responsibilitiesالمسؤوليات
Measurementقياس-
✓Compile and execute final Java fileتجميع وتنفيذ ملف Java النهائي
-
✓Run 1, 2, 4, 6, 8 thread configurationsتشغيل تكوينات الخيوط 1، 2، 4، 6، 8
-
✓Repeat runs (recommended: 5 per configuration)تكرار التشغيل (موصى به: 5 لكل تكوين)
-
✓Record raw times & compute averagesتسجيل الأوقات الخام وحساب المتوسطات
-
✓Record full machine specificationsتسجيل مواصفات الجهاز الكاملة
Step-by-Step Processالخطوات التفصيلية
Processالعملية-
1Receive FinalParallelVersion.java from Danah.استلام FinalParallelVersion.java من دانه.
-
2Compile using javac.التجميع باستخدام javac.
-
3Run program with 1 thread (5 runs).تشغيل البرنامج بخيط واحد (5 تشغيلات).
-
4Run program with 2 threads (5 runs).تشغيل البرنامج بخيطين (5 تشغيلات).
-
5Run program with 4 threads (5 runs).تشغيل البرنامج بـ 4 خيوط (5 تشغيلات).
-
6Run program with 6 threads (5 runs).تشغيل البرنامج بـ 6 خيوط (5 تشغيلات).
-
7Run program with 8 threads (5 runs).تشغيل البرنامج بـ 8 خيوط (5 تشغيلات).
-
8Record raw execution times.تسجيل أوقات التنفيذ الخام.
-
9Compute average execution time for each configuration.حساب متوسط وقت التنفيذ لكل تكوين.
-
10Record CPU model, Core count, RAM, OS, Java version.تسجيل موديل المعالج وعدد الأنوية والذاكرة ونظام التشغيل وإصدار Java.
-
11Export dataset to CSV or Excel.تصدير مجموعة البيانات إلى CSV أو Excel.
-
12Deliver dataset + machine specs to Aryam and Rana.تسليم مجموعة البيانات ومواصفات الجهاز لأريم ورنا.
Rana — Report & Integration Owner رنا — مالكة التقرير والتكامل
Final integrator. Writes the ≤1000-word report, inserts all tables and graphs, organizes the final submission, and creates the ZIP. المُكاملة النهائية. تكتب التقرير (≤1000 كلمة) وتُدرج الجداول والرسوم البيانية وتُنظّم التسليم النهائي وتُنشئ ملف ZIP.
Step-by-Step Processالخطوات التفصيلية
Integrationتكامل-
1Draft report structure: Objective, Methodology, Experimental Setup, Results, Discussion, Conclusion صياغة هيكل التقرير: الهدف، المنهجية، الإعداد التجريبي، النتائج، النقاش، الخاتمة
-
2Insert: Tables (Aryam), Graphs (Layan), Machine specs (Shoug) إدراج: الجداول (أريم)، الرسوم البيانية (ليان)، مواصفات الجهاز (شوق)
-
3Write explanation: thread division logic, synchronization, scalability behavior, performance decrease كتابة الشرح: منطق تقسيم الخيوط، المزامنة، سلوك قابلية التوسع، انخفاض الأداء
-
4Ensure report ≤ 1000 words. التأكد من أن التقرير ≤ 1000 كلمة.
-
5Organize submission folder: تنظيم مجلد التسليم:
Phase2_Submission/ → code/ tables/ graphs/ report.pdf machine_specs.txt -
6Verify all files open correctly.التحقق من فتح جميع الملفات بشكل صحيح.
-
7Create final ZIP.إنشاء ملف ZIP النهائي.
-
8Perform final validation check.إجراء فحص التحقق النهائي.
📝 Important Notesملاحظات مهمة
- Only one machine used for official timingجهاز واحد فقط يُستخدم للتوقيت الرسمي
- Close background applications during benchmarkingإغلاق التطبيقات الخلفية أثناء قياس الأداء
- Use consistent Java versionاستخدام إصدار Java متسق
- Increase repetitions if fluctuations occurزيادة مرات التكرار إذا حدثت تذبذبات
- Identify decrease point using average time trendتحديد نقطة الانخفاض باستخدام اتجاه متوسط الوقت
⚠️ Overhead Sourcesمصادر الحمل الزائد
- Thread managementإدارة الخيوط
- Synchronizationالمزامنة
- Context switchingتبديل السياق
- Cache contentionتنافس ذاكرة التخزين المؤقت
🔧 Tools by Categoryالأدوات حسب الفئة
- Code:الكود: Java JDK, IDE / text editor
- Measurement:القياس: System.nanoTime(), system info tools, Excel / Google Sheets
- Tables:الجداول: Spreadsheet formulasصيغ جداول البيانات
- Graphs:الرسوم البيانية: Excel / Sheets charts
- Report:التقرير: Word / Google Docs, PDF export, ZIP tool
✅ Why This Model Is Optimalلماذا هذا النموذج هو الأمثل
- Scientifically valid speedupتسريع صحيح علمياً
- Clear task ownershipملكية واضحة للمهام
- Minimal overlapتداخل أدنى
- Linear workflowسير عمل خطي
- Clean submissionتسليم نظيف
- Professional structureهيكل احترافي