შიგთავსზე გადასვლა

დომენებად დაყოფა

დიდი ბადის რამდენიმე პროცესზე პარალელურად გასაანალიზებლად საჭიროა ერთიანი დომენის ბადე ქვედომენებად დაიყოს და წინასწარ შეიქმნას ინფორმაცია როგორც თითოეული პროცესის პასუხისმგებლობის დომენის, ისე დომენებს შორის კომუნიკაციისთვის. ამ წინასწარ დამუშავებას დომენებად დაყოფა ეწოდება.

FrontISTR-ის პარალელურ გამოთვლებში hecmw_part1 ერთიანი დომენის ბადეს ქვედომენებად ყოფს და განაწილებული ბადის მონაცემებს ქმნის. შექმნილ განაწილებული ბადის მონაცემებს პარალელური fistr1 კითხულობს და დომენებს შორის კომუნიკაციისთვის საჭირო ინფორმაციასთან ერთად პარალელურ ამომხსნელში იყენებს.

ამ გვერდზე აღწერილია დომენებად დაყოფისას ასარჩევი დაყოფის ტიპი, დაყოფის მეთოდი, გადაფარვის სიღრმე და საკონტაქტო წერტილების დამუშავება. hecmw_part1-ის გაშვების პროცედურისთვის, მართვის ფაილის კონკრეტული ფორმატისა და შეცდომების შეტყობინებებისთვის იხილეთ დაკავშირებული თემები.

ფუნქციის საერთო მიმოხილვა

დომენებად დაყოფა არის ერთიანი დომენის ბადის რამდენიმე ქვედომენად დაყოფის პროცესი. FrontISTR-ში განაწილებული ბადის მონაცემები იქმნება დაყოფის ტიპის, დაყოფის მეთოდის, დომენების რაოდენობისა და გადაფარვის სიღრმის კომბინაციით.

არჩევის ასპექტი ძირითადი ვარიანტები დანიშნულება
დაყოფის ტიპი კვანძებზე დაფუძნებული დაყოფა, ელემენტებზე დაფუძნებული დაყოფა განსაზღვრავს, კვანძი თუ ელემენტი იქნება კუთვნილების განსაზღვრის ერთეული.
დაყოფის მეთოდი RCB, METIS (pMETIS / kMETIS) განსაზღვრავს დომენების საზღვრების შექმნის მეთოდს.
დომენების რაოდენობა ნებისმიერი დადებითი მთელი რიცხვი (RCB-ისთვის \(2^n\)) განსაზღვრავს განაწილებული ბადის მონაცემებში ქვედომენების რაოდენობას. ჩვეულებრივ, იგი 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 არის „რეკურსიული კოორდინატული ბისექციის“ აბრევიატურა და განმეორებით ყოფს ბადეს ორად კოორდინატულ ღერძებზე. იგი შესაფერისია, როდესაც დომენების რაოდენობა შეიძლება იყოს \(2^n\), და მოსახერხებელია მართკუთხა პარალელეპიპედის მსგავსი მარტივი ფორმებისთვის.

METIS ბადის კავშირებს გრაფად განიხილავს და ქვედომენებს გრაფის დაყოფით ქმნის. იგი შესაფერისი კანდიდატია რთული ფორმებისთვის ან როდესაც დომენების რაოდენობის \(2^n\)-ით შეზღუდვა არ გსურთ. METIS-ის გამოსაყენებლად აგებისას METIS ბიბლიოთეკა ჩართული უნდა იყოს. დამოკიდებული ბიბლიოთეკების შესახებ იხილეთ აუცილებელი და არასავალდებულო დამოკიდებული ბიბლიოთეკები.

გადაფარვის სიღრმე

გადაფარვის სიღრმე არის ფენების რაოდენობა იმ დიაპაზონში, რომელსაც მეზობელი ქვედომენები დუბლირებულად ინახავენ. კვანძებზე დაფუძნებული დაყოფისთვის !PARTITION-ის DEPTH პარამეტრით შეიძლება 1 ან მეტი მთელი რიცხვის მითითება. გამოტოვების შემთხვევაში გადაფარვის სიღრმე 1-ია.

ჩვეულებრივი პარალელური ანალიზისთვის DEPTH=1 საკმარისია. თუმცა, თუ SAI ტიპის პრეკონდიცირება, როგორიცაა SAINV, გამოიყენება საკონტაქტო ამოცანებში ან MPC შეზღუდვის ამოცანებში, გადაფარვის სიღრმის 2-მდე ან მეტად გაზრდამ შეიძლება პრეკონდიცირების ხარისხი გააუმჯობესოს.

ასევე, როდესაც პირველი რიგის ტეტრაედრული ელემენტი 341-ის შერჩევითი კიდე-კვანძური გლუვების ფორმულირება (FORM341=SELECTIVE_ESNS) MPI პარალელურ რეჟიმში გამოიყენება, გადაფარვის სიღრმე 2 ან მეტი უნდა იყოს. კიდეებზე/კვანძებზე დაფუძნებული გლუვებისას სამიზნე ელემენტის მეზობელი ელემენტების სიდიდეები საშუალოვდება, ამიტომ ქვედომენში სიხისტის ასაწყობად საჭიროა „მეზობლის მეზობელი“ ელემენტების ინფორმაციაც; ნაგულისხმევი DEPTH=1 დომენის საზღვართან არასაკმარის გლუვებას იწვევს. ელემენტის ფორმულირების დეტალებისთვის იხილეთ ელემენტების ბიბლიოთეკა.

გადაფარვის სიღრმის გაზრდით იზრდება მეზობელ ქვედომენებში შენახული კვანძებისა და ელემენტების რაოდენობაც, შესაბამისად იზრდება მეხსიერების გამოყენება და კომუნიკაციის მოცულობაც. პარამეტრი შეარჩიეთ კრებადობის გაუმჯობესებისა და გამოთვლითი ღირებულების ზრდის შედარებით. პრეკონდიცირების არჩევისთვის იხილეთ ამომხსნელი და პრეკონდიცირება.

საკონტაქტო წერტილების დამუშავება

საკონტაქტო წყვილების შემცველი ბადის დაყოფისას !PARTITION-ის CONTACT პარამეტრით შეიძლება საკონტაქტო წერტილების დომენებში განთავსების პოლიტიკის მითითება. საკონტაქტო წერტილების განთავსება გავლენას ახდენს პარალელური ანალიზის სტაბილურობასა და კომუნიკაციის მოცულობაზე, როდესაც ანალიზი მოიცავს კონტაქტის ძიებასა და საკონტაქტო შეზღუდვებს.

მნიშვნელობა დანიშნულება
DEFAULT იყენებს სტანდარტულ განთავსების პოლიტიკას.
SIMPLE საკონტაქტო წერტილებს სპეციალურ წონას არ ანიჭებს და იყენებს ჩვეულებრივ დაყოფასთან მიახლოებულ განთავსებას.
AGGREGATE ყოფს ისე, რომ საკონტაქტო წყვილებთან დაკავშირებული კვანძების ჯგუფები შეძლებისდაგვარად ერთად მოექცეს.
DISTRIBUTE ყოფს ისე, რომ კონტაქტის მასტერი მხარის კვანძები ქვედომენებს შორის ნაკლებად კონცენტრირდეს.

ბადისთვის, რომელიც კონტაქტს არ შეიცავს, CONTACT პარამეტრის გათვალისწინება საჭირო არ არის. თუ კონტაქტის შემცველ პარალელურ ანალიზში კრებადობის ან დატვირთვის დაბალანსების პრობლემა წარმოიქმნება, გადახედეთ საკონტაქტო წერტილების განთავსების პოლიტიკას. შეყვანის ფორმატის დეტალებისთვის იხილეთ !PARTITION.

ამისგან დამოუკიდებლად, CONTACT_OWNER პარამეტრით შეიძლება პარალელური კონტაქტის მფლობელობის სქემის არჩევა. CONTACT განსაზღვრავს „როგორ დაიყოს“, ხოლო CONTACT_OWNER — „დაყოფის შემდეგ რომელი მხარე იყოს პასუხისმგებელი“.

მნიშვნელობა დანიშნულება
MASTER მასტერი-მფლობელობის სქემა (ნაგულისხმევი). მასტერი ზედაპირი იყოფა ელემენტების მფლობელი დომენების მიხედვით, ხოლო სლეივი კვანძები თითოეულ მასტერი-მფლობელ დომენში კოპირდება.
SLAVE სლეივი-მფლობელობის სქემა. სლეივი კვანძებს მხოლოდ მათი მფლობელი დომენი ინახავს და ამ დომენში განთავსებულია მთელი მასტერი ზედაპირი.

სასრული სრიალისას (!CONTACT-ის INTERACTION=FSLID), თუ სლეივი კვანძი მასტერი ზედაპირის დომენებად დაყოფის საზღვარს კვეთს, MASTER რეჟიმში საზღვარზე მეზობლების ძიება წყდება, კონტაქტის მდგომარეობა და ხახუნის ისტორია იკარგება და ამოხსნა დომენების რაოდენობაზე დამოკიდებული ხდება. SLAVE ამას თავიდან იცილებს. მისი მითითება შესაძლებელია მხოლოდ TYPE=NODE-BASED-ისას, თუმცა იზრდება სლეივის მფლობელი დომენის მეხსიერების გამოყენება.

დომენებად დაყოფის გამოსახულების გამოტანა

!PARTITION-ის UCD პარამეტრის მითითებით შესაძლებელია დაყოფის შედეგის შესამოწმებელი UCD ფაილის გამოტანა. UCD ფაილი გამოიყენება ისეთი ვიზუალიზაციის ხელსაწყოებით, როგორიცაა MicroAVS, დომენის ნომრებისა და დაყოფის საზღვრების შესამოწმებლად.

დომენების რაოდენობის, დაყოფის მეთოდის ან გადაფარვის სიღრმის შეცვლის შემდეგ მნიშვნელოვანია შემოწმდეს, ხომ არ არის დაყოფილი დომენები არათანაბარი ან არაბუნებრივად დანაწევრებული. UCD გამოტანა დამხმარე ფუნქციაა, რომლითაც პარალელური ანალიზის გაშვებამდე მოწმდება დაყოფის მართებულობა.

დაკავშირებული თემები

AI-assisted translation May contain errors Official docs Status