Scientific applications in distributed systems

Like dokumenter
Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

CORBA Component Model (CCM)

Distributed object architecture

CORBA Objektmodell (Java RMI)

MPIntroduksjon Et eksempel

Jini. Gruppe 1 Martin Skarsaune Bjørn Arne Dybvik Cuong Huu Truong. Definisjon

UNIVERSITETET I OSLO

Distributed object architecture

Tillatte hjelpemidler: alle skrevne og trykte. Antall sider: 2 (+ 1 side vedlegg, bakerst). Oppgave 1 [25%]

Distribuerte objekter og objekt-basert mellomvare

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005,

UNIVERSITETET I OSLO

Operativsystemer og grensesnitt

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

OpenCOM. Del av et forskningsprosjekt ved Lancaster University, UK

Læringsmål for forelesningen

1.8 Binære tal DØME. Vi skal no lære å omsetje tal mellom totalssystemet og titalssystemet.

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Distributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter

Utfordringer til mellomvare: Multimedia

RM-ODP og Multimedia middleware (M3W):

DCOM. 21. oktober Mai et al. Hva er egentlig en komponent?

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I)

2. HVA ER EN KOMPONENT?

Emnebeskrivelse og emneinnhold

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

UNIVERSITETET I OSLO

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006,

Vedlikehold og gjenbruk

Kontinuasjonseksamen TFY4215/FY1006 Innføring i kvantemekanikk august 2013

Komponentbasert Systemutvikling - Hva, Hvorfor, Hvordan

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven Prosessdokumentasjon - Alternativ 1

Distribuert ObjektArkitektur. Faglærer : Tom Røise. IMT3102 Objektorientert systemutvikling 1. OOSU 11.nov 2010

Kravspesifikasjon MetaView

Appkatalog og Software Center

IN2000. Gjennomgang av tekniske oppgaver på prøveeksamen. Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 5609 OBJEKTORIENTERT PROGRAMMERING

Implementering av caching ved hjelp av Spring. Christian Vestøl

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte

Kapittel 8: Programutvikling

Fakultet for informasjonsteknologi,

Rettleiing del 3. Oppfølging av. resultata frå. nasjonal prøve i rekning. 8. steget

MAT-INF 1100: Obligatorisk oppgave 1

Erfaringar med numeriske metodar i matematikk-undervisinga for dataingeniørstudentar. Haugesund, 5. juni 2018

Eksamen matematikk S1 løysing

Kapittel 7: Mer om arv

Generelt om operativsystemer

Her skal du lære å programmere micro:biten slik at du kan spele stein, saks, papir med den eller mot den.

Matematikk 1, MX130SKR-B

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Simulering i IN229. INF2340 Våren 2004 Oversikt over innhold. Del 2: Endelige differanser. Del 1: MyVector. Del 3: ODESolver. Del 4: Bølgeligning

Rammeverk for lokalt gitt skriftleg eksamen

Å løyse kvadratiske likningar

FAG: Matematikk TRINN: 10

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon

Model Driven Architecture (MDA) Interpretasjon og kritikk

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Eksamen REA3015 Informasjonsteknologi 2. Nynorsk/Bokmål

Introduksjon til kurset og dets innhold

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

)*+!,*- ".%! /01 & 2 01 &!

Software installasjon og andre ettertanker

Objektorientert programmering av vassdragselement. Jostein Orvedal Sognekraft AS

Årsplan Matematikk 8. trinn

Eksamen 2P MAT1015 Hausten 2012 Løysing

Presentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

A Study of Industrial, Component-Based Development, Ericsson

Fusjonsprogrammet for Høgskulen på Vestlandet

Det er tomt for IP-adresser...kva no?

Eksamen REA3026 Matematikk S1. Nynorsk/Bokmål

Vi skal få til meir! STRATEGI

Innlevering 2b i INF2810, vår 2017

Rettleiing. Nasjonale prøver i rekning for 5. trinn. Versjon: juli 2010, nynorsk

ORDINÆR EKSAMEN Sensur faller innen

Matematikk 1000, 2012/2013. Eksamensaktuelle numerikk-oppgåver

HALVÅRSPLAN/ÅRSPLAN. Fag: Matte. Klasse: 9 Klasse 2017/2018. Rand Dyrseth, Geir Bø, Frode Småmo. Periode Kompetansemål Innhold Arbeidsmåte Vurdering

ÅRSPLAN I MATEMATIKK FOR 5. KLASSE, SKULEÅRET 2015/2016

Komponentteknologi for Distribuert Media Journalering. Roger Werner Olsen Instituttet for informatikk Universitetet i Oslo

Velkommen til. INF våren 2017

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem

Eksamen S1 Va ren 2014

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

Faktor terminprøve i matematikk for 10. trinn

Utfordringer til mellomvare: Multimedia

Matematikk, ungdomstrinn 8-10

Eksamen REA3026 Matematikk S1

Hvorfor objektorientert programmering?

INF Seminaroppgaver til uke 3

Web Services. Olav Lysne

Evaluering av brukskvalitet for et Web-grensesnitt

Lotteri- og stiftingstilsynet

Transkript:

Scientific applications in distributed systems Kenneth Pedersen Kjetil Pedersen 11. desember 2001 http://faerun.dhs.org/project/

Vårt fokus Løyse numeriske problem ved hjelp av distribuerte system.

Numeriske problem Numeriske problem er matematiske problem som er for vanskelige til å kunne løysast analytisk. Dei blir løyst ved å dele problemet opp i små bitar og gjere tilnærmingar for kvar del. For å løyse numeriske problem treng ein ofte svært mykje reknekraft.

Distribuerte system Eit distribuert system består av to eller fleire uavhengige datamaskiner som jobbar sammen som ei integert eining. Eksempel: SETI@Home Beowulf Amoeba

Finitte elementers metode (FEM) Numerisk metode for å løyse randverdiproblem, dvs. problem definert ved differensialligningar og tilhøyrande radverdiar. Problemdomenet blir delt opp i små delar (finitte element), og tilnærmingar blir deretter utført for kvart element.

Finitte elementers metode, forts. Eksempel: Kuba blir delt inn i fire element. Kvart element er forma som eit tetraeder.

Implementere FEM (serielt) 1. Lese inn data Geometri Randverdiar Andre data 2. Utfør beregning for kvart element, kvar side eller kvart punkt 3. Samle inn data og presentere resultat

Implementere FEM (parallelt) 1. Les inn data 2. Del opp data vha. partisjonsalgoritme, og send til alle prosessar i systemet 3. For kvar prosess, utfør beregning. Ved bestemte punkt i utregninga, oppdater data mellom prosessar 4. Når alle prosessar er ferdige, samle data og presenter resultat

Vår oppgåve Evaluere fire ulike måtar å kommunisere på i distribuerte FEM-solverar Biblioteka MPI OOMPI CORBA og rammeverket OODFEM Med hensyn til Brukbarheit Effektivitet

Evaluering Implementere ei løysing på eit enkelt problem (arealutrekning) ved hjelp av kvar av dei fire metodane Samanlikne desse implementasjonane

Arealutrekning Programma reknar ut det totale overflatearealet av ein tredimensjonal trådmodell Utrekninga skjer element for element Dei elementflatene som ikkje har nabo blir teke med i det totale arealet

MPI MPI: Message Passing Interface Standard for meldingsoverføring Kan brukast med både C/C++ og FORTRAN Inneheld funksjonalitet for sending og mottak av meldingar og for synkronisering av prosessar Utgitt av the MPI Forum, den første versjonen kom i 1992

OOMPI OOMPI: Object-Oriented MPI Objektorientert klassebibliotek bygd på MPI som gir eit objektorientert grensesnitt til MPIfunksjonaliteten Dekker all funksjonalitet som MPI tilbyr Skrive i C++, kan kun brukast frå C++ Hastigheitsreduksjonen når ein bruker OOMPI i forhold til å bruke MPI direkte er neglisjerbar

CORBA CORBA: Common Object Request Broker Architecture Standard for remote object calls ( fjernobjektkall ) utgitt av Object Management Group (OMG). Den første versjonen kom i 1991. Gjer det mogleg for program på ei datamaskin å kalle metodar til objekt som finst på ei anna datamaskin Tilbyr tilsvarande funksjonalitet som Java RMI og Microsofts DCOM.

OODFEM Framework Rammeverk for å utvikle FEM-solverar som blir utvikla ved IDI av Roxana Diaconescu. Tar seg av alle aspekt ved paralleliseringa av FEM-solveren automatisk. Gjer bruk av OOMPI og datapartisjonerings-biblioteket METIS

Resultat - brukbarheit Rammeverket var suverent best på brukbarheit Den mengda programkode som vi måtte skrive for å løyse problemet med rammeverket var berre 1/10 av den kodemengda vi måtte bruke med dei andre variantane CORBA-varianten var vanskeligast å lage

Resultat - effektivitet Rekkefølge 1. MPI 2. OOMPI 3. CORBA 4. OODFEM-rammeverket Forskjellen mellom MPI og OOMPI, og mellom CORBA og rammeverket, var liten. Forskjellen i effektivitet mellom MPI og OODFEM var på ca. 5,5% med ei testfil, og på ca. 27% med ei 2,5 gangar større testfil.

Konklusjon Når ein bruker OODFEM-rammeverket vil det resulterande systemet vere mindre effektivt enn når ein spesiallagar ei løysing basert på eit generelt kommunikasjonsbibliotek Denne forskjellen er likevel såpass liten at rammeverket vil vere ei god løysing. Dette er på grunn av at det er så mykje raskare og enklare å implementere løysingar med rammeverket