انتقل إلى المحتوى

تقسيم المجال

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

في الحوسبة المتوازية لـ FrontISTR، يقسم hecmw_part1 شبكة المجال الواحد إلى مجالات فرعية وينشئ بيانات شبكة موزعة. يقرأ fistr1 المتوازي بيانات الشبكة الموزعة الناتجة ويستخدمها الحالّ المتوازي مع المعلومات المطلوبة للاتصال بين المجالات.

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

نظرة عامة

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

محور الاختيار الخيارات الرئيسية الدور
نوع التقسيم تقسيم قائم على العقد، تقسيم قائم على العناصر يحدد ما إذا كان إسناد الملكية يتم حسب العقدة أم العنصر.
طريقة التقسيم RCB، METIS ‏(pMETIS / kMETIS) يحدد كيفية إنشاء حدود المجالات.
عدد المجالات أي عدد صحيح موجب (\(2^n\) في RCB) يحدد عدد المجالات الفرعية في بيانات الشبكة الموزعة. عادةً يُطابق بعدد عمليات MPI.
عمق التداخل عدد صحيح يساوي 1 أو أكبر يحدد النطاق الذي تحتفظ به المجالات المتجاورة بصورة متكررة. يُحدد في التقسيم القائم على العقد.
جداول الاتصال معلومات الاستيراد/التصدير والمعلومات المشتركة تحدد تبادل البيانات المطلوب بين المجالات الفرعية المتجاورة. تُولد تلقائيًا أثناء تقسيم المجال.

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

اختيار إعداد تقسيم المجال

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

اختر طريقة التقسيم بحسب الهندسة وعدد المجالات. للهندسات البسيطة التي يمكن فيها جعل عدد المجالات \(2^n\)، يكون RCB خيارًا بسيطًا ومستقرًا. وللهندسات المعقدة أو عند الحاجة إلى عدد اعتباطي من المجالات، يكون METIS القائم على تقسيم الرسوم البيانية خيارًا مناسبًا.

خصائص المسألة الاختيار الموصى به
تحليل إنشائي أو تحليل توصيل حراري متوازي قياسي تقسيم قائم على العقد
تطبيقات تستخدم معلومات موزعة متمركزة حول العناصر، مثل التحليل المقترن تقسيم قائم على العناصر
هندسة بسيطة قريبة من متوازي مستطيلات، وعدد المجالات \(2^n\) RCB
هندسة معقدة أو عدد اعتباطي من المجالات METIS
مسائل تلامس أو مسائل مقيدة بـMPC تستخدم المهيئ المسبق SAINV استخدام تقسيم قائم على العقد بعمق تداخل 2 أو أكثر

يُطابق عدد المجالات عادةً بعدد عمليات MPI. لإجراء التنفيذ المتوازي وتحديد عدد العمليات، راجع التحليل المتوازي. وللعلاقة بين المهيئ المسبق SAINV وعمق التداخل، راجع أيضًا الحالّ والمهيئات المسبقة.

أنواع التقسيم

يحدد نوع التقسيم أي كيان في الشبكة يُسند إليه مجال فرعي مالك وحيد. يعيّن التقسيم القائم على العقد الملكية للعقد، بينما يعيّن التقسيم القائم على العناصر الملكية للعناصر. وفي الحالتين تُحتفظ بالمعلومات اللازمة للحساب مع المجالات الفرعية المجاورة كبيانات تداخل.

التقسيم القائم على العقد

في التقسيم القائم على العقد، تُسند كل عقدة إلى مجال فرعي مالك واحد بالضبط. وتُحتفظ العناصر مع تداخل في المجالات الفرعية المجاورة. في الإدخال، يُحدد ذلك بواسطة !PARTITION, TYPE=NODE-BASED.

مفهوم التقسيم القائم على العقد

الشكل 10.1 مفهوم التقسيم القائم على العقد

يحتفظ كل مجال فرعي بعقده الداخلية، والعناصر التي تحتوي على تلك العقد الداخلية، والعقد المكوِّنة لتلك العناصر.

العقد والعناصر التي يحتفظ بها كل مجال فرعي في التقسيم القائم على العقد

الشكل 10.2 العقد والعناصر التي يحتفظ بها كل مجال فرعي في التقسيم القائم على العقد

تتضمن جداول الاتصال للتقسيم القائم على العقد المعلومات التالية.

  • عقد الاستيراد: عقد مستخدمة في مجال فرعي لكن ملكيتها لمجال فرعي آخر.
  • عقد التصدير: عقد داخلية تمثل عقد استيراد لمجال فرعي آخر.
  • العناصر المشتركة: عناصر مشتركة مع مجالات فرعية أخرى.

عقد الاستيراد في التقسيم القائم على العقد

الشكل 10.3 عقد الاستيراد في التقسيم القائم على العقد

عقد التصدير في التقسيم القائم على العقد

الشكل 10.4 عقد التصدير في التقسيم القائم على العقد

العناصر المشتركة في التقسيم القائم على العقد

الشكل 10.5 العناصر المشتركة في التقسيم القائم على العقد

التقسيم القائم على العناصر

في التقسيم القائم على العناصر، يُسند كل عنصر إلى مجال فرعي مالك واحد بالضبط. وتُحتفظ العقد مع تداخل في المجالات الفرعية المجاورة. في الإدخال، يُحدد ذلك بواسطة !PARTITION, TYPE=ELEMENT-BASED.

مفهوم التقسيم القائم على العناصر

الشكل 10.6 مفهوم التقسيم القائم على العناصر

يحتفظ كل مجال فرعي بعناصره الداخلية، والعقد المكوِّنة لتلك العناصر الداخلية، والعناصر التي تحتوي على تلك العقد.

العقد والعناصر التي يحتفظ بها كل مجال فرعي في التقسيم القائم على العناصر

الشكل 10.7 العقد والعناصر التي يحتفظ بها كل مجال فرعي في التقسيم القائم على العناصر

تتضمن جداول الاتصال للتقسيم القائم على العناصر المعلومات التالية.

  • عناصر الاستيراد: عناصر مستخدمة في مجال فرعي لكن ملكيتها لمجال فرعي آخر.
  • عناصر التصدير: عناصر داخلية تمثل عناصر استيراد لمجال فرعي آخر.
  • العقد المشتركة: عقد مشتركة مع مجالات فرعية أخرى.

عناصر الاستيراد في التقسيم القائم على العناصر

الشكل 10.8 عناصر الاستيراد في التقسيم القائم على العناصر

عناصر التصدير في التقسيم القائم على العناصر

الشكل 10.9 عناصر التصدير في التقسيم القائم على العناصر

العقد المشتركة في التقسيم القائم على العناصر

الشكل 10.10 العقد المشتركة في التقسيم القائم على العناصر

في كلا نوعي التقسيم، يولّد hecmw_part1 جداول الاتصال تلقائيًا ويكتبها إلى بيانات الشبكة الموزعة. لذلك لا يحتاج المستخدم عادةً إلى إنشاء معلومات الاستيراد/التصدير مباشرة.

طرائق التقسيم

تحدد طريقة التقسيم كيفية إنشاء حدود المجالات الفرعية. يدعم FrontISTR ‏RCB القائم على الإحداثيات وMETIS القائم على تقسيم الرسوم البيانية.

طريقة التقسيم الخصائص القيود والملاحظات الرئيسية
RCB يقسم الشبكة ثنائيًا بصورة تكرارية استنادًا إلى قيم الإحداثيات. يتيح تقسيمًا سريعًا للهندسات البسيطة. يقتصر عدد المجالات على \(2^n\). يجب تحديد محاور التقسيم.
pMETIS يستخدم تقسيم الرسوم البيانية مع مراعاة الاتصال بين المجالات. متاح في البنى التي يكون METIS ممكّنًا فيها.
kMETIS يستخدم تقسيمًا متعدد الجهات للرسم البياني، ما يجعله مناسبًا لإنشاء حدود المجالات في الهندسات المعقدة. متاح في البنى التي يكون METIS ممكّنًا فيها.

RCB اختصار لـ Recursive Coordinate Bisection، وهو يكرر تقسيم الشبكة إلى نصفين على طول محاور الإحداثيات. يناسب الحالات التي يمكن فيها جعل عدد المجالات \(2^n\)، ويسهل استخدامه للهندسات البسيطة الشبيهة بالصندوق.

يتعامل METIS مع اتصال الشبكة كرسم بياني وينشئ المجالات الفرعية بواسطة تقسيم الرسم البياني. وهو خيار للهندسات المعقدة أو عندما لا يُراد تقييد عدد المجالات بـ\(2^n\). لاستخدام METIS، يجب تمكين مكتبة METIS وقت البناء. لمعالجة التبعيات، راجع التبعيات المطلوبة والاختيارية.

عمق التداخل

عمق التداخل هو عدد الطبقات في النطاق الذي تحتفظ به المجالات الفرعية المتجاورة بصورة متكررة. في التقسيم القائم على العقد، يسمح !PARTITION بتحديد عدد صحيح يساوي 1 أو أكبر بواسطة المعامل DEPTH. عمق التداخل الافتراضي هو 1.

في التحليل المتوازي العادي، يكفي DEPTH=1. لكن عند استخدام مهيئ مسبق من عائلة SAI مثل SAINV لمسألة تلامس أو لمسألة بقيود MPC، قد يؤدي رفع عمق التداخل إلى 2 أو أكثر إلى تحسين جودة التهيئة المسبقة.

يلزم أيضًا عمق تداخل 2 أو أكثر عند استخدام صياغة التنعيم الانتقائي للحواف/العقد (FORM341=SELECTIVE_ESNS) مع العنصر رباعي السطوح الخطي من النوع 341 في الحوسبة المتوازية بـMPI. إذ يجري التنعيم القائم على الحواف والعقد متوسطات للكميات على العناصر المجاورة للعنصر المستهدف، ولذلك يتطلب تجميع الصلابة داخل مجال فرعي معلومات من عناصر تبعد طبقتي تجاور؛ ومع DEPTH=1 الافتراضي يكون التنعيم قرب حدود المجالات غير كافٍ. لتفاصيل صياغة العنصر، راجع مكتبة العناصر.

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

التعامل مع نقاط التلامس

عند تقسيم شبكة تحتوي على أزواج تلامس، يسمح !PARTITION باستخدام المعامل CONTACT لتحديد سياسة توزيع نقاط التلامس على المجالات. يؤثر توزيع نقاط التلامس في استقرار وحجم الاتصال في التحليلات المتوازية التي تتضمن بحث التلامس وقيوده.

القيمة الدور
DEFAULT يستخدم سياسة التوزيع القياسية.
SIMPLE يستخدم توزيعًا قريبًا من التقسيم العادي من دون منح نقاط التلامس أوزانًا خاصة.
AGGREGATE يقسم بطريقة تميل إلى تجميع العقد المرتبطة بأزواج التلامس.
DISTRIBUTE يقسم بحيث تقل احتمالية تركز عقد جانب master للتلامس في مجالات فرعية بعينها.

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

وبشكل مستقل عن ذلك، يمكن استخدام المعامل CONTACT_OWNER لاختيار مخطط الملكية للتلامس المتوازي. فبينما يحدد CONTACT «كيفية التقسيم»، يحدد CONTACT_OWNER «أي جانب يتحمل المسؤولية بعد التقسيم».

القيمة الدور
MASTER مخطط ملكية master (الافتراضي). يُقسم سطح master بحسب المجالات المالكة للعناصر، وتُنسخ عقد slave إلى كل مجال مالك لـmaster.
SLAVE مخطط ملكية slave. تُحتفظ كل عقدة slave في مجالها المالك فقط، ويوضع سطح master بأكمله في ذلك المجال.

في الانزلاق المحدود (INTERACTION=FSLID في !CONTACT)، إذا عبرت عقدة slave حد تقسيم مجال على سطح master، فقد يقطع مخطط MASTER بحث التجاور عند الحد، ما يؤدي إلى فقدان حالة التلامس وسجل الاحتكاك وجعل الحل يعتمد على عدد المجالات. يتجنب مخطط SLAVE هذه المشكلة. ولا يمكن تحديده إلا عندما يكون TYPE=NODE-BASED؛ كما يزداد استخدام الذاكرة في المجالات المالكة لعقد slave.

إخراج صورة لتقسيم المجال

عند تحديد المعامل UCD في !PARTITION، يمكن إخراج ملف UCD لفحص نتيجة التقسيم. ويمكن استخدام ملف UCD مع أدوات تصور مثل MicroAVS لفحص أرقام المجالات وحدود التقسيم.

بعد تغيير عدد المجالات أو طريقة التقسيم أو عمق التداخل، من المهم التحقق من عدم وجود اختلال بين المجالات المقسمة أو تجزئة غير طبيعية. يمثل إخراج UCD وظيفة مساعدة للتحقق من صحة التقسيم قبل تشغيل التحليل المتوازي.

موضوعات ذات صلة