Vzporedni in porazdeljeni sistemi in algoritmi: Vaje

Podobni dokumenti
Uporaba informacijsko komunikacijske tehnologije v naravoslovju in tehniki

Diapozitiv 1

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Si.mobil Si.most Najkrajša pot do vaših strank. Ljubljana,

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Slide 1

Vgrajeni sistemi Uvod & ponovitev C

PowerPointova predstavitev

Macoma katalog copy

Slide 1

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Chapter 1

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

DSI 2019

Elektronska pošta

Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Porazdeljeni sistemi Distributed systems Študijski program in stopn

Uporaba informacijsko komunikacijske tehnologije v naravoslovju in tehniki

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

Microsoft Word - CNC obdelava kazalo vsebine.doc

TNUV Lab

Uradni list RS - 12(71)/2005, Mednarodne pogodbe

Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan

Navodilo za uporabo dokumenta Dokument vsebuje 35 vzorčnih vprašanj za ustni izpit pri 2. predmetu poklicne mature v programu Tehnik računalništva. Vs

Mere kompleksnih mrež (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

Navodila za uporabo Mini snemalnik

Microsoft Word - CN-BTU4 Quick Guide_SI

Nameščanje Adopt Open Java Development Kit 8

PowerPointova predstavitev

Nameščanje Adopt Open Java Development Kit 8

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Microsoft Word - M docx

TNUV Lab5

EVROPSKA KOMISIJA Bruselj, C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne o vzpostavitvi začasnega neposrednega stati

DES

Delavnica Načrtovanje digitalnih vezij

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Vedno pod nadzorom, kjerkoli že ste

CODEKS IP KAMERA

Slajd 1

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.:

Microsoft Word - avd_vaje_ars1_1.doc

APS1

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Microsoft PowerPoint - ales_casar_v5.ppt [Samo za branje]

Microsoft PowerPoint - Objekti_gradnja.ppt

VAJE RID 1 (4), program PTI, šol

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

innbox_f60_navodila.indd

Microsoft Word - M docx

Oblikovanje in razvijanje spletnih strani

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi

PowerPoint Presentation

Okolje SupportAssist OS Recovery Navodila za uporabo

Izdelava spletnih aplikacij z ogrodjem Angular

Delavnica Načrtovanje digitalnih vezij

Poročanje izdanih računov pri gotovinskem poslovanju

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Milan Gabor Analiza varnostnih tveganj v mobilnih aplikacijah na platfor

Delavnica Načrtovanje digitalnih vezij

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Microsoft Word Navodila za povezavo naprave v oblak_SLO

PowerPoint Presentation

Strojna oprema

INFORMATOR BIROKRAT 1/2011

DES

Spoznajmo PowerPoint 2013

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu Program za računanje Maturitetna seminarska naloga iz informatike Kandidat:

PowerPoint Presentation

Komisija za študijske zadeve UL Medicinske fakultete Vrazov trg 2 SI-1000 Ljubljana E: T: Režim študija Predmet: Uvod

glava.dvi

Base NET.cdr

10. Meritev šumnega števila ojačevalnika Vsako radijsko zvezo načrtujemo za zahtevano razmerje signal/šum. Šum ima vsaj dva izvora: naravni šum T A, k

PowerPointova predstavitev

Microsoft PowerPoint - Java_spremenljivke

PowerPoint Presentation

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id

predstavitev fakultete za matematiko 2017 A

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n

Microsoft Word - NAVODILA ZA UPORABO.docx

Microsoft Word - UP_Lekcija04_2014.docx

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

UPS naprave Socomec Netys PL (Plug in) UPS naprava Socomec Netys PL moč: 600VA/360W; tehnologija: off-line delovanje; vhod: 1-fazni šuko 230VAC; izhod

Številka:

ENERGETSKO UPRAVLJANJE STAVB

Teorija kodiranja in kriptografija 2013/ AES

NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

Flow

Microsoft Word - P-5_specifikacije.doc

Microsoft PowerPoint - NDES_8_USB_LIN.ppt

Sledilna ploščica in tipkovnica Uporabniški priročnik

PowerPoint Presentation

Transkripcija:

Vzporedni in porazdeljeni sistemi in algoritmi: Vaje MPI PREDAVATELJ: PATRICIO BULIĆ ASISTENT: DAVOR SLUGA

MPI Message Passing Interface Standard za medprocesno komunikacijo v paralelnih računalnikih in gručah Specifikacija za razvijalce in uporabnike, ne gre za točno določeno knjižnico Podpora za C, C++ in Fortran Različne implementacije OpenMPI, MPICH, Intel MPI, Microsoft MPI,

Razlogi za uporabo Razlogi za uporabo MPI Zrel in dobro razumljen produkt (prva specifikacija iz leta 1992) Dobro prilagojen na strojno in programsko opremo računalniških gruč Podprt s standardom Prenosljiv na nivoju kode Množica uporabnih funkcij v knjižnicah

Kaj nam ponuja Kaj nam ponuja? Komunikacija točka-točka Strukturirana sporočila, lahko z lastnimi podatkovnimi tipi Režimi Sinhronizacija Predpomnenje Skupinska komunikacija Vgrajene operacije in operacije, ki jih definira uporabnik Množica funkcij za prenos podatkov Definiranje podskupin Topologija je lahko prilagojena aplikaciji Spremljanje delovanja Možnost za opazovanje sistema z različnimi orodji

Osnove delovanja Uporabnik poskrbi, da ima vsak proces dostop do izvršilne datoteke, vhodnih datotek in izhodnih datotek; dve rešitvi: dostop do mrežnih virov (network share) oz. porazdeljen datotečni sistem kopiranje datotek na vozlišča in nazaj Procesi morajo imeti pravico, da se zaženejo preko mreže (izklopljen ali ustrezno nastavljen požarni zid) ; S klicem ukaza mpiexec (mpirun) vsak proces začne izvajati svoj program - običajno je program en sam; Za različne funkcionalnosti programa na različnih procesih poskrbimo z vejitvami na podlagi oznake procesa

MPI osnovni ukazi Inicilizacija MPI okolja, MPI_Init(&argc, &argv); Pred to funkcijo ne kličemo nobenih MPI funkcij Zapiranje povezav MPI_Finalize(); Za to funkcijo ne kličemo nobenih MPI funkcij Število procesov, ki se izvajajo MPI_Comm_size(MPI_COMM_WORLD,&num_of_processes); komunikator MPI_COMM_WORLD Skupina procesov, ki si izmenjuje sporočila Rank oz. identifikator procesa zaporedna števila [0, num_of_processes-1] MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

MPI osnovni ukazi Pošiljanje sporočila MPI_Send(void *message, int count, MPI_Datatype, int destination, int tag, MPI_Comm communicator); Sprejemanje sporočila MPI_Recv(void *message, int count, MPI_Datatype, int source, int tag, MPI_Comm communicator, MPI_Status *status);

MPI in NSC Nameščena knjižnica OpenMPI Prevajanje in zaganjanje na NSC module load mpi mpicc <vhodna_datoteka.c> -o <izhodna_datoteka> salloc n<stevilo procesov> --reservation=fri mpirun np <stevilo_procesov>./<izhodna_datoteka> Na NSC imamo porazdeljen datotečni system (ceph) Vsa vozlišča vidijo datoteke v vašem domačem direktoriju

Skupinska komunikacija Sinhronizacija MPI_Barrier(MPI_comm comm) Prepreka, s katero zahtevamo, da se vsi procesi počakajo Izvajanje programa za MPI_Barrier se nadaljuje šele potem, ko MPI_Barrier dosežejo vsi procesi Klic funkcije MPI_Barrier morajo izvesti vsi procesi v komunikatorju

Skupinska komunikacija Oddajanje (broadcast) MPI_Bcast(void* buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm) Pošiljanje sporočila s procesa z identifikatorjem root vsem ostalim procesom v komunikatorju root označuje korenski proces Za korenski proces je polje buf vhodni parameter, pri vseh ostalih procesih pa izhodni parameter Vsi ostali procesi morajo tudi klicati MPI_Bcast, pri čemer je z argumentom root naveden korenski proces

Skupinska komunikacija Raztros MPI_Scatter(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm);

Skupinska komunikacija Zbiranje MPI_Gather(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm);