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

وعلى مر السنين, كان هناك الكثير من المحاولات لإيجاد وسيلة فعالة وسهلة لتصنيف الحاسبات من حيث العمارة. وعلى الرغم من أنه ليس هناك تصنيف كامل, إلا أن التصنيف الأكثر انتشارا ًهذه الأيام هو ذلك التصنيف الذي اقترحه مايكل ج. فلين (Flynn) في عام 1966. ويأخذ تصنيف فلاين بعين الاعتبار عاملين اثنين وهما: كمية السريان (أو التدفق) للتعليمات وكمية السريان للبيانات التي تتدفق للمعالج.تصنيف فلين (Flynn's Taxonomy)‏ مبني أساساً على كمية تدفق البيانات والتعليمات الموجودة في الآلة. ويقصد بالتدفق هنا على أنه تتابع أو تسلسل لعناصر (التعليمات أو المعطيات) كما نفذت أو شغلت بواسطة المعالج.

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

الحاسبات وحيدة تدفق التعليمات

ووحيدة تدفق المعطيات SISDويندرج تحت هذا الصنف جميع الحاسبات التسلسلية المعتادة, مثل Apple Macintosh و DEC VAX. والحاسبات من هذا الصنف تُحضر التعليمات من الذاكرة ثم تقوم بتنفيذها عادة باستخدام قيم المعطيات المشار إليها من الذاكرة. ومن ثم تقوم بإحضار تعليمات أخرى من الذاكرة, وهكذا. وأيضاًَ يعرف هذا التصميم (SISD) بتصميم "فون نيومان Von Neumann" والذي قام به العالم "جون فون نيومان" في أواخر الأربعينات وأوائل الخمسينات من القرن الماضي.

لقد مرت صناعة الحاسبات وعلى مدى خمسين عاماً بالكثير من الخبرة في هذا التصنيف فالكثير من لغات البرمجة (مثل Fortran و C), والمترجمات, ونظم التشغيل, وطرق البرمجة, كلها تعتمد أساساً على هذا التصنيف.إن كل أنواع الحاسبات التسلسلية موجودة في تصنيف SISD, بل وأكثر من ذلك؛ فالباحثون وضعوا بعض أنواع الحاسبات المتوازية ضمن هذا التصنيف, فعلى سبيل المثال, المعالجات الشعاعية (Vector) مثل Cray-1 تنتمي إلى هذا التصنيف بالرغم من أن تعليمات التشغيل تعمل على قيم بيانات شعاعية إلا أن لديها دَفقٌ واحد من التعليمات.

الحاسبات وحيدة تدفق التعليمات

ومتعددة تدفق المعطيات SIMDويتضمن هذا التصنيف الحاسبات التي تحتوي على وحدة تعليمات واحدة تصدر أوامر إلى عدة عناصر معالجة (PEs). ولأن كل عنصر معالجة (PE) يُشغّل بياناته المحلية الخاصة فهناك تدفقات متعددة للبيانات. وعادة فإن وحدة التعليمات تصدر نفس الأمر إلى جميع عناصر المعالجة. على سبيل المثال جميع عناصر المعالجة تنفذ تعليمة الجمع ADD, وبعد ذلك تنفذ تعليمة التخزين STORE, وهكذا.

يتميز هذا النوع من الحاسبات بوجود وحدة تحكم مركزية. وتشرف على عناصر المعالجة المختلفة تعليمة واحدة من وحدة التحكم وتقوم بتنفيذ هذه التعليمة بشكل متزامن على معاملات مختلفة. تكون هذه الحاسبات متزامنة, وغالباً ما تملك ذاكرة مشتركة بين الوحدات. ولتسهيل عملية الولوج المتوازي إلى الذاكرة يُلجأُ إلى تقسيمها إلى بنوك مما يتيح باستخلاص مجموعة معاملات في نفس الوقت, تتبادل وحدات معالجة المعطيات عن طريق الذاكرة المشتركة ويتم الاتصال بين وحدات المعالجة المختلفة وبنوك الذاكرة عبر شبكة الربط.

ونظراً لتنفيذ نفس العملية على الوحدات المختلفة فمن الممكن اعتبار الحاسبات SIMD كحاسوب وحيد المعالج الذي يقوم بتنفيذ التعليمات على أجزاء مختلفة من المعطيات. ويلائم هذا النوع من الحاسبات العمليات على الأشعة وعلى المصفوفات وغالباً ما يستخدم من أجل عمليات الحساب العلمي. ويوضح الشكل(2-3) هذا الصنف حيث تؤخذ المعطيات من الذاكرة وينفذ عليها أمر واحد, ومثال على ذلك عملية ضرب العدد B بالشعاع A(I) حيث I=0,…,N, والناتج يوضع في C(I), فتحصل عملية ضرب B بجميع عناصر الشعاع A(I) بعملية واحدة على كل المعاملاتتستخدم في هذه الحاسبات آلاف المعالجات، وتكون عادة متوسطة الأداء أو بسيطة جداً، وجودتها وأدائها العالي ناتج عن العدد الكبير للمعالجات المستخدمة.

تحتل الحاسبات من النوع SIMD موقعاً بارزاً في تاريخ الحاسبات المتوازية, فأول حاسب متوازي تم تشييده كان من هذا النوع (وهو ILLIAC IV), ولكن بسبب أن هذا النوع من الآلات يبنى باستخدام مكونات مخصصة لذا فإنه قل الإقبال عليها في السنوات القليلة الماضية. يعتبر الحاسب (ILLIAC IV) مثالاً جيداً لتوضيح الآلات التي تنتمي إلى هذا النوع. فهنالك وحدة تعليمات واحدة تصدر نفس الأمر إلى جميع عناصر المعالجة الأربع وستون.

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

(الالتفافات ظاهرة في الشكل(2-5)).وحيث أن كل عنصر معالجة ((PE يمكنه أن يرسل الرسائل في أربع اتجاهات فالروابط تعنون أو تعرف غالباً باتجاهات البوصلة (شمال, شرق, جنوب، غرب). ويدعى هذا أيضاً بشبكة اتصال NEWS. فمع تعليمة واحدة يمكن لعناصر المعالجة الأربع وستون أن تمرر الرسالة في اتجاه واحد, كالشمال مثلاً.

يصمم (ILLIAC IV) ليكون حاسباً عام الغرض, وإنما صمم لغرض خاص وهو حل المعادلات التفاضلية الجزئية. مثلاً يستخدم (ILLIAC IV) للتنبؤ بالطقس, والتنبؤ بالطقس يستلزم بيانات كثيرة في فضاء ثلاثي الأبعاد. وفي هذه الحالة فالحل النموذجي هو بتقسيم الفضاء إلى 64 قسماً, ووضع قسم واحد في كل معالج (PE). فالحلول للأربع وستين قسماً في هذه الطريقة تحسب بالتوازي. وعندما يحتاج عنصر المعالجة إلى بيانات من القسم المجاور فالاتصال يجب أن يبدأ على شبكة الربط. من الآلات الهامة التي تتبع لتصنيف SIMD هي: ILLIAC IV و ICL DAP و Goodyear MPP و MasPar MP-2.


المراجع

areq.net

التصانيف

بنية الحاسب  حوسبة متوازية   علم الحاسوب   العلوم التطبيقية