Professional Documents
Culture Documents
Summary
In this paper, on the chosen example of the simulation of fire, compared the calculation times obtained using different
number microprocessor cores. Considered case concerned a thread car tunnel with a length of 4000 m. The source of
the fire was a tank of gasoline, which was founded for the fire power of 100 kW. Calculations related to the speed of the
spread of the fire and test the effectiveness of various ventilation solutions. The resulting waveforms physical quantities
such temperature, and the concentration of dangerous gases were of secondary importance and were not analyzed and
verified. Important from the point of view of work execution time was while simulation and acceleration achieved by the
use of multiple computers for calculations. The calculations were made for four cases: a / fixed size tasks to be performed,
increasing the number of processes performing the same task, b / fixed size tasks to be performed, the number of threads
performing various calculations, c / growing magnitude of the task calculation, a growing number of processors that per-
form the task, d / growing magnitude of the task calculation, a growing number of threads performing calculations. For
the evaluation of execution times received different cases of measurement used to accelerate simulation calculations with
a constant magnitude of the task, the growth performance of the system with a constant increase in the size of the task and
Wkład obu autorów w powstanie artykułu wyniósł po 50%
157
TECHNIKA I TECHNOLOGIA
TECHNIKA I TECHNOLOGIA
the system performance by increasing the size of the task. In the present case the simulation space is divided into n com-
putational domain along the longest side of the tunnel. Calculations for a single computational domain were made by the
serial versionW bieĪącej
of FDS, whichpublikacji,
used a singlenacore
przykáadzie symulacji
processor. In the case ofpoĪaru w tunelu,
computing porównano
the number of domainsczasy
is greater than
unity, the calculation was performed by a parallel version of the FDS and used a different number of cores. For each of the
obliczeĔ otrzymane w przypadkach wykonania symulacji przez komputer z procesorem
computational domain, the calculations carried out separate process. Each treatment was assigned to a separate processor
core.wielordzeniowym,
For inter-process communication
z uĪyciemmechanism used Message
róĪnej iloĞci rdzeni Passing Interface
do obliczeĔ (MPI),
oraz which organized
wykonania the computer
symulacji
in a logical distributed memory machine. FDS variant limiting the use of multiple cores for the calculation of the same
przezwasjeden
processor written rdzeĔ. Artykuá
using OpenMP powstaá
directives, na podstawie
while parallel eksperymentów
version, which numerycznych,
can be used to calculate both the networked
computers and multiple cores per processor uses the MPI function calls. The results of the numerical experiments shown
przeprowadzonych w ramach pracy [2] z wykorzystaniem oprogramowania FDS
that both mechanisms speed up the calculation used for the simulation performed by the one processor core, although not
in a linear
(Firefashion.
DynamicsThe Simulator)
time of the simulation
[3]. by the OpenMP version were significantly higher than MPI. We investigated
also scalability of the system defined as a computer and software. Also in this case the results show that behaves better ver-
sion of MPI. OpenMP version turned out to be not scalable in the experiments. Comparing the speed of the processors of
the calculation from two leading manufacturers Intel and AMD noted that Intel simulations are performed much faster.
2.kluczowe:
Słowa ZaáoĪeniaFDS,eksperymentu
modelowania rozwoju numerycznego
pożaru w pomieszczeniach zamkniętych;
Keywords: FDS, modeling the spread of fire in enclosed spaces;
2.1. Przedmiot symulacji
fan
fan Smokedamper
Exhaustairduct
Airflow Firesite
Rozważany przypadek dotyczy jednej nitki tunelu sa- grubość 0,5 m i są wykonane z betonu o właściwościach
mochodowego o długości 4000 m. Z powodu na znaczne podanych w tabeli 1.
wymiary badanego obiektu i nie znaczny wpływ pożaru 2.2. Założenia obliczeniowe
na przestrzeń znaczenie oddaloną od źródła ognia, autorzy Obliczenia dla przedstawionego zdarzenia pożaru
opracowania [4], zdecydowali się na zmniejszenie symu- w tunelu zostały wykonane dla 4 przypadków:
lowanej przestrzeni do 550 m. Schematyczny układ symu- a. stały rozmiar zadania do wykonania, rosnąca liczba
lowanej przestrzeni przedstawia rysunek 1. procesów wykonujących te same zadanie;
Źródłem ognia była cysterna z benzyną, dla której b. stały rozmiar zadania do wykonania, różne liczby
założono moc źródła ognia 100 kW. Źródło ognia zosta- wątków wykonujących obliczenia;
ło umieszczone 1800 m od wjazdu do tunelu, a 200 m od c. rosnący rozmiar zadania obliczeniowego, rosnąca
początku przestrzeni objętej symulacją. Wymiary przekroju liczba procesorów wykonujących zadanie;
poprzecznego przestrzeni przeznaczonej na ruch pojazdów d. rosnący rozmiar zadania obliczeniowego, rosnąca
wynosiły odpowiednio 9,75 m szerokości i 4.7 m wysoko- liczba wątków wykonujących obliczenia.
ści. Ponad jezdnią znajdował się szyb wentylacyjny nad Do oceny otrzymanych czasów wykonania różnych
całą szerokością i długością tunelu o wymiarach 9,75 x 1.8 przypadków symulacji zastosowano 3 miary: przyspie-
m. Wymiary przekroju tunelu przedstawiono na rysunku 2. szenie obliczeń przy stałej wielkości zadania, wydajność
systemu przy stałej wielkości zadania oraz wydajność sy-
stemu przy rosnącej wielkości zadania.
Tabela 1.
Właściwości materiału użytego do konstrukcji ścian tunelu, źródło: [4].
Table 1.
Properties of the material used to construct the tunnel wall, source: [4].
159
TECHNIKA I TECHNOLOGIA
p – liczba procesorów wykonujących obliczenia rów- taką samą liczbę komórek o rozmiarach ok. 0,69 m x 0,67
nolegle. m x 0,67 m każda. Liczby komórek przypadających na
2.2.3. Określenie wydajność systemu przy rosnącym jedną domenę obliczeniową przedstawia tabela 3.
rozmiarze zadania
Wydajność systemu, będąca funkcją dwóch zmiennych:
liczby procesorów oraz wielkości zadania, została okre-
ślona wzorem:
Ryc. 4. Wykres wartości przyspieszenia obliczeń przy stałym rozmiarze zadania obliczeniowego
w funkcji liczby procesorów wykonujących obliczenia.
Fig. 4. The graph of acceleration calculations in fixed-size computing task as a function of the number
of processors that perform the calculation.
wykonywanego przez jeden procesor. Jest to także wynik nego, czego efektem jest mniejszy wzrost przyspieszenia
podobny do wyników opisywanych w Internecie, na fo- przy wykonaniu obliczeń przez 4 rdzenie w stosunku do
rum użytkowników FDS. obliczeń wykonanych przez 3 rdzenie.
Nieco niższym rezultatem charakteryzuje się przypa- Porównanie przyspieszenia z przypadkiem idealnym
dek wykonany przez 4 procesory – wzrost przyspieszenia – przyspieszeniem liniowym, prezentuje rysunek 4.
o około 18 % w stosunku do zadania wykonywanego przez
jeden procesor. Przyczyną takiego stanu jest to, że w przy- 3.1.1. Komunikacja między procesami
padku liczby domen, na które podzielono przestrzeń sy- W przypadku podziału zadania pomiędzy kilka proce-
mulacji, mniejszej od liczby rdzeni procesora, obliczenia sorów, poszczególne domeny obliczeniowe muszą się na-
dla domen były wykonywane przez osobne procesy, które wzajem komunikować w celu wymiany wartości wyzna-
z kolei przeważnie wykonywały się na różnych rdzeniach czanych wielkości fizycznych przylegających granicach.
procesora, przez co nie konkurowały ze sobą o przyznanie Wymianie podlegają wielkości z granicznych komórek
procesora przez system operacyjny. Wtedy, przynajmniej obliczeniowych sąsiadujących domen. Czas poświęcony
jeden z rdzeni pozostawał w znacznej mierze nie używa- na komunikację może być odczytany z plików wyjścio-
ny do obliczeń, zwykle był wykorzystywany do obsługi wych otrzymanych w wyniku obliczeń. Przy stałym roz-
innych zadań systemu operacyjnego. W przypadku do- miarze zadania obliczeniowego wraz ze wzrostem liczby
dania 4 domeny, procesy były wykonywane zwykle na domen obliczeniowych, na które dzieli się przestrzeń sy-
osobnych rdzeniach, ale pojawił się problem rywalizacji mulacji, rośnie liczba komórek, dla których do obliczeń
o czas procesora z innymi zadaniami systemu operacyj- są potrzebne wartości z sąsiedniej domeny obliczeniowej.
Ryc. 5. Podział płaszczyzny na domeny obliczeniowe z zaznaczeniem komórek granicznych
w przyległych domenach obliczeniowych.
Fig. 5. The division plane of the computational domain selection border cells in adjacent computing domains
161
TECHNIKA I TECHNOLOGIA
Tabela 5.
Procentowy udział czasu poświęconego na komunikację w poszczególnych domenach obliczeniowych w stosunku
do całego czasu obliczeń, przy użyciu różnej liczby procesów, dla stałego rozmiaru zadania
Table 5.
Percentage of time spent on communication in various computing domains with respect to the computation time,
with a different number of processes for a fixed size task
Procenty czasów poświęconych na komunikację munikacji między domenami są większe niż wariantu
w domenach obliczeniowych różnią się między sobą na- z podziałem na 3 domeny. Dzieję się tak, ponieważ dome-
wet w obrębie tego samego przypadku ( w domenach ob- ny obejmują mniejsze fragmenty przestrzeni symulacji, co
liczeniowych dla tego samego zadania ). Np. dla przypad- oznacza mniejsze zadania obliczeniowe, natomiast ilość
ku wykonywanego przez 2 procesory czasy poświęcone komórek, dla których należy wymienić informacje pomię-
na komunikację są różne, pomimo tego, że dwie domeny dzy domenami jest taka sama.
obejmują fragmenty przestrzeni symulacji o dokładnie
takich samych wymiarach, dokładnie taka sama jest też 3.2. Rosnący rozmiar zadania, rosnąca liczbapro-
ilość komórek, które wymagają wymiany informacji. Po- cesorów
wodem takiego stanu jest niesymetryczny charakter po- Obliczenia przeprowadzono przy użyciu wersji FDS
działu przestrzeni symulacji – w jednej z domen znajduje wykorzystującej wywołania MPI. Scenariusze symulacji
się źródło ognia oraz otwór wentylacyjny, co powoduję zostały zdefiniowane w ten sposób, że cała przestrzeń sy-
obecność dodatkowych obliczeń w tej domenie ponad ob- mulacji była dzielona na n ( do 1 do 4 ) domen obliczenio-
liczenia wykonywane, w drugiej z domen, gdzie oblicze- wych, tak jak zostało to opisane w punkcie 3.1. i przed-
nia dotyczą jedynie przepływu gazów, rozprzestrzeniania stawione na rysunku 3. Obliczeniami dla jednej domeny
się ciepła i nagrzewania się ścian tunel. Oznacza to, że taki zajmował się jeden rdzeń procesora. Zamiana rozmiaru
sam czas poświęcony na komunikację będzie stanowił zadania została osiągnięta przez zmianę rozmiaru komó-
mniejszy procent całych obliczeń w przypadku domeny 2 rek, na które była podzielona domena obliczeniowa. Przy-
162
TECHNIKA I TECHNOLOGIA
jęto, że zadanie o rozmiarze dwukrotnie większym będzie Przeprowadzenie eksperymentu z rosnącą wielkoś-
wtedy, gdy liczba komórek w domenie będzie dwukrotnie cią zadania pozwoliło zbadać skalowalność systemu. Sy-
większa. stem należy rozumieć jako parę: komputer oraz program
Eksperymenty numeryczne przeprowadzono na kom- do symulacji. Otrzymane czasy wykonania poszczegól-
puterze, którego parametry przedstawiono w tabeli 2. Do nych przypadków wskazują na znaczne skrócenie czasu
obliczeń wykorzystano od 2 do 4 procesów, które były wykonania zadań na kilku procesorach w stosunku do
przydzielane przez system operacyjny osobnym rdzeniom czasu wykonania tych samych zadań przez wersje sze-
procesora. Przeprowadzono po 3 próby dla wszystkich regową FDS. Otrzymane rezultaty wskazują na spadek
rozmiarów zadania obliczeniowego. Punktem odniesie- wydajności systemu na poziomie do ok. 10% na każdy
nia do oceny otrzymanych czasów wykonania symulacji dodatkowy proces i jednoczesny wzrost zadania obli-
z użyciem wielu procesorów były czasy wykonania zadań czeniowego dla liczby procesów 2 oraz 3. Dla liczby
o takim samym rozmiarze jak zadania wykonywane przez procesów równej 4 spadek wydajności jest większy – na
wiele procesorów wykonane przez jeden procesor, przez poziomie 20%. Przyczyną większego spadku wydajno-
wersję szeregową FDS. Średnie arytmetyczne otrzyma- ści dla obliczeń wykonywanych na wszystkich rdzeniach
nych czasów wykonania symulacji dla poszczególnych procesora jest obecność innych zadań w systemie ope-
przypadków wykonywanych w zależności od liczby pro- racyjnym, które muszą być wykonywane. W przypadku
cesorów wykonujących zadanie oraz średnie czasy wy- liczby procesów wykonujących obliczenia mniejszej niż
konania tych samych zadań przez wersję szeregową FDS liczba dostępnych rdzeni w systemie, te inne zadania
przedstawia tabela 6. wykonywane przez system operacyjny były głównie wy-
Tabela 6.
Czasy wykonania symulacji przy użyciu różnej liczby procesorów, dla rosnącego rozmiaru zadania
Table 6.
The time of the simulation using different numbers of processors, the growing size of the task
Wydajność
Liczba Liczba Czas wykonania Czas wykonania (sze-
Rozmiary komórek (wg. wzoru 3)
procesorów komórek (MPI) [sek] regowa) [sek]
[m] (Performance
(Number of (Number of (Execution time (Execution time (se-
(Cell size [m]) (according to
processors) cells) (MPI) [sec]) rial) [sec])
formula 3))
1 40 000 1,1 x 1,08 x 1 3103.2 3103.2 1.0
2 81 900 0,87 x 0,83 x 0,8 3026.2 5328.0 0.88
3 121 110 0,79 x 0,77 x 0,8 3816.0 9540.0 0.833
4 152 256 0,7 x 0,67 x 0,67 4248.0 10790.0 0.635
Ryc. 6. Wykres wydajności systemu przy rosnącym rozmiarze zadania obliczeniowego od liczby procesorów wykonują-
cych obliczenia.
Fig. 6 Chart performance of the system with the increasing size of the task calculation of the number of processors that
perform calculations.
163
TECHNIKA I TECHNOLOGIA
konywane na niewykorzystywanym do obliczeń rdzeniu udział komunikacji rósł wraz ze wzrostem liczby komó-
procesora, przez co w niewielkim stopniu konkurowały rek. Taką sytuację na płaszczyźnie prezentuje rysunek 7.
o przyznanie procesora z procesami wykonującymi ob- W przykładzie 1 z rysunku 7 płaszczyzna została po-
liczenia. Otrzymane wydajności wyznaczone zgodnie dzielona na dwie domeny, każda po 48 komórek. W tym
z wzorem (3) prezentuje tabela 6. Porównanie uzyskanej przypadku w domenie 1, wymiany informacji z domeną
wydajności prezentuje wykres 6. 2 wymaga 6 komórek ( komórki zaznaczone na szaro ).
Tabela 7.
Procentowy udział czasu poświęconego na komunikację w poszczególnych domenach obliczeniowych w stosunku
do całego czasu obliczeń, przy użyciu różnej liczby procesów, dla rosnącego rozmiaru zadania
Table 7.
Percentage of time spent in each domain communication for computing the time of computation, using a number
of different processes for increasing the size of the task
Ryc. 7. Podział płaszczyzn na domeny obliczeniowe z zaznaczeniem komórek.
Fig. 7. Division planes on computational domain, indicating the cells.
3.2.1. Komunikacja między procesami Natomiast przykład 2 prezentuje podział tej samej płasz-
Procentowy udział czasu poświęconego na komuni- czyzny na 4 domeny obliczeniowe. W każdej domenie
kację pomiędzy domenami w stosunku do całego czasu znajduję się w przybliżeniu tyle samo komórek jak w po-
obliczeń w poszczególnych domenach przedstawia tabela dziale z przykładu 1 ( 54 komórki ), zmianie uległa ilość
7. Do zjawisk opisanych w punkcie 3.1.1., które także do- komórek, które wymagają komunikacji – np. w domenie
tyczą eksperymentu z rosnącym rozmiarem zadania obli- 1 jest ich 9. Taka sam sytuacja miała miejsce w badanym
czeniowego, dochodzi jeszcze jedno. W tym przypadku scenariuszu symulacji, tyle że podział dotyczył przestrze-
liczba komórek w domenie obliczeniowej była podobna ni, nie jak w przedstawionym przykładzie, płaszczyzny.
niezależnie od liczby procesorów wykonujących zadania.
Zostało to osiągnięta przez zwiększanie liczby komórek 3.3. Stała wielkość zadania, rosnąca liczba wątków
w domenie obliczeniowej wraz ze wzrostem liczy proceso- Obliczenia przeprowadzono przy użyciu wersji FDS
rów wykonujących zadanie. Zatem można uznać, że samo wykorzystującej dyrektywy OpenMP [8]. W tym przypad-
zadanie obliczeniowe było stałe, zmieniała się natomiast ku, cała przestrzeń symulacji została określona w jednej do-
liczba komórek dla których należało wymienić informa- menie obliczeniowej. Domena była podzielona na 152 256
cję z sąsiednimi domenami, właśnie dlatego procentowy komórek o rozmiarach ok. 0,64m x 0,67 m x 0,67 m każda.
164
TECHNIKA I TECHNOLOGIA
Tabela 8.
Czasy wykonania symulacji przy użyciu różnej liczby wątków, dla stałego rozmiaru zadania
Table 8
The time of the simulation using different numbers of threads, for a fixed size task
Czas wykonania symulacji Wydajność
Liczba wątków [sek] Przyspieszenie obliczeń obliczeń
(Number of threads) (Simulation execution time (Acceleration calculations) (Performance
[sec]) calculations)
1 9870.0 1.0 1.0
2 8835.0 1.117 0.557
3 7963.0 1.23 0.412
4 7876.0 1.253 0.312
Obliczenia dla domeny były wykonywane przez pulę wąt- lacji maksymalne osiągnięte przyspieszenie wyznaczone
ków o różnej wielkości, którą zarządzał system operacyjny zgodnie ze wzorem (1) nie przekroczyło poziomu 1,3 dla
[9]. Rozmiar puli wątków był określany ręcznie przed uru- 4 wątków wykonujących zadanie. Dla liczby wątków nie
chomieniem obliczeń przez ustawienie zmiennej środowi- przekraczającej 3 dodawanie kolejnego wątku do puli
skowej systemu operacyjnego OMP_NUM_THREADS na wykonującej obliczenia skutkowało wzrostem przyspie-
pożądaną liczbę wątków. W przypadku obliczeń prowadzo- szenia obliczeń o około 10% w stosunku do obliczeń
nych przez wiele wątków, każdy z wątków otrzymuje po- prowadzonych przez wersję szeregową FDS. Ta tenden-
jedyncze zadanie, dla którego obliczenia mogą być prowa- cja nie występuje w przypadku dodania 4 wątku do puli
dzone niezależnie. Takim zadaniem może być wyznaczenie wykonującej obliczenia. Przyczyną takiego stanu jest to,
wielkości dla jednej komórki domeny obliczeniowej dla że w przypadku liczby wątków mniejszej od liczby rdzeni
pojedynczego kroku czasowej. procesora, wątki były wykonywane na różnych rdzeniach,
Eksperymenty numeryczne zostały przeprowadzone przez co nie konkurowały ze sobą o przyznanie proceso-
na komputerze, którego parametry zostały opisane w ta- ra przez system operacyjny. Jeden z rdzeni pozostawał
beli 2. Do obliczeń wykorzystano od 2 do 4 wątków. Prze- w znacznej mierze nie używany do obliczeń, zwykle był
prowadzono po 3 próby dla każdej liczby wątków. Punk- wykorzystywany do obsługi innych zadań systemu opera-
tem odniesienia wyników były czasy wykonania uzyskane cyjnego. W przypadku dodania 4 wątku do puli wykonu-
przez wykonanie obliczeń szeregową wersją FDS. Śred- jącej obliczenia, wątki były wykonywane zwykle na osob-
nie arytmetyczne otrzymanych czasów wykonania zostały nych rdzeniach, ale pojawił się problem rywalizacji o czas
umieszczone w tabeli 8. procesora z innymi zadaniami systemu operacyjnego,
Otrzymane czasy wykonania symulacji wskazują na czego efektem jest minimalny wzrost przyspieszenia przy
niewielkie przyspieszenie obliczeń uzyskane przez wyko- wykonaniu obliczeń przez 4 wątki w stosunku do obliczeń
nywanie ich z użyciem wielu wątków. Dla badanej symu- wykonanych przez 3 wątki. Porównanie przyspieszenia
TECHNIKA I TECHNOLOGIA
(acceleration)
(numberofthreads)
Ryc. 8. Przyspieszenie
Ryc. 8. Przyspieszenie obliczeĔ
obliczeń w zaleĪnoĞci
w zależności ododliczby
liczby wątków
wątków wykonujących
wykonującychobliczenia
obliczenia
(przy staáym rozmiarze zadania obliczeniowego).
(przy stałym rozmiarze zadania obliczeniowego).
Fig. 8. Acceleration calculation depending on the number of threads performing calculations
Fig. 8. Acceleration calculation depending on the number of threads performing calculations
(with a fixed-size calculation task).
(with a fixed-size calculation task).
165
rformance)
Ryc. 8. Przyspieszenie obliczeĔ w zaleĪnoĞci od liczby wątków wykonujących obliczenia
(przy staáym rozmiarze zadania obliczeniowego).
TECHNIKA
Fig. 8. Acceleration calculation dependingI TECHNOLOGIA
on the number of threads performing calculations
(with a fixed-size calculation task).
(performance)
(numberofthreads)
Ryc. 9. WydajnoĞci
Ryc. 9. Wydajności systemu w
systemu obliczeń obliczeĔ w zaleĪnoĞci
zależności od liczby
od liczby wątkówwątków wykonującychobliczenia
wykonujących
obliczenia
(przy (przy
stałym staáym rozmiarze
rozmiarze zadaniazadania obliczeniowego).
obliczeniowego).
Fig. 9.system
Fig. 9. Computing Computing system performance
performance depending depending on the number
on the number of threads
of threads performingcalculations
performing
calculations (at constant size calculation task).
(at constant size calculation task).
obliczeń, wyznaczonego zgodnie z wzorem (1), z przy- jest podzielona domena obliczeniowa. Przyjęto, że zada-
padkiem idealnego przyspieszenia liniowego prezentuje nie o rozmiarze dwukrotnie większym będzie wtedy, gdy
rysunek 8. Konsekwencją niewielkiego wzrostu przyspie- liczba komórek w domenie będzie dwukrotnie większa.
szenia obliczeń jest spadająca wydajność systemu, która Niestety nie jest to przybliżenie idealne, gdyż różny roz-
została wyznaczona zgodnie ze wzorem (2). Porównanie miar komórek, może mieć bezpośredni wpływ na otrzy-
wydajności z przypadkiem idealnym, gdy wydajność po- mane prędkości przepływu, które z kolei są podstawą do
zostaje stała prezentuje rysunek 9. określenia, czy krok czasowy dla wykonywania obliczeń
nie jest zbyt duży. Jeżeli zmiana rozmiaru komórek bę-
3.4. Rosnąca wielkość zadania, rosnąca liczba dzie miała wpływ na prędkość przepływu do tego stopnia,
wątków że nie będą spełnione warunki (11), będzie to oznaczać
Podobnie jak w poprzednim przypadku opisanym więcej obliczeń niż wynikałoby to tylko z samego zwięk-
w punkcie 3.3., obliczenia wykonano przy użyciu wersji szenia liczby komórek. W przypadkach stworzonych do
FDS wykorzystującej dyrektywy OpenMP. Cała przestrzeń testów do takiej sytuacji nie dochodziło, ponieważ użyto
symulacji zawierała się w obrębie jednej domeny oblicze- stałej wartości kroku czasowego, jednak dla bardziej zło-
niowej. Sterowanie liczbą wątków odbywało się przez żonych scenariuszy symulacji wystąpienie tego zjawiska
ustawianie zmiennej środowiskowej OMP_NUM_THRE- jest bardzo prawdopodobne.
ADS systemu operacyjnego na pożądaną liczbę wątków. Parametry komputera, na którym wykonano ekspe-
W tym przypadku oprócz liczby wątków wykonujących rymenty przedstawia tabela 2. Do obliczeń wykorzystano
obliczenia, zmianie ulegał również rozmiar zadania do od 2 do 4 wątków. Przeprowadzono po 3 próby dla każ-
wykonania. Zmiana rozmiaru zdania została osiągnięta dej liczby wątków. Za punkt odniesienia do otrzymanych
przez zmianę rozmiaru elementarnych komórek, na które wyników posłużyły czasy wykonania obliczeń dla zadań
Tabela 9.
Czasy wykonania symulacji przy użyciu różnej liczby wątków, dla rosnącego rozmiaru zadania
Table 9.
The time of the simulation using different numbers of threads, the growing size of the task
166
TECHNIKA I TECHNOLOGIA
Ryc. 10. Wydajność systemu obliczeń przy rosnącym rozmiarze zadania obliczeniowego
w funkcji liczby wątków wykonujących obliczenia
Fig. 10. System performance calculations with the increasing size of computational tasks as a function
of the number of threads performing calculations
o zwiększonych rozmiarach przez szeregową wersję FDS. komputerach osobistych, przez co model matematyczny
Średnie arytmetyczne czasów wykonania symulacji przez przeniesiony na grunt programu posiada wiele uproszczeń.
wersję OpenMP oraz odpowiadające im średnie czasów W wyniku rozwoju oprogramowania powstały wersje,
wykonania przez wersję szeregową, rozmiary zadań pre- które wykorzystują nowoczesne architektury procesorów
zentuje tabela 9. wielordzeniowych oraz pozwalają prowadzić obliczenia
Eksperyment numeryczny z rosnącą liczbą komórek równolegle na wielu komputerach połączonych przy po-
do obliczeń miał celu zbadanie skalowalności systemu. mocy sieci. Odmiana ograniczająca się do wykorzystania
System należy rozumieć jako współzależny kompleks: do obliczeń wielu rdzeni tego samego procesora została
komputer + program do symulacji. Otrzymane w wyni- napisana przy użyciu dyrektyw OpenMP, natomiast wer-
ku eksperymentów czasy wykonania symulacji z użyciem sja równoległa, która do obliczeń może używać zarówno
różnej liczby wątków wskazują na niewielki zysk jeżeli komputerów połączonych w sieć, jak i wielu rdzeni jed-
chodzi o skrócenie czasu wykonania symulacji w stosunku nego procesora korzysta z wywołań funkcji MPI. Z całą
do zadania wykonywanego przez pojedynczy wątek. Za- pewnością obie odmiany przyspieszają obliczenia symu-
chowanie się symulacji jest zbliżone dla badanego przy- lacji w stosunku do wykonania przez jeden rdzeń proce-
padku przy stałym rozmiarze zadania opisanego w punk- sora. Przeprowadzone w ramach pracy [4] eksperymenty
cie 3.3. Skrócenie czasu wykonania zadań, w stosunku do numeryczne polegające na pomiarze czasu wykonania
symulacji wykonywanych przez jeden wątek, rośnie o ok. tych samych zadań przez różne wersje FDS, wykazały,
10 % przez dodanie kolejnego wątku do puli wykonującej że odmianą, która charakteryzowała się większym przy-
obliczenia. Nie dotyczy to liczby wątków równej 4, gdzie spieszeniem obliczeń w stosunku do wersji wykonywanej
wzrost jest mniejszy – na poziomie ok. 5 %. Powody ta- przez jeden rdzeń procesora, była wersja oparta o wywo-
kiej sytuacji zostały opisane w punkcie 3.3. Nie znaczne łania MPI. Idealnym wynikiem byłaby sytuacja, w której
skrócenie czasu wykonania oznacza spadającą wydajność zadanie wykonywane przez n procesorów wykonywało
systemu. Rysunek 10 pokazuje tendencję spadku wydaj- się n razy krócej. Taka sytuacja w praktyce jest nie osią-
ności systemu. Oznacza to, że pomimo równoczesnego galna poza pewnymi specyficznymi przypadkami. Wyni-
dwukrotnego wzrostu rozmiaru zadania i dwukrotnego ka to z faktu, iż w programie nie wszystkie czynności dają
wzrostu liczby wątków wykonujących zadanie, nie udaję się zrównoleglić.
się utrzymać stałej wydajności systemu. Otrzymane w wyniku eksperymentów czasy wy-
konania symulacji przez wersję OpenMP były znaczą-
4. Podsumowanie co wyższe niż MPI. Przykładowo, użycie dwóch rdzeni
Modelowanie pożaru jest zagadnieniem trudnym do procesora w przypadku MPI pozwoliło na skrócenie cza-
opisania matematycznie. Jeszcze trudniejsze jest przenie- su obliczeń o blisko 30 % w stosunku do obliczeń wy-
sienie modelu matematycznego do odpowiednio szybkie- konywanych przez jeden rdzeń, natomiast w przypadku
go i dokładnego oprogramowania, które będzie rozwiązy- OpenMP w analogicznej sytuacji, udało się skrócić obli-
wać ten model. Najczęściej wymienianym w publikacjach czenia o nieco ponad 10 %. Wyniki te potwierdzają opinie,
naukowych środowiskiem do symulacji pożarów jest Fire jakie można odnaleźć na oficjalnym forum internetowym
Dynamics Symulator. FDS stworzono z myślą o użyciu na projektu FDS odnośnie wersji MPI, ale również potwier-
167
dzają, deklaracje twórców na temat wersji OpenMP o nie- 3. Fire Dynamics Simulator and Smokeview (FDS-
doskonałości tej odmiany FDS, jeżeli chodzi o uzyskane SMV), [online], Official Website, Hosted at the Na-
przyspieszenie obliczeń. tional Institute of Standards and Technology (NIST),
Inna grupa eksperymentów numerycznych pozwoli- [on line] [dostęp 27.09.2012], Dostępny w interne-
ła zbadać skalowalność systemu rozumianego jako kom- cie: http://fire.nist.gov/fds/index.html ;
puter wraz z oprogramowaniem. Również i w tym przy- 4. Chi-Ji Lin, Yew Khoy Chuah., A study on long tunnel
padku otrzymane wyniki wykazały, że lepiej zachowuje smoke extraction strategies by numerical simulation,
się wersja MPI - przy jednoczesnym proporcjonalnym Tunnelling and Underground Space Technology,
zwiększaniu rozmiarów zadania obliczeniowego i liczby 2008, vol. 23. s. 522-530;
procesorów wykonujących to zadanie, wydajność takiego 5. Silberschatz A., Galvin P. B., Podstawy systemów
systemu nieznacznie spadała. Jest to wynik zdecydowanie operacyjnych. Wydawnictwa Naukowo-Techniczne
korzystny. Natomiast wersja OpenMP okazała się nie ska- Warszawa:, 2005;
lowalną w przeprowadzonych eksperymentach. 6. Oficjalna witryna internetowa projektu MPICH2 [on
Należy pamiętać, że wyniki mogą się różnić, w zależ- line] [dostęp 27.09.2012], Dostępny w Internecie:
ności od konkretnego scenariusza symulacji oraz zastoso- http://www.mcs.anl.gov/research/projects/mpich2/ ;
wanego podziału zadania pomiędzy procesory. 7. Grama A., Gupta A., Karypis G., Kumar V., Intro-
W trakcie definiowania scenariusza symulacji oraz duction to Parallel Computing [online]. Wyd. 2. Es-
jego testów wyszło na jaw kilka problemów, z którymi sex: Addison – Wesley, 2003 [dostęp 27.09. 2012],
można się spotkać w trakcie definiowania przypadku. Dostępny w Internecie: http://books.google.com/
Pierwszym, było przenoszenie zdefiniowanego i testowa- books?id=B3jR2EhdZaMC;
nego scenariusza symulacji na systemie operacyjnym 32 8. Oficjalna witryna internetowa projektu OpenMP, [on
– bitowym na system 64 – bitowy. Zdarzały się sytuacje, line] [dostęp 27.09 2012], Dostępny w Internecie:
w których symulacje wykonywały się w pełni na jednym http://openmp.org/ ;
z systemów, natomiast na drugim ta sama symulacja, 9. Ben-Ari M., Podstawy programowania współbież-
była przerywana ze względu na niestabilność obliczeń. nego i rozproszonego, Warszawa Wydawnictwa Na-
Oznacza to, że należy poważnie podchodzić do wskazó- ukowo-Techniczne, 1996;
wek określonych w [10] na temat unikania niestabilności 10.Oficjalna witryna internetowa projektu MPICH2, [on
obliczeń, zwłaszcza wtedy, gdy definiowany scenariusz line] [dostęp 27.09. 2012], Dostępny w Internecie:
symulacji ma być wykonywany na różnych platformach http://www.mcs.anl.gov/research/projects/mpich2/ ;
systemowych.
Drugim, istotnym spostrzeżeniem, jest szybkość wy- dr hab. inż. Tadeusz Maciak
konywania się symulacji na komputerach z procesorami prof. SGSP urodził się 1949 roku w Warszawie. Studia na
różnych producentów: firmy Intel oraz AMD. Na proceso- Wydziale Elektroniki Politechniki Warszawskiej ukoń-
rach Intel symulacje są wykonywane zdecydowanie szyb- czył w roku 1973. Po studiach rozpoczął pracę w Instytu-
ciej. Powodem tego jest kompilacja źródeł przy użyciu cie Technologii Elektronowej Politechniki Warszawskiej
kompilatorów Intel zarówno do Fortrana i C++. (obecnie Instytut Mikro i Optoelektroniki). Zajmował
Pomimo podjętych prób w trakcie pisania niniejszej się problemami związanymi z optoelektroniką. Pracę
pracy nie udało się uruchomić symulacji w wersji równole- doktorską obronił na Wydziale Elektroniki Politechniki
głej FDS, wykorzystującej MPI, na klastrze obliczeniowym Warszawskiej w roku 1982. W roku 1991 rozpoczął pra-
Wydziału Informatyki Politechniki Białostockiej „Mordor cę na Wydziale Informatyki Politechniki Białostockiej.
2”. Problemem okazała się nieobecność kompilatora For- W roku 1994 obronił pracę habilitacyjną na Wydziale
tranu na wyżej wymienionym klastrze, natomiast rozpo- Elektroniki Politechniki Wrocławskiej. W roku 1998
wszechniane na stronie projektu skompilowane wersje FDS równolegle podjął pracę w Szkole Głównej Służby Po-
nie działały prawidłowo. Jest to z pewnością zagadnienie żarniczej w Warszawie. W latach 2001-2006 Dziekan
godne uwagi, dające możliwość szerszego zbadania proble- specjalności „Systemy Informatyczne w Technice i Za-
matyki prowadzenia obliczeń symulacji pożaru równolegle, rządzaniu” w Wyższej Szkole Ekonomiczno-Technicznej
z użyciem większej liczby procesorów. w Legionowie. W ostatnich latach jego zainteresowania
koncentrują się na wykorzystaniu aparatu informatycz-
Literatura nego w rozwiązywaniu zagadnień związanych z ogólnie
1. Maciak T., Czajkowski J., Matematyczne modelowa- pojętym bezpieczeństwem wewnętrzny państwa. Prowa-
nie pożaru w pomieszczeniach zamkniętych. [mate- dzi prace związane z problematyką procesu wspomaga-
riał przyjęty do publikacji]; niu podejmowania decyzji w Państwowej Straży Pożar-
2. Czajkowski P., Metody i algorytmy modelowania nej. W kręgu jego zainteresowań znajdują się również
pożaru w pomieszczeniach zamkniętych, praca dy- wszelkiego typu symulacje komputerowe zagrożeń po-
plomowa mgr., Politechnika Białostocka, Wydział żarowych oraz problematyka ewakuacji ludności z za-
Informatyki 2010. Promotor Maciak T.; grożonych obiektów.
168
mgr inż. Przemysław Czajkowski łostockiej na specjalności Inżynieria Oprogramowania.
urodził się w 1987 roku w Białymstoku. W roku 2005, Studia ukończył 2010 roku. Obecnie pracuje w firmie
po skończeniu IV Liceum Ogólnokształcącego, rozpo- komputerowej w Białymstoku.
czął studia na Wydziale Informatyki Politechniki Bia-
169