Wspólne wąskie gardło biblioteki na maszynie NUMA

Używam maszyny NUMA (SGI UV 1000) do uruchomienia dużej liczby symulacji numerycznych w tym samym czasie, z których każdy jest zadaniem OpenMP z wykorzystaniem 4 rdzeni. Jednak uruchomienie ponad 100 takich miejsc pracy skutkuje znaczącym spadkiem wydajności. Nasza teoria, dlaczego tak się dzieje, polega na tym, że biblioteki współdzielone wymagane przez oprogramowanie są ładowane tylko raz do globalnej pamięci maszyny, a system przeżywa wąskie gardło komunikacyjne, ponieważ wszystkie procesy uzyskują dostęp do pamięci w jednym węźle.

To stare oprogramowanie, które nie ma możliwości modyfikacji, a opcja statycznego make nie statycznie łączy wszystkich potrzebnych bibliotek. Najwygodniejszym rozwiązaniem z tego, co widzę, byłoby zmusienie systemu do załadowania nowej kopii wymaganych bibliotek współdzielonych w każdym procesie lub węźle (na każdym z których uruchamiam 3 procesy), ale nie mam byłem w stanie dowiedzieć się, jak to zrobić. Czy ktoś może mi powiedzieć, jak to zrobić lub mieć jakieś inne sugestie dotyczące rozwiązania tego problemu?

questionAnswers(1)

yourAnswerToTheQuestion