vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih...

106
Univerza v Ljubljani Fakulteta za raˇ cunalniˇ stvo in informatiko Urban Borˇ stnik Vzporedne raˇ cunalniˇ ske simulacije na gruˇ cah osebnih raˇ cunalnikov DOKTORSKA DISERTACIJA Mentor: prof. dr. Borut Robiˇ c Somentorica: univ. znan. svet. dr. Duˇ sanka Janeˇ ziˇ c Ljubljana, 2007

Upload: lymien

Post on 26-May-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Univerza v Ljubljani

Fakulteta za racunalnistvo in informatiko

Urban Borstnik

Vzporedne racunalniske simulacije na grucahosebnih racunalnikov

DOKTORSKA DISERTACIJA

Mentor: prof. dr. Borut Robic

Somentorica: univ. znan. svet. dr. Dusanka Janezic

Ljubljana, 2007

Page 2: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem
Page 3: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Zahvala

Za nastanek doktorskega dela se moram zahvaliti mnogim, ki so me ze od nekdaj

navdusili, da svet opazujem, preucujem in poskusam razumeti. K tej radovednosti so

mi vedno sodila vprasanja, kako kaj deluje in zakaj, pa naj bo to pojem ali naprava,

in moji neuspesni in uspesni poskusi, da kaksno stvar izboljsam. Vedno pa sem se

kaj novega naucil, cetudi so bili izidi proti mojim pricakovanjem.

Za mentorstvo pri nastanku disertacije dolgujem zahvalo mentorju prof. dr. Bo-

rutu Robicu. Velika zahvala pripada somentorici univ. znan. svet. dr. Dusanki

Janezic za vodenje pri doktorskem delu in mentorstvo pri disertaciji, za vpeljavo

v raziskovalno in znanstveno delo in za stevilne ideje pri raziskavah. Zahvaliti se

moram tudi Kemijskemu institutu, kjer sem opravljal doktorsko delo in Javni agen-

ciji za raziskovalno dejavnost Republike Sloveniji za moje financiranje po programu

mladega raziskovalca.

Brez zgodnjih vtisov racunalnikov se morda ne bi odlocil raziskovati racunalnistvo.

Mag. Damir Cibic mi je prvi pokazal, da je racunalnik vec kot le ))skatla((, ko me

je v neki majhni univerzitetni sobi ocaral z graficnem prikazom simulacije Soncnega

sistema. Za navdusenje nad simulacijo molekulske dinamike se moram pa zahvaliti

predvsem dr. Milanu Hodoscku, ki mi jo je predstavil in na ravno pravi nacin razlozil,

kasneje pa vpeljal v svet vzporednega racunanja in racunalniskih gruc. Poleg tega

mi je bil vedno pripravljen razloziti odgovore na moja raznolika vprasanja. Hkrati

gre zahvala tudi dr. Bernardu R. Brooksu, ki mi je omogocil, da sem v casu solanja

prihajal v njegov laboratorij in se spoznaval s simulacijami in racunalniki za njihovo

racunanje; najbolj pa za izjavo ))Let’s build a force decomposition machine!((, saj

sem s tem lahko povezal svoje dosedanje raziskovalno delo v celoto.

Ker je namen simulacije molekulske dinamike razumevanje kemije, podlaga fi-

zika, racunanje pa domena racunalnistva in matematike, se moram za obsirne razlage

zahvaliti predvsem sodelavcem na Kemijskem institutu, ki so mi sproti dopolnjevali

znanje teh in drugih ved: poleg dr. Janezic se dr. Franci Merzel, dr. Matej Pra-

protnik, dr. Janez Mavri, dr. Jernej Stare, dr. Franc Avbelj, Urban Bren in Andrej

Perdih.

3

Page 4: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Snov narejena brez duse ni zanimiva, prav tako pa so mi bliznji obogatili cas med

solanjem in raziskovanjem. Zahvaliti se moram svojim starsem, Ireni in Miklavzu,

ki sta mi vedno omogocala sledenje svoji radovednosti, ker sta mi nudila podporo,

ko sem jo potreboval in ker sta me spodbujala, ko sta vedela, da jo potrebujem.

Brez njiju ne bi mogel napisati prvega odstavka zahvale. Kristina mi je kot starejsa

sestra marsikdaj nevede dala zgled in mi omogocala, da sem v zivljenju videl dlje.

Prijatelji pa so mi omogocili ))pokukati(( izza ograje znanost in z delitvijo izkusenj

in mnenj so mi pomagali resevati tezave na svoji poti.

Jozi, kaksna zahvala sploh se ostane tebi? Del vsake do sedaj nastete, skupaj

pa najvecja. S svojo ljubeznijo si mi omogocila, da sem si razsiril zivljenje izven

meja znanosti, s tem sem si pa obseg znanosti le se povecal. Hvala, Jozi.

Page 5: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Povzetek

Vzporedni racunalniski programi se pogosto uporabljajo za pohitritev izvajanja

racunsko zahtevnih znanstvenih nalog, kot so na primer racunalniske simulacije.

Take simulacije omogocajo teoretske raziskave v molekularni kemiji, strukturni bi-

ologiji in drugih podrocjih znanosti. Simulacija molekulske dinamike predstavlja

resevanje diferencialnih enacb drugega reda, s katerimi opisujemo gibanje atomov

simuliranega sistema. Ker ta problem v splosnem ni analiticno resljiv, ga obrav-

navamo numericno. Resiti moramo sistem gibalnih enacb za vsak atom posebej.

Osnovni rezultat simulacije je trajektorija gibanja atomov.

Metode za simulacijo molekulske dinamike so casovno zahtevne, kar omejuje

tako dolzino simulacije kot velikost obravnavanega sistema. Racunsko najbolj zah-

tevni del simulacij MD je racunanje interakcij med atomi. Vseh interakcij v sistemu

z N atomi je N2. Na vsakem integracijskem koraku moramo izracunati te interakcije

oziroma sile, ki delujejo na atome. Obstaja vec nacinov, da zmanjsamo racunsko

zahtevnost racunanja interakcij. Med njimi je upostevanje razdalje cut-off : ka-

dar je razdalja med dvema atomoma vecja od razdalje cut-off, njune interakcije ne

upostevamo in je ne racunamo.

Vzporedne metode za simulacijo molekulske dinamike porazdelijo po |P | proce-

sorjih vzporednega racunalnika racunanje sil med atomi. Glede na nacin porazde-

litve racunanja sil med atomi delimo te vzporedne metode na tri vrste: replicirani

podatki (ang. replicated data), delitev sil (ang. force decomposition) in prostorsko

delitev (ang. space decomposition). Pri vseh teh metodah si morajo procesorji med

posameznimi koraki simulacije izmenjevati podatke.

Pri repliciranih podatkih procesorji usklajujejo vse podatke med celotno simula-

cijo. Procesorjem enakomerno porazdelimo N/|P | atomov, katerim racunajo koor-

dinate. Vsak procesor racuna delez 1/|P | vseh interakcij; ce ne upostevamo cut-off,

vsak procesor racuna N2/(2|P |) interakcij. Na vsakem koraku simulacije si mora

vseh |P | procesorjev izmenjati podatke o vseh N atomih.

Pri metodi delitev prostora vsakemu procesorju dodelimo en del simulacijskega

prostora. Za racunanje sil mora vsak procesor izmenjavati podatke z najmanj 26 naj-

1

Page 6: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

blizjimi sosedi, izmenjujejo pa podatke o (N/|P |)2/3 atomih, ce je razdalja cut-off

dovolj majhna. Ce ne upostevamo razdalje cut-off in zahtevamo racunanje vseh

interakcij, potem morajo procesorji komunicirati z vec kot le 26 sosednjimi proce-

sorji. To lahko privede celo do enakih komunikacijskih zahtev kot pri repliciranih

podatkih, ker si potem vsi procesorji izmenjujejo podatke o vseh atomih.

Pri metodi delitev sil ima vsak procesor podatke o 2N/√

|P | atomih. Procesor

komunicira le z 2√

|P | drugimi procesorji in na vsakem koraku z njimi izmenjuje

podatke o 2N/√

|P | atomih. Vec ko je procesorjev, manj podatkov izmenjujejo.

Razvil sem novo vzporedno metodo za simulacijo molekulske dinamike, delitev

sil s porazdelitvijo diagonale. N2 interakcij med vsemi atomi ponazorimo z matriko

sil velikosti N × N . Atome razdelimo po |B| blokih; tako dobimo |B|2 produktov

blokov, ki predstavljajo interakcije med atomi dveh blokov. Ti produkti blokov

tvorijo mrezo velikosti |B| × |B| v matriki sil. Produkte porazdelimo po procesor-

jih, tako da vsak racuna interakcije v svojem produktu. Polovico interakcij, tiste

v zgornjem trikotniku matrike sil, ne racunamo, saj so obratno zrcalne interakci-

jam v spodnjem trikotniku. Sile ob diagonali matrike sil ustrezajo interakcijam

med atomi istega bloka. Racunanje teh sil porazdelimo po preostalih procesorjih, ki

imajo ustrezne podatke. Metoda delitev sil s porazdelitvijo diagonale tako omogoca

uporabo manjsega stevila procesorjev pri danem stevilu blokov. Ker se cas komu-

nikacije manjsa z vecanjem stevila blokov in manjsanjem stevila procesorjev, ima

metoda manjso komunikacijsko zahtevnost.

Kadar uporabimo metodo cut-off, lahko postane racunanje sil neuravnotezeno.

Razlicna obremenjenost procesorjev privede do neizkoriscenega casa cakanja, s cimer

se zmanjsa vzporedna ucinkovitost racunanja. Za novo metodo delitev sil s poraz-

delitvijo diagonale sem razvil nacin za dinamicno uravnotezenje racunanja. Ob

upostevanju trenutnih racunskih obremenitev procesorjev diagonalo ponovno po-

razdelimo tako, da izenacimo racunsko obremenitev procesorjev.

Pri vzporednih racunalnikih se vse bolj uveljavljajo tisti s porazdeljenim po-

mnilnikom, pri cemer prednjacijo gruce osebnih racunalnikov. Ena glavnih tezav

pri vzporednem racunanju je komunikacija med procesorji, ker cas komunikacije

zmanjsuje ucinkovitost vzporednega racunanja. Cas komunikacije je naceloma daljsi

pri racunalnikih s porazdeljenim pomnilnikom kot pri tistih s skupnim pomnilnikom.

Topologija povezav med procesorji vpliva na ucinkovitost vzporednih algoritmov, ki

se izvajajo na vzporednem racunalniku. Uskladitev komunikacijskih vzorcev vzpo-

rednih programov in topologij zmanjsa cas komunikacije med procesorji in poveca

ucinkovitost vzporednega racunanja.

Zasnoval sem gruco osebnih racunalnikov, katerih povezovalna topologija je pri-

lagojena novo razviti vzporedni metodi delitev sil s porazdelitvijo diagonale. Gruca

2

Page 7: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

uporabi vec mreznih stikal z manjsim stevilom prikljuckov. Za vsak blok |B| upora-

bimo svoje stikalo, na katerega povezemo |B|−1 procesorjev, ki racunajo interakcije

z atomi tega bloka. Vsak procesor je povezan z dvema stikaloma. Ker procesorji

izmenjujejo podatke le z drugimi procesorji, s katerimi imajo skupen blok, tak nacin

povezave poveca prepustnost povezovalne topologije gruce.

Namenski procesorji so procesorji, ki so zasnovani za hitro izvajanje omejenih

vrst racunov. Procesor MDGRAPE-II je narejen za hitro racunanje interakcij med

atomi in sluzi za pohitritev racunanja simulacij molekulske dinamike. V program

za simulacijo molekulske dinamike sem dodal moznost vzporedne uporabe vec takih

procesorjev z metodo delitev sil, kar dodatno pohitri racunanje simulacije molekulske

dinamike.

S simulacijami molekulske dinamike in drugimi racunskimi modeli realnih mo-

lekulskih sistemov prikazem uporabo in pomen vzporednih metod za izvajanje si-

mulacij molekulske dinamike.

3

Page 8: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4

Page 9: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Abstract

Parallel computer programs are often used to speed up computationally intensive sci-

entific tasks, such as computer simulations. Simulations enable theoretical research

in molecular chemistry, structural biology, and other fields. Molecular dynamics

simulation is the computational problem of solving a second-order system of differ-

ential equations that describe the motion of atoms of the simulated system. The

problem must be solved numerically, since it generally can not be solved analytically;

as such, the simulation is a sequence of consecutive time steps. The equations of

motion must be solved for every atom. The basic output of a molecular dynamics

simulation is the trajectory of atomic motions.

Molecular dynamics simulation methods are computationally demanding, which

limits both the length of simulations and the size of the simulated molecular system.

The most computationally demanding aspect is the calculation of the interactions.

There are N2 interactions in a system of N atoms. The interactions, or forces

acting on every atom, much be calculated in each integration time step. There are

several methods to decrease the interaction calculation computational requirements.

Among these is the use of a cut-off distance: an interaction is disregarded if the

distance between its two atoms is greater than the cut-off distance; the forces for

such interactions need not be calculated.

Parallel molecular dynamics simulation methods distribute the interactions cal-

culations among |P | processors of the parallel computer. There are three types of

parallel methods, differing in their distribution approach: replicated data, force de-

composition, and space decomposition. In each of these methods, the processors

must exchange data at every simulation time step. In the replicated data method,

the latest atomic coordinates must be replicated at each processor. The N/|P | atoms

are evenly distributed among the processors, which perform the integration of the

assigned atoms. The processors calculate a 1/|P | fraction of the force calculations.

At every timestep, the processors must exchange data for all N atoms. In the

force decomposition method, the processors have the data for only 2N/√

|P | of the

atoms and every processor communicates only with 2√

|P | other processors to ex-

5

Page 10: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

6

change the data of these atoms. The more processors there are, the less data they

must exchange. In the space decomposition method, the simulation space is divided

into cells, which are assigned to processors along with cells’ corresponding atoms.

The processors must exchange data with at least their 26 neighbors to successfully

calculate atomic interactions. If there is no cut-off distance employed, then the

communication requirements equal the replicated data approach.

I have developed a new parallel method for molecular dynamics simulation,

the distributed-diagonal force decomposition method. The interactions of all atoms

for a N × N force matrix. Distributing the atoms into |B| blocks gives |B|2 block

products, which encompass the interactions among the atoms of the two blocks. The

products are assigned to processors, which calculate interactions of the product.

These block products divide the force matrix into a |B| × |B| grid. The half of

the forces in the upper triangle of the force matrix can be disregarded, since they

form mirrored opposites of the forces in the lower triangle. The forces near the

diagonal correspond to forces among atoms of the same block. Since there are

other processors that have all of the necessary data to calculate these forces, their

calculation is distributed to these other processors. The distributed-diagonal force

decomposition method therefore uses fewer processors for a given number of blocks.

Since the communication time decreases with an increasing number of blocks, the

method has a lower communication requirement.

The force calculation may become imbalanced when a cut-off distance is em-

ployed. Differing processor loads leads to processors idling as they wait for busier

processors, which decreases parallel efficiency. I have developed a dynamic load bal-

ancing method for the now distributed-diagonal force decomposition method. By

taking into account current processor loads, it re-distributes the force calculations

from the diagonal among all of the processors to achieve balanced processor compu-

tational loads.

Distributed-memory parallel computers are becoming more prevalent for com-

puter simulations. Most prominent of these are clusters of personal computers. One

of the challenges facing parallel computation is the inter-processor communication

requirement; distributed-memory machines must use message passing to exchange

data, which is generally slower than in shared-memory machines. The processor

interconnect topology affects the programs’ parallel efficiency. Coupling the par-

allel programs’ communication patterns with the interconnect topology achieves

increased parallel efficiency.

I have designed a personal computer cluster whose interconnect is tailored to

the new distributed-diagonal force decomposition method for molecular dynamics

simulation. A number of smaller network switches are used, each one being assigned

Page 11: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

7

to one of the |B| blocks. The |B| − 1 processors that calculated interactions with a

blocks are connected to the appropriate switch. Every processor is thus connected

to two switches. Since a processor communicate only with the processors sharing

the same blocks, this topology enables a higher throughput than a single standard

network switch would.

Specialized processors are processors designed for the fast calculation of a lim-

ited set of calculations. The MDGRAPE-II processors is designed for calculating

the inter-atomic interactions and serves to increase the speed of molecular dynamics

simulations. I have enabled a molecular dynamics simulation program to use mul-

tiple MDGRAPE-II processors with the force decomposition method, which further

speeds up the molecular dynamics simulation.

I have used parallel molecular dynamics simulations and other modeling meth-

ods to study real problems, showing the use and importance of parallel methods in

computer simulations.

Page 12: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

8

Page 13: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Kazalo

1 Uvod 11

1.1 Vzporedni racunalniki . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1.1 Vrste osebnih racunalnikov . . . . . . . . . . . . . . . . . . . 11

1.1.2 Gruce osebnih racunalnikov . . . . . . . . . . . . . . . . . . . 12

1.2 Racunalniske simulacije . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2.1 Simulacija molekulske dinamike . . . . . . . . . . . . . . . . . 14

1.2.2 Zmanjsanje racunske zahtevnosti . . . . . . . . . . . . . . . . 16

1.3 Vzporedne racunalniske simulacije . . . . . . . . . . . . . . . . . . . 21

1.3.1 Delitev podatkov po procesorjih in izmenjava podatkov med

procesorji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.3.2 Ucinkovitost vzporednega racunanja . . . . . . . . . . . . . . 22

1.4 Vzporedne metode za racunanje simulacije MD . . . . . . . . . . . . 25

1.4.1 Vrste vzporednih metod . . . . . . . . . . . . . . . . . . . . . 25

1.4.2 Delitev sil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.4.3 Globalne operacije . . . . . . . . . . . . . . . . . . . . . . . . 28

2 Nova vzporedna metoda delitev sil 31

2.1 Delitev sil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.1.1 Izvor metode . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2 Obstojece metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.2.1 Metoda po Plimptonu in Hendricksonu . . . . . . . . . . . . . 36

2.2.2 Metoda po Shuju . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3 Delitev sil s porazdelitvijo diagonale . . . . . . . . . . . . . . . . . . 37

2.3.1 Porazdelitev diagonale . . . . . . . . . . . . . . . . . . . . . . 37

2.3.2 Vezne interakcije . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.4 Globalne operacije pri metodi DDFD . . . . . . . . . . . . . . . . . . 44

2.4.1 Neodvisne operacije po blokih . . . . . . . . . . . . . . . . . . 44

2.4.2 Urnik prenosov . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9

Page 14: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

10 KAZALO

3 Uravnotezenje racunanja pri metodi DDFD 49

3.1 Vzroki neuravnotezenega racunanja . . . . . . . . . . . . . . . . . . . 50

3.1.1 Nevezne interakcije . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.2 Vezne interakcije . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.3 Dinamika neuravnotezenosti . . . . . . . . . . . . . . . . . . . 51

3.2 Merjenje neuravnotezenosti . . . . . . . . . . . . . . . . . . . . . . . 51

3.2.1 Teoreticna racunska obremenitev . . . . . . . . . . . . . . . . 53

3.2.2 Cena uravnotezenja . . . . . . . . . . . . . . . . . . . . . . . 56

3.3 Uravnotezenje racunanja pri metodi DDFD . . . . . . . . . . . . . . 57

3.3.1 Neuravnotezenost pri novi metodi DDFD . . . . . . . . . . . 57

3.3.2 Prerazporejanje diagonale . . . . . . . . . . . . . . . . . . . . 58

4 Nacrtovanje gruce 61

4.1 Nacrtovanje strojne opreme po programski opremi . . . . . . . . . . 61

4.1.1 Izbira topologije glede na komunikacijske vzorce . . . . . . . 61

4.1.2 Gruce VRANA . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.2 Namenska strojna oprema . . . . . . . . . . . . . . . . . . . . . . . . 65

4.2.1 MDGRAPE-II . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.3 Komunikacijske zahteve nove metode DDFD . . . . . . . . . . . . . . 67

4.3.1 Prisotnost podatkov po procesorjih . . . . . . . . . . . . . . . 67

4.3.2 Izmenjava podatkov . . . . . . . . . . . . . . . . . . . . . . . 68

4.4 Racunalnik za metodo DDFD . . . . . . . . . . . . . . . . . . . . . . 68

4.4.1 Zahteve racunalnika . . . . . . . . . . . . . . . . . . . . . . . 69

4.4.2 Topologija gruce . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.4.3 Moznosti razsiritve . . . . . . . . . . . . . . . . . . . . . . . . 72

4.4.4 Zanesljivost in redundancnost racunalnikov . . . . . . . . . . 73

5 Uporaba racunalniskih simulacij 77

5.1 Molekulski modeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2 Kvanta mehanika (QM) . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.3 Kvanta mehanika/molekulska mehanika (QM/MM) . . . . . . . . . . 79

5.4 Simulacija MD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6 Sklep 83

Page 15: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Poglavje 1

Uvod

V uvodnem delu disertacije bom predstavili pojme in metode, ki so kljucni za ra-

zumevanje doktorskega dela. Predstavil bom vzporedne racunalnike, razlicne vrste

vzporednih racunalnikov in njihove znacilnosti. Nato bom opisal molekulske simu-

lacije, pomen simulacij molekulske dinamike in se posebno izvedbo racunanja takih

simulacij. Oba pojma zdruzim v predstavitvi vzporednih racunalniskih simulacij,

kjer razjasnim pomen vzporednega racunanja za resevanje znanstvenih problemov,

opisem tehnike paralelizacije in predstavim delitev podatkov in racunanja na vzpo-

rednih procesorjih.

1.1 Vzporedni racunalniki

Namen uporabe racunalnikov je resevanje racunskih problemov. Vedno hitrejsi

racunalniki nam omogocajo vse hitrejse racunanje [9,74], vendar je pri marsikaterem

problemu dobrodosla vsaka dodatna pohitritev. Mnogo takih racunskih problemov

lahko razstavimo na podprobleme, ki jih resujemo vzporedno na locenih procesorjih

vzporednega racunalnika [32].

1.1.1 Vrste osebnih racunalnikov

Vzporedne racunalnike delimo na dve vrsti glede na dostopnost pomnilnika vseh

procesorjev. Vrsta dostopa do pomnilnika doloca, na kaksen nacin si procesorji

lahko izmenjujejo podatke. Od nacina izmenjave podatkov zavisi, kako mora biti

pisan vzporeden program za racunanje vzporednega problema.

Racunalniki s skupnim pomnilnikom (ang. shared-memory) omogocajo vsem

procesorjem, da dostopajo neposrednega do vseh delov pomnilnika [1]. Dostopni

cas je lahko enak za vse procesorje, kot je v primeru simetricno multiprocesorskih

11

Page 16: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

12 POGLAVJE 1. UVOD

racunalnikov (ang. Symmetric Multi-Processing, SMP), ali pa se razlikuje pri proce-

sorjih NUMA (ang. Non-Uniform Memory Access) [1]. Pri racunalnikih vrste NUMA

ima vsak procesor lokalni pomnilnik, do katerega ima najhitrejsi dostop. Do ostalih

delov pomnilnika, ki mu niso lokalni, tudi ima dostop, vendar je pocasnejsi [19].

Program, ki je pisan za racunalnik s skupnim pomnilnikom, lahko uposteva moznost

neposrednega dostopa do poljubnih podatkov programa na poljubnem drugem pro-

cesorju, ki tudi sluzi izvajanju vzporednega programa.

Na vzporednih racunalnikih s porazdeljenim pomnilnikom (ang. distributed-

memory) procesorji ne morejo neposredno dostopati do vseh delov pomnilnika [1].

Procesorji morajo imeti nacin komunikacije, ki sluzi prenosu podatkov. Program, ki

je pisan za racunalnike s porazdeljenim pomnilnikom, mora za izmenjavo podatkov

med procesorji uporabiti prenos sporocil (ang. message-passing). Vsak manjkajoci

podatek, ki ga potrebuje program na enem procesorju, mora preko sporocila do-

biti od drugega procesorja, ki mu ga poslje. Obstaja vec racunalniskih knjizic, ki

abstrahirajo komunikacijsko opremo vzporednega racunalnika s porazdeljenim po-

mnilnikom, kar omogoca enostavnejso pisanje vzporednega programa in lazji prenos

med racunalniki. Taksne knjiznice so npr. PVM [67] (Parallel Virtual Machine, na-

videzni vzporeden racunalnik) ter LAM-MPI [18] in MPICH [30], ki temeljita na

standardu MPI (vmesnik za prenasanje sporocil, Message Passing Interface).

1.1.2 Gruce osebnih racunalnikov

Ko se je zmogljivost osebnih racunalnikov povecala na nivo delovnih postaj in je

prisla na trzisce dovolj zmogljiva mrezna oprema za povezovanje osebnih racunalnikov

z mrezo, so zaceli v racunskih centrih povezovati osebne racunalnike v gruce (ang.

clusters) [65,66]. Za prve gruce so uporabili tehnologijo Ethernet s hitrostjo 100 Mb/s

za mrezno povezavo med racunalniki, kasneje pa so poleg hitrejse tehnologije Ether-

net 1 Gb/s priceli uporabljati tudi alternativne tehnologije, kot so Myrinet, In-

finiband idr. [7, 48], ki obljubljajo visjo hitrost, predvsem pa manjso zakasnitev

prenosov.

Gruca osebnih racunalnikov je vzporeden racunalnik s porazdeljenim pomnilni-

kom. Vsak sestavni racunalnik ima svoj pomnilnik, do katerega lahko neposredno

dostopajo le lokalni procesorji v racunalniku. Zato mora vzporeden program za

prenos podatkov pri racunanju uporabiti prenos sporocil po mrezi, za kar ponavadi

uporabljajo obstojece knjiznice, npr. MPI.

Page 17: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.2. RACUNALNISKE SIMULACIJE 13

Vecprocesorski racunalniki

Osebni racunalniki imajo manjse stevilo procesorjev v primerjavi z mocnejsimi su-

perracunalniki [20,31,65]; v preteklosti so bili racunalniki ponavadi le eno- ali dvo-

procesorski. V zadnjem casu se tudi v osebnih racunalnikih pojavljajo vecjedrni

procesorji (ang. multi-core processors), na katerih vsako jedro predstavlja suveren

racunski procesor; v casu pisanja je tako mogoce uporabiti racunalnike z 8 racunskimi

procesorji kot gradniki gruce [33].

Gruce, sestavljene iz racunalnikov z vecimi procesorji, zdruzujejo lastnosti ra-

cunalnikov s skupnim pomnilnikom in racunalnikov s porazdeljenim pomnilnikom.

Program sicer lahko izkoristi skupni pomnilnik vsakega sestavnega racunalnika za

pohitritev nekaterih prenosov, vendar ima gruca kot celota se vedno porazdeljen

pomnilnik.

Topologije gruc

Topologija gruce opisuje, kako so sestavni procesorji in racunalniki gruce med sabo

povezani. Pri prvih grucah so uporabili mrezno stikalo [65, 66], preko katerega so

vsi racunalniki povezani s topologijo polnega grafa – vsak racunalnik lahko nepo-

sredno poslje sporocilo poljubnemu drugemu racunalniku, ki je tudi prikljucen na

isto stikalo. A ze takrat so iskali nacine za pohitritev povezav, npr. z zdruzevanjem

mreznih povezav [66]. Pri nekaterih grucah so nacrtovalci uporabili tockovne pove-

zave, ki tvorijo topologijo z manjso povezljivostjo od polnega grafa (torej racunalnik

ne more neposredno poslati sporocila poljubnemu drugemu racunalniku, le takim, s

katerimi je neposredno povezan) [61]. Ce domena vzporednega problema dopusca

tako topologijo, je lahko prepustnost take mreze s tockovnimi povezavami vecja, kot

ce bi uporabili le skupno mrezno stikalo.

Primeri topologij, ki so predstavljene na sliki 1.1, so 2-D mreze [70], hiper-

kocka [8], mrezno stikalo, in tudi vecnivojsko povezovanje mreznih stikal [22].

1.2 Racunalniske simulacije

Racunalniske simulacije uporabljamo za teoretske raziskave na razlicnih znanstvenih

podrocjih. Kot virtualni poskusi so racunalniske simulacije lahko komplementarne

ali nadomestne pravim eksperimentom. Pravi eksperiment je lahko neizvedljiv za-

radi fizikalnih [38], tehnicnih [2] ali financnih [41] omejitev; v takih primerih se

posluzujemo racunalniskih simulacij, ki nimajo takih omejitev. Z racunalniskimi

simulacijami lahko razjasnimo delovanje realnega sistema.

Page 18: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

14 POGLAVJE 1. UVOD

(a) (b)

(c) (d)

Slika 1.1: Prikaz razlicnih topologij povezav med procesorji. Na podslikah so pri-kazane topologije; procesorji oziroma racunalniki so prikazani s krogi, stikala s kva-drati, povezave pa s crtami. Na podsliki a je 2-D mreza, na podsliki b je kocka, napodsliki c je mrezno stikalo (ki nudi polno povezljivost), na podsliki d pa so mreznastikala v kaskadi.

vhodnipodatki

model izhodni podatki

parametri

Slika 1.2: Ponazoritev racunalniske simulacije. Z modelom in parametri modelaopisemo realni sistem tako, da ga lahko z racunalnikom simuliramo. Za racunanjesimulacije moramo podati se zacetno stanje kot vhodne podatke.

Zakonitosti realnega sistema, ki ga simulirimo, vkljucimo v model. S parametri

modela mu spreminjamo lastnosti, tako da se ujema z lastnostmi modeliranega sis-

tema. Za izvedbo simulacije moramo podati tudi sistem, ki ga simuliramo in njegovo

zacetno stanje. Ponazoritev simulacije je prikazana na sliki 1.2.

1.2.1 Simulacija molekulske dinamike

Simulacije molekulske dinamike (MD) omogocajo teoretske raziskave v molekularni

kemiji, strukturni biologiji in drugih podrocjih znanosti. Simulacija MD v splosnem

predstavlja resevanje problema n delcev, zato so metode, razvite zanjo, prenosljive

tudi na druge vrste simulacij [55]. Ker ta problem v splosnem ni analiticno resljiv,

ga obravnavamo numericno. Resiti moramo sistem gibalnih enacb za vsak atom

posebej [29].

Page 19: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.2. RACUNALNISKE SIMULACIJE 15

Zacetne koordinate

Racunanje sil

Racunanje novih koordinat

Slika 1.3: Glavna zanka racunanja simulacije MD. Vsak korak simulacije sestojiiz dveh delov: racunanja sil in integracije oziroma racunanje novih koordinat. Zaracunanje novih koordinat moramo imeti izracunane sile. Za izracun sil na nasle-dnjem koraku moramo imeti koordinate, izracunane v prejsnjem koraku.

Racunanje simulacije MD je numericno resevanje diferencialnih gibalnih enacb

2. reda,

mid~vi

dt=

j

~fi,j

d~ri

dt= ~vi, (1.1)

kjer je mi masa atoma i, ~vi njegova hitrost, ~fi,j sila atoma j na atom i, ~ri pa so

koordinate atoma i.

Vec razlicnih integracijskih metod lahko uporabimo za integracijo gibalnih

enacb [29, 35, 36, 47]; nekatere celo analiticno obravnavajo gibanja najhitrejsih

atomov [17,37,39,40,59,60].

Z racunskega vidika poteka racunanje simulacije MD kot zaporedje casovnih

korakov (ang. time steps), sestavljenih iz dveh delov,

1. racunanje energije oziroma sil

2. integracija gibalnih enacb oziroma racunanje novih koordinat atomov

pri cemer moramo podati zacetne koordinate atomov. Postopek je shematsko pri-

kazan na sliki 1.3.

Polje sil

S poljem sil (ang. force-field) modeliramo vse interakcije med atomi, sluzi pa

racunanju potenciala (energije). Opisemo ga z vecclensko enacbo. Mnogokrat se

uporablja polje sil s cleni, ki opisujejo prispevek veznih interakcij vezi, kotov in

dihedralnih kotov med atomi k celotnemu potencialu, prav tako pa tudi potencial

Page 20: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

16 POGLAVJE 1. UVOD

neveznih interakcij zaradi elektrostatike in van der Waalsovih interakcij [47]:

V (~rN ) =∑

vezi

ki

2(li − li,0)

2 +∑

koti

ki

2(θi − θi,0)

2 +∑

torzije

Vn

2(1 + cos(nω − γ))

+N∑

i=1

N∑

j=i+1

(

4ǫij

[(σij

rij

)12

−(

σij

rij

)6]

+qiqj

4πǫ0rij

)

, (1.2)

kjer je V (~rN ) celotni potencial v odvisnosti od ~rN , vektorja koordinat vseh ato-

mov. Prvi clen opisuje prispevek vezanih atomskih parov k celotnemu potencialu

in je modeliran s harmonskih potencialom, podobno kot je vzmet (slika 1.4a): ki

so konstante vezi, li so dolzine vezi, li,0 pa njihove ravnovesne dolzine. Drugi clen

opisuje prispevek kotov med vsemi trojicami vezanih atomov k celotnemu poten-

cialu; tudi ta kotni potencial je modeliran s harmonskih potencialom (slika 1.4b);

ki so konstante kotov, θi so sirine kotov, θi,0 pa so ravnovesne sirine kotov. Tretji

clen opisuje prispevek torzijskih (dihedralnih) kotov med stirimi atomi (slika 1.4c)

k celotnemu potencialu glede na vrtenje kota; Vn so konstante dihedralnih kotov,

n so multitude, ω so vrednosti dihedralnega kota, γ pa ravnovesne vrednosti. Za-

dnji, cetrti clen, opisuje prispevek van der Waalsovih in elektrostatskih interakcij

k potencialu. Lennard-Jonesovi potenciali Van der Waalsovih interakcij opisujejo

nevezne interakcije med bliznjimi atomi; potencial take interakcije je prikazan na

sliki 1.5a. Elektrostatske interakcije nastanejo zaradi odboja enako nabitih atomov

ali privlaka nasprotno nabitih atomov; tak potencial je prikazan na sliki 1.5b.

Iz potenciala 1.2 lahko izracunamo silo ~fi, ki deluje na atom i, s parcialnim

odvodom po koordinatah atoma i,

~fi =∂V (~rN )

~ri. (1.3)

Z vidika racunanja je delitev na vezne in nevezne interakcije pomembna. Na

sliki 1.6 so prikazane vezne interakcije (polne modre crte) in nevezne interakcije

(crtkane zelene crte) v sistemu dveh molekul vod, kar je skupaj 6 atomov. Za pare

atomov, ki so vezani ali obravnavani z veznimi interakcijami (sosedje–vez, njihovi

sosedje–kot, in sosedje le-teh–dihedralni kot), ne racunamo neveznih interakcij, saj

je vpliv njihovih neveznih interakcij zajet v opisu veznih interakcij.

1.2.2 Zmanjsanje racunske zahtevnosti

Ze na tako majhnem sistemu, kot je prikazan na sliki 1.6, je razvidno, da je neveznih

interakcij mnogo vec od veznih. V sistemu z N atomi je veznih interakcij O(N), saj

Page 21: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.2. RACUNALNISKE SIMULACIJE 17

(a) Vez (b) Kot (c) Dihedralni kot

Slika 1.4: Vezne interakcije. Sprememba dolzine vezi (podslika a) spremeni poten-cial med dvema atomoma. Sprememba kota (podslika b) spremeni potencial medkrajnima atomoma. Dihedralni kot med stirimi atomi (podslika c) je kot med ravni-nama, ki ju dolocajo prvi trije in zadnji trije atomi. Sprememba dihedralnega kotaspremeni potencial med dvema krajnima atomoma.

r

V

(a) Lennard-Jonesov potencial

r

V

(b) Elektrostatski potencial

Slika 1.5: Potenciala van der Waalsovih (podslika a) in elektrostatskih (podslika b)neveznih interakcij. Grafa prikazujeta potencial V v odvisnosti od razdalje r meddvema atomoma.

Page 22: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

18 POGLAVJE 1. UVOD

Slika 1.6: Ponazoritev veznih in neveznih interakcij v sistemu dveh molekul vode(velika crna kroga sta kisika (O), mali crni krogi pa vodike (H). Modre ravne crtepredstavljajo vezi med pari kisikov in vodikov (vez O–H). Modra ukrivljena crtapredstavlja kot med tremi atomi (H–O–H). Obe vrsti interakcij sta vezni. Zelenecrtane crte predstavljajo nevezne interakcije med atomi, ki medsebojno nimajo ve-znih interakcij. Med dvema molekulama vode je 9 veznih interakcij – vsak izmedatomov ene molekule vode ima nevezne interakcije z vsemi tremi atomi druge mole-kule vode.

ima vsak atom lahko le nekaj vezi, ponavadi do 3; neveznih interakcij pa je O(N2),

saj imata oba atoma vsakega izmed N×N parov atomov interakcijo med sabo (poleg

prej omenjenih O(N) veznih parov). Izracun tako velikega stevila neveznih interakcij

je med vecjimi omejitvami racunalniskih simulacij. Omejujejo dolzino simulacije, se

bolj pa velikost obravnavanih sistemov.

Nekaj metod je bilo razvitih za pohitritev izracuna neveznih interakcij in omo-

gocanja simulacij vecjih sistemov. Med te sodi osnovna, uporaba razdalje cut-off,

prav tako pa drevesna metoda [3] in metoda multipolov [5, 6].

Razdalja cut-off

Uporaba razdalje cut-off je med najbolj osnovnimi tehnikami za zmanjsanje

racunske zahtevnost neveznih interakcij [47]. Znacilnost neveznih interakcij je, da

se njihove vrednosti manjsajo z vecanjem razdalje; tako se obnasata tako klasicni

potencial Lennard-Jones, ki opisuje van der Waalsove interakcije, kot tudi elektro-

statski potencial; prvi pada v odvisnosti 1/r6 z razdaljo r, drugi pa v odvisnosti 1/r.

Potencial z vecanjem razdalje tezi proti vrednosti 0. Zato se lahko odlocimo, da je

razlika zanemarljiva nad neko razdaljo rcutoff ; Razdaljo rcutoff imenujemo cut-off .

Majhna nezveznost, ki se pojavi v potencialu pri prehodu meje rcutoff , ima vpliv na

simulacijo, ki ga lahko odpravimo z razlicnimi metodami [27,49].

Na sliki 1.7 je ponazorjena uporaba metode z razdaljo cut-off. Interakcije

upostevamo le za atome, ki so znotraj radija rcutoff . Ker privzamemo, da je poten-

Page 23: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.2. RACUNALNISKE SIMULACIJE 19

rcut−off

Slika 1.7: Ponazoritev uvedbe razdalje cut-off za upostevanje in racunanje razlicnooddaljenih interakcij od rdecega atoma. Interakcije s temno modrimi atomi, ki soblizji rdecemu od rcutoff , upostevamo. Interakcij s svetlo modrimi atomi, katerihrazdalja od rdecega atoma je vecja od rcutoff , ne upostevamo.

cial med dvema atomoma nad neko razdaljo enak 0, se na ta nacin lahko izognemo

racunanju vseh interakcij med atomi, ki so oddaljeni vec kot je razdalja cut-off. Ce

gledamo rdeci atom na sliki 1.7, to pomeni, da racunamo interakcije le med med

njim in temno modrimi atomi. Svetlo modri atomi so prevec oddaljeni, njihovih

interakcij z rdecim ne upostevamo, zato jih tudi ne racunamo.

Primernost uporabe razdalje cut-off za zmanjsanje racunske zahtevnosti racun-

anja neveznih interakcij se pokaze zlasti pri vecjih sistemih. Ce imamo molekulski

sistem z N atomi z atomsko gostoto ρ (stevilo atomov na enoto prostora), ni po-

trebno racunati vseh N2 interakcij (z N2/2 racuni sil), temvec le

ncalc = N × 4

3πr3

cutoff ρ (1.4)

interakcij z ncalc/2 racuni sil.

Drevesna metoda

Drevesna metoda po Barnes in Hutu [3,4] temelji na spoznanju, da lahko interakcije

med nekim izbranim atomom in skupino oddaljenih atomov modeliramo kot interak-

cijo med izbranim atomom in nekim navideznim delcem, ki vsebuje lastnosti celotne

skupine oddaljenih atomov. Princip delovanja metode je prikazan na sliki 1.8.

Pri tej metodi prostor hierarhicno razdelimo v drevesno strukturo, dokler niso

razdelki prostora dovolj majhni, da vsebujejo le nekaj atomov. Za skupino ato-

mov v takem prostorskem razdelku izracunamo lastnosti predstavnika podskupine,

npr. tezisce povprecnega naboja atomov. Nato za vsak atom a izmed N atomov

izvedemo iskanje v globino po zgrajenem drevesu. Ce je obiskani razdelek dovolj

blizu atomu a, potem izracunamo neposredne interakcije med atomi v razdelku in

Page 24: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

20 POGLAVJE 1. UVOD

Slika 1.8: Drevesna metoda po Barnes in Hutu. Interakcije delimo glede na raz-daljo. Interakcije med dvema atomoma, ki sta dovolj blizu, npr. modra atoma dordecega, racunamo neposredno. Pri oddaljenih atomih racunamo interakcije posre-dno. Stirim svetlo modrim atomom, ki so dovolj oddaljeni od rdecega, priredimonavidezen delec, prikazan kot moder crtast krog, ki zajema povprecje stirih atomov.Namesto racunanja interakcij posebej za vsakega izmed 4 atomov, izracunamo leeno, med rdecim atomom in navideznim delcem.

atomom a. Ce je razdelek dovolj oddaljen, potem izracunamo le interakcije med

atomom predstavnikom razdelka in atomom a.

Casovna zahtevnost drevesne metode za racunanje neveznih interakcij

je O(N log N). Casovna zahtevnost preiskovanja drevesa v globino je O(log N), kar

moramo storiti za vsak atom, torej N -krat.

Metoda hitrih multipolov

Metoda hitrih multipolov temelji na podobnih nacelih kot drevesna metoda po Bar-

nes in Hutu, torej da lahko vec interakcij oddaljenih delcev nadomestimo s pri-

blizkom ene same interakcije [75]. Namesto povprecenja vecih interakcij med enim

delcem in skupino oddaljenih delcev, povprecimo interakcije med dvema oddalje-

nima skupinama. Ne uporabimo povprecja prvega reda (npr. povprecna sila) kot

priblizek atomov v prostorskem razdelku, ampak uporabimo povprecje visjih redov

(npr. dipol, kvadropol) oziroma multipole. Primer interakcije dveh oddaljenih sku-

pin atomov s priblizkom je prikazan na sliki 1.9. Vpliv take interakcije dveh skupin

se posledicno prenese na vse atome dveh skupin. Razdelitev prostora izvedemo na

podoben nacin kot pri drevesni metodi.

Casovna zahtevnost metode hitrih multipolov je le O(N) [55,75].

Page 25: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.3. VZPOREDNE RACUNALNISKE SIMULACIJE 21

Slika 1.9: Metoda hitrih multipolov. Interakcije med skupinami oddaljenih atomovizracunamo preko ene interakcije njihovih multipolov. Rdeci crtani krog predstavljamultipol rdecih atomov, modri crtani krog pa multipol modrih atomov. Na primer,da je interakcija med multipoloma torzija; prikazana je s temno rdeco oziroma temnomodro puscico na ustrezni multipol. Torzija se preko multipola odraza kot sila naatome, ki so sestavni del multipola; te sile na posamezne atome so prikazane s svetlordeco oziroma svetlo modro barvo.

1.3 Vzporedne racunalniske simulacije

Pri mnogih vrstah racunalniskih simulacij lahko racunanje simulacij porazdelimo,

tako da podprobleme simulacij racunamo socasno na locenih, vzporednih procesorjih.

Pri takih vzporednih racunalniskih simulacijah moramo dolociti, kako porazdeliti

podatke in racunanje po procesorjih. Vrsta porazdelitve podatkov in racunanja

zavisi od izbranega vzporednega algoritma za racunanje simulacije na vzporednem

racunalniku.

1.3.1 Delitev podatkov po procesorjih in izmenjava podatkov med

procesorji

Vzporeden algoritem doloca, katere dele celotnega racuna racunajo posamezni vzpo-

redni procesorji. Glede na porazdelitev delov racuna morajo biti porazdeljeni po-

datki, ki jih deli racunov potrebujejo kot vhodne podatke (ang. domain decompo-

sition) [32]. Poleg tega nam vzporeden algoritem doloca, katere podatke morajo

procesorji izmenjavati.

Pri najbolj preprostih vzporednih algoritmih lahko celoten racun razdelimo

na neodvisne podracune [46]. Vsakemu procesorju dodelimo samostojen racun in

zacetne podatke zanj. Procesorji racunajo neodvisno, po koncanih izracunih pa

zdruzimo izhodne podatke. Ponazoritev neodvisnih vzporednih racunov na dveh

procesorjih je na sliki 1.10. Racunanja mnogih vrst racunalniskih simulacij ne mo-

Page 26: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

22 POGLAVJE 1. UVOD

Problem

{Vhodni podatki}

Podproblem 1 Podproblem 2

{Vhodni podatki 1} {Vhodni podatki 2}

Procesor 1 Procesor 2

Racunanje Racunanje

{Izhodni podatki 1} {Izhodni podatki 2}

Resen problem

{Rezultat celotnega problema}

Slika 1.10: Paralelizacija dveh neodvisnih podproblemov enega problema. Procesorjaracunata neodvisno in edina izmenjava podatkov je zacetni prenos vhodnih podatkovin zdruzevanje izracunanih izhodnih podatkov.

remo tako paralelizirati [16, 50], lahko pa vec neodvisnih simulacij racunamo vzpo-

redno.

Racunanja mnogih problemov, kot so tudi simulacije MD, ne moremo razdeliti

na neodvisne podracune [32,50]. Racunanje sicer porazdelimo na vzporedne proce-

sorje, vendar racun na enem procesorju potrebuje delno izracunane podatke, ki so

prisotni na nekem drugem procesorju. Procesorji morajo zato izmenjevati podatke

med posamezni deli racunov. Ponazoritev tako odvisnih vzporednih racunov, kjer

procesorji izmenjajo podatke med posameznimi deli racunov, je na sliki 1.11.

1.3.2 Ucinkovitost vzporednega racunanja

Cilj vzporednega racunanja je zmanjsanje casa, ki je potreben za racunanje pro-

blema, npr. simulacije. Ucinkovitost vzporednega racunanja merimo na dva nacina,

s pohitritvijo racunanja in z vzporedno ucinkovitostjo. Za izracun teh dveh metrik

moramo poznati T , t.j. cas racunanja problema na enem procesorju, |P | oziroma

Page 27: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.3. VZPOREDNE RACUNALNISKE SIMULACIJE 23

Problem

{Vhodni podatki}

Podproblem 1 Podproblem 2

{Vhodni podatki 1} {Vhodni podatki 2}

Procesor 1 Procesor 2

Racunanje Racunanje

{Izhodni podatki 1} {Izhodni podatki 2}

Resen problem

{Rezultat celotnega problema}

Prenos podatkov Prenos podatkov

Racunanje B Racunanje B

Prenos podatkov B Prenos podatkov B

Racunanje C Racunanje C

Slika 1.11: Paralelizacija dveh odvisnih podproblemov enega problem. Procesorjaracunata vsak svoj del podproblema, vendar morata zadnja dva dela racuna dobitipodatke prejsnjega dela racuna iz drugega procesorja. Procesor 1 mora za racunanjaracunskega dela Racunanje B dobiti izracunane podatke racunskega dela Racunanjeod procesorja 1; procesor 2 pa obratno. Podobno mora procesor 1 dobiti podatkepo koncanem Racunanje B od procesorja 2, da lahko izvede Racunanje C, obratnopa velja za procesor 2.

Page 28: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

24 POGLAVJE 1. UVOD

stevilo vzporednih procesorjev iz mnozice procesorjev P ter Tp, cas vzporednega

racunanja problema.

Pohitritev racunanja

Pohitritev racunanja S izraza, kolikokrat hitreje poteka vzporedno racunanje v pri-

merjavi z racunanjem na enem procesorju,

S =T

Tp(1.5)

Zazelena je cim vecja pohitritev, ki je v idealnih pogojih enaka stevilu procesor-

jev. Pri nekaterih problemih je pohitritev lahko celo vecja od stevila procesorjev,

pri t.i. nadlinearni pohitritvi (ang. super-linear speedup); nadlinearna pohitritev

nastane le zaradi strojne opreme, npr. zaradi vpliva predpomnilnika, saj procesor

hitreje racuna manj obsezno domeno podatkov podproblema kot obseznejso domeno

podatkov celotnega problema [72].

Vzporedna ucinkovitost

Vzporedna ucinkovitost E izraza pohitritev v odvisnosti od stevila procesorjev,

E =S

|P | =T

|P |Tp. (1.6)

Zazelena je ucinkovitost E = 1.0 oziroma 100%, ponavadi je pa manjsa od 100% in

pada z vecanjem stevila procesorjev.

Pri popolnoma vzporednem problemu, kjer so podproblemi povsem neodvisni,

kot je ponazorjeno na sliki 1.10 (str. 22), lahko racunanje pohitrimo sorazmerno s

stevilom procesorjev. Cas racunanja vsakega izmed |P | neodvisnih podproblemov

je Tp,

Tp =T

|P | . (1.7)

Ker racuni potekajo vzporedno, je razvidno, da je pohitritev enaka stevilu procesor-

jev |P |, ucinkovitost pa je enaka 1 oz. 100%.

Nekaterih delov problema ne moremo racunati vzporedno. Cas T razdelimo

na dva dela: Tvzporedni oziroma cas racunanja dela problema, ki ga lahko racunamo

tudi vzporedno; Tzaporedni oziroma cas racunanja dela problema, ki ga ne moremo

racunati vzporedno. Tedaj je cas racunanja na vsakem procesorju enak

Tp =Tvzporedni

|P | + Tzaporedni, (1.8)

Page 29: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.4. VZPOREDNE METODE ZA RACUNANJE SIMULACIJE MD 25

pohitritev je

S =T

Tvzporedni

|P | + Tzaporedni

.

Z vecanjem stevila procesorjev se stopnja rasti pohitritve vse bolj mansja; limita

pohitritve je

T/Tzaporedni, (1.9)

ki je znan kot Amdahlov zakon [42], ki doloca najvecjo mozno pohitritev problema,

ki ga ne moremo v celoti racunati vzporedno.

Kadar podproblemi niso neodvisni, npr. pri vzporedni simulaciji MD, morajo

procesorji, ki vzporedno racunajo podprobleme, izmenjevati podatke. Cas komuni-

kacije Tc, torej cas, ki je potreben za izmenjavo podatkov, pa podaljsa cas racunanja

vsakega izmed podproblemov,

Tp =T

|P | + Tc, (1.10)

kar je tudi cas vzporednega racunanja celotnega problema. Komunikacijski cas, ki se

spreminja s stevilom procesorjev – ponavadi se veca z vecanjem stevila procesorjev –

tudi zmanjsuje vzporedno ucinkovitost:

E =T

|P |Tp=

T

|P |(T/|P | + Tc)=

T

T + |P |Tc. (1.11)

Razvidno je, da je zmanjsevanje komunikacijskega casa en izmed glavnih ciljev pri

nacrtovanju vzporednih algoritmov.

1.4 Vzporedne metode za racunanje simulacije MD

Pri vzporednem racunanju simulacije MD procesorji vzporedno racunajo dva dela

vsakega koraka simulacije: vzporedno racunajo sile in vzporedno racunajo nove

koordinate [71]. Ker sta ta dva koraka zaporedna (za racunanje koordinat moramo

poznati sile), koraki pa tudi zaporedni (za racunanje sil moramo poznati koordinate s

prejsnjega koraka), morajo procesorji dvakrat izmenjevati podatke v vsakem koraku

simulacije. Postopek vzporedne simulacije MD je predstavljen na sliki 1.12.

1.4.1 Vrste vzporednih metod

Poznamo tri razrede vzporednih metod za racunanje simulacije MD: replicirani po-

datki, prostorska delitev in delitev sil. Metode se razlikujejo po nacinu, kako razdelijo

racunanja interakcij po procesorjih, kar obenem doloca tudi prisotnost podatkov po

Page 30: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

26 POGLAVJE 1. UVOD

Zacetne koordinate

Racunanje sil

Racunanje novih koordinat

Izmenjava koordinat

Vsota sil

Slika 1.12: Glavna zanka vzporedna racunanja simulacije MD. Rdece oznacna delakoraka, t.j. Racunanje sil in Racunanje novih koordinat, racunamo vzporedno. Mo-dra oznacena dela koraka pa predstavlja komuniciranje, ki je potrebno za izmenjavopodatkov med procesorji, da ti lahko nadaljujejo racunanje.

procesorjih.

Replicirani podatki

Najenostavnejsa metoda paralelizacije je metoda repliciranih podatkov. Ime metode

izvira iz znacilnosti, da ima vsak procesor koordinate o vseh atomih, vsakemu izmed

|P | procesorjev pa dodelimo racunanje 1/|P |-tega dela interakcij (npr. N2/|P |, ce

ne uporabimo razdalje cut-off ) [16,58].

Po vzporednem racunanju interakcij moramo zdruziti izracunane interakcije

ter jih prenesti med procesorji tako, da procesorji poznajo sile za racunaje novih

koordinat. Po vzporednem racunanju novih koordinat moramo koordinate prenesti

na vse procesorje. Pri vseh prenosih prenasamo O(N) podatkov o vseh atomih.

Podrobnejsi opis in motivacija obeh prenosov sta zapisana v podpoglavju 1.4.3.

Edina posledica uvedbe razdalje cut-off pri metodi repliciranih podatkov je, da

procesorjem dodelimo razlicno stevilo interakcij, katere morajo racunati. V tem pri-

meru se pojavi neuravnovetezenost racunanja, kar zmanjsa vzporedno ucinkovitost

(vec o uravnotezenosti racunanja je zapisano v podpoglavju 3.1).

Prostorska delitev

Metoda prostorske delitve razdeli prostor simuliranega sistema na locene dele, kate-

rim dodelimo posamezne procesorje. Vsak procesor racuna interakcije med atomi v

njegovem delu prostora; zato ima vsak procesor podatke o atomih v njegovem delu.

Za racunanje interakcij mora imeti vsak procesor koordinate svojih atomov

Page 31: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.4. VZPOREDNE METODE ZA RACUNANJE SIMULACIJE MD 27

Slika 1.13: Prostorska delitev v 2 dimenzijah. Realni simulacijski prostor razdelimona 16 delov. Vsakemu delu, kot npr. rdece obarvanemu, priredimo procesor, kiima koordinate vseh atomov v svojem delu (rdeci atomi). Obmejni pas sosednjihdelov (svetlo rdeci) so siroki toliko, kolikor je razdalja cut-off in vsebujejo atome(temno modri), ki jih mora ))dobiti(( procesor, da lahko izracuna interakcije vsehsvojih atomov (treh rdecih).

in tudi tistih, ki so zunaj njegovega dela prostora in ki imajo interakcijo z atomi v

njegovem delu prostora. Na sliki 1.13 je prikazana prostorska delitev 2-D prostora na

16 delov. Za vseh 8 sosedov so prikazani tudi pasovi, v katerih se nahajajo atomi, ki

so znotraj razdalje cut-off od meje oznacenega dela. Atomi znotraj tega obmejnega

pasu so dovolj blizu, da imajo lahko interakcijo z atomi znotraj oznacenega dela.

Zato mora imeti procesor koordinate vseh takih bliznjih sosednjih atomov.

Pri metodi prostorske delitve lahko procesorji komunicirajo le po integraciji

gibalnih enacb [5]. Vsak procesor poslje vsakemu sosedu nove koordinate tistih

atomov, ki so v njegovem obmejnem pasu. Ce je razdalja cut-off dovolj majhna,

izmenjujejo le O((N/|P |)2/3) podatkov [58]. Z vecanjem razdalje cut-off se veca

tudi obmejni pas, zato je za prostorsko delitev zazeleno, da je razdalja cut-off cim

manjsa. Ce molekulski sistem nima enakomerne gostote, potem so stevilo atomov v

razlicnih delih prostora razlikuje, kar privede do neuravnotezenega racunanja.

1.4.2 Delitev sil

Metoda delitev sil temelji na vzporednem racunanju interakcij tako, da vsak procesor

racuna interakcije med dvema podmnozicama vseh atomov; disjunktno podmnozico

atomov imenujemo blok, bloki pa tvorijo pokritje vseh atomov. Interakcije med

N atomi lahko prikazemo v matriki sil. Ce atome porazdelimo v |B| blokov, potem

Page 32: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

28 POGLAVJE 1. UVOD

1

2

3

4

1 2 3 4

.2 3 4 5 6 7 8 9 1011121314 .15 . . N

123456789101112131415..

.N

.

1

Blo

ki

Bloki

Slika 1.14: Delitev sil. Atome razdelimo v 4 bloke, vsakemu produktu blokov padodelimo procesor. Procesor, ki ga dodelimo rdece obarvanem produktu blokov 2in 3, racuna interakcije le med atomi teh dveh blokov. Ta procesor komunicira le zostalimi 6 procesorji (svetlo rdeci produkti), ki imajo skupen blok 2 ali 3.

matriko sil razdelimo na |B|2 produktov blokov. Delitev vseh atomov v 4 bloke in

nastalih 16 produktov med njimi prikazuje slika 1.14.

Produktom blokov dodelimo procesorje, ki racunajo interakcije med atomi v

dveh blokih. Procesorji komunicirajo le s tistimi procesorji, s katerimi imajo skupen

blok in prenasajo O(N/√

|P |) podatkov. Komunikacija je neodvisna od razdalje

cut-off, lahko pa pride do neenakomerne obremenitve procesorjev, podobno kot pri

metodi repliciranih podatkov.

Vec o delitvi sil je zapisano v podpoglavju 2.1. Razvili so tudi hibridne metode,

ki zdruzujejo lastnost prostorske delitve in delitev sil [13,14,63,64].

1.4.3 Globalne operacije

Globalne operacije so komunikacijske operacije, v katerih sodelujejo vsi procesorji.

Primer take operacije je globalno oddajanje: podatek, ki je na enem procesorju,

moramo poslati vsem procesorjem.

Pri vzporedni simulaciji MD imamo dve glavni globalni operaciji: porazdeljeno

globalno oddajanje in porazdeljeno globalno vsoto. Ponazoril ju bomo na primeru

repliciranih podatkov. Sosledje korakov, kot je prikazano na sliki 1.12 (str. 26)

narekuje podatke, ki si jih morajo izmenjati procesorji [16].

Pri vzporedni metodi repliciranih podatkov izhajamo iz omejitev, da morajo

imeti vsi procesorji na vsakem koraku simulacije koordinate vseh atomov. Vsak

procesor i izracuna nove koordinate ci za svoj del N/|P | vseh atomov; te atome

Page 33: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

1.4. VZPOREDNE METODE ZA RACUNANJE SIMULACIJE MD 29

imenujemo domace atome procesorja i.

Porazdeljeno globalno oddajanje

Po izracunu novih koordinat mora vsak procesor p poslati koordinate ci svojih

domacih atomov vsem ostalim procesorjem. Po izvedeni globalni operaciji odda-

janja ima vsak procesor celotno mnozico koordinat vseh atomov, {c0, c1, . . . , cP }.

Porazdeljena globalna vsota

Vsak izmed procesorjev racuna poljubno interakcijo, saj ima koordinate vseh ato-

mov. Tako dobimo izracunane sile na atome, vendar so porazdeljene po procesorjih:

za vsak atom moramo sesteti delne sile, ki se nahajajo na vseh procesorjih, da do-

bimo celotno silo, ki deluje na atom. To vsoto delnih sil za nek atom moramo imeti

na tistem procesorju, ki racuna nove koordinate za ta atom.

Po izracunu sil ima vsak procesor i delne sile za vse atome, {~f i0,

~f i1, . . . ,

~f iP},

kjer je ~f ip delna sila, ki jo izracuna procesor i za domace atome procesorja p. Da

lahko nek procesor p izracuna nove koordinate svojim domacim atomom, mora imeti

njihovo celotno silo ~Fp = ~f0p + ~f1

p + · · ·+ ~fPp . Torej vsak procesor p mora dobiti vsoto

vseh delnih sil ~f ip, ∀i ∈ P . Za to oddajanje in vsoto delnih sil uporabimo globalno

operacijo porazdeljene globalne vsote.

Page 34: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

30 POGLAVJE 1. UVOD

Page 35: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Poglavje 2

Nova vzporedna metoda delitev

sil

V tem poglavju bom predstavil metodo delitev sil in njen izvor. Opisal bom obja-

vljene razlicice in razlozil novo metodo, ki sem jo razvil. Opisal bom resitve, ki sem

jih poiskal za tezave, ki nastopijo, ce zelimo metodo delitev sil uporabiti za simu-

lacijo realnih makromolekulskih sistemov. Sledi analiza komunikacijske zahtevnosti

metode, ki kaze na njeno uporabnost pri vecjem stevilu procesorjev. Ob tem bom

opisal, kako sem implementiral usklajevanje prenosov podatkov med procesorji.

2.1 Delitev sil

Delitev sil je metoda za vzporedno racunanje sil med delci, ki temelji na delitvi

matrike sil. Vse interakcije med N delci tvorijo matriko sil velikosti N × N . To

matriko sil razdelimo na dele, s tem pa porazdelimo racunanje interakcij na vec pro-

cesorjev. Smisel metode delitev sil je v nacinu delitve matrike, tako da procesorjem

ni potrebno poznati koordinat vseh atomov. S tem zmanjsamo komunikacijski cas

med procesorji in povecamo vzporedno ucinkovitost. Atome razdelimo v |B| blokov

in vsakemu paru blokov dodelimo procesor, kot je nakazano na sliki 2.1. Procesor

racuna interakcije med delci svojega para blokov, kar ustreza vektorskemu produktu

blokov v matriki sil. Skupaj tvorijo vsi produkti pokritje celotne matrike sil. Podatke

o atomih v bloku izmenjuje le s procesorji, ki so dodeljeni istemu bloku. Metode za

delitev sil se razlikujejo po nacinu razporeditve delcev v bloke in nacinu dodeljevanja

procesorjev produktom blokov.

31

Page 36: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

32 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

1 3 45 6 7 89

2

11 1213 14 15 16

10

1

2

3

4

1 2 3 4

.2 3 4 5 6 7 8 9 1011121314 .15 . . N

123456789101112131415..

.N

.

1

Blo

ki

Bloki

Slika 2.1: Osnovni princip metode delitev sil. Atome porazdelimo po blokih (na slikiv 4 bloke), pare blokov pa dodelimo procesorjem, ki racunajo interakcije med njimi.Ponavadi uporabimo enako porazdelitev v obeh smerih. Na primer procesor 10racuna interakcije med atomi, ki so dodeljeni blokoma 2 in 3. Vektorski produkt tehdveh blokov je obarvan temno rdece.

2.1.1 Izvor metode

Delitev

Elementi matrike sil so sile atoma j na atom i, ~fij, za izracun katere moramo poznati

koordinate obeh atomov, ~ri ter ~rj . Slika 2.2 prikazuje matriko sil in ponazarja izvor

enega elementa matrike iz interakcije med atomoma. Vsota vrste i v matriki,

~fi =∑

j

~fij, (2.1)

je celotna sila, ki deluje na atom i, kot je prikazano na sliki 2.3. Vidimo, da moramo

za izracun sile ~fi poznati delne sile ~fij za vsak atom j. Ce sile racunamo vzpore-

dno, potem mora imeti procesor, ki racuna neko silo ~fij, koordinate atomov i in j.

Oziroma, procesor ne potrebuje koordinat atomov, s katerimi ne racuna delnih sil.

Pri racunanju interakcij upostevamo 3. Newtonov zakon, po katerim sta sili ~fij

in ~fji nasprotno enaki,~fij = −~fji. (2.2)

Izracunamo lahko le polovico sil, za manjkajoce pa upostevamo zgornjo enakost.

Tako prepolovimo racunsko zahtevnost neveznih interakcij. Ker atomi nimajo la-

stnih interakcij s sabo, so sile na diagonali enaki 0: ~fii = 0. Racunanje vsote neke

sile ~fi = ~fi1 + ~fi2 + · · · + fi,(i−1) − f(i+1),i − · · · − ~fN,i je prikazano na sliki 2.4.

Page 37: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.1. DELITEV SIL 33

1

2

34

5

6

(a)

1

1

2

2

3

3

4

4

5

5

6

6

f12 f14f15f16

f21 f23f24f25f26

f32 f34f35f36

f41f42f43 f45f46

f51f52f53f54 f56

f61f62f63f64f65

f13

f31

(b)

Slika 2.2: Izvor matrike sil. Na podsliki a so prikazane tri molekule kisika O2 zostevilcenimi atomi in vsemi interakcij med njimi. Na podsliki b) so interakcijepredstavljene v obliki matrike sil. Sili med atomoma 1 in 3, ki je oznacena z rdecobarvo na podsliki a, ustrezata rdece obarvana elementa (1, 3) in (3, 1) matrike sil napodsliki b. Vsota vseh sil v prvi vrsti oziroma sile ostalih 5 atomov na prvi atom jecelotna sila, ki deluje na prvi atom.

1

1

2

2

3

3

4

4

5

5

6

6

f2

f3

f4

f5

f6

f21 f23f24f25f26

f31f32 f34f35f36

f41f42f43 f45f46

f51f52f53f54 f56

f61f62f63f64f65

f1 f12f13f14f15f16

Slika 2.3: Na vsak atom deluje sila ~fi, ki je vsota sil ~fi1 + ~fi2 + · · · + ~fiN ; i 6= j i-tevrstice. Vsota rdece oznacenih sil v prvi matriki sil je sila, ki deluje na atom 1.

1

1

2

2

3

3

4

4

5

5

6

6

f1

f2

f4

f5

f6

f21

f41f42

f51f52 f54

f61f62 f64f65

f3 f31f32

f43

f53

f63

Slika 2.4: Sila ~f3, ki deluje na atom 3, je vsota rdece oznacenih sil ~f31 + ~f32 − ~f43 −~f53− ~f63. Sile ~f43, ~f53 in ~f63 imajo negativen predznak, saj so nasprotno enake silam~f34, ~f35 in ~f36.

Page 38: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

34 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

Atome iz mnozice atomov A disjunktno razdelimo na bloke b1, b2, . . . , b|B| iz

mnozice blokov B s surjektivno preslikavo

B:A → B, (2.3)

tako, da velja

bi = {a:B(a) = bi}. (2.4)

Vsakemu paru blokov {bi, bj} ∈ B×B priredimo procesor p iz mnozice procesorjev P ,

p ∈ P, |P | = |B|2, z bijektivno preslikavo

B:P → B × B (2.5)

in zapisemo Bp = B(p). Procesor p racuna interakcije iz produkta blokov bi × bj.

Lahko definiramo tudi mnozico procesorjev, ki so dodeljeni vsakemu izmed blokov:

Pb = {p: b ∈ Bp}; (2.6)

za te procesorje pravimo, da pripadajo bloku b. Na sliki 2.1 na primer velja P2 =

2, 5, 6, 7, 8, 10, 14 oziroma procesorji 5, 6, 7, 8 in 2, 10, 14 pripadajo bloku 2.

Uvedimo surjektivno preslikavo

P:A → P, (2.7)

ki vsakemu atomu a ∈ A priredi t.i. domaci procesor p = P(a), p ∈ P . Za presli-

kavo P naj velja, da je vsak atom prirejen enemu izmed procesorjev, ki je dodeljen

bloku kateremu pripada atom:

P(a) ∈ Pb, b = B(a). (2.8)

Vsakemu procesorju definirajmo tudi mnozico domacih atomov,

Ap = {a: p = P(a)}. (2.9)

Procesor p racuna nove koordinate svojim domacim atomom Ap.

Ob predpostavki, da so atomi enakomerno porazdeljeni v bloke (torej velja |bi| =

|bj|, bi, bj ∈ B), so tudi vsi produkti bi × bj blokov enako veliki, |bi × bi| = |bi| · |bi|,torej imajo vsi enako stevilo interakcij. Posledicno to pomeni, da vsi procesorji

racunajo enako stevilo interakcij, torej so enakomerno obremenjeni.

Page 39: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.1. DELITEV SIL 35

Prisotnost podatkov

Na procesorju morajo biti prisotni tisti podatki, ki jih procesor potrebuje za svoj

del racunov, torej za racunanje sil in za racunanje novih koordinat.

Vsak procesor racuna sile interakcij med atomi dveh blokov, katerima je do-

deljen. Ce ima procesor p dodeljena bloka bi in bj, torej (bi, bj) = B(p), potem

racuna delne sile ~fm,n, am ∈ bi, an ∈ bj ; za te izracune mora imeti vse koordi-

nate {~rk: ak ∈ bi ∪ bj} atomov iz blokov bi in bj .

Za izracun novih koordinat mora imeti vsak procesor p sile ~fi, i ∈ Ap svojih

domacih atomov Ap.

Ker za vsak procesor p velja Ap ⊂ bi ∪ bj , (bi, bj) = B(p), lahko procesor omeji

podatke le na atome svojih dveh blokov; ostalih ne potrebuje. Ni potrebno, da ima

koordinate in izracunane sile vseh N atomov molekulskega sistema, ampak mora

imeti podatke le o 2N/|B| atomih, po N/|B| za vsakega izmed svojih dveh dodeljih

blokov bi in bj .

Prenos podatkov

Pri metodi delitev sil poteka prenos podatkov po blokih: le procesorji, ki pripadajo

istemu bloku, izmenjujejo podatke.

Oddajanje koordinat

Trditev. Ce si vsi procesorji, ki imajo skupen blok, izmenjajo koordinate po

njihovem izracunu, potem ima vsak procesor vse potrebne podatke za izracun sil.

Dokaz. Procesor p ima izracunane koordinate svojih domacih atomov Ap.

Procesor pripada mnozici procesorjev Pbiin Pbj

. Procesor p poslje vsem procesorjem

v Pbikoordinate ~rk atomov ak ∈ Ap ∩ bi in vsem procesorjem v Pbj

koordinate ~rl

atomov al ∈ Ap ∩ bj . Ker je vsak blok ustrezno razdeljen (enacba 2.8), imajo sedaj

vsi procesorji Pb vsakega bloka b vse koordinate, ki jih nato potrebujejo za racunanje

interakcij.

Vsota sil

Trditev. Ce vsi procesorji, ki imajo skupen blok, izvedejo vsoto izracunanih

delnih sil, tako da je za vsak atom ustrezna vsota prisotna na njegovem domacem

Page 40: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

36 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

procesorju, potem ima vsak procesor vse potrebne podatke za izracun novih koor-

dinat.

Dokaz. Procesor p, ki je dodeljen blokoma bi ter bj (p ∈ Pbi∪ Pbj

), ima

izracunane delne vsote ~fm,n, am ∈ bi, an ∈ bj . Za vsak blok b ∈ B velja, da ce vsak

procesor iz Pb poslje vse delne sile ~fk,n, ak ∈ Ak procesorju k, pk ∈ Pb, potem ima

vsak procesor pk vsote sil ~fl, l ∈ Ak. Tako lahko izracuna nove koordinate svojim

domacim atomom.

Torej vsak procesor p z dodeljenima blokoma bi, bj komunicira le s procesorji iz

mnozic Pbiin Pbj

, torej s procesorji, ki so dodeljeni blokoma bi in bj.

2.2 Obstojece metode

Vzporedna metoda delitev sil za racunanje simulacije MD je bila prvic predstavljena

nekaj let po tem, ko so za simulacije priceli uporabljati vzporedne racunalnike [15,

56–58]. Kmalu po prvi taki metodi so predstavili se nekaj razlicic, potem pa teh

metod niso vec razvijali. Med razlogi lahko nastejemo tudi takrat vse vecjo uporabo

metode Ewald [21, 69] za racunanje kristalnih struktur in drugih periodicnih mole-

kulskih sistemov v povezavi z razdaljo cut-off. Obstojece metode za delitev sil niso

prilagojene uporabi razdalje cut-off.

2.2.1 Metoda po Plimptonu in Hendricksonu

Prvo objavljeno metodo za delitev sil sta objavila Plimpton in Hendrickson za

racunanje Lennard-Jonesove tekocine [56].

Metoda ima dve razlicni delitvi atomov na |B| blokov, tako da je matrika sil

permutacija take matrike sil, kot smo jo opisovali doslej. Uporablja dve razlicni

preslikavi; B, ki slika v bloke B, in B′, ki slika v bloke B′. Mnozici blokov tvorita

produkte blokov bi × b′j, bi ∈ B, bj ∈ B′. Primer majhne matrike sil je prikazana na

sliki 2.5. Upostevamo vseh B2 produktov blokov, bi × b′j , za kar potrebujemo tudi

B2 procesorjev. Dvojnemu racunanje sil ~fij in −~fji se izognemo tako, da nad pri

lihi vsoti i + j racunamo le silo nad diagonalo, pri sodi vsoti i + j pa le silo pod

diagonalo.

2.2.2 Metoda po Shuju

Shu in sodelevci [62] v svoji metodi uporabijo tako matriko sil, kot smo jo opisovali

do sedaj. V matriki sil dodelijo vsakemu produktu blokov, ki vsebuje interakcije

svoj procesor, kot je prikazano na sliki 2.6. Kot je razvidno iz slike 2.6 se stevilo

Page 41: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.3. DELITEV SIL S PORAZDELITVIJO DIAGONALE 37

1

1

2

2

3

3

4

4

5

5

6

6

f13f15

f21 f24f26

f32f35

f41f43 f46

f52f54

f61f63f65

Slika 2.5: Matrika sil, kot se uporablja v metodi po Plimptonu in Hendricksonu pridelitvi atomov na dva bloka. Delitvi v vodoravni in navpicni smeri se razlikujeta.

1

1

2

2

3

3

4

4

5

5

6

6

f21

f31f32

f41f42f43

f51f52f54f54

f61f62f63f64f65

Slika 2.6: Matrika sil, kot se uporablja v metodi po Shuju pri delitvi atomov na3 bloke.

interakcij, ki pripadajo procesorjem, razlikuje med procesorji na diagonali in ostalimi

procesorji.

2.3 Nova vzporedna metoda delitev sil s porazdelitvijo

diagonale

Predstavim novo metodo delitev sil, metoda delitev sil s porazdelitvijo diagonale

(DDFD, Distributed Diagonal Force Decomposition). Pri tej metodi imajo vsi proce-

sorji enake vrste racunov, poleg tega je mozno racunanje prestavljati med procesorji

in tako omogociti uravnotezenost racunanja, posledicno pa tudi povecanje vzporedne

ucinkovitosti. Uporabna je tudi ob upostevanju razdalje cut-off. V primerjavi z dru-

gimi metodami delitev sil uporablja metoda DDFD pri enakemu stevilu procesorjev

vecje stevilo manjsih blokov, kar zmanjsa komunikacijsko zahtevnost metode.

2.3.1 Porazdelitev diagonale

Razlog za porazdelitev

Pri novi metodi imamo le eno porazdelitev atomov na bloke, kot je prikazano na

sliki 2.7a Tako dobimo produkte blokov, prikazanih na sliki 2.7b, ki so podobni

Page 42: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

38 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

kot pri metodi po Shuju [62]. Ustrezna matrika sil je simetricna, zato racunanje

zgornjega trikotnika (sivi produkti na sliki 2.7b) ni potrebno. Diagonalni produkti

(obarvani rdece na sliki 2.7b) so produkti istih blokov, bi × bi, zato so drugacni od

ostalih produktov, ki so produkti dveh razlicnih blokov, bi × bj, i 6= j; ti vsebujejo

|bi| · |bj | razlicnih interakcij. Ker so v diagonalnih produktih interakcije le med eno

mnozico atomov, tudi tu velja, da zgornjega trikotnika matrike ni potrebno racunati.

Izmed |bi| · |bi| interakcij jih moramo racunati le polovico, |bi| · |bi|/2, kot je prikazano

na sliki 2.7c.

Ce bi vsakemu produktu na diagonali ali spodnjem trikotniku priredili procesor,

tako kot naredijo Shu idr., potem bi imeli procesorji, prirejeni diagonalnim produk-

tom, manjso racunsko obremenitev od ostalih. Polovicna obremenjenost nekaterih

procesorjev v primerjavi z drugimi poslabsa vzporedno ucinkovitost.

Porazdelitev diagonale

Ob upostevanju, da so produkti na diagonali produkti enega bloka s sabo, lahko vse

interakcije iz diagonalnih produktov porazdelimo po ostalih procesorjih. Racunanje

interakcij iz diagonale produkta bi × bi nekega bloka bi lahko porazdelimo po proce-

sorjih Pbi, torej po vseh procesorjih, ki racunajo interakcije med blokom bi in enem

izmed ostalih blokov. Na sliki 2.8a so z modro barvo prikazani vsi taki procesorji Pb3

za primer bloka b3, porazdelitev interakcij pa je prikazana na sliki 2.8b. Vsak proce-

sor p ∈ Pbize ima vse podatke, ki so potrebni za izracun poljubne podmnozice teh

interakcij bi × bi: ima vse podatke o atomih bi, saj jih potrebuj za izracun interak-

cij bi × bj z drugim blokom bj , j 6= i. Dopolnimo tudi definicijo preslikave B−1, tako

da dodamo preslikave s parov atomov na procesorje B:P → A × A in definiramo:

p = B−1((ai, aj)), (2.10)

preslikavo B pa ustrezno dopolnimo, da ohranimo bijektivnost. Dopolnjeno presli-

kavo B−1 uporabimo za dolocanje procesorja, ki bo racunal interakcijo med dvema

atomoma. Racunanje sil~fm =

{n:an∈bj}

~fmn

se spremeni tako, da niso vse delne sile fmn, am, an ∈ bi dodeljene istemu procesorju,

temvec so porazdeljene med procesorji iz mnozice Pbi; koncna vsota, sila fm, ostane

nespremenjena. Na sliki 2.8c je prikazana porazdelitev celotne diagonale.

Pri novi metodi DDFD porazdelimo vse interakcije iz diagonalnih produktov

blokov; ti produkti ostanejo prazni, zato jim ni potrebno dodeliti procesorja. Pro-

cesorje dodelimo le produktom v spodnjemu trikotniku matrike sil. Koncna delitev

Page 43: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.3. DELITEV SIL S PORAZDELITVIJO DIAGONALE 39

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(a) Porazdelitev atomov na bloke in pro-dukti blokov. Obe porazdelitvi, navpicnain vodoravna, sta enaki.

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(b) Produkti blokov. Racunanje sivihproduktov je nepotrebno: vsak izmed njihima zrcalno sliko med neobarvanimi pro-dukti pod diagonalo. Rdeci produkti nadiagonali (t.j. na diagonalnih produktih)so produkti med pari istih blokov.

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(c) Produkti blokov na diagonali. Kerso produkti na diagonali produkti enegabloka s samim sabo, je polovica interakcijv njem zrcalnih; interakcij nad diagonalone racunamo. Odstranjene so tudi inte-rakcije iz produktov blokov nad diagonaloin interakcije atomov s samim sabo.

Slika 2.7: Razlicnost produktov blokov nad diagonalo, pod diagonalo in na diagonalipri metodi DDFD.

Page 44: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

40 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

1

2

3

4

1 2 3 4

Blo

ki

.

12 34 5 67 8 9 10

Bloki(a)

1

2

3

4

1 2 3 4

Blo

ki

.

12 34 5 67 8 9 10

Bloki(b)

1

2

3

4

1 2 3 4

Blo

ki

.

12 34 5 67 8 9 10

Bloki(c)

Slika 2.8: Mnozica procesorjev, katerim lahko dodelimo racunanje interakcij z dia-

gonalnega produkta. V primeru bloka 3 (podslika a) je to mnozica Pb3 = {p4, p5, p9}(brez p6): interakcije enakomerno dodelimo vsem trem procesorjem (podslika b). Nazadnji sliki (podslika c) je prikazana porazdelitev interakcij diagonalnih produktovvseh blokov po procesorjih. Procesorji na diagonali p1, p3, p6 in p10 ne racunajonobenih interakcij.

Page 45: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.3. DELITEV SIL S PORAZDELITVIJO DIAGONALE 41

1

2

3

4

1 2 3 4B

loki

.

12 34 5 6

Bloki

Slika 2.9: Dodelitev procesorjev za racunanje interakcij pri novi metodi DDFD.Procesorje dodelimo le produktom blokov pod diagonalo.

racunanja interakcij pri novi metodi je prikazana na sliki 2.9.

Stevilo procesorjev, ki jih metoda DDFD lahko uporabi, je odvisno od stevila

blokov:

|P | =|B|(|B| − 1)

2, (2.11)

na primer 3, 6, 10, 15, . . ..

2.3.2 Vezne interakcije

Vzporedna metoda mora upostevati tudi vezne interakcije. Med vsemi interakcijami

med N atomi jih je le nekaj, O(N), veznih; v praksi je veznih interakcij med N

in 2N [10, 24, 47, 64]. Vezne interakcije ne nastopajo le med pari atomov (vezi),

temvec tudi med tremi (koti), ponavadi pa do stirimi atomi (dihedralni koti). Ker

je metoda za delitev sil prirejena racunanju parnih interakcij, kakrsne so nevezne in

vezi, moramo metodo prilagoditi, da pravilno obravnava tudi vecatomske interakcije.

V zasnovi nove metode delitev sil ima vsak procesor podatke o dveh blokih, torej

dveh podmnozicah atomov. Le med temi lahko izracuna interakcijo. Ce vsi atomi

ene interakcije pripadajo le dvema blokoma, potem ni potrebna dodatna obravnava

te interakcije. Pri vecatomskih interakcijah pa so lahko vsi trije atomi v razlicnih

blokih, kot prikazuje slika 2.10a. V tem primeru noben procesor nima podatkov o

vseh treh atomih, zato noben ne more izracunati take interakcije. Tezavo premo-

stimo tako, da vsaki interakciji priredimo domaci procesor in vse podatke prenasamo

na ta procesor in z njega.

Dolocimo, da je domaci procesor p neke vecatomske interakcije atomov ai, aj, ak, . . .

Page 46: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

42 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

enak domacemu procesorju p dveh atomov ai ∈ bi, aj ∈ bj, torej p = B−1((ai, aj)),

ostale atome vecatomske interakcije pa proglasimo za sirote. Podatke vseh sirot

prenasamo na domaci procesor, kar poteka po blokih (izmenjava le znotraj neke

mnozice Pb): v bloku bi ima nek procesor q podatke o vsaki siroti, torej za vsako

siroto ak ∈ bk velja, da ∃q ∈ Pbk∩ Pbi

. Procesor q poslje koordinate sirote ak

procesorju p (saj oba pripadata bloku Pbi) po porazdeljenem globalnem oddajanju,

tako da ima procesor p podatke vseh sirot in lahko izracuna interakcije; ta prenos

imenujemo oddajanje sirot in je ponazorjen na sliki 2.10c. Pred porazdeljeno

globalno vsoto pa procesor p poslje izracunane sile interakcij procesorju q, tako da

se izracunane interakcije pravilno upostevajo tudi za sirote pri racunanju novih ko-

ordinat; prenos imenujemo zbiranje sirot in je ponazorjen na sliki 2.10c. Oddajanje

in zbiranje vseh sirot izvedemo na vsakem koraku simulacije.

Casovna zahteva prenosov sirot

Oddajanje in zbiranje sirot zahteva tudi dolocen cas za prenos podatkov. Pokazemo

lahko, da je kolicina prenesenih podatkov pri prenosu sirot majhna v primerjavi z

ostalimi prenesenimi podatki. V tabeli 2.1 je prikazano stevilo atomov vseh inte-

rakcij za dva molekulska sistema, na katerih smo izvajali simulacije MD. Za kotne,

dihedralne in neprave dihedralne interakcije je prikazano tudi stevilo sirot. Razvi-

dno je, da je stevilo sirot majhno v primerjavi s stevilom atomov, zato tudi njihov

prenos zahteva manj casa. Glede na porazdelitev atomov po blokih se spreminja

stevilo sirot. V tabeli so prikazana dejanska stevila za izvedene simulacije.

Tabela 2.1: Stevilo sirot pri racunanju na 6 procesorjih (stolpec sirote/6) inna 10 procesorjih (stolpec sirote/10) na dveh molekulskih sistemih s 54212 in14026 atomi. Prikazano je tudi stevilo vezi, kotov, dihedralnih (dih. koti) in ne-pravih dihedralnih (nepr. dih. koti) kotov za molekulska sistema.

atomi vezi koti dih. koti nepr. dih. koti sirote/6 sirote/10

54212 54235 21604 6293 587 1444 162714026 14062 8506 1200 635 2482 2897

Stevilo sirot je majhno v primerjavi z velikostjo blokov, torej predstavlja nji-

hov prenos le majhen delez celotnega prenosa podatkov. Njihov prenos zahteva

kvecjemu eno izmenjavo med procesorji istega bloka, kar predstavlja dodaten korak

pri globalnih prenosih.

Ce bi izbrali drugacno porazdelitev atomov v bloke B, bi se sirote spremenile,

saj bi se spremenilo razbitje vecatomskih interakcij na bloke. Z ustrezno poraz-

delitvijo bi lahko nacrtno zmanjsali njihovo stevilo. Npr. za kotne interakcije bi

Page 47: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.3. DELITEV SIL S PORAZDELITVIJO DIAGONALE 43

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(a) Pri interakcijah treh atomov se lahkozgodi, da vsak atom pripada drugemubloku. Prikazani rdeci atomi pripadajotrem razlicnim blokom, 2, 3, 4. Nobenprocesor nima podatkov o vseh treh ato-mih, zato ne more noben izracunati inte-rakcije med njimi. Tri rdece oznacene in-terakcije predstavljajo tri deleze celotneinterakcije; le ce so na istem procesorjulahko izracunamo celotno interakcijo.

12 34 5 67 8 9 10

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(b) Interakciji treh atomov dodelimodomaci procesor, v tem primeru je todomaci procesor za interakcije med atomi2. in 3. bloka, procesor 5. Zadnji atom(moder), ki pripada bloku 4, postane t.i.sirota, saj procesor 5 nima njegovih koor-dinat.

12 34 5 67 8 9 10

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(c) Kopiranje koordinat modrooznacenega atoma iz bloka 4 v blok 3.Sedaj ima procesor 5, ki racuna interak-cijo med vsemi tremi atomi, koordinatevseh atomov in lahko izracuna celotnotri-atomsko interakcijo.

12 34 5 67 8 9 10

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki(d) Kopiranje izracunanih interakcij mo-dro oznacenega atoma iz bloka 3 nazajv svoj domaci blok 4. Domaci procesortega atoma ima sedaj celotno silo, ki jepotrebna za izracun novih koordinat tegaatoma.

Slika 2.10: Upostevanje sirot pri racunanju sil in novih koordinat v interakcjah trehatomov iz treh razlicnih blokov.

Page 48: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

44 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

tretji atom vedno dodelili istemu bloku, kot je prvi ali drugi atom. V tem primeru

ne bi bilo sirot, saj vsi trije atomi pripadajo le dvema blokoma. Tezava nastopi,

ko se zaradi spremenjene porazdelitve atomov v bloke spremenijo produkti blokov.

Kot je kasneje opisano v podpoglavju 3.1, se take spremembe produktov blokov

odrazajo v spremembi obremenjenosti procesorjev, kar lahko obcutno zmanjsa vzpo-

redno ucinkovitost. Pri odpravljanju neenakomerne obremenjenosti pa se lahko kot

cilj uposteva tudi zmanjsanje stevila sirot.

2.4 Globalne operacije pri metodi DDFD

Kot pri vseh vzporednih metodah za racunanje simulacij MD morajo procesorji

izmenjavati podatke tudi pri metodah delitev sil. Globalne operacije prikrojimo

komunikacijskim vzorcem [8], ki so znacilni za metodo deljenja sil.

2.4.1 Neodvisne operacije po blokih

Globalni operaciji porazdeljenega globalnega oddajanja in porazdeljene globalne

vsote, predstavljeni v podpoglavju 1.4.3, se izvajata na vsakem koraku simulacije;

ker sta edini operaciji, ki se redno izvajata, se osredotocimo nanju. Za zmanjsanje

obsega in casa komunikacij lahko uporabimo dejstvo, da vsi procesorji nimajo podat-

kov o vseh N atomih. Vsak procesor mora imeti podatke le o atomih v svojih dveh

blokih. Podatke je potrebno prenasati le znotraj blokov, kar pomeni, da procesorji

komunicirajo le z O(√

P ) procesorjev s skupnima blokoma.

Znotraj vsakega bloka pa morajo vsi procesorji izmenjati podatke o vseh

N/|B| atomih bloka. Ce se omejimo na posamezen blok b, torej na atome tega bloka

in procesorje Pb, je izmenjava podatkov bloka enaka operacijama porazdeljenega

oddajanja in vsote: vsi ti procesorji iz Pb si morajo izmenjati vse podatke o atomih

v bloku b; tako dobimo lokalno operacijo. Vsak blok ima torej lokalni operaciji

porazdeljenega oddajanja in vsote.

Zaradi omejenega prenasanja podatkov po blokih lahko uvedemo tri razlicice

globalnega oddajanja in globalne vsote:

polni nacin, ki je ekvivalenten globalnemu oddajanju oziroma vsoti;

notranji nacin, kjer podatke izmenjujejo le procesorji istega bloka (z lokalno ope-

racijo za vsak blok);

zunanji nacin, ki dopolnjuje notranji nacin v polno operacijo globalnega oddajanja

oziroma vsote.

Page 49: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.4. GLOBALNE OPERACIJE PRI METODI DDFD 45

Notranji nacin je najbolj uporabljena razlicica, saj se uporablja med simulacijo MD;

ostale se uporabijo le na zacetku ali na koncu simulacije, npr. za prenos zacetnih

koordinat z glavnega procesorja na ostale. Izvedba zunanjega nacina za notranjim

nacinom je ekvivalentna izvedbi ene operaciji v polnemu nacinu.

Komunikacijska zahtevnost

Globalni operaciji razbijemo na |B| neodvisnih lokalnih operacij, po eno za vsak blok.

Vsaka lokalna operacija bloka b poteka na vseh |B| − 1 = |Pb| procesorjih bloka in

izmenjuje |b| = O(N/|B|) = O(N/√

|P |) podatkov (stevilo atomov v bloku). Za

izvedbo prenosov lokalne operacije se zgledujemo po izvedbi globalnih komunikacij

v hiperkocki [8, 73]. Pri taki izvedbi je komunikacijska zahtevnost vsake lokalne

operacije vsota zakasnitve l log2(|B−1|) in casa prenosa s2N/|B|, kjer je l zakasnitev,

s pa hitrost prenosa v danem omrezju. Kadar je stevilo procesorjev tako, da |B−1| 6=2x, x ∈ {1, 2, . . .} (kadar |P | 6∈ {10, 36, . . .}) potem se zakasnitev poveca za 2l, cas

prenosa pa za najvec s(N/|B| + N/(|B| · |B − 1|)).Lokalne operacije so neodvisne, vendar ne morejo potekati povsem socasno,

saj vsak procesor sodeluje v dveh lokalnih operacijah, po eno za vsak svoj blok.

Ob predpostavki, da procesorji ne morejo hkrati posiljati in prejemati podatke za

obe lokalni operaciji, je komunikacijska zahtevnost globalne operacije dvakratnik

zahtevnosti ene lokalne operacije. Skupna zahtevnost je torej zakasnitev 2l log2(|B|−1) = lO(log2

|P |) in cas prenosa s4N/|B| = sO(N/√

|P |).Za primerjavo, globalna operacija za vzporedno metodo repliciranih podatkov

poteka na vseh |P | procesorjih in izmenjuje N podatkov. Njena komunikacijska zah-

tevnost je zakasnitev l log2 |P | in cas prenosa s2N (neodvisno od stevila procesorjev),

kar je skupno l log2 |P | + s2N . Stevilo korakov – in zakasnitev – je enakega reda

pri obeh metodah. Vendar je cas prenosa manjsi pri globalnih operacijah metode

DDFD ze pri |B| > 3 oziroma pri 6 ali vec procesorjih.

2.4.2 Urnik prenosov

Za izvedbo operacij porazdeljenega globalnega oddajanja in porazdeljene globalne

vsote je potrebno izvesti vec enostavnih prenosov med dvema procesorjema. Pri

vsakem takem prenosu prenesemo nekaj podatkov (npr. koordinat ali sil) z enega

na drug procesor. Prenose lokalnih operacij izvedemo kot komunikacijo v hiper-

kocki [73]. Ker procesorji sodelujejo v dveh lokalnih operacijah, enostavni prenosi in

njihovo zaporedje niso enostavno dolocljivi med samim izvajanjem globalnih opera-

cij, zato jih vnaprej izracunamo. Tako dolocimo urnik enostavnih prenosov, katerega

upostevamo za izvedbo globalne operacije.

Page 50: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

46 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

Urnik sestavljajo delno urejeni enostavni prenosi. Cetverica (korak, izvor,

ponor, podatki) doloci vsak tak prenos. Vec neodvisnih prenosov lahko poteka

socasno, zato so delno urejeni po koraku; vsi prenosi z enakim korakom se izvajajo

socasno. Sestava urnika zavisi od povezanosti procesorjev in drugih omejitev strojne

opreme, tako da niso zasicene le nekatere povezave. Na primer pri enoprocesorskih

racunalnikih povezanih z mreznim stikalom moramo upostevati, da en procesor ne

sme hkrati sodelovati pri vec kot enem enostavnem prenosu.

Primer urnika za porazdeljeno globalno oddajanje na treh procesorjih je prika-

zan na sliki 2.11a. Na sliki 2.11b je prikazan potek operacije po opisanem urniku.

Na vsakem koraku se izvedejo enostavni prenosi, predpisani za trenutni korak.

Page 51: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

2.4. GLOBALNE OPERACIJE PRI METODI DDFD 47

Korak Izvor Ponor Podatek1 1 2 11 2 1 22 2 3 22 3 2 33 1 3 13 3 1 3

(a) Urnik prenosa globalnega porazdelje-nega oddajanja na 3 procesorjih.

p1

p2 p3{2} {3}

{1}

p1

p2 p3

{2}

{1}

{2} {3}

p1

p2 p3{2}

{3}

{1,2}

p1

p2 p3

{1}

{1,2}

{2,3}

p1

p2 p3{1,2,3} {1,2,3}

{1,2,3}

{3}

{1,2} {3}

{1,2,3}

{1}

Zacetno stanje

1. korak

2. korak

3. korak

Koncno stanje

(b) Prisotnost podatkov na procesorjih pri izvedbiporazdeljene globalne operacije oddajanja koordi-nat. Procesorji so predstavljeni s kvadrati, nad alipod njimi pa je zapisana mnozica podatkov, ki jeprisotna na vsakem; podatki za mnozico atomov A1

so predstavljeni s stevilko 1. Zgornja slika kaze sta-nje pred zacetkom globalne operacije, nato pa sle-dijo izmenjave podatkov na vsakem izmed izvrsenihkorakov po urniku iz podslike a. Spodnja slika vse-buje koncno stanje, ko ima vsak procesor vse po-trebne podatke – koordinate vseh atomov svojihdveh blokov B(p).

Slika 2.11: Primer urnika in izvedbe urnika na 3 procesorjih.

Page 52: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

48 POGLAVJE 2. NOVA VZPOREDNA METODA DELITEV SIL

Page 53: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Poglavje 3

Uravnotezenje racunanja pri

metodi delitev sil s

porazdelitvijo diagonale

Pri metodi delitev sil atome porazdelimo v bloke. Interakcije v produktu dveh blokov

ustrezajo interakcijam med pari atomov, katere moramo izracunati. Ce so vsi bloki

enako veliki, potem so enaki tudi produkti blokov; ce moramo izracunati vse inte-

rakcije, potem je racunska obremenitev racunanja interakcij enaka za vse produkte

blokov. Ker je vsak produkt dodeljen enemu procesorju, je racunska obremenitev

procesorjev enaka in racunske neuravnotezenosti ni.

Sprememba kake izmed nastetih predpostavk povzroci, da racunske obremenitve

racunanja interakcij razlicnih produktov blokov niso enake. Ce je v enem produktu

potrebno izracunati vec interakcij kot v ostalih produktih, potem je racunanje neu-

ravnotezeno. Procesor, ki je dodeljen produktu z vecimi interakcijami, racuna dlje

od ostalih. Zato morajo ostali procesorji cakati nanj pri naslednji globalni komu-

nikaciji. Taksno cakanje povzroci, da se celotni izvajalni cas simulacije podaljsa,

vzporedna ucinkovitost pa se zmanjsa.

Za preprecevanje neuravnotezenosti racunanja moramo uporabiti metode, ki

uravnavajo racunsko obremenitev procesorjev. Za novo metodo DDFD sem razvil

metodo, ki omogoca dinamicno uravnotezenje racunanja med izvajanjem vzporedne

simulacije MD.

49

Page 54: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

50 POGLAVJE 3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD

3.1 Vzroki neuravnotezenega racunanja pri metodi de-

litev sil

Metoda DDFD porazdeli racunanje interakcij po vseh procesorjih. Porazdeljeno je

racunanje vseh neveznih in veznih interakcij.

3.1.1 Nevezne interakcije

Interakcijo med atomoma ai in aj, ki pripadata blokoma bi = B(ai) in bj = B(aj)

po porazdelitvi 2.3, racuna procesor p = B−1((bi, bj)), kot je definirano s presli-

kavo 2.5. Celotna metoda temelji na porazdelitvi racunanja neveznih interakcij.

Zacetno porazdelitev atomov v bloke B naredimo enakomerno, tako da je stevilo

neveznih interakcij enakomerno porazdeljeno po procesorjih [64]. Zaradi enakih ve-

likosti blokov (t.j. bloki imajo enako stevilo atomov), |bi| = |bj|, bi, bj ∈ B, so tudi

njihovi produkti enako veliki, |bi × bj| = |bk × bl|, bi, bj , bk, bl ∈ B oziroma, pro-

dukti imajo enako stevilo interakcij. Ce racunamo vse interakcije, potem imajo vsi

procesorji enako racunsko obremenitev racunanja neveznih interakcij.

Za pohitritev racunanja simulacij mnogokrat uporabimo metodo cut-off, pri

kateri privzamemo, da interakcije med oddaljenimi atomi ni oziroma, da je enaka 0

(slika 1.7; podrobnejsi opis je v podpoglavju 1.2.2). Ob taki predpostavki zato ni

potrebno racunati oddaljenih interakcij.

Na sliki 3.1 je prikazana matrika sil po uvedbi razdalje cut-off. Interakcije

med atomi, oddaljenimi vec kot je razdalja cut-off, ne racunamo. (V dovolj velikih

sistemih, kjer je premer sistema mnogo vecji od razdalje cut-off, vecine interakcij ni

potrebno racunati.) Racunska zahtevnost je torej manjsa, kot ce bi morali racunati

vseh N2 interakcij. Vendar, kot je razvidno iz slike 3.1, prevec oddaljene interakcije,

ki jih ne racunamo, niso enakomerno porazdeljene po produktih blokov. Na primer,

v produktu blokov b1×b4 so 3 interackij prevec oddaljene, v produktu blokov b1×b2

pa jih je 9. Posledicno sta tudi procesorja p = B−1((b1, b4)) in q = B−1((b1, b2))

neenakomerno obremenjena, saj mora procesor p racunati 3 interakcije, procesor q

pa 9.

Neenakomerno porazdeljene nevezne interakcije, ki jih moramo racunati na vsa-

kem koraku simulacije, vodijo v neuravnovezeno racunanje.

3.1.2 Vezne interakcije

Kot je opisano v podpoglavju 2.3.2, temelji porazdelitev veznih interakcij na

porazdelitvi neveznih interakcij. Vezne interakcije med dvema atomoma ai, aj

dodelimo procesorju p = B−1((ai, aj)), enako kot bi pri nevezni interakciji med

Page 55: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

3.2. MERJENJE NEURAVNOTEZENOSTI 51

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki

Slika 3.1: Matrika sil po uvedbi razdalje cut-off pred porazdelitvijo diagonale. In-terakcije med atomi, ki so oddaljeni vec kot je razdalja cut-off, so obarvane sivo.Takih interakcij ni potrebno racunati. Razvidno je, da imajo produkti blokov sedajrazlicno stevilo crno obarvanih interakcij, katere morajo izracunati. Procesorji imajozato razlicne racunske obremenitve, kar privede do neuravnotezenega racunanja.

tema atomoma. Vezne interakcije treh ali vec atomov ai, aj , ak, . . . dodelimo

enemu izmed procesorjev B−1((ai, aj)), B−1((ai, ak)), . . . , B−1((aj , ak)), . . .. Lahko

definiramo, da vedno vzamemo prvo moznost, torej racunanje interakcije dodelimo

procesorju B−1((ai, aj)).

Znacilnost veznih interakcij je, da jih je relativno malo, le O(N) v nasprotju

z neveznimi, ki jih je O(N2). Ob enakomerni porazdelitvi B je tudi porazdelitev

veznih interakcij enakomerna a ne nujno uravnotezena, vendar razlike niso opazne.

3.1.3 Dinamika neuravnotezenosti

Med simulacijo MD se atomi gibljejo po prostoru, zaradi cesar se spreminjajo raz-

dalje med atomi. Pri uvedbi razdalje cut-off se zato med simulacijo spreminjata

tudi komplementarni mnozici interakcij: tiste, ki jih racunamo in tiste, ki jih ne

racunamo. Na sliki 3.2 je prikazan vpliv gibanja atomov na interakcije v matriki sil.

Spremembe razdalj med atomi povzrocijo spremembe v racunski obremenje-

nosti procesorjev med simulacijo, zaradi cesar se spreminja tudi neuravnotezenost

racunanja.

3.2 Merjenje neuravnotezenosti

Za oceno neuravnotezenosti moramo definirati meritev neuravnotezenosti, torej mo-

ramo izmeriti ali oceniti obremenitev procesorjev. Neuravnotezenost racunanja po-

tem zmanjsamo tako, da izenacimo racunsko obremenitev med procesorji s presta-

Page 56: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

52 POGLAVJE 3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD

rcut−off1

2

3

44

2

51

1

Blo

k

Blok

2 3 4 5

4

3

2

1

5

1

1

Blok

2 3 4 5

4

3

2

1

5

1

Slika 3.2: Vpliv gibanja atomov na matriko sil pri razdalji cut-off z vidika atoma 1(crn). Interakcije in atomi v dosegu cut-off so obarvane rdece, prevec oddaljeniatomi in njihove ustrezne interakcije pa modro. Interakcije med ostalim atomi soobarvane sivo. V prejsnjem koraku simulacije je bil atom 2 (sedaj rdec) oddaljenvec kot je razdalja cut-off, zato se interakcija med atomoma 1 in 2 ni racunala;na podsliki b (matrika sil v prejsnjem koraku) je ustrezna interakcija oznacena zmodrim krogom. Sedaj se je atom 2 priblizal atomu 1 in je v dosegu razdalje cut-off, zato se interakcija med atomoma 1 in 2 racuna. V matriki sil na podsliki cje zato ustrezna interakcija oznacena rdece. Nasprotno se je atom 4 (sedaj moder)oddaljil. Prej se je interakcija racunala, sedaj je pa prevec oddaljen in se interakcijane racuna vec. Atom 3 (obakrat rdec) je v obeh korakih dovolj blizu, da se njegovainterakcija z atomom 1 racuna, medtem kot je atom 5 (obakrat moder) obakratpredalec. Doticni del matrike sil se ne spremeni za ta dva atoma. V prikazanemprimeru ne pride do spremembe stevila interakcij, ki jih moramo racunati, je paprikazana dinamika tovrstnih interakcij.

Page 57: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

3.2. MERJENJE NEURAVNOTEZENOSTI 53

vljanjem racunanja med njimi. Za to moramo poznati trenutno racunsko obremeni-

tev procesorjev ter racunsko zahtevnost racunov, ki jih prerazporejamo.

3.2.1 Teoreticna racunska obremenitev

Racunsko obremenitev merimo in tudi modeliramo. Z meritvijo casa racunanja

ugotavljamo neuravnotezenost in nastavimo parametre modela neuravnotezenosti.

Model pa nam omogoca, da ocenimo neuravnotezenost, predvsem pa nam pomaga

pri selitvi racunanja interakcij z enega procesorja na drug procesor.

Znacilnost neposredne meritve casa je, da izmerimo dejansko racunsko obreme-

nitev. V tako izmerjenem casu so upostevani tako cas, ki je potreben za izracun inte-

rakcij, kot tudi drugi dejavniki, ki jih tezje modeliramo, na primer razlicno obnasanje

predpomnilnikov na razlicnih procesorjih zaradi podatkov, ki se med njimi razliku-

jejo.

Cas celotnega koraka vzporedne simulacije MD, tkorak, na nekem procesorju

zapisemo z vsoto

tkorak = tracun sil + tcakanje sil + tporazdeljena globalna vsota sil

+tracunanje premika + tcakanje koordinat + tporazdeljeno oddajanje koordinat, (3.1)

kjer je tracun sil cas racunanja vseh interakcij, tporazdeljena globalna vsota sil je cas izva-

janja komunikacije in racunanja porazdeljene globalne vsote sil, tracunanje premika je

cas racunanja novih koordinat, tporazdeljeno oddajanje koordinat je cas izvajanja komu-

nikacije pri porazdeljenem globalnem oddajanju, casa tcakanje sil in tcakanje koordinat

pa sta casa, kolikor mora procesor cakati druge, da dokoncajo racunanje (racunanje

interakcij oziroma novih koordinat), predno si izmenjajo izracunane podatke. Ko-

munikacijski casi tporazdeljena globalno vsota sil so nujno enaki na vseh procesorjih, prav

tako so casi tporazdeljeno oddajanje koordinat nujno enaki na vseh procesorjih.

Zaradi enakomerne porazdelitve na domace procesorje je cas tracunanje premika

enak na vseh procesorjih, saj vsi racunajo nove koordinate enakemu stevilu atomov,

|Ap|, p ∈ P . Racunanje novih koordinat je torej uravnotezeno in casi tcakanje koordinat

so enaki 0 na vseh procesorjih.

Pri neuravnotezenem racunanju se razlika med procesorji pojavi le pri

casu tracun sil. Vsota tracun sil + tcakanje sil mora biti enaka na vseh procesorjih,

ta pa je enaka casu maxp∈P (tracun sil) na najbolj obremenjenem procesorju (na

katerem je tcakanje sil = 0). Na ostalih procesorjih je cas tcakanje sil enak razliki med

casom racunanja sil najbolj obremenjenega procesorja in lastnim casom racunanja

sil, tcakanje sil = maxp∈P (tracun sil) − tracun sil.

Page 58: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

54 POGLAVJE 3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD

Model racunske obremenitve

Racunsko obremenitev modeliramo z modelom racunske zahtevnosti, kateremu na-

stavimo parametre na podlagi izmerjenih obremenitev. Model je podan z enacbo,

ki pove, koliko casa poteka racunanje interakcij v posameznih delih enega koraka

simulacije, tracun sil,

tracun sil = tnbnnb + tbnb + tostalo, (3.2)

kjer je tnb cas, potreben za izracun ene nevezne interakcije, nnb je stevilo neveznih

interakcij, ki jih dani procesor racuna, tb je cas, potreben za izracun ene vezne

interakcije, nb je stevilo veznih interakcij, ki jih dani procesor racuna, v casu tostalo

pa so zajeti vsi ostali racuni in komunikacijski cas. V modelu predpostavimo, da

je cas tostalo enak na vseh procesorjih ne glede na racunsko obremenitev interakcij.

Tudi predpostavimo, da je cas racunanja ene nevezne interakcije, tnb enak na vseh

procesorjih in prav tako, da je cas racunanja ene vezne interakcije, tb enak na vseh

procesorjih

Casa tnb in tb dolocimo z meritvijo casa racunanja vecjega stevila interakcij obeh

vrst. V tabeli 3.1 so zbrane meritve casa racunanja neveznih in veznih interakcij pri

simulaciji realnega molekulskega sistema. Iz teh meritev dobimo ustrezne vrednosti

za casa tnb in tb. Razvidno je, da so casi racunanja veznih interakcij tbnb bistveno

manjsi od casa racunanja neveznih interakcij tnbnnb. Poleg tega se casi racunanja

neveznih interakcij ne razlikujejo med procesorji. Zato bomo tudi za cas racunanja

neveznih interakcij predpostavili, da je konstanten za vse procesorje. Tako nam

ostane linearen model

tracun = tnb︸︷︷︸

konstanta

nnb + (tbnb + tostalo)︸ ︷︷ ︸

konstanta

, (3.3)

kjer se cas tkorak spreminja le s spremembo stevila neveznih interakcij nnb.

Tabela 3.1: Meritve casa racunanja in dolocanje casa racunanja veznih in neveznihinterakcij na procesorju AMD Opteron 242 molekulskega sistema 14026 atomov inrazdalji cut-off 14 A. Stevilo neveznih interakcij je povprecno stevilo, saj se tocnostevilo spreminja med simulacijo.

vrsta stevilo cas racunanja hitrost cas racunanjainterakcij interakcij vseh interakcij racunanja ene interakcijevezne 24403 5.8 × 10−3 s 4.2 × 106 s−1 2.4 × 10−7 snevezne 6710237± 4431 5.334× 10−1 s 1.26 × 107 s−1 7.95 × 10−8 s

Pri uravnotezenju racunanja poskusamo zagotoviti, da so casi tkorak enaki na

vseh procesorjih. Ker sta casa tb in tostalo konstantna, lahko upostevamo cilj, da

Page 59: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

3.2. MERJENJE NEURAVNOTEZENOSTI 55

naj bo cas, ki je potreben za racunanje neveznih interakcij (tnbnnb) enak na vseh

procesorjih. Torej ni potrebno meriti cas racunanja, ampak lahko namesto casa

upostevamo stevilo neveznih interakcij, ki jih racunamo.

Racunanje uravnotezimo s prerazporejanjem racunanja neveznih interakcij;

tako si zadamo cilj, da vsak procesor racuna enako stevilo neveznih interakcij.

Pri tem ni potrebno poznati casa tnb, saj je konstanten. Zato lahko racunske

obremenitve racunanja neveznih interakcij, kar na nekem procesorju traja tnbnnb,

neposredno primerjamo kar s stevilom neveznih interakcij nnb. To stevilo opredelimo

po procesorjih p ∈ P z oznako nbp.

Neuravnotezenost

Na podlagi modela racunske obremenitve, opisanega z enacbo 3.3 in casa izvajanja

celotnega koraka simulacije, opisanega z enacbo 3.1 v primeru neuravnotezenega

racunanja, lahko izrazimo neuravnotezenost racunanja neveznih interakcij s faktor-

jem

nu =

maxp∈P

(nbp)

avgp∈P (nbp). (3.4)

kjer je maxp∈P (nbp) racunska obremenitev najbolj obremenjenega procesorja,

avgp∈P (nbp) pa je povprecna obremenjenost procesorjev, ki je enaka casu racunanja

vseh interakcij deljeno s stevilom procesorjev. Uravnotezen racun ima faktor nu = 1,

faktorji neuravnotezenosti nekaterih realnih racunov so prikazani v tabeli 3.2.

Tabela 3.2: Faktorji neuravnotezenosti nu pri simulacijah razlicno velikih molekul-skih sistemov z razlicnim stevilom procesorjev.

stevilo procesorjev velikost sistema povprecni nu.

3 14026 1.033 54212 1.046 14026 1.066 54212 1.0410 14026 1.0510 54212 1.0136 14026 1.5345 14026 1.44

Pri danem faktorju neuravnotezenja nu lahko izracunamo, za koliko se po-

daljsa cas racunanja enega koraka simulacije. Ce je faktor nu = 1, potem vsi

procesorji interakcije racunajo avgp∈P (nbp) casa. Cim faktor nu 6= 1, morajo vsi

procesorji cakati najbolj zasedenega; ta racuna interakcije nu-krat dlje, kot bi,

Page 60: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

56 POGLAVJE 3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD

ce bi bilo racunanje uravnotezeno. Posledicno je cas racunanja interakcij omejen

z najbolj obremenjenim procesorjem. Racunanje interakcij se podaljsa za razliko

casov maxp∈P (nbp) − avgp∈P (nbp), prav toliko se podaljsa cas racunanja enega ko-

raka simulacije.

Faktor neuravnotezenosti se ne spreminja veliko med simulacijo, zato lahko

oceno podaljsanja casa racunanja enega koraka simulacije uporabimo kot oceno za

casovno podaljsanje tdod neuravnotezenega racunanja celotne simulacije z nk koraki,

tdod = nk

(

maxp∈P

(nbp) − avgp∈P (nbp)

)

. (3.5)

3.2.2 Cena uravnotezenja

Meritve neuravnotezenosti in prerazporejanje racunanja tudi porabijo dolocen cas.

Ce je ta cas velik oziroma vecji, kot je cas, ki ga pridobimo z uravnotezenjem, potem

je uravnotezenje nekoristno. Enacbi 3.1 dodajmo clen t′uravnotezenje, ki predstavlja

cas uravnotezenja:

t′korak = t′uravnotezenje + t′racun sil + t′cakanje sil + t′porazdeljena globalna vsota sil

+t′racunanje premika + t′cakanje koordinat + t′porazdeljeno oddajanje koordinat, (3.6)

kar je cas racunanja enega koraka simulacije pri dinamicnem uravnotezenju. Cleni

t′porazdeljena globalna vsota sil, t′racunanje premika, t′cakanje koordinat, t′porazdeljeno oddajanje koordinat

ostanejo enaki tistim iz enacbe 3.1 (npr. t′racunanje premika = tracunanje premika). Zaradi

dinamicnega uravnotezenja velja, da je cas t′cakanje sil = 0 in

t′racun sil + t′cakanje sil = t′racun sil = avgp∈P (tracun sil) (3.7)

za vse procesorje. Uravnotezenje je smotrno le, ce pohitri racunanje, torej ce velja

neenacba

t′korak < tkorak (3.8)

oziroma

t′uravnotezenje + t′racun sil < tracun sil + tcakanje sil (3.9)

za vse procesorje. Najbolj obremenjen procesor ima najdaljse racunanje sil, caka pa

ne, saj ostali cakajo nanj. Neenacbo 3.9 lahko torej prepisemo drugace,

t′uravnotezenje + t′racun sil < maxp∈P

tracun sil (3.10)

t′uravnotezenje < maxp∈P

tracun sil − t′racun sil (3.11)

Page 61: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

3.3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD 57

1

2

3

4

1 2 3 4

Blo

ki

.

Bloki

Slika 3.3: Prikaz selitve modro obarvanega atoma iz bloka 3 v blok 2 (sedaj rdeceobarvan) in posledicna selitev racunanja interakcij med tem in ostalimi atomi, karje tudi ponazorjeno s spremembo barve iz modre v rdeco.

Cas t′uravnotezenje, ki je potreben za uravnotezenje racunanja, mora biti torej krajsi

od casa maxp∈P (tracun sil)− t′racun sil, t.j. cas, za kolikor pohitrimo racunanje najbolj

obremenjenega procesorja.

3.3 Uravnotezenje racunanja pri metodi DDFD

3.3.1 Neuravnotezenost pri novi metodi DDFD

Pri novi metodi DDFD ima vsak procesor dodeljeni dve vrsti interakcij: interakcije

v produktu dveh razlicnih blokov ter del interakcij iz porazdeljene diagonale. Pri

uvedbi razdalje cut-off obe vrsti interakcij prispevata k neuravnotezenosti racunanja.

Interakcije v produktu dveh razlicnih blokov so vedno dodeljene istemu proce-

sorju. Za atoma ai in aj, ki pripadata razlicnima blokoma ai ∈ bi = B(ai), aj ∈bj = B(aj), bi 6= bj , vedno velja, da je njuna interakcija dodeljena procesorju

p = B−1((bi, bj)). Primer neuravnotezenja zaradi takih interakcij je prikazan na

sliki 3.1 (str. 51). Racunanje interakcij iz razlicnih blokov bi lahko preselili na drug

procesor le, ce bi spremenili porazdelitev atomov v bloke, torej ce bi spremenili pre-

slikavo B in bi ustrezno spremenili tudi vse podatkovne strukture programa. Taka

selitev atoma je prikazana na sliki 3.3. Izvedba uravnotezenja racunanja s spre-

membo porazdelitve atomov v bloke je torej relativno zamudna operacija.

Interakcije z diagonale so take, kjer oba atoma ai in aj interakcije pripadata is-

temu bloku bi. Tako interakcijo dodelimo procesorju p = B−1((ai, aj)) iz mnozice Pbi.

Na sliki 3.4a je prikazan primer neuravnotezenosti racunanja zaradi interakcij s po-

razdeljene diagonale. Ker imajo vsi procesorji iz mnozice Pbipodatke o vseh atomih

Page 62: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

58 POGLAVJE 3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD

Blo

ki 12 34 5 6

1

2

3

4

1 2 3 4Bloki

(a) Neuravnotezenost racunanja zaradiinterakcij s porazdeljene diagonale. Pri-kazane so le porazdeljene interakcije zablok 1. Temno rdece interakcije moramoizracunati, svetlo rdece interakcije pa za-radi cut-off ne racunamo. Procesor 4mora racunati najvec interakcij, 2 vec odprocesorja 2 in eno vec od procesorja 1.

Blo

ki 12 34 5 6

1

2

3

4

1 2 3 4Bloki

(b) Selitev racunanja ene interakcije z di-agonale s procesorja 4 na 2. Po selitvivsi trije procesorji bloka 1 racunajo enakostevilo interakcij.

Slika 3.4: Neuravnotezenost racunanja zaradi interakcij s porazdeljene diagonale inselitev racunanja med procesorji.

bloka bi, selitev takih interakcij ni racunsko zahtevna, saj moramo le spremeniti po-

datek o dodelitvi interakcije novemu procesorju na vseh procesorjih iz mnozice Pbi.

Slika 3.4b prikazuje selitev takih interakcij s procesorja 4 na 2. Racunanje lahko

torej relativno enostavno uravnotezimo s prerazporejanjem interakcij diagonale.

3.3.2 Prerazporejanje diagonale

V novi metodi za uravnotezenje racunanja spreminjamo razporeditev diagonale, da

izenacimo racunsko obremenitev vseh vzporednih procesorjev. Diagonalo prerazpo-

rejamo na podlagi sledecih ugotovitev:

1. glavnina neuravnotezenosti izhaja iz neuravnotezenosti racunanja neveznih in-

terakcij, torej zelimo izenaciti racunski cas neveznih interakcij na vseh proce-

sorjih;

2. zaradi gibanja atomov se neuravnotezenost spreminja med izvajanjem simula-

cije;

3. imamo model neuravnotezenosti, ki tudi omogoca dolocanje stevila neveznih

interakcij, ki jih moramo prerazporediti, da bi bil racunski cas racunanja ne-

veznih interakcij enak na vseh procesorjih;

Page 63: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

3.3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD 59

4. nevezne interakcije z diagonale lahko zelo hitro prerazporedimo.

Nova metoda za uravnotezenje racunanja dinamicno prerazporeja nevezne interakcije

z diagonale na podlagi modela neuravnotezenosti in racunske obremenitve s ciljem

minimizirati neuravnotezenost racunanja.

Racunsko obremenitev vseh nb neveznih interakcij razdelimo na stevilo interak-

cij atomov iz razlicnih blokov, nbneq, in stevilo interakcij atomov z diagonale, nbeq,

kjer atomi pripadajo istemu bloku:

nb = nbneq + nbeq (3.12)

Porazdelitev atomov v bloke nam doloca tudi porazdelitev racunanja neveznih

interakcij atomov iz razlicnih blokov; stevilo nbneq lahko torej zapisemo z vsoto

nbneq =∑

p∈P

nbneqp , (3.13)

kjer je nbneqp stevilo neveznih interakcij atomov razlicnih blokov, ki jih racuna pro-

cesor p. Ta porazdelitev je ob nespremenljivi porazdelitvi atomov v bloke tudi

nespremenljiva.

Stevilo vseh neveznih interakcij, ki jih racuna procesor p ∈ P , pa razdelimo na

vsoto stevila interakcij atomov iz razlicnih blokov nbneqp in stevila interakcij atomov

z diagonale nbeqp , kjer atomi pripadajo istemu bloku

nbp = nbneqp + nbeq

p . (3.14)

Porazdelitev interakcij z diagonale matrike sil doloci stevilo nbeqp za vsak procesor.

Njihova vsota je vedno enaka nbeq, cleni nbeqp vsote

nbeq =∑

p∈P

nbeqp (3.15)

pa se lahko spreminjajo.

S prerazporejanjem vsote 3.15 lahko dosezemo, da imajo vsi procesorji enako

racunsko breme.

Racunanje je uravnotezeno, kadar vsak procesor racuna nb/|P | interakcij. Ven-

dar pa imajo procesorji pri neuravnotezenem racunanju odstopanja ∆p:

∆p = nbp −nb

|P | = nbneqp + nbeq

p − nb

|P | . (3.16)

Page 64: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

60 POGLAVJE 3. URAVNOTEZENJE RACUNANJA PRI METODI DDFD

Ker lahko porazdelitev diagonale enostavno spreminjamo s spreminjanjem presli-

kave B (enacba 2.10, str. 2.10), s prerazporeditvijo diagonale dosezemo zmanjsanje

razlik ∆p. Vsakemu procesorju dodelimo racunanje toliko interakcij z diagonale, da

bo njegova racunska obremenjenost nbp enaka ciljni obremenjenosti nb/|P |, torej

interakcije z diagonale porazdelimo tako, da velja

nbeqp =

nb

|P | − nbneqp . (3.17)

Tako porazdelitev lahko izvedemo le ob pogoju, da je stevilo interakcij atomov med

razlicnimi bloki vecje od ciljne obremenjenosti:

nbneqp <

nb

|P | . (3.18)

V takem primeru bi morali za uravnotezenje izvesti tudi prerazporeditev atomov v

bloke, kot je prikazano na sliki 3.3 (str. 57).

Page 65: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Poglavje 4

Nacrtovanje nove gruce za novo

razvito metodo delitev sil

V tem poglovju bom predstavil zasnovo strojne opreme po znacilnostih program-

ske opreme in nastel prednosti, ki jih prinasa tako nacrtovanje. Predstavil bom

topologije dosedanjih gruc, ki sem jih nacrtoval po zahtevah vzporednih progra-

mov. Nova metoda DDFD ima znacilno delitev podatkov po procesorjih vzpore-

dnega racunalnika; od tod izvirajo njeni vzorci komuniciranja med procesorji. Na

podlagi vzorcev komuniciranja sem zasnoval gruco osebnih racunalnikov, ki je prila-

gojena racunanju simulacije MD. Nacrtovana gruca ni omejena zgolj na to metodo,

saj je uporabna za splosne vzporedne racune. V tem primeru se ne izkoristijo vse

njene zmogljivosti. Predstavil bom tudi uporabnost nacrtovane gruce v primeru

okvare ali druge izlocitve sestavnih racunalnikov. Predstavil bom uporabo namen-

skih procesorjev MDGRAPE-II, ki omogocajo hitrejse racunanje interakcij z metodo

delitev sil.

4.1 Nacrtovanje strojne opreme po programski opremi

Prilagodljivost in raznolikost strojne opreme je smotrno izkoristiti za povecanje njene

racunske zmogljivosti. Z nacrtovanjem strojne opreme po znacilnostih programske

opreme, kateri je strojna oprema namenjena, lahko dosezemo pohitritev izvajanja

programske opreme [8,9, 11,23].

4.1.1 Izbira topologije glede na komunikacijske vzorce

Pri vzporednih racunalnikih s porazdeljenim pomnilnikom je potrebno posebno po-

zornost nameniti povezavam med procesorji. Mnogo vzporednih programov ima

61

Page 66: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

62 POGLAVJE 4. NACRTOVANJE GRUCE

majhno mnozico vzorcev komuniciranja. Taki vzorci karakterizirajo izmenjavo po-

datkov med procesorji: vzorci zajemajo sodelujoce procesorje, velikosti sporocil ter

sosledje izmenjav sporocil. Z nacrtovanjem povezovalne topologije na podlagi takih

vzorcev komuniciranja se izognemo nepotrebnim povezavam in tako bolje izkoristimo

uporabljene povezave.

Ce ima nek procesor omejeno stevilo povezav z drugimi procesorji, lahko uve-

demo tockovne povezave. Tockovna povezava neposredno povezuje dva procesorja.

Prednost tockovnih povezav je vecja prepustnost v primerjavi z obicajnim mreznim

stikalom [9]. Vendar pa stikalo nudi splosno povezljivost, torej med vsemi poveza-

nimi racunalniki. Osebni racunalniki imajo le omejeno razsirljivost in posledicno

je omejena povezljivost s tockovnimi povezavami; v obicajnih osebnih racunalnikih

lahko implementiramo le nekaj, npr. 6, mreznih povezav vrste Ethernet [9]. Ce

moramo procesorje povezati z vecimi drugimi procesorji, moramo uporabiti mrezna

stikala.

Hierarhicna hiperkocka

Nacrtovali smo topologijo, ki resi tezavo omejene razsirljivosti osebnih racunalnikov

tako, da uporabimo tockovne povezave za najbolj obremenjene povezave, splosno po-

vezljivost pa dosezemo z uporabo mreznega stikala. Tako dosezemo, da so povezave,

kjer procesorji izmenjujejo vec podatkov, hitrejse od povezav, po katerih procesorji

izmenjujejo manj podatkov.

Implementirana topologija hierarhicne hiperkocke za gruce osebnih racunalnikov

ima topologijo hiperkocke, v kateri se hitrosti in lastnosti povezav razlikujejo po

njenih dimenzijah. Uporabna je za vzporedno simulacijo MD po metodi repliciranih

podatkov, za katero je znacilno, da globalni operaciji porazdeljene globalne vsote

in porazdeljenega globalnega oddajanja potekata po vzorcu hiperkocke, zato lahko

izkoristimo za njuno izvedbo topologijo hiperkocke [73]. Kolicina podatkov, ki

se prenasajo po razlicnih dimenzijah hiperkocke, se razlikuje. Najvecji prenos je

po prvi dimenziji, zato tem procesorskim parom dodelimo najhitrejse povezave.

Najmanjsi prenos je po zadnji dimenziji, zato tem procesorskim parom dodelimo

najpocasnejse povezave. Shema topologije hierarhicne hiperkocke je prikazana na

sliki 4.1.

4.1.2 Gruce VRANA

Razvil in implementiral sem vec gruc osebnih racunalnikov VRANA (vzporedni

racunalnik za akceleracijo numericnih algoritmov) z razlicnimi topologijami.

Page 67: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.1. NACRTOVANJE STROJNE OPREME PO PROGRAMSKI OPREMI 63

a) b)

4n

2n

n n

n

CPU2

CPU8CPU7

CPU1

CPU3 CPU4

CPU5 CPU6

2n

n2n

4n

4n

4n

2n

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

PC PC

PC PC

1 Gb/s

1 Gb/s

CPU1 CPU2 CPU3 CPU4

CPU5 CPU6 CPU7 CPU8

Slika 4.1: Princip topologije hierarhicne hiperkocke, ponazorjene na 3-dimenzionalnikocki. Po razlicnih dimenzijah hiperkocke prenasamo razlicno kolicino podatkov(podslika a): po vsaki naslednji dimenziji prenasamo le polovico podatkov, kotv prejsnji. Po prvi dimenziji (rdece povezave) prenasamo najdaljsa sporocila,dolzine 4n, po drugi dimenziji (modre povezave) so sporocila dolga 2n, po zadnji di-menziji (crne povezave) pa so sporocila dolga le se n. Za najmanjso dolzino sporociln velja n = 3N/|P |, saj prenasamo podatke o koordinatah oz. silah po vseh trehkoordinatnih oseh za N/|P | atomov. Povezave nizjih dimenzij implementiramo shitrejsimi povezavami kot povezave visjih dimenzij (podslika b). Stiri povezave prvedimenzije implementiramo z vodilom dvoprocesorskega racunalnika, stiri povezavedruge dimenzije implementiramo s tockovnimi povezavami, za prestale stiri pove-zave, tretje dimenzije, pa uporabimo skupno stikalo.

Page 68: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

64 POGLAVJE 4. NACRTOVANJE GRUCE

VRANA1

Gruca VRANA1 je sestavljena iz 4 dvoprocesorskih racunalnikov s procesorji Intel

Pentium II s hitrostjo 400 MHz. Racunalniki so povezani s topologijo polnega grafa

s tockovnimi povezavami Ethernet s hitrostrjo 100 Mb/s.

VRANA2 in VRANA3

Gruci VRANA2 in VRANA3 sta povezani s topologijo torusa. Uporabili smo

tockovne povezave Ethernet s hitrostjo 100 Mb/s. Gruca VRANA2 je sestavljena iz

16 racunalnikov s procesorji Intel Pentium II s hitrostjo 450 MHz, gruca VRANA3

pa iz 32 racunalnikov s procesorji Intel Celeron s hitrostjo 466 MHz.

VRANA4

Gruca VRANA4 je sestavljena iz 64 racunalnikov s procesorji AMD Athlon s hitro-

stjo 700 MHz. Povezani so s topologijo hiperkocke s tockovnimi povezavami Ethernet

s hitrostjo 100 Mb/s.

VRANA5 in VRANA8

Gruca VRANA5 je sestavljena iz 16 dvoprocesorskih racunalnikov s procesorji

AMD Athlon MP-1600+. Gruca VRANA8 je sestavljena iz 32 dvoprocesorskih

racunalnikov s procesorji AMD Athlon MP-2200. Obe gruci sta povezani s topologijo

hierarhicne hiperkocke:

Hierarhicna hiperkocka

Topologijo hierarhicne hiperkocke sem implementiral na gruci VRANA8 z 32 dvo-

procesorskimi osebnimi racunalniki s skupno 64 procesorji. Povezavi prvih dveh

dimenzij sta tockovni, ostale 4 dimenzije so implementirane s stikali. Povezave

prve dimenzije so najhitrejse, saj zanje uporabimo vodilo vsakega dvoprocesorskega

racunalnika. Povezave druge dimenzije implementiramo s tockovnimi povezavami

med pari racunalnikov. Za povezave 3., 4. in 5. dimenzije uporabimo dve stikali, po

eno za 16 racunalnikov. Za povezave 6. dimenzije uporabimo obe stikali, vendar te

povezave premostijo obe stikali, zato so najpocasnejse. Topologija implementirane

gruce je prikazana na sliki 4.2. Topologija gruce VRANA5 je podobna opisani hie-

rarhicna hiperkocki, le da ima 5 dimenzij in eno stikalo Ethernet s hitrostjo 100 Mb/s.

Page 69: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.2. NAMENSKA STROJNA OPREMA 65

b)

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

PC PC

PC PC

1 Gb/s

1 Gb/s

CPU1 CPU2 CPU3 CPU4

CPU5 CPU6 CPU7 CPU8

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

1 Gb/s

PC PC

PC PC

1 Gb/s

1 Gb/s

CPU57 CPU58 CPU59

CPU61 CPU62 CPU63 CPU64

CPU60

Slika 4.2: Topologija hierarhicne hiperkocke v gruci osebnih racunalnikov VRANA8.Za prvo in drugo dimenzijo hiperkocke, po katerih prenasamo najvec podatkov, upo-rabimo najhitrejsi povezavi: vodilo in tockovno povezavo med parom racunalnikov.Za ostale 3 uporabimo skupno stikalo, za 6. dimenzijo pa povezavo med dvemastikaloma.

VRANA6

Gruca VRANA6 je sestavljena iz 8 dvoprocesorskih racunalnikov s procesorji AMD

Athlon MP-1600+. Povezani so s stikalom Ethernet s hitrostjo 1 Gb/s.

VRANA9

Gruca VRANA9 je sestavljena iz 64 dvoprocesorskih racunalnikov s procesorji AMD

Opteron 242. Povezani so s 3 stikali Ethernet s hitrostjo 1 Gb/s.

4.2 Namenska strojna oprema

Namenska strojna oprema je taka oprema, ki je povsem prilagojena izvajanju le ne-

kaj dolocenih vrst racunov. Primer namenske strojne opreme so procesorji graficnih

kartic, ki so namenjeni pohitritvi racunanja in prikaza tridimenzionalne grafike. Spe-

cializirani so za izvajanje operacij linearne algebre in drugih operacij, ki se upora-

bljajo v racunalniski grafiki, njihovi vhodni in izhodni podatki pa so strukturirani v

obliki vektorjev in matrik [45,51].

Namenska strojna oprema pohitri izvajanje racunov, za katere je nacrtovana in

izdelana, v primerjavi s splosnimi procesorji.

Page 70: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

66 POGLAVJE 4. NACRTOVANJE GRUCE

MDG2

CPU

GigE

PC

vodilo PCI

sistemsko vodilo

MDG2

CPU

GigE

PC

vodilo PCI

sistemsko vodilo

1 Gb/s Ethernet

Slika 4.3: Shema namestitve dveh procesorjev MDGRAPE-II (oznacena MDG)v dveh locenih osebnih racunalnikih (oznacena PC). Procesorja uporabimo le zaracunanje neveznih interakcij; vse ostale racuna procesor gostitelj (oznacen CPU).Procesor MDGRAPE-II in mrezni vmesnik Ethernet (oznacen GigE) sta pove-zana s procesorjem preko vodila PCI in sistemskega vodila. Komunikacija medracunalnikoma poteka po neposredni tockovni povezavi preko mreze Ethernet s hi-trostjo 1 Gb/s.

4.2.1 MDGRAPE-II

Procesor MDGRAPE-II(ang. MD Gravity Pipeline) je bil narejen za hitrejse

racunanje simulacije MD [52–54, 68]. Namenjen je hitremu racunanju neveznih

interakcij; ostale dele simulacije mora racunati procesor gostitelj. V gruci VRANA7

smo procesorje uporabili vzporedno. Gruca z dvema procesorjema MDGRAPE-II

je prikazana na sliki 4.3.

Vhodni podatki procesorju MDGRAPE-II so lastnosti atomov (vrsta vsakega

atoma, ki doloca npr. njegov naboj) in funkcija interakcije med njima, npr. sila

van der Waalsove interakcije ali sila elektrostatske interakcije. Funkcija interakcije je

podana tabelaricno kot vrednost interakcije v odvisnosti od razdalje med atomoma.

Na vsakem koraku simulacije procesorju znova prenesemo nove koordinate atomov.

Procesor na podlagi shranjenih atomskih podatkov in podanih koordinat izracuna

interakcije med njimi (npr. sile), kar je tudi izhod. Postopek racunanja pri uporabi

procesorja MDGRAPE-II je prikazan na sliki 4.4.

Procesor loci dve mnozici vhodnih atomov: ena je mnozica atomov, ki

))povzrocajo(( interakcije (ang. force-asserting), ena pa je mnozica atomov, na katere

))delujejo(( interakcije (ang. force-receiving). Kot je razvidno iz slike 4.4, lahko

MDGRAPE-II sklopimo z vzporedno metodo delitev sil: procesor racuna interakcije

med dvema blokoma [11]. Za upostevanje tretjega Newtonovega zakona moramo

racunati tudi nasprotne sile, kar pomeni, da moramo racunati celotno matriko sil,

Page 71: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.3. KOMUNIKACIJSKE ZAHTEVE NOVE METODE DDFD 67

MDGRAPE−IIkoordinate bloka 3

sile na atome bloka 3koordinate bloka 2

1

2

3

4

1 2 3 4

Slika 4.4: Podatkovni tok pri uporabi namenskega procesorja MDGRAPE-II. Pri-pravimo koordinate dveh mnozic atomov (recimo bloka 2 in 3), med katerimi najprocesor racuna interakcije. Procesor izracuna sile na prvi blok (na atome bloka 3),ki delujejo zaradi interakcij z drugim blokom (z blokom 2).

ne le polovicno.

4.3 Komunikacijske zahteve nove metode DDFD

4.3.1 Prisotnost podatkov po procesorjih

Na vsakem procesorju morajo biti prisotni podatki, da lahko procesor izracuna po-

trebne interakcije, npr. sile. S porazdelitvijo atomov v bloke in na domace procesorje

metoda delitev sil doloci, kateri podatki morajo biti prisotni na katerih procesorjih.

Metoda delitev sil porazdeli atome v bloke s porazdelitvijo B (preslikava 2.3),

vsakemu procesorju iz mnozice procesorjev P pa s preslikavo B (preslikava 2.5) do-

delimo en produkt dveh blokov. Delitev N atomov v bloke je enakomerna, torej vsak

blok vsebuje N/|B| atomov. Vsak izmed procesorjev p ∈ P racuna interakcije med

atomi dveh blokov bi in bj , (bi, bj) = B(p). Takih interakcij je najvec (N/|B|)2. Ob

uporabi razdalje cut-off (opisano v podpoglavju 1.2.2) ni potrebno racunati vseh in-

terakcij. Procesor p mora torej imeti koordinate vseh atomov, ki pripadajo blokoma

bi in bj, kar je skupaj 2N/|B| atomov. Poleg tega procesor p racuna tudi nove ko-

ordinate za svoje domace atome Ap na podlagi izracunanih interakcij. Procesor ima

le N/|P | domacih atomov. Vsi atomi iz mnozice Ap so tudi v eni izmed mnozic bi

ali bj , (bi, bj) = B(p), zato so vsi podatki o atomih iz Ap ze prisotni na procesorju p.

Vsak procesor mora dodatno imeti podatke tudi o tistih atomih, ki nastopajo v

tri- ali vec-atomskih veznih interakcijah. Pri takih interakcijah je lahko vsak atom

iz razlicnega bloka. V tem primeru izberemo en procesor, ki racuna tako interakcijo

in dolocimo, da mora ta procesor dobiti podatke tudi o ostalih atomih – sirotah, ki

so izven njegovih dveh blokov.

Glavni izsledki analize prisotnosti podatkov po procesorjih so naslednji:

Page 72: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

68 POGLAVJE 4. NACRTOVANJE GRUCE

1. vsak procesor ima podatke o dveh blokih s po N/|B| atomi, skupaj

2N/|B| atomi;

2. procesor mora imeti zgoraj omenjene podatke za racunanje interakcij med

svojima dvema blokoma;

3. za nekatere izmed atomov, katerih podatke ima, procesor racuna tudi spre-

membo koordinat na podlagi izracunanih in izmenjanih interakcij.

4.3.2 Izmenjava podatkov

Pri metodi delitev sil se vsa komunikacija vrsi po blokih. Procesorji ne izmenjujejo

podatkov s procesorji, s katerimi nimajo skupnega bloka. Nek procesor p, ki pripada

blokoma bi in bj (p ∈ Pbi∩ Pbj

), komunicira le s procesorji iz Pbiin Pbj

. S procesorji

iz mnozice Pbiizmenjuje podatke o atomih bloka bi, s procesorji Pbj

pa izmenjuje

podatke o atomih bloka bj. Velikost vsake izmed mnozic Pbiin Pbj

je |B| − 1, zato

vsak procesor komunicira le z 2(|B| − 2) procesorji.

Izmenjava podatkov sirot tudi poteka le po blokih. Sirote procesorja p so tisti

atomi, ki ne pripadajo dvema blokoma (bi, bj) = B(p) nekega procesorja p, a jih

mora procesor p imeti za pravilno racunanje veznih interakcij treh in vec atomov.

Za vsak blok bs, bs 6= bi, bs 6= bj, obstaja tak procesor q ∈ P , ki ima nek skupen

blok s procesorjem p ∈ P , saj vedno velja

bs = B(p) ∩ B(q) 6= ∅ (4.1)

Torej vedno obstaja tak procesor q, ki za poljubno siroto as ∈ bs lahko poslje podatek

o siroti procesorju p.

Drugih vrst komunikacije pri simulaciji MD ni.

Iz analize izmenjave podatkov ugotovimo naslednji poglavitni komunikacijski

znacilnosti:

1. vsak procesor komunicira le z dvema podmnozicama po |B| − 2 procesorjev,

torej z 2(|B| − 2) procesorji;

2. velikost bloka je N/|B|, torej procesor izmenjuje podatke o 2N/|B| atomih.

4.4 Racunalnik za racunanje po metodi DDFD

Na podlagi analize delitve podatkov, komunikacijskih vzorcev metode DDFD in

dosegljive strojne opreme sem zasnoval namensko racunalnisko gruco za izvajanje

simulacije MD z novo metodo delitev sil.

Page 73: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.4. RACUNALNIK ZA METODO DDFD 69

4.4.1 Zahteve racunalnika

Opisal bom znacilnosti, ki naj jih ima racunalnik za racunanje simulacije MD z

metodo DDFD. Poimenujmo tak racunalnik FDM po kratici angleski besed Force

Decomposition Machine.

Vzporedna arhitektura

Glavna znacilnost vzorca komuniciranja pri metodi DDFD je omejena mnozica dru-

gih procesorjev, s katero vsak procesor komunicira. Zagotoviti moramo, da so vsi

procesorji, ki pripadajo enemu bloku, povezani. Za racunanje simulacije MD so

druge povezave nepotrebne, saj ne pohitrijo komunikacije, zato tudi ne pohitrijo

simulacije.

Ugotovitev. Odlocimo se za arhitekturo vzporednega racunalnika s porazdeljenim

pomnilnikom. Gruca osebnih racunalnikov ustreza taki arhitekturi.

Ugotovitev. Zazelena je uporaba enoprocesorskih racunalnikov.

Prostorska zahtevnost

Vsak procesor mora imeti podatke o atomih dveh blokov, torej o 2N/|B| atomih. Pri

vzporedni metodi repliciranih podatkov mora imeti vsak procesor podatke o vseh

N atomih. Iz primerjave sledi, da ce ima racunalnik dovolj pomnilnika za izvajanje

vzporednih simulacij z metodo repliciranih podatkov na nekem molekulskem sistemu,

potem ima zagotovo dovolj pomnilnika za izvajanje vzporedne simulacije z metodo

DDFD. Z vecanjem stevila procesorjev se prostorska zahtevnost nove metode celo

manjsa, zato lahko na enakem racunalniku obravnavamo vecje sisteme kot z metodo

repliciranih podatkov.

Ugotovitev. Metoda delitev sil ne zahteva vecjega pomnilnika od obstojecih me-

tod.

4.4.2 Topologija gruce

Na podlagi komunikacijskih znacilnosti, uvedenih v podpoglavju 4.3.2, predstavimo

topologijo gruce osebnih racunalnikov. Uporabimo enoprocesorske racunalnike, ki

so povezani s stevilnimi mreznimi stikali. Za vsakega izmed |B| blokov uporabimo

svoje stikalo, na katerega prikljucimo vse procesorje, ki imajo podatke o atomih

tega bloka. Torej s stikalom nekega bloka b povezemo vseh |B| − 1 racunalnikov

iz mnozice Pb. Vsaka lokalna operacija (opisane v podpoglavju 2.4) nekega bloka

poteka le po stikalu tega bloka. Topologija z lastnim mreznim stikalom za vsak

blok je prikazana na sliki 4.5. Za stikalo je misljena tehnologija Ethernet, ceprav je

mozno uporabiti tudi druge, zmogljivejse, kot sta npr. Myrinet ali Infiniband.

Page 74: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

70 POGLAVJE 4. NACRTOVANJE GRUCE

Procesor

x

y

Stikalo

Blo

k

Blok

2

3

4

5

1 2 43

10

2

1

5

3 6 8

974

1

5

1

2

3

4

5

Slika 4.5: Topologije gruce, ki je prilagojena racunanju vzporedne simulacije MD zmetodo DDFD. Vsak blok ima svoje lastno mrezno stikalo, s katerim so povezanivsi procesorji bloka.

Vsakemu bloku priredimo svoje stikalo zato, ker je tako skupna pasovna sirina

(ang. bandwidth) stikal vecja, kot je pasovna sirina enega samega stikala. Namrec,

stikalo ima neko najvecjo notranjo pasovno sirino. Ta omejitev pomeni, da obstaja

neko najvecje stevilo parov racunalnikov, ki lahko hkrati komunicirajo po nazivni

pasovni sirini. Ce je n racunalnikov povezanih s stikalom z neko hitrostjo s, npr.

1 Gb/s, potem lahko dva izmed n racunalnikov komunicirata s hitrostjo s. Vecina

stikal z n prikljucki nima pasovne sirine ns/2, zato n/2 racunalnikov ne more ko-

municirati z ostalimi n/2 s hitrostjo s, temvec z manjso hitrostjo [8, 34].

Pri porazdeljenih globalnih operacijah veliko parov racunalnikov hkrati izme-

njuje podatke. Uporaba le enega stikala bi omejevala pretok ter podaljsala cas

izvedbe operacij.

Vsak racunalnik ima po dva mrezna vmesnika, zato moramo na vsakem racun-

alniku dolociti vmesnik, preko katerega vrsi oddajo sporocil drugim racunalnikom.

Usmerjevalne tabele v racunalnikih moramo nastaviti tako, da racunalnik p, p ∈Pbi

, p ∈ Pbj, posreduje sporocila, namenjena drugim racunalnikom iz mnozice Pbi

preko vmesnika, s katerim je povezan s stikalom bloka bi, sporocila, namenjena

racunalnikom iz Pbj, pa preko vmesnika, s katerim je racunalnik povezan s stikalom

bloka bj. Ce zelimo le z opisanimi povezavami uvesti se splosnejse usmerjanje, tako

da so vsi racunalniki dosegljivi med sabo, potem moramo usmerjevalne tabele do-

polniti. V tem primeru morajo biti racunalniki sposobni tudi posredovati sporocila

Page 75: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.4. RACUNALNIK ZA METODO DDFD 71

Procesor

x

y

Stikalo

Blo

k

Blok

2

3

4

5

2 43

10

2

1

5

3 6 8

974

1

5

1

2

3

4

5

1

Stikalo

Slika 4.6: Uvedba splosnega stikala. Tako povecamo uporabnost gruce pri splosnihsimulacijah. Novo stikalo mora imeti dovolj prikljuckov, da lahko nanj povezemovse racunalnike.

na poti od enega do drugega racunalnika [70].

Za polno dosegljivosti med racunalniki lahko uporabimo drugacno resitev, ki

hkrati veca uporabnost. Predlagam uporabo dodatnega, vecjega mreznega stikala, s

katerim so povezani vsi racunalniki. Stikalo mora imeti najmanj toliko prikljuckov,

kolikor je racunalnikov v gruci. Taka topologija z dodanim stikalom je prikazana na

sliki 4.6. To stikalo se ne uporabi pri komunikaciji v globalnih operacijah.

Vecprocesorski racunalniki

Vsak procesor mora biti povezan z dvema drugima skupinama procesorjev. Ce

zelimo uporabiti vecprocesorski racunalnik ugotovimo, da moramo stevilo povezav

v enem racunalniku povecati z 2 na 2 − 1 + mp, kjer je mp stevilo procesorjev

v enem racunalniku. Primer takega zdruzevanja pri dvoprocesorskem racunalniku

je prikazan na sliki 4.7a. Procesorje zdruzujemo v racunalnike tako, da pripadata

skupnemu bloku, npr. procesorja p1 in p2 sta v istem racunalniku, zato naj velja

p1 ∈ Pb1 in p2 ∈ Pb1 . Na sliki 4.7b so prikazane povezave med dvoprocesorskimi

racunalniki. V vseh racunalnikih oba procesorja pripadata eni izmed mnozic Pb,

Page 76: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

72 POGLAVJE 4. NACRTOVANJE GRUCE

Procesor

x

y

StikaloB

lok

Blok

2

3

4

5

1 2 43

10

2

1

5

3 6 8

974

1

5

1

2

3

4

5

Procesor

x

y

Stikalo

Blo

k

Blok

2

3

4

5

1 2 43

10

2

1

5

3 6 8

974

1

5

1

2

3

4

5

Slika 4.7: Primer, kako dodelimo procesorje dvoprocesorskih racunalnikov razlicnimproduktom blokov (podslika a). Po dva procesorja sta zdruzena v enem racunalniku(predstavljeni z modrimi liki). Na podsliki b je je prikazano, kako si procesorja 1in 2 delita isto povezavo k stikalu skupnega bloka 1: namesto dveh povezav (rdecicrtani crtai) uporabimo eno (povezana rdeca crta). Urnik prenosov moramo ustreznospremeniti, da upostevamo skupne povezave in kolokacijo procesorjev.

zato nadomestimo njuni dve povezavi z eno, kar zmanjsa stevilo vseh povezav. Urnik

prenosov moramo ustrezno spremeniti, da upostevamo spremenjeno topologijo, sicer

lahko dva procesorja socasno uporabljata eno povezavo, kar upocasni komunikacijo

in poslabsa vzporedno ucinkovitost.

Poleg komunikacijskih ovir je pomembno tudi neskladje med stevilom pro-

cesorjev, ki jih potrebuje metoda, in stevilom vseh procesorjev v razpolozljivih

racunalnikih. Metoda lahko uporabi tudi liho stevilo procesorjev (npr. 3, 15, ali 21);

v tem primeru ostane en procesor neizkoriscen ze pri dvoprocesorskih racunalnikih.

Pri racunalnikih z vecimi procesorji je neskladje se vecje.

4.4.3 Moznosti razsiritve

Ker ima vsak racunalnik (v primeru enoprocesorskih racunalnikov) v predlagani to-

pologiji vedno le dve povezavi, lahko gruco razsirimo z novim stikalom in novimi

racunalniki. Omejitev predstavljajo le mrezna stikala, ki imajo omejeno stevilo pri-

kljuckov. Ce uporabimo stikalo z n prikljucnimi mesti, potem je lahko v enem bloku

najvec n racunalnikov, iz cesar sledi, da je stevilo blokov omejeno na Bmax blokov,

Bmax = n + 1, (4.2)

Page 77: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.4. RACUNALNIK ZA METODO DDFD 73

Procesor

Stikalox

y

Blo

k

2

3

4

5

2

1

5

3 6 8

11

2

3

4

Blok

1 2 43 5

10974

5

4 7 9 10

55

6

Slika 4.8: Razsiritev gruce za en blok z dodatnimi 5 racunalniki in enim stikalom.Dodani elementi so oznaceni rdece.

kar omeji stevilo racunalnikov (oziroma procesorjev) v gruci na Pmax,

Pmax =Bmax(Bmax − 1)

2=

n(n + 1)

2. (4.3)

Obstojeco gruco, ki temelji na |B| blokih in ima |B|(|B| − 1)/2 enoprocesor-

skih racunalnikov in |B| stikal, ki imajo najmanj |B| prikljuckov za povezave z

racunalniki, lahko razsirimo z dodatnim mreznim stikalom in dodatnimi |B| proce-

sorji. Primer take razsiritve gruce s 5 bloki in 10 racunalniki na gruco s 6 bloki in

15 racunalniki je prikazan na sliki 4.8. Dodano je eno stikalo in 5 racunalnikov. Ob

uporabi stikal z 8 prikljucki lahko gruco razsirimo na najvec 36 procesorjev.

4.4.4 Zanesljivost in redundancnost racunalnikov

Pri nacrtovanju gruce osebnih racunalnikov moramo predvideti vpliv okvar in dru-

gih vzrokov za izlocitev racunalnikov iz gruce. Neprekinjeno nadaljevanje zacetih

racunov kljub okvari procesorjev je podrocje aktivnih raziskav, vendar take me-

tode zahtevajo korenite posege v vzporedni program in uporabljene komunikacijske

knjiznice [12, 26]. Pri nacrtovanju gruce se zadovoljimo s ciljem, da po okvari se-

stavnega racunalnika gruco na enostaven nacin usposobimo za ponovno uporabo.

Ob okvari ali drugacni odstranitvi moramo nedelujoc racunalnik nadomestiti.

V ta namen moramo imeti pripravljen rezerven racunalnik, ki je namenjen le zame-

njavi nedelujocih racunalnikov. Gruco in njeno topologijo nacrtujemo tako, da je

Page 78: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

74 POGLAVJE 4. NACRTOVANJE GRUCE

Procesor

x

y

Stikalo

10

1

3

4 5 6

87

1

2

3

4

5

11

Stikalo

9

Procesor

x

y

Stikalo

10

1

3

4 5

87

1

2

3

4

5

11

9

Stikalo

12

Slika 4.9: Uporaba rezervnega racunalnika 11 (zaradi uporabe enprocesorskihracunalnikov enacimo racunalnike in procesorje) na vecjem stikalu ob okvariracunalnika 2 je prikazana na podsliki a. Vsak racunalnik ima dodatno povezavo naskupno stikalo. Ob izpadu racunalnika 2 racunalniki iz mnozice Pb1 bloka 1 (1, 4, 7)uporabijo rdece mrezne povezave, preostali racunalniki iz mnozice Pb3 bloka 3 (3, 6, 9)pa modre povezave. Na podsliki b je prikazana uporaba dveh rezervnih racunalnikov,11 in 12, ob izpadu racunalnikov 2 in 6. Preostali racunalniki Pb1 ∪ Pb3 blokov 1in 3 namesto z racunalnikom 2 komunicirajo z rezervnim racunalnikom 11 po rdecih(ali vijolicnih) mreznih povezavah, racunalniki Pb3 ∪ Pb4 blokov 3 ter 4 pa name-sto z racunalnikom 6 komunicirajo z racunalnikom 12 po modrih (ali viojolicnih)mreznih povezavah. Povezave, kjer je promet za oba racunalnika 11 in 12 skupen,so obarvane vijolicno.

uporabna tudi do fizicne zamenjave racunalnika.

Z uporabo dodatnega stikala, s katerim so povezani vsi glavni in rezervni

racunalniki, lahko premostimo izpad enega ali vecih racunalnikov. V primeru

okvare enega racunalnika s procesorjem p racunalnik nadomestimo z rezervnim

racunalnikom s procesorjem q, usmerjevalne tabele ostalih racunalnikov s proce-

sorji Pbiin Pbj

iz doticnih blokov (bi, bj) = B(p) pa spremenimo, da namesto z

izlocenim racunalnikov p komunicirajo z rezervnim racunalnikom s procesorjem q

preko skupnega mreznega stikala. Primer premostitve okvare pri taki resitvi je

prikazan na sliki 4.9a. Racunalnik 2 postane neuporaben, zato ga nadomestimo z

racunalnikom 11, kar vpliva tudi na ostale racunalnike s procesorji iz mnozic Pb1

in Pb3 blokov b1 in b3. Na podoben nacin lahko povecamo redundancnost z vecimi

rezervnimi racunalniki, kot je prikazano na sliki 4.9b.

Page 79: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

4.4. RACUNALNIK ZA METODO DDFD 75

Procesor

x

y

Stikalo

10

1

3

4 5

87

1

2

3

4

5

9

11

2

6

Stikalo

Procesor

x

y

Stikalo

10

1

3

4 5

87

1

2

3

4

5

9

11

12

Slika 4.10: Uvedba rezervnega racunalnika (zaradi uporabe enprocesorskihracunalnikov enacimo racunalnike in procesorje) preko posrednega stikala je pri-kazana na podsliki a; novo stikalo, povezave in 2 rezervna racunalnika so obarvanirdece. Vsako stikalo ima novo povezavo do posrednega stikala, na katerega sta pri-kljucena rezervna racunalnika. Uporaba rezervnih racunalnikov 11 in 12 ob izpaduracunalnikov 2 in 6 na podsliki b je prikazana na podsliki b. Racunalniki Pb1 ∪ Pb3

blokov 1 in 3 komunicirajo z rezervnim racunalnikom 11 po rdecih mreznih po-vezavah, racunalniki Pb1 ∪ Pb3 blokov 3 ter 4 pa komunicirajo z racunalnikom 12po modrih mreznih povezavah. Povezave, po katerih poteka komunikacija z obemaracunalnikoma, so oznacene vijolicno.

Redundancnost z uporabo vecjega stikala sloni na predpostavki, da je tako

stikalo enakovredno manjsim stikalom, ki jih uporabimo za povezovanje racunalnikov

po blokih. S tehnologijo Ethernet pri hitrostih 1 Gb/s je to mozno do dolocene

velikosti gruce (s stikalom z 48 prikljucki je najvecja velikost gruce 45 racunalnikov

s 3 rezervnimi), z drugimi pa ni nujno tako.

V takih primerih je mozna resitev povezava vseh manjsih stikal, ki sluzijo pre-

nosu enega bloka, z enim posrednim stikalom. S posrednim stikalom povezemo tudi

rezervne racunalnike. Taka izvedba je prikazana na sliki 4.10. Podobno kot pri

prej opisanem pristopu moramo v primeru okvare spremeniti usmerjevalno tabelo.

Slabost tega pristopa v primerjavi s prej opisanim pristopom je omejitev mozne

razsiritve gruce, saj moramo za rezervne racunalnike uporabiti po en prikljucek na

vsakem izmed stikal. Pri hkratni uporabi vec kot enega rezervnega racunalnika

postanejo mrezne povezave do rezervnega racunalnika zasicene, ce ustrezno ne spre-

menimo urnika prenosa za izvedbo globalnih operacij.

Page 80: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

76 POGLAVJE 4. NACRTOVANJE GRUCE

Page 81: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Poglavje 5

Uporaba racunalniskih simulacij

Predstavil bom studije nekaterih sistemov, ki smo jih izvajali s pomocjo modeliranja

in simulacij MD. Pri vseh studijah smo uporabili vzporedne racunalniske metode

repliciranih podatkov in delitev sil, zaradi cesar smo hitreje dobili koncne rezultate

simulacij, to so trajektorije gibanj, iz katerih z analizo dobimo lastnosti simuliranega

sistema, npr. strukturo, spektre in aktivnost.

Za izvajanje racunalniskih simulacij sem uporabil gruce VRANA5, VRANA6,

VRANA7 ter VRANA9. Za simulacije najvecjih sistemov z nekaj stotisoc atomov

sem uporabil gruco VRANA7, saj je edino procesorj MDGRAPE-II omogocal simu-

lacijo MD tako obseznih sistemov. Za te simulacije sem uporabil metodo delitev

sil. Ostale simulacije sem izvajal z vzporedno metodo repliciranih podatkov na 4–

16 procesorjih, saj sem hkrati izvajal vec simulacij razlicnih sistemov.

5.1 Molekulski modeli

Poznamo vec vrst molekulskih modelov, ki jih uporabimo v simulacijah in ki se

razlikujejo po natancnosti oz. nivoju opisa sistema:

Kvantna mehanika (QM) Molekulski sistem je opisan na kvantnem nivoju, kar

je najbolj natancen opis atomov [44]. Kot celoto modeliramo jedro atomov

in, loceno od jeder, posamezne elektrone. Interakcije med elektroni opisu-

jemo z osnovnimi kvantno-mehanskimi (QM, po angl. quantum mechanics)

enacbami. Simulacije na kvantno-mehanskem nivoju so racunsko zelo zahtevne

in racunska zahtevnost simulacije narasca eksponentno s stevilom atomov [44].

Simulacije so prakticno izvedljive za sisteme z najvec nekaj sto atomi [10]. Med

QM stejemo tudi teorijo gostotnih funkcionalov osnovano na Kohn-Shamovi

teoriji [43] (ang. density function theory, DFT), pri kateri namesto racunanja

77

Page 82: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

78 POGLAVJE 5. UPORABA RACUNALNISKIH SIMULACIJ

Slika 5.1: Omejitve velikosti sistema glede na nivo modela (QM: kvanta mehanika;QM/MM: kvantna mehanika/molekulska mehanika; MM: molekulska mehanika).Modeli visjega nivoja so manj natancni in imajo manjso racunsko zahtevnosti inzato omogocajo obravnavo vecjih sistemov od modelov nizjega nivoja.

uporabimo empiricne vrednosti dolocenih interakcij.

Klasicna mehanika Molekulski sistem je opisan na nivoju klasicne mehanike, kjer

locimo posamezne vrste atomov. Pri interakcijah med njimi nas zanima ener-

gija (molekulska mehanika, MM) ali sile (MD), kar racunamo glede na razlicne

vrste interakcij. Simulacije so racunsko zahtevne, vendar je mozno z MM si-

mulirati tudi velike sisteme z vec stotisocimi atomi [28].

Kvanta mehanika/molekulska mehanika QM/MM Kombinacija QM in MM,

kjer je del molekulskega sistema opisan na kvantnem nivoju, preostali pa na

klasicnem nivoju [25]. Model QM/MM omogoca simulacije vecjih sistemov,

pri katerih moramo uporabiti QM za obravnavo nekih atomov, njihovo okolico

pa lahko obravnavamo klasicno.

Na sliki 5.1 so prikazane relacije med najvecjimi sistemi, ki jih lahko obravnavamo z

opisanimi modeli. Z manjsanjem nivoja modela – in vecanjem natancnosti modela –

se veca racunska zahtevnost, zato je mozno obravnavati manjse sisteme kot pri visjem

nivoju.

5.2 Kvanta mehanika (QM)

Elektronska struktura in lastnosti ogljikovih nanocevk. Nanocevke so ena

izmed treh vrst cistih oblik ogljika in so predmet aktivnih raziskov na podrocju

nanotehnologije. Z racuni na nivoju DFT smo zeleli preuciti elektronsko strukturo

Page 83: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

5.3. KVANTA MEHANIKA/MOLEKULSKA MEHANIKA (QM/MM) 79

(a) (b)

(c) (d)

Slika 5.2: Dve vrsti obravnavanih nanocevk. Na podsliki a je predstavljena nano-cevka vrste ))stol(( (ang. armchair) z dodanimi koncnimi vodiki. Na podsliki b pa jeprikazan izsek grafita, iz katerega je zvita prejsnja nanocevka, kot nakazuje puscica.Na podsliki c je prikazana ))cik-cak(( (ang. zig-zag) nanocevka z dodanimi koncnimivodiki; njeno zvitje iz izseka grafita pa je prikazan na podsliki d.

in lastnosti dveh vrst nanocevk razlicnih dolzin. Obe vrsti nanocevk, ))cik-cak(( in

))stol((, sta prikazani na sliki 5.2.

Potrdili smo domneve, da imajo nanocevke vrste ))stol(( bolj kovinski znacaj in

so boljsi prevodniki od nanocevk vrste ))cik-cak((. Poleg tega smo ugotovili, da so

))cik-cak(( nanocevke polprevodniki ter da se prevodnost vseh nanocevk zmanjsuje z

vecanjem dolzine [10].

5.3 Kvanta mehanika/molekulska mehanika (QM/MM)

Pomembnost vodikovih vezi in van der Waalsovih interakcij za stabilnost

vezave netropsina v ozji kanal DNK. Preucevali smo vezavo razlicnih kon-

formacij liganda netropsina v ozji kanal deoksiribonukleinske kisline (DNK), kot je

Page 84: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

80 POGLAVJE 5. UPORABA RACUNALNISKIH SIMULACIJ

Slika 5.3: Vezava netropsina v ozji kanal DNK. Atomi in vezi DNK so predstavljenis crtami, osnovna konformera netropsina pa z vecjimi atomi in poudarjenimi vezmi.

prikazano na sliki 5.3. Nevezani netropsin je lahko v obliki ene izmed treh razlicnih

konformer. Energija konformere vezane z DNK doloca stabilnost vezave; nizja ener-

gija pomeni vecjo stabilnost. Zeleli smo ugotoviti stabilnost vezav razlicnih konfor-

mer v ozji kanal DNK.

Sistem smo racunali na nivoju QM/MM: atome netropsina smo obravnavali

kvantnomehansko, preostale atome (DNK in molekul vode) pa smo obravnavali

klasicno. Izvajali smo energijsko minimizacijo energije celotnega sistema.

Osnovna konformera je najbolj stabilna v vezavi z DNK, kar se ujema s poskusi.

Ugotovili smo tudi, da je stabilnost vezave najbolj odvisna od van der Waalsovih

interakcij, celo bolj kot od mocnejsih, a manj stevilnih, vodikovih vezi [24].

Page 85: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

5.4. SIMULACIJA MD 81

Slika 5.4: Sistem z 870.000 atomi vod.

5.4 Simulacija MD

Z atomisticnimi simulacijami molekul vode na nivoju klasicne mehanike smo

proucevali lastnosti vode. Zanimali so nas vibracijski spekter in druge lastnosti

vode. Novo razvite vzporedne metode in namenska strojna oprema za simulacije

MD so nam omogocili obravnavo zelo velikih sistemov z 870.000 atomi. Simulirani

sistem vod je prikazan na sliki 5.4 [9, 11].

Page 86: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

82 POGLAVJE 5. UPORABA RACUNALNISKIH SIMULACIJ

Page 87: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Poglavje 6

Sklep

Racunalniske simulacije so kljucno orodje pri znanstvenih raziskavah. Simulacije mo-

lekulske dinamike (MD) nam omogocajo razumeti sisteme in nam omogocajo vpogled

v sistem, ki je nedosegljiv z navadnimi poskusi na realnih sistemih. Racunalniske

simulacije so racunsko zahtevne, zato iscemo nacine, da bi pohitrili njihovo izvajanje.

Vzporedne racunalniske simulacije porazdelijo racunanje po vecih procesorjih

vzporednega racunalnika. Tako nam omogocajo hitrejso pot do zelenih rezultatov,

kar dodatno poveca uporabnost simulacij. Vec razlicnih metod obstaja za vzporedno

racunanje simulacij MD.

Novo razvita metoda delitev sil s porazdelitvijo diagonale (DDFD) je metoda

za vzporedno racunanje simulacije MD. Metoda je splosno uporabna za studij naj-

razlicnejsih molekulskih sistemov. Omogoca izkoriscanje vecjega stevila procesor-

jev, saj se komunikacijska zahtevnost manjsa z vecanjem stevila procesorjev. Z di-

namicnim uravnotezenjem racunskega bremena procesorjev zagotovimo veliko vzpo-

redno ucinkovitost, s tem pa izkoriscenost vzporednega racunalnika. Zato je metoda

uporabna tudi za pogoste simulacije, kjer uporabimo razdaljo cut-off, ki tudi zmanjsa

racunsko zahtevnost simulacije.

Gruce osebnih racunalnikov so primerni vzporedni racunalniki za izvajanje

racunalniske simulacije. Z nacrtovanjem topologije racunalnika po komunikacijskih

zahtevah programske opreme povecamo komunikacijsko hitrost med procesorji, kar

tudi poveca ucinkovitost vzporednega racunanja.

Prispevki k znanosti

V okviru svojega doktorskega dela sem dosegel naslednje prispevke k znanosti:

• Vzporedni racunalniki (pregled podrocja). Opisal sem obstojece vzpore-

83

Page 88: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

84 POGLAVJE 6. SKLEP

dne racunalnike, ki jih uporabljamo za racunalniske simulacije. Predstavil sem

gruce osebnih racunalnikov in nacine, s katerimi jih povezujemo. Ker imajo

take gruce porazdeljen pomnilnik, sem pokazal, kako dosezemo izmenjavo po-

datkov s prenasanjem sporocil med posamezni procesorji.

• Simulacija MD (pregled podrocja). Opisal sem ozadje in motivacijo za

racunanje simulacij MD. Predstavil sem metode za racunanje tovrstnih simu-

lacij in potek racunanja.

• Vzporedne simulacijske metode (pregled podrocja). Predstavil sem

vzporedno racunanje s poudarkom na racunalniskih simulacijah. Predstavil

sem, kako komunikacija omejuje ucinkovitost vzporednega racunanja in nacine

za merjenje ucinkovitosti vzporednega racunanja.

• Vzporedne simulacije MD (pregled podrocja). Opisal sem znacilnosti

obstojecih vzporednih metod in algoritmov, ki se uporabljajo za simulacijo

MD. Opisal sem njihove razlike, predvsem casovne in prostorske zahtevnosti

racunanja in komunikacijske zahteve.

• Razvoj nove metode DDFD za simulacijo MD. Predstavil sem novo

metodo za vzporedno racunanje MD. Metoda, ki sem jo razvil, temelji na

delitvi sil in ima nov pristop k deljenju racunanja na procesorje vzporednega ra-

cunalnika. Analiziral sem racunsko zahtevnost metode in njene komunikacijske

zahteve.

• Razvoj algoritma za uravnotezenje racunanja pri novi metodi

DDFD. Predstavil sem nov algoritem, ki dinamicno uravnotezi racunanje,

s tem pa poveca vzporedno ucinkovitost. Algoritem premesca posamezne

manjse racune med procesorji med izvajanjem simulacije MD, tako da so

procesorji cimbolj enakomerno obremenjeni. Pokazal sem, kdaj ima moj

pristop prednost pred nespremenljivim obremenjevanjem procesorjev.

• Primerjava nove vzporedne metode DDFD s standardnimi vzpore-

dnimi metodami za simulacije MD. Primerjal sem novo razvito metodo

z obstojecimi metodami za simulacijo MD.

• Razvoj gruce osebnih racunalnikov. Analiziral sem zahteve vzporednega

racunalnika s porazdeljenim pomnilnikom za simulacijo MD. Zasnoval sem

taksno topologijo povezav med procesorji, ki zmanjsa cas, potreben za komu-

nikacijo pri novi metodi delitev sil.

Page 89: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

85

• Uporaba namenske strojne opreme. Predstavil sem namensko strojno

opremo MDGRAPE-II za hitro racunanje simulacije MD. Pokazal sem, kako

sem izkoristil vec procesorjev MDGRAPE-II skupaj z vzporedno metodo deli-

tev sil za pohitritev vzporednih simulacij.

• Uporaba vzporednih metod in gruc osebnih racunalnikov za simu-

lacijo veliki sistemov. Novo razvite vzporedne metode na novi gruci sem

uporabil za simulacije fizikalno, kemijsko in biolosko zanimivih velikih siste-

mov, ki so preobsezni za obravnavo s standardnimi metodami za simulacijo

MD in enoprocesorskimi racunalniki.

Prihodnje delo

Opisano delo bom v prihodnost se razsiril. Izpostavljam naslednja pricakovanja:

• Zdruziti metodo DDFD z metodami za obravnavo periodicnih sistemov. Pri si-

mulacijah pogosto uporabimo periodicnost simulacijskega prostora, kjer sistem

obravnavamo kot kristal. Za periodicne pogoje obstajajo razlicni pristopi za

racunanje elektrostatskih interakcij. Te pristope bom zdruzil z metodo delitev

sil. S tem bo metoda postala uporabna za se vec vrst simulacij.

• Povecati izkoriscanje vecprocesorskih racunalnikov. Trend razvoja osebnih

racunalnikov je uporaba vecih procesorjev. Ze danasnji stiri-jedrni, dvo-

procesorski racunalnik ima drevesno hierarhijo procesorjev na treh nivojih.

Take arhitekture bom izkoristil pri razporejanju procesorjev, tako da bo

komunikacijski cas pri vzporedni simulaciji se manjsi.

Page 90: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

86 POGLAVJE 6. SKLEP

Page 91: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Literatura

[1] Almasi, G. S. in Gottlieb, A.: Highly Parallel Computing. Benjamin-Cummings

Publishing Co., Inc., Redwood City, CA, 1989.

[2] Bagla, J.: TreePM: A code for cosmological N-body simulations. J. Astrophys.

Astron., 23:185–196, 2002.

[3] Barnes, J. in Hut, P.: A hierarchical O(N log N) force-calculation algorithm.

Nature, 324(4):446–449, December 1986.

[4] Blackston, D. in Suel, T.: Highly portable and efficient implementations of pa-

rallel adaptive N-body methods. V Proceedings of SuperComputing ’97, stran 4.

ACM/IEEE SC’97 Conference, November 1997.

[5] Board, J. in Schulten, L.: The fast multipole algorithm. Comput. Sci. Eng.,

2(1):76–79, 2000.

[6] Board, J. A., Jr., Humphres, C. W., Lambert, C. G., Rankin, W. T. in To-

ukmaji, A. Y.: Ewald and multipole methods for periodic N-body problems.

V Deuflhard, P. in dr., urednika, Lecture Notes in Computational Science and

Engineering. Springer-Verlag, 1998.

[7] Boden, N. J., Cohen, D., Felderman, R. E., Kulawik, A. E., Seitz, C. L., Se-

izovic, J. N. in Su, W.-K.: Myrinet: A gigabit-per-second local area network.

IEEE Micro, 15(1):29–36, 1995.

[8] Borstnik, U., Hodoscek, M. in Janezic, D.: Improving the performance of

molecular dynamics simulations on parallel clusters. J. Chem. Inf. Comput.

Sci., 44(2):359–364, 2004.

[9] Borstnik, U., Hodoscek, M. in Janezic, D.: Fast parallel molecular simulations.

Croat. Chem. Acta, 78(2):211–216, 2005.

87

Page 92: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

88 LITERATURA

[10] Borstnik, U., Hodoscek, M., Janezic, D. in Lukovits, I.: Electronic structure

of zig-zag and armchair nanotubes obtained by density functional calculations.

Chem. Phys. Lett., 411(4–6):384–388, 2005.

[11] Borstnik, U. in Janezic, D.: Symplectic molecular dynamics simulations on

specially designed parallel computers. J. Chem. Inf. Model., 45(6):1600–1604,

2005.

[12] Bosilca, G., Bouteiller, A., Cappello, F., Djilali, S., Fedak, G., Germain, C.,

Herault, T., Lemarinier, P., Lodygensky, O., Magniette, F. in dr.: MPICH-V:

Toward a scalable fault tolerant MPI for volatile nodes. V Proceedings of the

Supercomputing 2002 Conference, strani 29–29. ACM/IEEE, 2002.

[13] Bowers, K., Dror, R. in Shaw, D.: Overview of neutral territory methods for

the parallel evaluation of pairwise particle interactions. J. Phys. Conf. Ser.,

16:300–304, 2005.

[14] Bowers, K., Dror, R. in Shaw, D.: The midpoint method for parallelization of

particle simulations. J. Chem. Phys., 124(18):184109–184109, 2006.

[15] Brooks, B. R., Bruccoleri, R. E., Olafson, B. D., States, D. J., Swaminathan, S.

in Karplus, M.: CHARMM: A program for macromolecular energy, mini-

mization, and dynamics calculations. Journal of Computational Chemistry,

4(2):187–217, 1983.

[16] Brooks, B. R. in Hodoscek, M.: Parallelization of CHARMm for MIMD ma-

chines. Chemical Design Automation News, 7:16–22, 1992.

[17] Brooks, B. R., Janezic, D. in Karplus, M.: Harmonic analysis of large systems.

I. Methodology. J. Comp. Chem., 16(12):1522–1542, 1995.

[18] Burns, G., Daoud, R. in Vaigl, J.: LAM: An open cluster environment for MPI.

V Proceedings of Supercomputing Symposium, volume 94, strani 379–386, 1994.

[19] A. Gara by, Blumrich, M. A., Chen, D., Chiu, G. L.-T., Coteus, P., Giam-

papa, M. E., Haring, R. A., Heidelberger, P., Hoenicke, D., Kopcsay, G. V.,

Liebsch, T. A., Ohmacht, M., Steinmacher-Burow, B. D., Takken, T. in Vra-

nas, P.: Overview of the Blue Gene/L system architecture. IBM J. Res. Devel.,

49(2/3):195–212, 2005.

[20] Coteus, P., Bickford, H. R., Cipolla, T. M., Crumley, P. G., Gara, A., Hall, S. A.,

Kopcsay, G. V., Lanzetta, A. P., Mok, L. S., Rand, R., Swetz, R., Takken, T.,

Page 93: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

LITERATURA 89

Rocca, P. L., Marroquin, C., Germann, P. R. in Jeanson, M. J.: Packaging the

Blue Gene/L supercomputer. IBM J. Res. Devel., 49(2/3):265–276, 2005.

[21] Deserno, M. in Holm, C.: How to mesh up Ewald sums (I): A theoretical

and numerical comparison of various particle mesh routines. Arxiv preprint

cond-mat/9807099, 1998.

[22] Dietz, H. G. in T.I.Mattox: KLAT2’s flat neighborhood network. V Extreme

Linux track of the 4th Annual Linux Showcase, October 2000.

[23] Dobravec, T., Robic, B. in Vilfan, B.: Izmenjava podatkov v racunalniskih

omrezjih. Elektroteh. vest., 68:105–108, 2001.

[24] Dolenc, J., Borstnik, U., Hodoscek, M., Koller, J. in Janezic, D.: An ab initio

QM/MM study of the conformational stability of complexes formed by ne-

tropsin and DNA. The importance of van der waals interactions and hydrogen

bonding. J. Mol. Struct., Theochem, 718:77–85, 2005.

[25] Eurenius, K. P., Chatfield, D. C., Brooks, B. R. in Hodoscek., M.: Enzyme

mechanisms with hybrid quantum and molecular mechanical potentials. I. The-

oretical considerations. Int. J. Quant. Chem., 60:1189–1200, 1996.

[26] Fagg, G. in Dongarra, J. : FT-MPI: Fault tolerant MPI, supporting dynamic

applications in a dynamic world, volume 1908, strani 346–354. Springer-Verlag,

Berlin, 2000.

[27] Feller, S., Pastor, R., Rojnuckarin, A., Bogusz, S. in Brooks, B.: Effect of

electrostatic force truncation on interfacial and transport properties of water.

J. Phys. Chem., 100:17011–17020, 1996.

[28] Freddolino, P. L., Arkhipov, A. S., Larson, S. B., McPherson, A. in Schulten, K.:

Molecular dynamics simulations of the complete satellite tobacco mosaic virus.

Structure, 14:437–449, 2006.

[29] Frenkel, D. in Smit, B.: Understandig Molecular Simulation: From Algorithms

to Applications. Academic Press, San Diego, 2002.

[30] Gropp, W., Lusk, E., Doss, N. in Skjellum, A.: A high-performance, porta-

ble implementation of the MPI message passing interface standard. Parall.

Comput., 22(6):789–828, 1996.

[31] Habata, S., Yokokawa, M. in Kitawaki, S.: The earth simulator system. NEC

Res. Devel., 44(1):21–26, 2003.

Page 94: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

90 LITERATURA

[32] Heermann, D. W. in Burkitt, A. N.: Parallel Algorithms in Computational

Science. Springer-Verlag, Berlin, 1991.

[33] Intel. http://www.intel.com/.

[34] Jain, R.: The art of computer systems performance analysis: techniques for

experimental design, measurement, simulation, and modeling. John Wiley &

Sons, New York, 1991.

[35] Janezic, D. in Orel, B.: Implicit runge-kutta method for molecular dynamics

integration. J. Chem. Inf. Comput. Sci., 33(2):252–257, 1993.

[36] Janezic, D. in Orel, B.: Improvement of methods for molecular dynamics inte-

gration. Int. J. Quant. Chem., 51:407–415, 1994.

[37] Janezic, D. in Brooks, B. R.: Harmonic analysis of large systems. II. Compari-

son of different protein models. J. Comp. Chem., 16(12):1543–1553, 1995.

[38] Janezic, D., Hodoscek, M. in Ugi, I.: The simultaneous [alpha]-addition of

a cation and an anion onto an isocyanide. Internet Electron. J. Mol. Des.,

1(6):293–299, 2002.

[39] Janezic, D., Praprotnik, M. in Merzel, F.: Molecular dynamics integration and

molecular vibrational theory. I. New symplectic integrators. J. Chem. Phys.,

122:art. no. 174101, 2005.

[40] Janezic, D., Venable, R. M. in Brooks, B. R.: Harmonic analysis of

large systems. III. Comparison with molecular dynamics. J. Comp. Chem.,

16(12):1554–1566, 1995.

[41] Jorgensen, W. L.: The many roles of computation in drug discovery. Science,

303(5665):1813–1818, 2004.

[42] Kodek, D.: Arhitektura racunalniskih sistemov. Bi-tim, Ljubljana, 1994.

[43] Kohn, W. in Sham, L. J.: Self-consistent equations including exchange and

correlation effects. Phys. Rev., 140:A1133, 1965.

[44] Koller, J.: Struktura atomov in molekul: osnove kvantne mehanike, atomi.

Fakulteta za kemijo in kemijsko tehnologijo, Ljubljana, 1992.

[45] Krueger, J. in Westermann, R.: Linear algebra operators for GPU implemen-

tation of numerical algorithms. ACM Trans. Graphics, 22(3):908–916, 2003.

Page 95: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

LITERATURA 91

[46] Larson, S. M., Snow, C. D., Shirts, M. R. in Pande, V. S.: Folding@Home and

Genome@Home: Using distributed computing to tackle previously intractable

problems in computational biology. V Grant, R., urednik, Comp. Genomics.

Horizon Press, 2002. To appear.

[47] Leach, A. R.: Molecular Modeling: Principles and Applications. Addison We-

sley Longman Limited, Essex, 1996.

[48] Liu, J., Wu, J. in Panda, D. K.: High performance RDMA-based MPI imple-

mentation over InfiniBand. Int. J. Parallel Programming, 32(3):167–198, June

2004.

[49] Loncharich, R. in Brooks, B.: The effects of truncating long-range forces on

protein dynamics. Proteins: Struct. Funct. Genet, 6:32–45, 1989.

[50] Mattson, T. G.: Parallel computing. V Mattson, T. G., urednik, Parallel

Computing in Computation Chemistry, strani 1–15. American Chemical Society,

1995.

[51] Moreland, K. in Angel, E.: The FFT on a GPU. V Proceedings of the ACM

SIGGRAPH/EUROGRAPHICS conference on Graphics hardware. ACM, 2003.

[52] Narumi, T.: Special-purpose computer for molecular dynamics simulations.

Doctor’s thesis, University of Tokyo, 1998.

[53] Narumi, T., Kawai, A. in Koishi, T.: An 8.61 Tflop/s molecular dynamics

simulation for NaCl with a special-purpose computer: MDM. V Proceedings of

SuperComputing 2001, Denver, 2001. ACM.

[54] Narumi, T., Susukita, R., Ebisuzaki, T., McNiven, G. in Elmegreen, B.: Mo-

lecular dynamics machine: Special-purpose computer for molecular dynamics

simulations. Mol. Sim., 21:401–415, 1999.

[55] Pfalzner, S. in Gibbon, P.: Many-Body Tree Methods in Physics. Cambridge

University Press, Cambridge, 1996.

[56] Plimpton, S. J.: Fast parallel algorithms for short-range molecular dynamics.

J. Chem. Phys., 117(1):1–19, 1995.

[57] Plimpton, S. J. in Hendrickson, B. A.: A new parallel method for molecular-

dynamics simulation of macromolecular systems. J. Comp. Chem., 17:326–337,

1996.

Page 96: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

92 LITERATURA

[58] Plimpton, S. in Hendrickson, B.: Parallel molecular dynamics algorithms for

simulation of molecular systems. V Mattson, T. G., urednik, Parallel Computing

in Computational Chemistry, strani 114–132. American Chemical Society, 1995.

[59] Praprotnik, M. in Janezic, D.: Molecular dynamics integration and molecular

vibrational theory. II. Simulation of non-linear molecules. J. Chem. Phys.,

122:art. no. 174102, 2005.

[60] Praprotnik, M. in Janezic, D.: Molecular dynamics integration and molecular

vibrational theory. III. The IR spectrum of water. J. Chem. Phys., 122:art.

no. 174103, 2005.

[61] Reschke, C., Sterling, T., Ridge, D., Savarese, D., Becker, D. J. in Merkey, P.:

A design study of alternative network topologies for the beowulf parallel wor-

kstation. V Proceedings of the Fifth IEEE International Symposium on High

Performance Distributed Computing, strani 626–636. IEEE, 1996.

[62] Shu, J. W., Wang, B., Chen, M., Wang, J. Z. in Zheng, W. M.: Optimization

techniques for parallel force-decomposition algorithm in molecular dynamic si-

mulations. Comput. Phys. Comm., 154(2):121–130, August 2003.

[63] Snir, M.: A note on n-body computations with cutoffs. Theory Comput. Sy-

stems, 37:295–318, 2004.

[64] Snir, M.: A note on N-body computation with cutoffs. Technical report, IBM

T. J. Watson Research Center, 2001.

[65] Spector, D. H. M.: Building Linux Clusters: Scaling Linux for Scientific and

Enterprise Applications. O’Reilly & Associates, Sebastopol, CA, 2000.

[66] Sterling, T., Becker, D. J. in Savarese, D.: Beowulf: A parallel workstation

for scientific computation. V Proceedings, 24th International Conference on

Parallel Processing, volume 1, strani 11–14, 1995.

[67] Sunderam, V. S.: PVM: A framework for parallel distributed computing. Con-

currency: practice and experience, 2(4):315–339, 1990.

[68] Taiji, M., Narumi, T., Ohno, Y., Futatsugi, N., Suenaga, A., Takada, N. in

Konagaya, A.: Protein explorer: A Petaflops special-purpose computer system

for molecular dynamics simulations. V Proceedings of SuperComputing 2003,

Phoenix, 2003. ACM.

Page 97: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

LITERATURA 93

[69] Toukmaji, A. Y. in Jr., J. A. B.: Ewald summation techniques in perspective:

A survey. Comput. Phys. Comm., 95:73–92, 1996.

[70] Trobec, R.: Two-dimensional regular d-meshes. Parall. Comput., 26(13):1945–

1953, December 2000.

[71] Trobec, R., Jerebic, I. in Janezic, D.: Parallel algorithm for molecular dynamics

integration. Parallel Computing, 19(9):1029–1039, 1993.

[72] Trobec, R., Sterk, M., Praprotnik, M. in Janezic, D.: Implementation and

evaluation of MPI-based parallel MD program. Int. J. Quant. Chem., 84(1):23–

31, 2001.

[73] Geijn, R. A. van de: LAPACK working note 29 on global combine operations.

Technical Report CS-91-129, University of Tennessee, April 1991.

[74] Gunsteren, W. F. van in Berendsen, H. J. C.: Computer simulation of molecular

dynamics: Methodology, applications, and perspectives in chemistry. Angew.

Chem. Int. Ed, 29(9):992–1023, 1990.

[75] Windemuth, A.: Advanced algorithms for molecular dynamics simulation.

V Mattson, T. G., urednik, Parallel Computing in Computational Chemistry,

strani 151–169. American Chemical Society, 1995.

Page 98: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

94

Page 99: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Tabela oznak

ai Atom i.

Ap Mnozica atomov, za katere je procesor p domaci procesor (enacba 2.9,

str. 34).

B Mnozica blokov.

|B| Stevilo blokov.

bi Blok i.

bi × bj Vektorski produkt dveh blokov; vsebuje interakcije med atomi dveh blokov.

B Preslikava atomov na bloke; porazdeli atome v bloke (enacba 2.3, str. 34).

B Preslikava procesorjev na produkte blokov (enacba 2.5, str. 34).

B−1 Preslikava produktov blokov na procesorje (enacba 2.5, str. 34); pri metodi

DDFD je dopolnjena v preslikavo interakcije para atomov na procesor, ki

to interakcije racuna (enacba 2.10, str. 38).

∆p Neuravnotezenost procesorja p; izraza razliko med racunskim bremenom

procesorja in povprecnim racunskim bremenom (enacba 3.16, str. 59).

E Vzporedna ucinkovitost oz. ucinkovitost vzporednega racunanja (str. 24).

~fi Celotna sila, ki deluje na i-ti atom (enacba 2.1, str. 32).

~fij Sila, ki nastane na i-tem atomov zaradi interakcij z j-tem atom; je delna

sila celotne sile ~fi (enacba 2.1, str. 32).

l Zakasnitev prenosa enega sporocila.

N Stevilo atomov v molekulskem sistemu.

nb Stevilo vseh neveznih interakcij (str. 59).

nbp Stevilo neveznih interakcij, ki jih racuna procesor p (str. 55).

95

Page 100: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

nbeq Stevilo neveznih interakcij v diagonalnih produktih blokov (enacba 3.12,

str. 59).

nbneq Stevilo neveznih interakcij v produktih blokov pod diagonalo (enacba 3.12,

str. 59).

nbeqp Stevilo neveznih interakcij, ki so porazdeljene iz diagonale in jih racuna

procesor p (enacba 3.14, str. 59).

nbneqp Stevilo neveznih interakcij, ki jih racuna procesor p in niso z diagonale

(enacba 3.13, str. 59).

nu faktor neuravnotezenosti (enacba 3.4, str. 55).

P Mnozica procesorjev.

|P | Stevilo procesorjev.

P Preslikava atomov na procesorje; atomu priredi domaci procesor, ki zanj

integrira gibalne enacbe (enacba 2.7, str. 34).

Pb Procesorji, ki imajo podatke atomov bloka b (enacba 2.6, str. 34).

~ri Koordinate i-tega atoma (enacba 1.1, str. 15).

r Razdalja med dvema atomoma.

rcutoff Razdalje cut-off (str. 18).

s Hitrost prenosa sporocila.

S Pohitritev vzporednega racunanja (enacba 1.5, str. 24).

T Cas racunanja na enem procesorju (str. 24).

Tp Cas vzporednega racunanja na vecih procesorjih (str. 24).

tkorak Cas izracuna enega celotnega koraka simulacije molekulske dinamike brez

uravnotezenja (enacba 3.1, str. 53).

t′korak Cas izracuna enega celotnega koraka simulacije molekulske dinamike pri

dinamicnem uravnotezeneju (enacba 3.6, str. 56).

tb Cas racunanja ene vezne interakcije (enacba 3.2, str. 54).

tnb Cas racunanja ene nevezne interakcije (enacba 3.2, str. 54).

V (~rN ) Potencial celotnega sistema v odvisnosti od koordinat vseh atomov

(enacba 1.2, str. 16).

96

Page 101: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Stvarno kazalo

Amdahlov zakon, glej zakon

cut-off, 18, 26–28, 36, 50, 51, 57, 67

DDFD, 37, 44, 57, 61, 67, 68

delitev sil, 27, 31, 36, 37, 66, 77

delitev sil s porazdelitvijo diagonale, glej

DDFD

dihedralni kot, 15

domaci atom, 29, 34–36, 67

domaci procesor, 34, 36, 41, 67

drevesna metoda, 19, 20

elektrostatska interakcija, glej interakcija

faktor neuravnotezenosti, 55

FDM, 69

gibalna enacba, 14, 27

gruca, 12, 13, 62, 64, 65, 69, 72, 73, 77

interakcija

dihedralni kot, 16, 41, 42

elektrostatska, 16, 66

kot, 16, 41, 42

nepravi diheralni kot, 42

nevezna, 16–18, 32, 41, 50, 54, 58, 59

van der Waalsova, 16, 18, 66, 80

vez, 15, 41

vezna, 16, 17, 41, 50, 54, 67

kolektivna operacija, glej globalna ope-

racija

komunikacijski cas, 25, 31, 45

korak simulacije, 15, 25, 28, 42, 44, 53,

55, 66

kot, 15

dihedralni, glej dihedralni kot

matrika sil, 27, 31–33, 36–38, 50, 66

MDGRAPE-II, 66, 77

metoda

drevesna, glej drevesna metoda

hitrih multipolov, 20, 21

mrezno stikalo, 13, 14, 65, 69, 71, 72, 75

neuravnotezenost, 26, 27, 49–51, 53, 55

faktor, glej faktor neuravnotezenosti

nevezna interakcija, glej interakcija

obremenitev, 28

racunska, 49–51, 55

oddajanje sirot, 42

operacija

globalna, 28, 42, 44, 45, 71, 75

lokalna, 44, 45, 69

pasovna sirina, 70

pohitritev racunanja, 24, 25

polje sil, 15

pomnilnik

porazadeljeni, 69

porazdeljen, 12, 13, 61

skupni, 11, 13

porazdeljena globalna vsota, 28, 29, 42,

44, 45, 53, 62

97

Page 102: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

98 STVARNO KAZALO

porazdeljeno globalno oddajanje, 28, 29,

42, 44, 45, 53, 62

potencial, 15

elektrostatski, 16–18

kotni, 16

Lennard-Jones, 16–18

torzijski, 16

vezni, 16

prenos sporocil, 12

procesor

vecjedrni, 13

prostorska delitev, 26

racunalnik

multiprocesorski, 12, 71

NUMA, 12

replicirani podatki, 26, 28, 62, 69, 77

sirota, 42, 67, 68

oddajanje, glej oddajanje sirot

zbiranje, glej zbiranje sirot

skupek, glej gruca

skupni pomnilnik, glej pomnilnik

stikalo, glej mrezno stikalo

tockovna povezava, 13, 62, 64

topologija, 13, 14, 61

2-D mreza, 14

hiperkocka, 14, 62, 64, 65

polni graf, 64

torus, 64

uravnotezenje, 56–58

urnik prenosov, 45, 47, 72, 75

usmerjevalna tabela, 70, 74, 75

van der Waalsova interakcija, glej inte-

rakcija

vez, 15

vezna interakcija, glej interakcija

VRANA, 62, 64–66, 77

vzporedna ucinkovitost, 24, 26, 38, 44,

49, 72

zahtevnost

komunikacijska, 45, 67

prostorska, 69

zakon

Amdahlov, 25

zbiranje sirot, 42

Page 103: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Doktorska disertacija z naslovom Vzporedne racunalniske simulacije na grucah oseb-

nih racunalnikov je v celoti rezultat mojega dela pod mentorstvom prof. dr. Boruta

Robica in univ. znan. svet. dr. Dusanke Janezic. Vsi dosezki, na katerih sem gradil,

so dosledno oznaceni z navedbo virov literature.

Urban Borstnik

99

Page 104: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem
Page 105: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

Objave iz doktorskega dela

Problematika celotne disertacije je v sledecih objavljenih clankih, clankih, poslanih

v objavo in clankih v pripravi:

1. Hodoscek, M., Borstnik, U. in Janezic, D.: CROW for Large Scale Macromo-

lecular Simulations. Cell. Mol. Biol. Lett., 7(1):118–119, 2002.

2. Borstnik, U., Hodoscek, M. in Janezic, D.: Specialized network topologies for

efficient communication in computer clusters V User opportunities/network

challenges: TERENA networking conference and CARNet users’ conference

2003.

3. Borstnik, U., Hodoscek, M. in Janezic, D.: Improving the performance of

molecular dynamics simulations on parallel clusters. J. Chem. Inf. Comput.

Sci., 44(2):359–364, 2004.

4. Borstnik, U., Hodoscek, M. in Janezic, D.: Fast parallel molecular simulations.

Croat. Chem. Acta, 78(2):211–216, 2005.

5. Borstnik, U. in Janezic, D.: Symplectic molecular dynamics simulations on

specially designed parallel computers. J. Chem. Inf. Model., 45(6):1600–1604,

2005.

6. Janezic, D. in Borstnik, U. Large-scale molecular dynamics simulations on

parallel clusters. V Vajterisic, M. in dr., ur., Parallel numerics ’05: Theory

and applications, str. 223–231, University of Salzburg, Salzburg, Jozef Stefan

Institute, Ljubljana, 2005.

7. Borstnik, U., Hodoscek, M., Janezic, D. in Lukovits, I.: Electronic structure of

zig-zag and armchair nanotubes obtained by density functional calculations.

Chem. Phys. Lett., 411(4–6):384–388, 2005.

8. Dolenc, J., Borstnik, U., Hodoscek, M., Koller, J. in Janezic, D.: An ab

initio QM/MM study of the conformational stability of complexes formed by

101

Page 106: Vzporedne raˇcunalniˇske simulacije na gruˇcah osebnih ...eprints.fri.uni-lj.si/710/1/borstnik.pdf · kaj novega nauˇcil, ˇcetudi so bili izidi proti mojim priˇcakovanjem

netropsin and dna. the importance of van der waals interactions and hydrogen

bonding. J. Mol. Struct., Theochem, 718:77–85, 2005.

9. Trobec R., Borstnik, U. in Janezic, D. Communication performance of d-

meshes in molecular dynamics simulation. J. Math. Chem., 2007, Poslano v

objavo.

10. Kutnar, K., Borstnik, U., Marusic, D. in Janezic, D. Interconnection networks

for parallel molecular dynamics simulation based on hamiltonian cubic sym-

metric topology. J. Math. Chem., 2007, Poslano v objavo.

11. Borstnik, U., Brooks, B.R. in Janezic, D.: Distributed diagonal force decom-

position method. I. Description of the method. Pripravljeno za objavo v

J. Comp. Chem.

12. Borstnik, U., Miller, T., Brooks, B.R. in Janezic, D.: Distributed diagonal

force decomposition method. II. Force decomposition machine. Pripravljeno

za objavo v J. Comp. Chem.