خريطة (نمط متوازٍ)

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

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

تدعم بعض أنظمة البرمجة المتوازية، مثل OpenMP و Cilk ، نمط الخريطة في شكل حلقة تكرار متوازية ؛ [ 2 ] كما تدعم لغات مثل OpenCL و CUDA الدوال الأساسية (كـ" نوى ") على مستوى اللغة. عادةً ما يُدمج نمط الخريطة مع أنماط تصميم متوازية أخرى. على سبيل المثال، يُعطي دمج الخريطة مع اختزال الفئات نمط MapReduce . [ 3 ] : 106-107

انظر أيضاً

مراجع

  1. سامادي، مهرزاد؛ جمشيدي، داوود أنوش؛ لي، جانغهينغ؛ مالكي، سكوت (2014). Paraprox: تقريب قائم على الأنماط لتطبيقات البيانات المتوازية (ملف PDF) . وقائع المؤتمر الدولي التاسع عشر حول الدعم المعماري للغات البرمجة وأنظمة التشغيل. doi : 10.1145/2541940.2541948 .
  2. وولف، مايكل (6 أبريل 2015). "المترجمات وأكثر: ماضي وحاضر ومستقبل الحلقات المتوازية" . HPCwire .
  3. مايكل ماكول؛ جيمس رايندرز؛ آرتش روبيسون (2013). البرمجة المتوازية المهيكلة: أنماط للحوسبة الفعالة . إلسيفير. ISBN 978-0124159938.