Przegląd
Główną motywacją do stworzenia mUQSA jest próba dostarczenia łatwej w użyciu platformy do wydajnego przeprowadzania badań UQ i SA różnych typów aplikacji. W tym celu, funkcjonalność platformy została logicznie rozdzielona na dwie warstwy: warstwę interfejsu użytkownika (UI) oraz warstwę wykonawczą.
Warstwa UI ma dwie główne funkcje:
- definiowanie parametrów wejściowych i ustawień konfiguracji dla scenariusza UQ/SA,
- prezentacja wyników do analizy po zakończeniu wymaganych obliczeń.
Z kolei rola warstwy wykonawczej polega na efektywnym wykonywaniu wymaganych obliczeń zgodnie z wybraną metodą i zdefiniowanymi przez użytkownika danymi wejściowymi.
Biorąc pod uwagę ten kontekst, ogólny obraz przepływu wykonywania obliczeń w mUQSA można zobrazować jak na poniższym rysunku:
Kroki Definiowania Scenariusza (Scenario definition) i Analizy (Analysis) bezpośrednio odpowiadają dwóm powyższym zadaniom UI. Celem Definicji Scenariusza jest zebranie wszystkich konkretnych danych o scenariuszu od użytkownika, włącznie z wyborem Metody (Method) i zdefiniowaniem Parametrów (Parameters), a następnie przekazanie ich do w pełni automatycznego przetwarzania na maszynie HPC. Analogicznie, krok Analizy otrzymuje wyniki przetwarzania na maszynie HPC i wyświetla interaktywną stronę internetową z informacjami do dalszej analizy przez użytkownika.
Reszta kroków przepływu pracy ma ściśle obliczeniowy charakter i należy do warstwy wykonawczej. Sampler generuje zestawy danych wejściowych do oceny modelu zgodnie z wybraną metodą. Następnie uruchamiane jest wiele, potencjalnie równoległych strumieni składających się z Enkodera (Encoder), Wykonania modelu (Execution) i Dekodera (Decoder) w liczbie odpowiadającej wymaganej liczbie oceny. Następnie dane wyjściowe z ocen są łączone przez Collator i analizowane programowo przez Analyser, ponownie zgodnie z wybraną metodą. W końcu wyniki są przekształcane w formę atrakcyjną dla użytkownika przez Generator.