أداء الحاسوب

(تم التحويل من Computer performance)

في الحوسبة، أداء الحاسوب إنگليزية: Computer performance هو مقدار العمل المفيد الذي أنجزه نظام الحاسوب. خارج السياقات المحددة، يتم تقدير أداء الحاسوب من حيث الدقة والكفاءة وسرعة تنفيذ تعليمات برنامج الحاسوب. عندما يتعلق الأمر بالأداء العالي للحاسوب، فقد يكون هناك عامل واحد أو أكثر من العوامل التالية:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

التعاريف التقنية وغير التقنية

يمكن تقييم أداء أي نظام حاسوب بمصطلحات تقنية قابلة للقياس باستخدام واحد أو أكثر من المقاييس المذكورة أعلاه. بهذه الطريقة يمكن أن يكون الأداء

  • مقارنة بالأنظمة الأخرى أو نفس النظام قبل/بعد التغييرات
  • بالمصطلحات المطلقة، على سبيل المثال للوفاء بالتزام تعاقدي

في حين أن التعريف أعلاه يتعلق بمنهج علمي وتقني، فإن التعريف التالي الذي قدمه آرنولد ألن سيكون مفيداً لجمهور غير تقني:

"كلمة أداء في أداء الحاسوب تعني نفس الشيء الذي يعنيه الأداء في سياقات أخرى، أي أنها تعني ما مدى جودة أداء الحاسوب للعمل الذي من المفترض أن يقوم به؟ ""[1]


كجانب من جوانب جودة البرمجيات

يعد أداء البرمجيات، خاصة زمن استجابة برامج التطبيقات، جانباً من جوانب جودة البرمجيات المهم في التفاعلات الإنسانية الحاسوبية.

هندسة الأداء

تشمل هندسة الأداء ضمن هندسة الأنظمة مجموعة الأدوار والمهارات والأنشطة والممارسات والأدوات والمخرجات المطبقة في كل مرحلة من مراحل دورة حياة تطوير الأنظمة والتي تضمن تصميم الحل وتنفيذه ودعمه تشغيلياً لتلبية متطلبات الأداء المحددة للحل.

تتعامل هندسة الأداء باستمرار مع المفاضلات بين أنواع الأداء. من حين لآخر، يمكن أن يجد مصمم وحدة المعالجة المركزية طريقة لإنشاء CPU بأداء إجمالي أفضل من خلال تحسين أحد جوانب الأداء، المعروضة أدناه، دون التضحية بأداء وحدة المعالجة المركزية في مجالات أخرى. على سبيل المثال، بناء وحدة المعالجة المركزية من أفضل وأسرع الترانزيستورات.

ومع ذلك، يؤدي أحياناً دفع نوع واحد من الأداء إلى أقصى الحدود إلى وحدة المعالجة المركزية ذات الأداء العام السيئ، لأنه تم التضحية بجوانب مهمة أخرى للحصول على رقم واحد مثير للإعجاب، على سبيل المثال، معدل الساعة الخاص بالشريحة (راجع megahertz myth).

هندسة أداء التطبيقات

هندسة أداء التطبيقات (APE) هي منهجية محددة ضمن هندسة الأداء مصممة لمواجهة التحديات المرتبطة بأداء التطبيقات في بيئات تكنولوجيا المعلومات المتنقلة والسحابة والأرضية الموزعة بشكل متزايد. ويشمل الأدوار والمهارات والأنشطة والممارسات والأدوات والمخرجات المطبقة في كل مرحلة من مراحل دورة حياة التطبيق والتي تضمن تصميم التطبيق وتنفيذه ودعمه تشغيلياً لتلبية متطلبات الأداء غير الوظيفي.

جوانب الأداء

تشمل مقاييس أداء الحاسوب (الأشياء التي يتم قياسها) تشمل التوفر، زمن الاستجابة، سعة القناة، الكمون، زمن الإنجاز، زمن الخدمة، النطاق الترددي، الإنتاجية، الكفاءة النسبية، قابلية التوسع، الأداء لكل واط، نسبة الضغط، طول مسار التعليمات والتسريع. ومعايير وحدة المعالجة المركزية متاحة.[2]

التوافر

عادةً ما يتم قياس مدى توفر النظام كعامل من عوامل موثوقيته - حيث تزداد الموثوقية، وكذلك التوافر (أي أقل وقت التوقف). يمكن أيضاً زيادة توافر النظام من خلال استراتيجية التركيز على زيادة قابلية الاختبار والصيانة وليس على الموثوقية. تحسين قابلية الصيانة أسهل بشكل عام من الموثوقية. تقديرات قابلية الصيانة (معدلات الإصلاح) هي أيضاً أكثر دقة بشكل عام. ومع ذلك، نظراً لأن أوجه عدم اليقين في تقديرات الموثوقية كبيرة جداً في معظم الحالات، فمن المحتمل أن تهيمن على مشكلة التوافر (عدم اليقين في التنبؤ)، حتى عندما تكون مستويات الصيانة عالية جداً.

زمن الاستجابة

زمن الاستجابة هو إجمالي الوقت المستغرق للرد على طلب الخدمة. في مجال الحوسبة، يمكن أن تكون هذه الخدمة أي وحدة عمل بدءاً من قرص IO لتحميل صفحة وب معقدة. زمن الاستجابة هو مجموع ثلاثة أرقام:[3]

  • زمن الخدمة - الوقت المستغرق لإنجاز العمل المطلوب.
  • زمن الانتظار - كم من الوقت يجب أن ينتظر الطلب الطلبات الموضوعة في قائمة الانتظار قبل أن يبدأ تشغيله.
  • زمن الإرسال - كم من الوقت يستغرق نقل الطلب إلى الحاسب الذي يقوم بالعمل والرد على مقدم الطلب.

سرعة المعالجة

يختار معظم المستهلكين هندسة الحاسب (عادةً بنية إنتل IA-32 حتى يتمكنوا من تشغيل قاعدة كبيرة من البرامج الموجودة مسبقاً والمترجمة مسبقاً. نظراً لكونهم غير مطلعين نسبياً على معايير الحاسب، يختار بعضهم وحدة معالجة مركزية معينة بناءً على تردد التشغيل (انظر megahertz myth).

يختار بعض مصممي الأنظمة الذين يبنون أجهزة حاسب متوازية وحدات المعالجة المركزية بناءً على السرعة لكل دولار.

سعة القناة

سعة القناة هي الحد الأعلى الأكثر إحكاماً على معدل المعلومات التي يمكن نقلها بشكل موثوق عبر قناة اتصالات. من خلال نظرية تشفير القناة الضوضائية، تكون سعة القناة لقناة معينة هي معدل المعلومات المحدد (بوحدات المعلومات لكل وحدة زمنية) التي يمكن تحقيقها مع احتمال خطأ صغير عشوائياً.[4][5]

تحدد نظرية المعلومات، التي طورها كلود إي. شانن خلال الحرب العالمية الثانية، مفهوم سعة القناة وتوفر نموذجاً رياضياً يمكن من خلاله حسابها. تشير النتيجة الرئيسية إلى أن سعة القناة، كما هو محدد أعلاه، تُعطى من خلال الحد الأقصى من المعلومات المتبادلة بين مدخلات ومخرجات القناة، حيث يكون التضخيم فيما يتعلق بتوزيع المدخلات.[6]

الكمون

الكمون هو تأخير زمني بين سبب وتأثير بعض التغيير المادي في النظام الذي يتم ملاحظته. الكمون هو نتيجة السرعة المحدودة التي يمكن أن يحدث بها أي تفاعل مادي. تكون هذه السرعة دائماً أقل أو تساوي سرعة الضوء. لذلك، سيختبر كل نظام مادي له أبعاد مكانية غير صفرية نوعاً من زمن الوصول.

يعتمد التعريف الدقيق للكمون على النظام الذي يتم ملاحظته وطبيعة التحفيز. في الاتصالات، يتم تحديد الحد الأدنى للكمون من خلال الوسيط المستخدم للاتصالات. في أنظمة الاتصال ثنائية الاتجاه الموثوقة، يحد زمن الانتقال من الحد الأقصى لمعدل نقل المعلومات، حيث يوجد غالباً حد لكمية المعلومات "أثناء البدء" في أي لحظة. في مجال التفاعل بين الإنسان والآلة، يكون للكمون الملموس (التأخير بين ما يأمر به المستخدم والوقت الذي يقدم فيه الحاسوب النتائج) تأثيراً قوياً على رضا المستخدم وسهولة الاستخدام.

تقوم أجهزة الحاسوب بتشغيل مجموعات من التعليمات تسمى عملية. في أنظمة التشغيل، يمكن تأجيل تنفيذ العملية في حالة تنفيذ عمليات أخرى أيضاً. بالإضافة إلى ذلك، يمكن لنظام التشغيل جدولة وقت تنفيذ الإجراء الذي تأمر به العملية. على سبيل المثال، افترض أن هناك أوامر عملية تحدد ناتج الجهد لبطاقة الحاسوب high-low-high-low وما إلى ذلك بمعدل 1000 هرتز. قد يختار نظام التشغيل ضبط جدولة كل انتقال (high-low or low-high) بناءً على ساعة داخلية. الكمون هو التأخير بين تعليمات العملية التي تحكم عملية الانتقال والجهاز الذي يقوم فعلياً بنقل الجهد من مرتفع إلى منخفض أو منخفض إلى مرتفع.

يريد مصممو الأنظمة الذين يبنون أنظمة الحوسبة في الوقت الفعلي ضمان استجابة أسوأ الحالات. يكون ذلك أسهل عندما تكون لوحدة المعالجة المركزية كمون مقاطعة منخفضة وعندما يكون لديها استجابة حتمية.

سعة الاتصال

في شبكات الحاسوب، تعد سعة الاتصال (عرض النطاق الترددي) قياساً لمعدل البت لموارد اتصال البيانات المتاحة أو المستهلكة، معبراً عنها بالبتات في الثانية أو مضاعفاتها (bit/s, kbit/s, Mbit/s, Gbit/s, إلخ.).

يحدد النطاق الترددي (سعة الاتصال) أحياناً معدل البت الصافي (ويعرف أيضاً باسم معدل بتات الذروة، أو معدل المعلومات، أو معدل البت المفيد للطبقة المادية)، أو سعة القناة، أو الحد الأقصى للإنتاجية لمسار الاتصال المنطقي أو المادي في نظام اتصال رقمي. على سبيل المثال، تقيس اختبارات النطاق الترددي أقصى سرعة نقل لشبكة الحاسوب. والسبب في هذا الاستخدام هو أنه وفقاً لقانون هارتلي، يتناسب الحد الأقصى لمعدل البيانات لرابط الاتصال المادي مع عرض النطاق الترددي الخاص به بالهرتز، والذي يُسمى أحياناً عرض النطاق الترددي أو النطاق الترددي الطيفي أو عرض النطاق الترددي RF أو عرض النطاق الترددي للإشارة أو عرض النطاق الترددي التناظري.

الإنتاجية

بشكل عام، الإنتاجية هي معدل الإنتاج أو معدل معالجة شيء ما.

في شبكات الاتصال، يكون معدل النقل مرادفاً بشكل أساسي لاستهلاك النطاق الترددي الرقمي. في الشبكات اللاسلكية أو شبكات الاتصالات الخلوية، كفاءة طيف النظام في bit/s/Hz/area unit، bit/s/Hz/site أو bit/s/Hz/cell، هو أقصى معدل نقل للنظام (إجمالي الإنتاجية) مقسوماً على عرض النطاق الترددي التناظري وبعض قياس منطقة تغطية النظام.

في الدوائر المتكاملة، غالباً ما يكون للكتلة في مخطط تدفق البيانات مدخل واحد ومخرج واحد، وتعمل على حزم منفصلة من المعلومات. ومن أمثلة هذه الكتل الوحدات النمطية FFT أو المضاعف الثنائي. نظراً لأن وحدات الإنتاجية هي وحدة متبادلة من أجل تأخير الانتشار، وهي "ثواني لكل رسالة" أو "ثانية لكل خرج"، يمكن استخدام معدل النقل لربط جهاز حسابي يؤدي وظيفة مخصصة مثل ASIC أو معالج مضمن لقناة اتصالات، مما يبسط تحليل النظام.


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

الكفاءة النسبية

قابلية التوسع

قابلية التوسع هي قدرة نظام أو شبكة أو عملية على التعامل مع كمية متزايدة من العمل بطريقة قادرة أو قدرتها على التوسع لاستيعاب هذا النمو.

استهلاك الطاقة

مقدار الطاقة الكهربائية التي يستخدمها الحاشوب (استهلاك الطاقة). يصبح هذا مهماً بشكل خاص للأنظمة ذات مصادر الطاقة المحدودة مثل الطاقة الشمسية والبطاريات والطاقة البشرية.

الأداء بالواط

ينشئ مصممو النظام أجهزة الحواسب المتوازية، مثل أجهزة گوگل، يختارون وحدات المعالجة المركزية بناءً على سرعتها لكل واط من الطاقة، لأن تكلفة تشغيل وحدة المعالجة المركزية تفوق التكلفة من وحدة المعالجة المركزية نفسها.[7]

بالنسبة لأجهزة الحواسب الخاصة بالفضاء، تعد سرعة المعالجة لكل نسبة واط معيار أداء أكثر فائدة من سرعة المعالجة الأولية.[8]

نسبة الضغط

يعد الضغط مفيداً لأنه يساعد في تقليل استخدام الموارد، مثل مساحة تخزين البيانات أو سعة النقل. نظراً لأنه يجب فك ضغط البيانات المضغوطة لاستخدامها، فإن هذه المعالجة الإضافية تفرض تكاليف حسابية أو تكاليف أخرى من خلال إلغاء الضغط؛ هذا الوضع بعيد كل البعد عن كونه مجاناً. يخضع ضغط البيانات لمقايضة تعقيد المساحة والزمن.

الحجم والوزن

هذه ميزة أداء مهمة للأنظمة المحمولة، من الهواتف الذكية التي تحتفظ بها في جيبك إلى الأنظمة المحمولة المدمجة في مركبة فضائية.

العامل البيئي

تأثير الحاسب أو أجهزة الحاسب على البيئة أثناء التصنيع وإعادة التدوير وكذلك أثناء الاستخدام. يتم أخذ القياسات بهدف تقليل النفايات وتقليل المواد الخطرة وتقليل البصمة البيئية لجهاز الحاسوب.

إجمالي الترانزستورات

إجمالي الترانزستورات هو عدد الترانزستورات على دائرة متكاملة (IC). يعد عدد الترانزستورات هو المقياس الأكثر شيوعاً لتعقيد IC.

مقاييس الأداء

نظراً لوجود العديد من البرامج لاختبار وحدة المعالجة المركزية في جميع جوانب الأداء، فقد تم تطوير مقياس الأداء

أشهر المعايير هي معايير SPECint وSPECfp التي طورتها شركة تقييم الأداء القياسي وعلامات الشهادة التي طورها اتحاد معايير المعالجات الدقيقة المدمجة EEMBC.

اختبار أداء البرمجيات

في هندسة البرمجيات، يتم إجراء اختبار الأداء بشكل عام لتحديد كيفية أداء النظام من حيث الاستجابة والاستقرار في ظل عبء عمل معين. يمكن أن يعمل أيضاً على التحقيق أو القياس أو التحقق من صحة أو التحقق من سمات الجودة الأخرى للنظام، مثل قابلية التوسع والموثوقية واستخدام الموارد.

اختبار الأداء هو مجموعة فرعية من هندسة الأداء، وهي ممارسة علوم الحاسوب الناشئة التي تسعى جاهدة لبناء الأداء في تنفيذ وتصميم وهندسة النظام.

التنميط (تحليل الأداء)

في هندسة البرمجيات، يعتبر التنميط ("ملف تعريف البرنامج"، "تحديد سمات البرامج") أحد أشكال تحليل البرامج الديناميكي الذي يقيس، على سبيل المثال، المساحة (الذاكرة) أو التعقيد الزمني لبرنامج ما، استخدام تعليمات معينة، أو تكرار استدعاءات التوابع ومدتها. الاستخدام الأكثر شيوعاً لمعلومات التنميط هو مساعدة في تحسين البرنامج.

يتحقق التنميط عن طريق الأدوات إما شيفرة مصدر البرنامج أو شكله الثنائي القابل للتنفيذ باستخدام أداة تسمى أداة التعريف (أو أداة تعريف الشيفرة). يمكن استخدام عدد من التقنيات المختلفة من قبل المحترفين، مثل الأساليب القائمة على الأحداث، والإحصائية، والمجهزة، والمحاكاة.

ضبط الأداء

ضبط الأداء هو تحسين أداء النظام. عادةً ما يكون هذا تطبيقاً على الحاسوب، ولكن يمكن تطبيق نفس الأساليب في الأسواق الاقتصادية أو البيروقراطيات أو الأنظمة المعقدة الأخرى. الدافع وراء مثل هذا النشاط يسمى مشكلة الأداء، والتي يمكن أن تكون حقيقية أو متوقعة. ستستجيب معظم الأنظمة لزيادة التحميل بدرجة معينة من الأداء المتناقص. قدرة النظام على قبول حمل أعلى تسمى قابلية التوسع، وتعديل نظام للتعامل مع حمل أعلى هو مرادف لضبط الأداء.

يتبع الضبط المنهجي الخطوات التالية:

  1. تقييم المشكلة وإنشاء القيم الرقمية التي تصنف السلوك المقبول.
  2. قياس أداء النظام قبل التعديل.
  3. تحديد جزء النظام المهم لتحسين الأداء. وهذا ما يسمى الاختناق.
  4. تعديل هذا الجزء من النظام لإزالة الاختناق.
  5. قياس أداء النظام بعد التعديل.
  6. إذا كان التعديل يجعل الأداء أفضل، فيجب اعتماده. إذا أدى التعديل إلى جعل الأداء أسوأ، فنعيده إلى ما كان عليه.


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

الأداء المتوقع

يشير الأداء المتوقع، في هندسة الحاسب، إلى مدى سرعة أداء ميزة البرنامج في أداء مهمتها. ينطبق المفهوم بشكل أساسي على جوانب قبول المستخدم.

مقدار الزمن الذي يستغرقه التطبيق لبدء التشغيل أو تنزيل ملف لا يتم تسريعه من خلال إظهار شاشة بدء التشغيل (انظر شاشة البداية) أو مربع حوار تقدم الملف. ومع ذلك، فإنه يلبي بعض الاحتياجات البشرية: فهو يظهر بشكل أسرع للمستخدم بالإضافة إلى توفير إشارة مرئية لإعلامهم بأن النظام يتعامل مع طلباتهم.

في معظم الحالات، تؤدي زيادة الأداء الحقيقي إلى زيادة الأداء المتوقع، ولكن عندما لا يمكن زيادة الأداء الحقيقي بسبب القيود المادية، يمكن استخدام التقنيات لزيادة الأداء المتوقع.

== معادلة الأداء ==

معادلة الأداء

المقدار الإجمالي للزمن (t) المطلوب لتنفيذ برنامج معياري معين هو

، أو مكافئ
[9]

حيث

  • هو "الأداء" من حيث زمن التنفيذ
  • هو عدد التعليمات التي تم تنفيذها بالفعل (طول مسار التعليمات). تؤثر كثافة الرمز الخاصة بمجموعة التعليمات بشدة على N. يمكن تحديد قيمة N إما تماماً باستخدام محاكي مجموعة التعليمات (إذا كان متاحاً) أو عن طريق التقدير - نفسه يعتمد جزئياً على توزيع التردد المقدر أو الفعلي للمدخلات المتغيرات ومن خلال فحص لغة الآلة الذي تم إنشاؤه من مترجم HLL. لا يمكن تحديده من عدد سطور كود مصدر HLL. لا يتأثر N بالعمليات الأخرى التي تعمل على نفس المعالج. النقطة المهمة هنا هي أن الأجهزة عادة لا تتبع (أو على الأقل توفر بسهولة) قيمة N للبرامج المنفذة. لذلك لا يمكن تحديد القيمة بدقة إلا من خلال محاكاة مجموعة التعليمات، والتي نادراً ما يتم تطبيقها عملياً.
  • هو تردد الساعة في دورات في الثانية.
  • هو متوسط الدورات لكل تعليمة (CPI) لهذا المعيار.
  • هو متوسط التعليمات لكل دورة (IPC) لهذا المعيار.

حتى على جهاز واحد، يمكن لمحول مختلف أو نفس المحول البرمجي باستخدام مفاتيح تحسين محول مختلفة تغيير N وCPI - يتم تنفيذ المعيار بشكل أسرع إذا كان المحول الجديد قادراً على تحسين N أو C دون جعل الآخر أسوأ، ولكن غالباً ما يكون هناك المفاضلة بينهما - هل من الأفضل، على سبيل المثال، استخدام بعض التعليمات المعقدة التي تستغرق وقتاً طويلاً في التنفيذ، أو استخدام التعليمات التي يتم تنفيذها بسرعة كبيرة، على الرغم من أن تنفيذ المعيار يتطلب المزيد منها؟

غالباً ما يُطلب من مصمم وحدة المعالجة المركزية تنفيذ مجموعة تعليمات معينة، وبالتالي لا يمكن تغيير N. يركز المصمم أحياناً على تحسين الأداء من خلال إجراء تحسينات كبيرة في f (باستخدام تقنيات مثل خطوط الأنابيب الأعمق وذاكرة التخزين المؤقت الأسرع)، بينما (نأمل) عدم التضحية بالكثير من C — مما يؤدي إلى Speed-demon تصميم وحدة المعالجة المركزية. يركز المصمم أحياناً على تحسين الأداء من خلال إجراء تحسينات كبيرة في CPI (باستخدام تقنيات مثل التنفيذ خارج الترتيب، وحدات المعالجة المركزية (CPU) ذات ذات المعالجة الفائقة، وذاكرة التخزين المؤقت الأكبر حجماً، وذاكرة التخزين المؤقت ذات معدلات الوصول المحسّنة، وتحسين متنبئ الفروع، التنفيذ التخميني، إلخ.)، بينما (نأمل) عدم التضحية كثيراً بتردد الساعة - مما يؤدي إلى تصميم وحدة المعالجة المركزية ذهنية.[10] بالنسبة لمجموعة تعليمات معينة (وبالتالي N ثابتة) وعملية أشباه الموصلات، يتطلب الحد الأقصى لأداء المسلك المفرد (1/t) توازناً بين تقنيات العقل وتقنيات متتبع السرعة.[9]

انظر أيضاً

المراجع

  1. ^ Computer Performance Analysis with Mathematica by Arnold O. Allen, Academic Press, 1994. $1.1 Introduction, pg 1.
  2. ^ Measuring Program Similarity: Experiments with SPEC CPU Benchmark Suites 
  3. ^ Wescott, Bob (2013). The Every Computer Performance Book, Chapter 3: Useful laws. CreateSpace. ISBN 1482657759.
  4. ^ Saleem Bhatti. "Channel capacity". Lecture notes for M.Sc. Data Communication Networks and Distributed Systems D51 -- Basic Communications and Networks. Archived from the original on 2007-08-21.
  5. ^ Jim Lesurf. "Signals look like noise!". Information and Measurement, 2nd ed.
  6. ^ Thomas M. Cover, Joy A. Thomas (2006). Elements of Information Theory. John Wiley & Sons, New York.
  7. ^ "Archived copy". Archived from the original on 2005-03-27. Retrieved 2009-01-21.{{cite web}}: CS1 maint: archived copy as title (link)[1]
  8. ^ D. J. Shirley; and M. K. McLelland. "The Next-Generation SC-7 RISC Spaceflight Computer". p. 2.
  9. ^ أ ب Paul DeMone. "The Incredible Shrinking CPU". [2] Archived 2012-05-31 at the Wayback Machine
  10. ^ "Brainiacs, Speed Demons, and Farewell" by Linley Gwennap