SimUnit – nowoczesny środek płatniczy za pracę procesora obliczeniowego

HomeRozwiązania3DEXPERIENCE

SimUnit – nowoczesny środek płatniczy za pracę procesora obliczeniowego

Jeśli jesteś inżynierem obliczeniowcem, a pojęcia Cloud Computing czy High Performance Computers (HPC) nie wiele Ci mówią, to ten artykuł jest właśnie dla Ciebie. Jeśli zastanawiasz się nad zakupem wydajnej, roboczej stacji obliczeniowej, to ten artykuł jest właśnie dla Ciebie. Jeśli nie chcesz inwestować w hardware, ale jest Ci potrzebna moc obliczeniowa lub jeśli po prostu interesujesz się tą tematyką, to ten artykuł jest właśnie dla Ciebie.

Kilka słów wstępu..

Role symulacyjne dostępne na Platformie 3DEXPERIENCE pokrywają obszar zagadnień strukturalnych, dynamiki płynów i wtrysku tworzyw sztucznych czy elektromagnetyzmu. Dzisiejszy poziom aplikacji z grupy Computer Aided Engineering (CAE) jest tak rozwinięty, że możemy symulować niemal każde zjawisko fizyczne występujące w przyrodzie. Dziś pojęcie „cyfrowy bliźniak / digital twin” wchodzi do podstawowego słowniczka każdego inżyniera, który pracuje na styku projektowania i symulacji.

Z oczywistych względów Użytkownik zwraca uwagę na możliwości oprogramowania, łatwość obsługi i intuicyjność, dostępność do materiałów edukacyjnych itp. Czy to jednak nie za mało? Czy to wszystkie istotne czynniki, które powinien brać pod uwagę inżynier obliczeniowiec? Użytkownik szybko przekona się, że równie ważne staną się tu szybkość oraz wydajność obliczeń.

Informacje podstawowe

Ogólnie możemy powiedzieć, że solver (Procesor) jest narzędziem, lub też programem, którego zadaniem jest rozwiązanie badania zdefiniowanego przez Użytkownika w oprogramowaniu (Preprocesor) do symulacji. Sprowadza się to do tego, że problem sformułowany matematycznie musi zostać obliczony komputerowo za pomocą, odpowiedniej dla danego zagadnienia fizycznego, metody numerycznej. Do realizacji tych zadań solver wykorzystuje rdzenie CPU (ang. Central Processing Unit) , które odpowiedzialne są za wykonywanie operacji obliczeniowych. Wysyła on więc na rdzeń szereg instrukcji dotyczących realizacji procedur numerycznych. Warto wspomnieć w tym miejscu, że poziom złożoności obliczeń uzależniony jest od skomplikowania równań matematycznych opisujących rzeczywiste zjawiska, co przełoży się bezpośrednio na metody ich numerycznego rozwiązywania.

Nie bez znaczenia będzie miała również ilość badań rozwiązywanych jednocześnie, czy obliczenia problemów sprzężonych takich jak interakcja płynu i ciała stałego (FSI, ang. Fluid-Structure Interaction). Sposób zarządzania takim potokiem danych w ujęciu właściwego wykorzystania zasobów jednostki centralnej staje się problemem kluczowym. Zatem optymalizacja adresowania instrukcji i procesów oraz zrównoleglenie obliczeń na wiele rdzeni jest przedmiotem prac programistów, którzy na co dzień zajmują się tworzeniem solverów.

Narzędzia z grupy 3DEXPERIENCE SIMULIA, ale również i 3DEXPERIENCE CATIA, działają na zasadzie aplikacji natywnych (ang. native apps). Oznacza to, że praca tutaj odbywa się lokalnie, we wspólnym dla wszystkich środowisk preinstalowanym na komputerze klasy PC oknie Launchera.

Text, whiteboard

Description automatically generated

Zatem każda rola obliczeniowa 3DEXPERIENCE SIMULIA, dostępna w portfolio firmy SOLIDEXPERT, posiada możliwość realizacji obliczeń nie tylko w chmurze, ale także na lokalnych zasobach. Wykaz dostępnej do wykorzystania ilości rdzeni w zależności od posiadanej Roli przedstawia poniższa tabela.

Rola Obliczenia lokalne Obliczenia w chmurze
Structural Designer 4 rdzenie 4 rdzenie
Structural Engineer
Structural Performance Engineer 8 rdzeni 8 rdzeni
Structural Mechanics Engineer
Durability Performance Engineer 8 rdzeni*
Durability & Mechanics Engineer
Plastics Engineer 8 rdzeni
Fluid Dynamics Engineer 16 rdzeni 16 rdzeni
Electromagnetics Engineer usługa dostępna wkrótce

* Uzupełnić tutaj należy jedynie, że brak usługi chmurowych obliczeń dla Ról Durability Performance Engineer oraz Durability & Mechanics Engineer tyczy się jedynie funkcjonalności badań zmęczeniowych. Jest to związane z faktem, iż zniszczenie zmęczeniowe wyznaczane jest niejako w postprocesorze na podstawie wyników przeprowadzonych wcześniej analiz strukturalnych.

SimUnit Tokens oraz SimUnit Credits

Co jeśli moc obliczeniowa oferowana w standardzie nie jest wystarczająca? Odpowiedź jest prosta: role SimUnit Tokens oraz SimUnit Credits. W przeciwieństwie do pozostały ról dostępnych na Platformie 3DEXPERIENCE, nie są one przydzielane do konkretnego Użytkownika, a do firmy – tzw. tenantu, czyli najemcy przestrzeni na Platformie 3DEXPERIENCE. Można powiedzieć potocznie, że ów SimUnit pływają po organizacji w ramach ich zapotrzebowania przez dowolnego Użytkownika i dostępności.

A picture containing icon

Description automatically generated

Oba rozwiązania SimUnit Tokens oraz SimUnit Credits występują w modelu subskrypcyjnym na 3 i 12 miesięcy, przy czym Tokens kupujemy na sztuki, a Credits dostępne są w paczkach po 250 i 1000. Jak jest zatem podstawowa różnica między SimUnit Tokens a SimUnit Credits? Tokens (pl. żetony) wracają do puli z powrotem, są wykorzystywane wyłącznie na czas pracy solvera. Natomiast Credits (pl. punkty/kredyty) są jednorazowe i przepadają po ukończeniu obliczeń. Jak przekonamy się w dalszej części artykułu, takie podejście, choć na ten moment może nieco pokrętne, okaże się niezwykle wygodne i elastyczne w zastosowaniu dla firm inżynierskich.

Jak wygląda to w praktyce? Inżynier uruchamiając obliczenia określa:

  • czy mają one być realizowana lokalnie, czy w chmurze,
  • czy chce dodatkowo wykorzystać żetony lub zużyć punkty,
  • ile rdzeni chce zaangażować do pracy.

Graphical user interface, text, application, email

Description automatically generated

Na bieżąco Użytkownik dowie się ile zasobów wybranych SimUnit ma do dyspozycji. Zostanie również oszacowany koszt (zużycie/wykorzystanie) potrzebny do uruchomienia obliczeń na określonej liczbie rdzeni. Oczywiście, w sytuacji kiedy inżynier obliczeniowiec nie przekracza ilości jajek (czyt. rdzeni 😊) zagwarantowanej w ramach swojej Roli, nie korzysta z żadnych SimUnit a wybór między Tokens a Credits nie jest istotny.

Kolejną, równie ważną aczkolwiek niezwykle subtelną, różnicą pomiędzy SimUnit Tokens a SimUnit Credits jest podejście do rzeczywistego czasu pracy rdzenia procesora. W przypadku żetonów (ang. tokens) czas ten nie jest istotny. Oznacza to w praktyce, że żeton po prostu jest zajęty/wykorzystywany – w tym czasie inny Użytkownik z niego nie skorzysta. Jak długo będzie zajęty? Dowolny czas, zależny zapewne od stopnia skomplikowania symulacji lub też od umiejętności Użytkownika – można bowiem jednorodnie zagęścić siatkę elementów skończonych w całej objętości modelu 😉. Zatem czas powrotu żetonu do puli dalszego wykorzystania przekłada się wyłącznie na poziom sfrustrowania innych inżynierów obliczeniowców.

Dla punktów (ang. credits) sytuacja jest już inna. Konsumpcja punktów jest przeliczana do rzeczywistej pracy rdzenia procesora. Zatem godzina pracy rdzenia obliczeniowego skonsumuje „x” punktów, natomiast pół godziny zużyje proporcjonalnie „x/2” punktów.

Trudno zatem ogólnie i jednoznacznie doradzić jak dobierać odpowiedni pakiet Ról SimUnit i okres ich subskrybowania. Mam jednak nadzieję, że poniższy wykres pomoże, przynajmniej poglądowo, odnieść się to tematu grupując obszary w trzech kategoriach.

Chart, histogram

Description automatically generated

Obszar zielony, dostępny nieustannie w ramach użytkowania Roli symulacyjnej przeznaczony jest do codziennych i bieżących zadań symulacyjnych zrównoleglonych z procesem projektowania. Większe wyspy reprezentują natomiast trudniejsze zadania obliczeniowe i oznaczone zostały kolorem żółtym. Tutaj mówimy o problemach bardziej skomplikowanych z obszarów nieliniowości materiału czy kontaktu. Te wymagają użycia większej ilości rdzeni, a powinny zostać pokryte pulą żetonów. Ostatnią grupę stanowią problemy o najwyższej złożoności, ideowo przedstawione tutaj jako czerwone piki. Jednostkowe zagadnienia wymagające największej mocy obliczeniowej zasilone mogą zostać pulą punktów.

W tym momencie firma sama musi oszacować i przewidzieć przyszłe problemy (zadania) z jakimi przyjdzie się jej mierzyć.

Obliczenia lokalne

Kupiłem potężną stację obliczeniową! Dlaczego potrzebuję dodatkowej Roli SimUnit Tokes/Credits by wykorzystać jej zasoby? Takie lub podobne pytanie ciśnie się na usta pewnie każdego Użytkownika. Odpowiedź na to pytanie jest stosunkowo prosta i w mojej opinii uczciwa, chociaż przykryta pod płaszczykiem, widocznych gołym okiem Użytkownika, funkcjonalności Preprocesora i Postprocesora. Jak wspomniałem wcześniej solver jest programem komputerowym realizującym procedury obliczeń numerycznych. Bezpośrednio dla Użytkownika jego praca mierzona jest w ilości wypitych kaw w oczekiwaniu na wyniki badania. Pod spodem działa jednak aplikacja, która musi wyznaczyć niejednokrotnie wartości milionów niewiadomych. Ileż to bardziej skomplikowany kod musiał być stworzony przez programistów, aby zarządzać równolegle wymianą informacji pomiędzy większą liczbą rdzeni.

Przyjrzymy się teraz wykorzystaniu SimUnit Tokens/Credits dla Ról Structural Performance Engineer / Structural Mechanics Engineer w zależności od wykorzystania nadprogramowej ilości rdzeni. Mimo, że Użytkownik może tutaj podać dowolną liczbę rdzeni jaką dysponuje wewnątrz własnej infrastruktury IT, pokaże wykorzystanie jednostek operacyjnych/symulacyjnych dla 18, 36 i 144 rdzeni lokalnych. Wybór ten nie jest przypadkowy – chcąc odnieść się później do Cloud Computing muszę porównać ilości jajek (czyt. rdzeni 😊) dostępnych w usłudze obliczeń chmurowych.

W przypadku SimUnit Tokens, aby użyć:

  • 18 rdzeni potrzebnych jest 20 żetonów
  • 36 rdzeni potrzebnych jest 56 żetonów
  • 144 rdzeni potrzebnych jest 77 żetonów

W przypadku SimUnit Credits, czas:

  • 1h pracy 18 rdzeni konsumuje 14,84 punktów
  • 1h pracy 36 rdzeni konsumuje 41,55 punktów
  • 1h pracy 144 rdzeni konsumuje 56,91 punktów

Obliczenia w chmurze

Nie chcę inwestować w komputery obliczeniowe. Sprzęt szybko się starzeje. Jest chmura, niech się liczy! To nowoczesne, bardzo dobre podejście do tematu ogólnej infrastruktury i zasobów sprzętowych w przedsiębiorstwie.

Graphical user interface, text, application, email

Description automatically generated

Poniżej przedstawię wykorzystanie SimUnit Tokens/Credits dla Ról Structural Performance Engineer / Structural Mechanics Engineer w zależności od wykorzystania dodatkowych ilości rdzeni. W rozwiązaniu Cloud Computing inżynier obliczeniowiec może wykorzystać, ponad standardowo dostępną liczbę: 18, 36 i 144 rdzeni chmurowych. Dlaczego taka akurat precyzyjna konfiguracja? Nie pytajcie, nie jestem specem IT. Na dzień pisania artykułu nie doszukałem się jednoznacznych informacji na ten temat, ale być może zaktualizuję w przyszłości to opracowanie.

W przypadku SimUnit Tokens, aby użyć:

  • 18 rdzeni potrzebnych jest 29 żetonów
  • 36 rdzeni potrzebnych jest 82 żetonów
  • 144 rdzeni potrzebnych jest 213 żetonów

W przypadku SimUnit Credits, czas:

  • 1h pracy 18 rdzeni konsumuje 16,24 punktów
  • 1h pracy 36 rdzeni konsumuje 45,47 punktów
  • 1h pracy 144 rdzeni konsumuje 77,07 punktów

Odnosząc się tutaj do obliczeń lokalnych widać wyraźnie, że tę chmurową pochłaniają nieco więcej „zasobów” firmy. Dlaczego? Usługodawca, poza solverem obsługującym wile wątków, udostępnia również wysoce wydajne klastry obliczeniowe, na które firmy konstrukcyjne/obliczeniowe często nie mogłyby sobie pozwolić.

Przerost formy nad treścią

Jaki zatem zysk otrzymamy wchodząc w role SimUnit? Odpowiedź znowu jest prosta: czas/koszt. Redukcja czasu wprowadzenia nowego, lepszego produktu na rynek. Redukcja kosztów materiałów potrzebnych na wyprodukowanie odchudzonego wyrobu. Powodów oczywiście można mnożyć, natomiast niech jako przykład posłuży tu symulacja wysoce dynamicznego testu z użyciem solvera Explicit, dla złożonego problemu blisko 400 tys. stopni swobody. Jeżeli problem rozwiązany byłby na jednym rdzeniu w ciągu 70 minut, to na 36 chmurowych rdzeniach Użytkownik otrzymałby wynik w niepełna 7 minut. Wiemy, że na wykorzystanie 36 rdzeni potrzebne są 82 żetony. Natomiast 7 minut pracy 36 rdzeni pochłonie ok. 5 punktów z puli SimUnit Credits.

Podsumowanie

Jak to mawiają: krótko, zwięźle i na temat:

  • Role symulacyjne 3DEXPERIENCE pozwalają na obliczenia lokalne i w chmurze.
  • Standardowo, Użytkownik ma pod sobą solver obliczeniowy mogący zagospodarować skończoną i określoną liczbę rdzeni lokalny/chmurowych.
  • Wykorzystanie nadmiarowych rdzeni obliczeniowych wiąże się z koniecznością posiadania dodatkowych algorytmów, odpowiedzialnych za zarządzanie przez solver strumieniami instrukcji i dyrektyw procedur obliczeń numerycznych.
  • Żetony oraz Punkty stanową elastyczny środek płatniczy za pracę dodatkowych rdzeni, możliwy do indywidualnego dostosowanie do potrzeb firmy.
  • Dostęp od super wydajnych stacji obliczeniowych (HPC) nie łączy się już dziś z rozbudową wewnętrznej infrastruktury IT.

Chcesz więcej? Na naszym blogu znajdziesz więcej artykułów z obszaru Platformy 3DEXPERIENCE. SPRAWDŹ!