You are on page 1of 4

Informacione tehnologije IT'13

PARALELIZACIJA METODA KONANIH TRAKA NA VIEJEZGARNIM PROCESORIMA


PARALLELIZATION OF FINITE STRIP METHOD ON MULTI-CORE PROCESSORS
Aleksandar Borkovi, Arhitektonsko-graevinsko-geodetski fakultet, Banjaluka
Sadraj: U radu se istrauju efekti paralelizacije programskog koda za proraun povrinskih
konstrukcija na viejezgarnim procesorima !redmetni proraun je zasnovan na geometrijski
nelinearnoj formulaciji von "armanovog tipa dok je diskretizacija kontinuuma izvrena
metodom konanih traka !aralelizacija je izvrena u programskom paketu #atematika
Kljune rijei: paralelizacija, metod konanih traka, geometrijski nelinearana analiza
A!"ra#": !arallelization effects of program code for calculation of spatial structures on multi-
core processors are investigated $his calculation is %ased on gemetricall& nonlinear formulation
of von "arman t&pe 'hile continuum discretization is performed %& using the (inite )trip
#ethod !arallelization is implemented into soft'are package #athematica
Keywords: parallelization, (inite )trip #ethod, geometricall& nonlinear anal&sis
$% UVOD
Proraun graevinskih konstrukcija se standardno
sprovodi diskretizacijom kontinualne sredine na konaan
broj elemenata. Opti postupak koji se zasniva na ovoj ideji
je metod konanih elemenata !"#$%. & druge strane, ovdje
predstavljen metod konanih traka !"#'% ima znatne
prednosti pri analizi odreenih klasa konstrukcija ()*. 'o su
uglavnom one kod kojih je jedna dimenzija dominantna u
odnosu na druge dvije+ ljuske, ploe, tankozidni nosai itd.
Prednost "#' je u manjem potrebnom stepenu
diskretizacije te u harmonijskim ,unkcijama koje se koriste
za aproksimaciju polja pomjeranja u podu-nom pravcu. Ove
,unkcije obezbjeuju kompatibilnost svih izvedenih veliina
za razliku od polinoma koji se standardno koriste u "#$.
.inearna analiza obino nije zahtjevna za savremene
raunare bez obzira na broj koritenih elemenata/traka. &
druge strane, nelinearna analiza, u kojoj se prati pomjeranje
konstrukcije tokom de,ormisanja, zahtijeva znatne
raunarske resurse te je paralelizacija "#$/"#' programa
veoma aktuelno podruje istra-ivanja (0, 1, 2*. 3aime, od
in-enjera se konstatno tra-e to taniji i br-i prorauni sve
kompleksnijih konstrukcija usljed stalno rastuih
,unkcionalnih, estetskih, i ekonomskih zahtjeva.
& obzirom na to da su je,tini viejezgarni procesori ve
du-e dostupni na tr-itu, aktuelna je izrada programa koji e
moi koristiti sva dostupna jezgra. Paralelizacija "#'
programa je u ovom radu uraena u programskom paketu
4ol,ram "atematika !*olfram #athematica%. Ovaj so,tver
od verzije 5 dozvoljava paralelizovanje procesa na lokalnom
raunaru, tj. podjelu rada na pojedina jezgra procesora (6*.
Paralelno izvravanje u "atematici je zasnovano na
pokretanju i kontrolisanju vie radnih !slave, local% kernela
unutar jednog master kernela. Osnovna ,unkcija kernela
jeste upravljanje resursima raunara tj. dozvoljavanje
odreenim programima da koriste te resurse. &vaka kopija
"atematike dolazi sa svim komponentama i alatima
potrebnim za kreiranje i pokretanje paralelnih prorauna.
7naajno je to su komponente paralelnog procesiranja skoro
potpuno napisane u programskom jeziku "atematika te su
nezavisne od hardvera.
&% JEDNAINE RAVNOTE'E I RJEENJE
Primjenom principa o minimumu totalne potencijalne
energije ()* dobijaju se jednaine ravnote-e
8
98 9 :.

= =

(
(
& obzirom na to da su varijacije pomjeranja ( po de,iniciji
razliite od nule, iz ove jednaine slijedi
8
:.

= =

)
(
;akle, parcijalni izvodi potencijalne energije po
parametrima pomjeranja moraju biti jednaki nuli. Ovim
di,erenciranjem ,ormiran je vektor neuravnote-enih sila
!43&% te se uslov ravnote-e svodi na odreivanje
kon,iguracije sistema u kojoj e sve sile biti uravnote-ene.
< ovom radu razmatra se von #armanova ,ormulacija ()*
te je sistem nelinearnih jednaina ije se rjeenje mora
tra-iti nekim iterativnim postupkom od kojih je 3jutn=
>apsonov !+e'ton-,aphson% najee u upotrebi. Ovaj
metod se zasniva na razvoju ,uncije u okolini take u
'ajlorov !$a&lor% red pri emu se zadr-ava samo linerani
lan
( ) ( ) ( ) ( )
: : : : : : :
: )
:

+ + = +

= =
T
T
)
) ( *( ) ( *( ) ( K ( *(
(
) *( K )
gdje je sa K' oznaena tangentna matrica krutosti !'"#%
koja u stvari predstavlja ?esijan !-essian% totalne
potencijalne energije. Ovim je izvrena linearizacija
problema, tj. umjesto odreivanja kompletne nelinearne
,unkcije tra-imo njenu vrijednost u diskretnim takama.
3akon to se odredi tanije pomjeranje
) : :
= + ( (*( ,
,ormiraju se nova '"# i 43& te se postupak ponavlja dok
neki zadani kriterij konvergencije ne bude zadovoljen.
<obiajen kriterij konvergencije jeste da norma vektora
neuravnote-enih sila mora biti manja od nekog zadatog
malog broja, recimo @:.::).
Informacione tehnologije IT'13
< cilju pribli-nog odreivanja cjelokupnog nelinearnog
odziva konstrukcije, umjesto samo jednog ravnote-nog
polo-aja, ukupno optereenje se dijeli na odreen broj
inkremenata. Povezivanjem rezultata dobijenih za svaki
usvojeni inkrement optereenja pribli-no se opisuje
nelinearno ponaanje konstrukcije. Opisani pristup analize
konstrukcija daje inkrementalno=iterativnu proceduru.
+% ALGORITAM PRORAUNA
Algoritam sekvencijalnog geometrijski nelinearnog "#'
programa, pripremljenog za paralelizaciju, je prikazan na
slici ). ;io koda koji se namee za paralelizaciju jeste
,ormiranje '"# i 43& traka, s obzirom da su prorauni po
pojedinim trakama meusobno nezavisni. 3edostatak ovog
pristupa jeste vee zauzee memorije. 3aime, '"# i 43&
pojednih traka za odgovarajue lanove reda moraju biti
upamene prije asembliranja. < sluaju kada se kod izvrava
sekvencijalano ove matrice se po ,ormiranju odmah
postavljaju u globalne marice i ne moraju biti pamene.
&lika ). <proen dijagram toka nelineranog "#'
programa
Osnovni ulazni podaci standardnog prorauna su
geometrijske i materijalne karakteristike konstrukcije te
optereenje. Potom de,iniemo stepen diskretizacije modela
usvajanjem odreenog broja konanih traka i njihovog
rasporeda te broja lanova reda koje koristimo u proraunu.
3a osnovu ovih podataka vri se proraun integrala
potrebnih za ,ormiranje matrica krutosti i vektora
optereenja. #onano, neophodno je de,inisati inkremente
optereenja i kriterij konvergencije.
< cilju dobijanja veeg e,ekta paralelizacije posebno je
izdvojen proraun vektora optereenja i linearne matrice
krutosti konstrukcije jer su oni konstantni tokom prorauna.
Potom se otvara petlja po inkrementima optereenja u okviru
kojih se vre iteracije u okviru 3jutn=>apsonove procedure.
"ogunost paralelizacije le-i u ,ormiranju '"# i 43& za
svaku traku na zasebnom kernelu. Po ,ormiranju svih
matrica i vektora vri se asembliranje !slaganje% matrica
pojedinih traka u globalnu matricu i globalni vektor
strukture. 'ada se odreuje trenutni polo-aj konstrukcije i
provjerava se da li je uslov konvergencije zadovoljen. Ako
jeste, prelazi se na novi inkrement optereenja, a u
suprotnom se vri nova iteracija. Postupak se ponavlja sve
dok se ne nanese ukupno optereenje.
Osnovni izlazni podaci "#' programa su parametri
pomjeranja u vornim linijama iz koji se potom mogu izvui
svi preostali potrebni podaci+ pomjeranja, de,ormcije i sile u
svakoj taki konstrukcije. 'akoe, mogue je i sve rezultate
prestaviti gra,iki.
;imenzije matrice krutosti u "#' zavise od vrste trake,
broja vornih linija !nl% i od broja lanova reda !nh%. <
sluaju trake sa etiri stepena slobode u vornoj liniji red
matrice krutosti je .AnlAnt "eutim, broj vornih linija
utie samo linearno na poveanje vremena potrebnog za
proraun dok broj lanova reda uestvuje sa etvrtim
stepenom. 3aime, elementi '"# i 43& su odreuju u
etverostrukoj petlji po lanovima reda ()*.
,% MOGU-NOSTI PARALELIZACIJE
Oznaimo sa ! dio programa koji se mo-e paralelizovati
a sa !/-!% dio koji se ne mo-e paralelizovati !ostaje
sekvencijalan%. 'ada je, prema Amadalovom !Amadahl%
zakonu (B, 5*, maksimalno ubrzanje koje se mo-e ostvariti
upotrebom + procesora, tj. jezgara
)
! %
!) %
) +
!
!
+
=
+
.
& obzirom na to da uee dijela koji paralelizujemo u
"#' programu te-i ka ) u sluaju velikog stepena
diskretizacije slijedi da ubrzanje "#' programa zavisi od
kompleksnosti prorauna. Cednostavniji prorauni e biti
manje a kompleksniji vie ubrzani. 7a najintenzivnije
proraune ubrzanje mo-e biti veoma blisko broju jezgara +.
"aksimalno ubrzanje unapreenog sekvencijalnog
programa, gdje je jedan dio ubrzan p puta, je ogranieno
nejednakou
maksimalnoubrzanje
) ! )%
p
f p

+
.
Ovdje je f !01f1/% dio vremena !prije unapreenja% proveden
u dijelu koji nije unapreen. &lijedi da je bitno minimizirati
veliinu f, to se u "#' programu realno i ostvaruje kada
proraun zahtijeva mnogo inkremenata a unutar njih i
mnogo iteracija. & obzirom da ,ormiranje '"# i 43& traka
uzima veinu vremena provedenog u jednoj iteraciji slijedi
da je za kompleksne proraune f blisko nuli. Dz ovoga slijedi
da ubrzanje kompletnog "#' programa mo-e biti blisko
ubrzanju paralelizovanog dijela.
Informacione tehnologije IT'13
< ovom radu paralelizacija je izvrena u programskom
paketu "atematika E. Petlja u okviru koje se ,ormiraju '"#
i 43& traka je paralelizovana koritenjem ugraene ,unkcije
!arallel2o koja rasporeuje dijelove 2o petlje na dostupne
kernele. Funkcija )et)hared3aria%le je koritena da oznai
zajednike promjenljive za radne kernele a to su upravo
matrice u koje su pamene '"# i 43& pojedinih traka za
sve lanove reda.

7a praenje e,ekata paralelizacije zgodno je iskoristiti
opciju !arallel "ernel )tatus iji je karakteristian prikaz
dat na slici 0. < njoj se mo-e oitati postignuto ubrzanje
sraunato kao odnos izmeu vremena potrebnog za
sekvencijalno izvoenje koda i onog utroenog primjenom
paralelnog procesiranja. 'akoe su po pojedinim kernelima
prokazani broj procesa i zauzee memorije.
&lika 0. Parallel #ernel &tatus u sluaju 2 aktivna kernela
7a sagledavanje ukupnog e,ekta paralelizacije cijelog
programa koritena je ,unkcija A%solute$iming koja mjeri
realno vrijeme potroeno na odreene dijelove prorauna.
.% NUMERIKI PRIMJER
< cilju provjere razmatranih teoretskih postavki izvren
je jedan numeriki eksperiment. &vi predstavljeni rezultati
su dobijeni sa procesorom Gore 0 Huad HBB::, na 0.2 I?z,
koji je na tr-itu od 0::5. godine. >ealna trenutna cijena
ovog proceosora je oko 6: $<>. & druge strane, )tarter
verzija "atematike kota oko 6:: $<>.
Analizira se elina elastina ploa !456/0 7!a, 50%
dimenzija 6A. m koja je slobodno oslonjena po kraim
ivicama. Ploa je optereena jednako podijeljenim
optereenjem od 0:: 3/m
0
. & obzirom na to da je usvojeno
optereenje simetrino po du-ini, analizira se samo uticaj
neparnog broja lanova reda jer parni nemaju uticaj ()*.
Prvo je posmatrano ubrzanje samo unapreenog dijela
programa !p u jednaini E% u ,unkciji broja lanova reda,
slika 1. Broj traka je jednak broju koritenih kernela u cilju
sagledavanja maksimalnog mogueg ubrzanja. & obzirom da
ubrzanje varira u pojedinanim pokretanjima programa,
usvojena je aritmetika sredina.
&lika 1. <brzanje unapreenog dijela programa
Potom je posmatran realan proraun gdje je u okviru 6
inkremenata optereenja programu trebala ukupno 1)
iteracija da doe do iskonvergiranog rjeenja. 3a slici 2 je
prikazan udio pojedinih dijelova programa u kompletnom
sekvencijalnom proraunu u ,unkciji broja lanova reda pri
emu su koritene 2 konane trake. <dio ,ormiranja '"# i
43& traka je veliina ! u jednaini !5% dok je zbir udjela
asembliranja i ostatka veliina f u jednaini !E%. >adi
orijentacije, vrijeme sekvencijalnog prorauna za )1 lanova
reda i 2 trake iznosi oko 62: s.
&lika 2. <dio pojedinih dijelova sekvencijalnog programa
Potom je provjereno vrijeme prorauna kompletnog
programa prije i nakon paralelizacije. #oritena su 2
kernela, svaki za po jednu traku. 3a slici 6 je prikazano
maksimalno ubrzanje programa prema izrazu !E% u ,unkciji
usvojenog broja lanova reda. ;obijene vrijednosti su
uporeene sa rezultatima dobijenim u ovom eksperimentu.
#onano, na slici B je data promjena ugiba srednje take
ploe u ,unciji pet inkremenata optereenja. 'akoe je
prikazana i skica ploe prije i poslije de,ormisanja.
/% DISKUSIJA
>ezultati predstavljeni na slici 1 pokazuju da u sluaju
kompleksnih prorauna ubrzanje programa te-i ka
teoretskom maksimumu !5% za odreen broj procesora. ;io
Informacione tehnologije IT'13
programa koji je mogue paralelizovati zavisi od broja
lanova reda koje -elimo ukljuiti u proraun, slika 2.
&lika 6. Poreenje jednaine !E% sa dobijenim rezultatima
&lika B. 7avisnost sila=pomjeranjeJ skica ploe prije i poslije
de,ormisanja
Broj traka ne utie znatno na ubrzanje programa ako je
jednak cjelobrojnom umnoku broja dostupnih jezgara. <
suprotnom, u posljednjem prolazu petlje po trakama nee biti
iskoriteni svi dostupni kerneli te se donekle smanjuje e,ekat
paralelizacije to je namjerno iskljueno u ovom radu. &
obzirom na to da broj traka utie samo linearno na poveanje
obima prorauna, mnogo je interesantnije posmatrati uticaj
broja lanova reda.
&a slike 2 je oigledno da dio programa koji se mo-e i
jeste paralelizovan te-i ka ) za veliki broj lanova reda. Dz
ovoga slijedi da e,ekti paralelizacije mogu biti znaajni to je
vidljivo sa slika 1 i 6. 3aime, na slici 6 se vidi da dobijeni
rezultati potpuno prate izraz !E% te da za veliki broj lanova
reda nejednakost !E% te-i ka jednakosti.
3a slici B je ukazano da se posmatrana konstrukcija
ponaa izuzetno nelinearno te je intenzivan proraun
neophodan. Ovdje je koriteno 6 inkremenata optereenja to
je blizu minimuma potrebnog za ovakav proraun.
0% ZAKLJUAK
7ahvaljujui irokoj dostupnosti povoljnih viejezgarnih
procesora danas je mogue znaajno ubrzati programske
kodove za proraun konstrukcija uz veoma mala ulaganja u
hardver. Programski paket "atematika omoguava zgodno
programsko okru-enje za implementaciju ovakvih pristupa.
Dako je poetno ulaganje u so,tver neto vee, ova
jednokratna investicija se mo-e brzo opravdati.
Predstavljeni e,ekti paralelizacije "#' programa su
znaajni i skoro u potpunosti se poklapaju sa teoretskim
predvianjima.
Za12a345!"
Ovaj rad je dijelom podr-an od strane "inistarstva prosvete,
nauke i tehnolokog razvoja >epublike &rbijeJ broj projekta+
'P 1B::E.
LITERATURA
()* ;.;."ilainovi, $he (inite )trip #ethod in
8omputational #echanics, Faculties o, Givil
$ngineering, &ubotica, Budapest, Belgrade, Birogra,ika,
)KK5.
(0* ;.;. "ilainovi, A. Borkovi, L. Livanov, P.&. >aki,
". 3ikoli, .. &trievi, ". ?ajdukovi, .arge
displacement stabilitM analMsis o, thin plate structures+
&cope o, "PD/Open"P parallelization in harmonic
coupled ,inite strip analMsis, Advances in 4ngineering
)oft'are, u tampi, dostupno online na adresi+
http+//dA.doi.org/):.):)B/j.advengso,t.0:)0.)).::0
(1* B. ?. 4. 'opping, A. D. #han, !arallel (inite 4lement
8omputations, &aAe=Goburg Publications, )KKB.
(2* N.Bangerth, G.Burstedde, '.?eister, ".#ronbichler,
Algorithms and 2ata )tructures for #assivel& !arallel
7eneric Adaptive (inite 4lement 8odes, AG"
'ransactions on "athematical &o,tOare, 4olume 1E, pp
)2.)=)2.0E, 0:)).
(6* http+//re,erence.Ool,ram.com
(B* I. ". Amdahl, 3alidit& of the single processor
approach to achieving large scale computing
capa%ilities, Proc. AFDP& )KB5 &pring Coint Gomputer
Gon,. Atlantic GitM, pp 2E1=2E6, April )KB5.
(5* http+//en.Oikipedia.org/Oiki/AmdahlPsQlaO

You might also like