سؤال

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

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

ما ينبغي للمرء أن ينظر في وقت مبكر من عملية التصميم ؟

هل كانت مفيدة؟

المحلول

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

الخطوة الأولى سيتم تحديد المسؤوليات ، أي أن تحديد الذين سوف تحمل ما.كل من هو وتقريبه من مربع.

الخطوة الثانية سيتم تحديد تدفق المعلومات بين صناديق الخاص بك, وهذا هو, إذا كان ينتج X...الذي يستهلك ذلك ؟

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

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

ثم تنفيذ الأنابيب هيكل لتمكنك من تمرير الرسائل بين العمال حيث أن كل عامل لديه خط أنابيب من العمل.

ملاحظة أخيرة:بمجرد التصميم الأصلي هو القيام به ، فإنه من السهل نسبيا أن ريفاكتور ذلك من أجل تحسين.على سبيل المثال, العقد الذي جعل نفس العمل يمكن أن تشترك في عمل الأنابيب ، حتى 8 جملة محلل تستهلك من "lexic رمزية" الأنابيب أو تغييره بحيث يمكن للعمال "سرقة" العمل من سائر العاملين في الأنابيب ، إلخ.

نصائح أخرى

إذا كنت يمكن أن تفلت من استخدام الكثير من هياكل البيانات الثابتة، التي من شأنها أن توفر لك الكثير من الوقت، والطباعة، والصداع.

ونمط جورج كوردوبا يصف أعلاه هو نهج واحد فقط. ما يلي هو بالتأكيد تستحق القراءة:

http://www.amazon.com/Patterns-Parallel-Programming-Software / موانئ دبي / 0321228111

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top