Orkestrering af distribuerede systemer over store datamængder



Relaterede dokumenter
Sådan sætter du et dokument op med billeder i Microsoft Word (2003)

Producenter. f i a s c o. Abruzzo. fiasco.dk/botega /procucenter. Forside Vin Delikatesser Producenter Månedskasse

Overskrift evt. 2. linje 3. linje

ARKEN. Kunstudstilling. Asger Jorn. Tina V. Overgaard. Arken. Banner

Dolor Set Amet. Bogtitel

Øvrige lodrette bjælker er altid en XX% af hvid og/eller afsenderens. logofarve. Afsendervirksomhed Evt. afdeling. Overskrift 2.

fiasco.dk f i a s c o

[ Redigér ] MENU. aperitivo

Grafisk design / Frederik Aaen / Portfolio H2 GRAFISK WORKFLOW

DESIGN- OG BRANDMANUAL INTRODUKTION BRANDPLATFORM DESIGNPROGRAM

Designmanual. Revideret 11. april 2008

Hjemmesideoptimering/synlighed

IT og kommunika,on. Lek,on 2 Gistrup Skole Forår Søren Eskildsen

RESPONSIVE DESIGN. Fleksibelt, platformuafhængigt webdesign. Frank Thomsen & Toke Fritzemeier Efterår 2012

Hele SAS Danmark sendt til krisehjælp efter flysabotage

Ny BIPS IKT- a,ale. BIPS konferencen September Bips IKT- a+ale, BIPS konference 14. September 2015

!"#$%&'(&)*+&,-,&-% - alle er velkomne

DESIGNGUIDE Sektion A

MAGAZINES & PUBLICATIONS DIMENSIONS PRODUCT SHEET

Edinburgh Photographic Society

navn / logo Navnet Green Cosmetics er valgt fordi det signalerer naturlighed, miljøbevidsthed, nytænkning og håb.

Lejre Kommunes designprogram

BROCHURE TYPE 3 Brochureformat til brug for institutioner og hovedområder i Region Nordjylland

Tips og tricks Billeder Topfrise Topfrisen kan udskiftes. Topfrisen er knyttet til de enkelte mapper i strukturen. Ændres topfrisen, slår det igennem

DESIGNGUIDE SEKTION A

Lejemålet vil kunne blive istandsat af udlejer inden overtagelse, i samråd med den nye lejer.

BRUGER- OG PATIENTBROCHURER For Sundhed og Sygehuse og Specialsektoren i Region Nordjylland

BROCHURE TYPE 1 Brochureformat til brug for institutioner og hovedområder i Region Nordjylland

GIS og svæveflyvning. Hans Jensen, Jens Jensen, Hanne Hansen og Bente Hansen

Haderslev Kommune. Designguide

Ryan Air vandt krigen om søtransport

Chromogene medier. Enzymatiske analyser. Real time PCR. Designprincipper for FOOD DIAGNOSTICS

Reduktion af tryktab på HVAC-anlæg, renovering og nyanlæg

NoDomain Designmanual Version juni 2013

BOGKORT VEJLEDNING TJEKLISTE FØR DU GÅR I GANG

McAfee - Arrow ECS Generelt design & Network Security

Egedal Kommunes Logo- og designmanual

DESIGNGUIDE. Overskrift. Assens Kommune designguide. Primært logo

Roskilde. Avis. Kinesisk Stjerne På Stændertorvet

Designmanual 2,0. Velkommen til Energiakademiet nye grafiske profil. Installer skrifttypen Din pro.

Dokumentation af optagelse.dk. Dato Version Udarbejdet af Godkendt af Ændringsbeskrivel se BBJ CLFR Officiel version 1(Release 21)

Designguide REGION NORDJYLLAND

Fælles visuelt univers for regionens større byggeprojekter. RegionH Design

BørnSulter. Update. Barmhjertighed. godhed. Beloved Children Home. Oktober2013. Retfærdighed

TÅRNBY KOMMUNE TÅRNBY KOMMUNE

Gode råd om PowerPoint

Kage er godt. Kage er meget godt

Informationsmøder om FSIII, Region Midtjylland. 10. november 2015

BMW. BMW RED.indd :33:12

Redesign af websitet CPH Fashion Pool

GRAFISK - WORKFLOW HJEMMESIDE TIL ABITO;50

UNIVERSITY COLLEGE SJÆLLAND DESIGNGUIDE VERSION 1.01

ARBEJDSMILJØKAMPAGNE TJEK APPETIT PÅ APV GRATIS TILBUD: TEMAMØDER OG KURSER. TJEK Gør APV nyt, nemt og nyttigt. arbejdsmiljøkøbenhavn

Designmanual // Logo

Anvendelse af manualen

Erfa Inventar Produktkatalog 2014

Open space aarhus Visuel identitet

DESIGNGUIDE. Sektion A

NYE MÅL NY BRANDING. Det er forskningen, uddannelserne, videnudvekslingen og talentudviklingen, der skal bære brandet.

1 Konceptbeskrivelse

Statens Naturhistoriske Museum

Fase 1 Fase 2 Fase 3

Grafisk produktionsforståelse

Ledelse af frivillige

Designguide Juni 2018

Anvendelse af manualen

Denne guide skal give jer viden om, hvad SkabelonDesign skal bruge for at kunne udvikle en kompleks skabelon til PowerPoint.

Ledelse og hvervning af frivillige

portfolio / 19 By Berglind Jonsdottir

Hjemmeværnet Designmanual VERsion 2,0

Jesper Holm of Copenhagen. COP ENHAGEN est Designmanual 2011

SPONSOR KATALOG 2018

ARBEJDSMILJØKAMPAGNE CHANGE GRATIS TILBUD: TEMAMØDER OG KURSER. CHANGE 2014 Arbejdsmiljø i en forandringstid. arbejdsmiljøkøbenhavn

Overlevering af design. til skabelonudvikling i PowerPoint

ARBEJDSMILJØKAMPAGNE GRATIS TILBUD TIL ARBEJDSPLADSEN. BOUNCE udvikler robuste arbejdspladser. arbejdsmiljøkøbenhavn

Designguide Professionshøjskolen Absalon

Vordingborg Kommune. Designmanual

INDHOLD.

KÆRE DFUNK ER. Velkommen til vores designmanual! Her kan du lære DFUNK lidt bedre at kende. INDHOLDSFORTEGNELSE: Ide 3

ARBEJDSMILJØKAMPAGNE GRATIS TILBUD TIL ARBEJDSPLADSEN. BOUNCE udvikler robuste arbejdspladser. arbejdsmiljøkøbenhavn

REKLAME- OG WEBBUREAU

XML specifikation BIU = Bolig I Udlandet

Designguide. Til dig der arbejder med og for Børns Voksenvenner

SUND Designguide. Frederikssund. Det sunde liv i den sunde kommune

Malene Møller ( ) Grundlæggende grafisk design E2010 V. Ian Wisler-Poulsen IT-Universitetet

Børneulykkesfonden. Brandmanual

INDHOLDSFORTEGNELSE Løfte og kernefortælling Tone of voice Logo Grafisk element: Markør Farver Billeder Ikoner til illustration Skrifttyper Tal

BITCOIN OG BLOCKCHAIN. Jonas Lindstrøm Security Architect

ARBEJDSMILJØKAMPAGNE GRATIS TILBUD TIL ARBEJDSPLADSEN. BOUNCE udvikler robuste arbejdspladser. arbejdsmiljøkøbenhavn

BOGKORT VEJLEDNING TJEKLISTE FØR DU GÅR I GANG

Velkommen til State of Green

Formidlingskoncept Version 1.0. Januar 2013

TYPOGRAFI & OMBRYDNING SALGSMATERIALE TIL BLENSTRUP & BISGAARD

Hvad er en Kommuneplan?

R egion Ho veds taden 2011

Designmanual Sønderborg Kommune

Vordingborg Kommune. Designmanual

Formidlingskoncept Version 1.0. December 2012

3GØR DET SELV PROJEKTER GENBRUG FARVER BO MED DER GØR DIN BOLIG UNIK SÆSONENS MUTHAVES GULD HITTER ÅRETS FARVE

rivillig & ørtidspensionist?

Transkript:

Orkestrering af distribuerede systemer over store datamængder Jesper Marrup Kongens Lyngby 2013 IMM-M.Sc.-2013-???

Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45 45882673 reception@imm.dtu.dk www.imm.dtu.dk IMM-M.Sc.-2013-???

The goal of the thesis is to... Summary (English)

ii

Målet for denne afhandling er at... Summary (Danish)

iv

Preface This thesis was prepared at the department of Informatics and Mathematical Modelling at the Technical University of Denmark in fullment of the requirements for acquiring an M.Sc. in Informatics. The thesis deals with... The thesis consists of... Lyngby, 15-05-2013 Jesper Marrup

vi

I would like to thank my... Acknowledgements

viii

Contents Summary (English) Summary (Danish) Preface Acknowledgements i iii v vii 1 Introduction 1 2 KLAIM 3 2.1 Tuple spaces paradigmet....................... 4 2.2 Andre KLAIM implementationer................... 4 2.3 Forskellige subsets af KLAIM..................... 5 A Stu 9 References 11

x CONTENTS

Chapter 1 Introduction Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin metus nunc, viverra ac, gravida posuere, lobortis id, felis. Duis magna tortor, interdum porta, dignissim et, sollicitudin vitae, neque. Quisque placerat leo sit amet est. Donec sagittis metus in purus. Duis vehicula arcu in nisi. Suspendisse laoreet. Vivamus suscipit dui ullamcorper turpis. Fusce in neque. Duis malesuada dolor eu orci. Sed ornare, sem in consequat accumsan, tellus ligula ultrices purus, at feugiat lectus risus vel libero. Etiam lobortis. Proin adipiscing dolor in elit. Nam velit felis, adipiscing in, volutpat nec, fermentum a, massa. Praesent felis tortor, cursus nec, convallis ac, ornare vel, augue. Donec lacus neque, volutpat nec, ullamcorper quis, porta id, erat. Nulla molestie magna ut nulla. Sed pulvinar. Ut tincidunt laoreet odio. In nibh. Morbi ornare laoreet diam. Ut accumsan, mi eget scelerisque sollicitudin, urna nisi rutrum velit, et iaculis orci velit id lorem. Maecenas urna velit, egestas eget, scelerisque sed, dapibus eget, risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent tincidunt, nisl quis sollicitudin congue, justo erat tempor pede, sit amet eleifend diam massa vel diam. Nullam ornare volutpat urna. Morbi condimentum. Etiam scelerisque purus sit amet nulla. Vivamus luctus metus sit amet enim. Proin tincidunt enim non eros. Donec aliquet adipiscing risus. Suspendisse justo libero, consectetur sed, dictum id, viverra vel, pede. Aenean pretium nulla eget est. In sed nunc. Sed semper dui eu eros.

2 Introduction Integer mi. Vestibulum nec ipsum. Duis a mi vitae lacus elementum tempor. Vestibulum blandit sollicitudin erat. Quisque nec libero vitae turpis luctus cursus. In at diam. Morbi et massa. Mauris a erat. Cras blandit. Nullam nisi. Praesent gravida blandit arcu. Vivamus ornare, quam at pharetra placerat, libero augue laoreet purus, vel fringilla felis lacus consequat velit. Pellentesque malesuada. Ut velit tellus, ullamcorper in, scelerisque et, consectetur et, ipsum. Nulla elit. Proin tempor. Vivamus dapibus nisl lacinia tellus mollis venenatis. Aliquam porttitor ligula ac dolor. Aenean placerat mi eget odio. Etiam malesuada. Nam id neque. Vestibulum et nisi. Vestibulum sem enim, porttitor a, mollis quis, molestie eget, leo. Pellentesque vitae sapien in magna mollis fermentum. In eu tortor. In hac habitasse platea dictumst. Vivamus magna lacus, malesuada et, egestas eget, rhoncus et, massa. Nullam pellentesque massa. Proin non lorem eget lorem mollis volutpat. Integer pulvinar. Nulla facilisi. Cras quam. Integer tristique eros in nulla. Vestibulum massa neque, venenatis at, consequat sed, volutpat in, sem. Duis faucibus lorem vitae purus. Phasellus justo nunc, iaculis non, varius vel, pharetra a, neque. Nulla bibendum scelerisque lorem. Pellentesque viverra. Proin eu arcu. Mauris vitae massa. Phasellus dictum enim tempus lectus. Quisque interdum.

Chapter 2 KLAIM KLAIM anvendes til at modulere mobile agenter i et distribueret miljø. Valget for KLAIM's primitiver er stærkt påvirket af process algebra og Linda(reference). De mobile komponenter interagerer gennem multiple distribuerede tuplespaces. Kommunikationsmodellen med disse tuplespaces er asynkron og KLAIM har udvidet og bygget oven på modellen fra LINDA, hvilket betyder at basis operationerne i KLAIM er de samme som de originale fra LINDA. Man har udvidet kommunikationsmodellen i KLAIM - bla. ved at tilføje oplysninger om placeringen af noderne og ligeledes hvor processerne og tuplerne er allokeret. Et tuplespace er en kollektion af tupler, som kan blive tilgået samtidigt. En tuple kan blive læst, fjernet eller en ny tuples kan tilføjes til et tuple space. En tuple er anonym og består af en sekvens af informationselementer. Udtrækningen af en tuple fra et tuplespace sker vha. pattern-matching - hvilket uddybes i afsnit-blabla senere. Eksplisitte lokaliteter gør det muligt for programmøren at distribuere og hente data, og processer, til og fra noderne i et net. Ydermere er der mulighed for at strukturere tuple spaces som multiple lokaliserede områder. Desuden så er lokaliteter(localities) rst-class citizen 1, de kan blive oprettet dynamisk og kom- 1 Der ndes ikke dansk oversættelse, men rst-class citizen er en enhed der kan konstrueres under run-time og vidergives som en parameter, returneres fra en subrutine eller bliver overdraget til en variabel

4 KLAIM munikeret over netværket og håndteres via. avanceret scoping 2 regler. Som tidligere nævnt er inter-process kommunikationen asynkron, da forbruger og producenten af en tuple behøver ikke behøver at synkronisere. Oprindeligt anvendte man Linda modellen til parallel programmering på en enkelt maskine. Senere blev fortaleren, for at forbedre modulariteten, skalerbarheden og ydeevnen, nemlig multiple, distribuerede tuple spaces. 2.1 Tuple spaces paradigmet Populariteten af tuple spaces paradigmet har medført en række forskellige runtime systmer. Både industrielt og universielt, bla. kan der for industrien nævnes: SUN JavaSpaces IBM T Spaces og universielt bliver følgende run-time systemer anvendt: PageSpace WCL Lime TuCSon 2.2 Andre KLAIM implementationer Det er værd at nævne implementeringen KLAVA, hvilket er et Java bibliotek der indeholder KLAIM konstruktioner som Java klasser. X-Klaim er et programmeringssprog baseret på KLAIM og anvendes til at programmere distribuerede applikationer med objekt orienteret mobil kode. Det tillader udveksling af data og processor, samt programmering af mobile agenter til at udtrække informationer over et net. xklaim compileren producerer Java code ved at man inputter 2 Et scope er den kontekst inden for et computer program, hvor et variable navn eller en anden identier er gældende og kan blive anvendt

2.3 Forskellige subsets af KLAIM 5 et X-Klaim program til compileren, som så outputter et Java program som anvender Klava bilioteket. Ydermere består X-Klaim frameworket af en Java implementation af X-Klaim primitiverne - hvilket er bestående af en Java package. 2.3 Forskellige subsets af KLAIM Der ndes mange forskellige varianter af KLAIM, så for at give et overblik over KLAIMs mange muligheder vil de kort blive gennemgået. En mere avanceret gennemgang vi ske af netop det subset af KLAIM som jeg har tænkt mig at anvende. De forskellige implementeringer er: cklaim - Core KLAIM uklaim - Micro KLAIM KLAIM OPENKLAIM HOTKLAIM - Higher-Order Typed KLAIM O'KLAIM - object oriented KLAIM X-KLAIM - Extended KLAIM cklaim: kan ses som en variant af pi-calculus med process distribuering, process mobilitet og asynkron kommunikationsnavne gennem delte lokaliserede lagrer. cklaim er den simpleste version af KLAIM og den indeholder re forskellige basis operationer, kaldet actions: output, input, migration og creation. Operationen input(t) evaluerer tuplen T og søger efter en matchende tuple T' i tuple spacet. Når T' er fundet vil den blive fjernet fra TS. De tilhørende værdier af T' bliver tildelt til variablerne i T og operationen slutter. Output(t) operationen tilføjer tuple t til TS. Operationen Eval(t) tilføjer tuple t til TS, dog virker den ikke ligesom output(t) fordi når eval(t) tilføjer tuple t, så vil den samtidigt starte en process til at evaluere tuple t. Det er derfor ikke muligt at matche t før evalueringen er færdig. Den sidste operation gør det muligt at at lave en ny netværk node. Det ses at den sidste action ikke er indekseret med en adresse fordi den altid handler lokalt. Alle andre actions indikerer eksplicit lokationen hvor de skal udføres. Syntaksen for cklaim kan ses i table 2.1.

6 KLAIM N ::= NETS ::P single node l::<t> located datum N1 N2 net composition P ::= Process nil null process a.p action prexing P1 P2 parallel composition A process invocation a ::= Actions out(l')@l output in(t)@l action prexing eval(p)@l migration newloc(u) creation T ::= Templates l name!u formal Figure 2.1: cklaim syntax

2.3 Forskellige subsets af KLAIM 7 N ::= NETS T ::= F F,T Temp l::p single node F ::= f!x!u Temp Felter l::<et> lok. tuple t ::= f f, t Tuples N1 N2 net samm. f ::= e l u Tuple felter et ::= ef ef, et Eval. tuple a ::= Actions ef ::= V l Eval. tuplefelt out(t)@ l output e ::= V x... Udtryk in(t)@l input read(t)@l read eval(p)@l migration newloc(u) creation Figure 2.2: uklaim syntax µklaim: er en udbygning af cklaim, hvor man tilføjer tuples, patternmatching og en mulighed for at læse en tuple uden at fjerne den fra TS. En væsentlig forskel er som sagt at vi nu anvender tuples som er de overførbare objekter. Det kommer til udtryk ved man i de forskellige actions nu kan se at argumentet er et tuple - f.eks. er out(l')@l blevet til out(t)@l. Som tidligere nævnt består en tuple af sekvenser af aktuelle felter, hvor et felte kan indeholde et udtryk, lokaliteter eller lokalitets variabler. Der hvor en tuple er lagret kaldes et tuple space(ts). Der er ikke nogen præcis syntax for et udtryk(expression) e og vi antager at det mindst indeholder basis værdier af V eller variablen x. Templates er sekvenser af aktuelle og formelle felter og de anvendes som pattern til at vælge tuples i et TS. Man skriver et formelt felt som!x eller!u og de anvendes til at binde variabler til værdier. I uklaim kan processorne også læse tuples uden at fjerne dem fra tuple spacet vha. handlingen read(t)@l. I tuplespacet eksisterer der kun evaluerede tuples og templates skal evalueres før de kan udtrække tuples fra tuple-spacet. En template evalueres ved at man udregner værdien i den givne template og der sker ingen ændring for lokaliteter og formelle felter. Templates med variabler i aktuelle felter kan ikke blive evalueret. Eksempel Skriv et eksempel ind her.. Implementerede variant af KLAIM. - eksempel for linda communikation:

8 KLAIM Tuple (10, "hej",!x) - formal elds - actual elds Pattern matching: - formal elds matcher ethvert felt af den samme type. - aktuels matcher hvis de er identiske: ("foo", 10+5, true) mathcer (!s, 15,!b) En klaim node indholder re forskellige ting: - Navn (fysisk lokation) - Proccesser - Et Tuple space - Environment Et klaim net er samsat at ere klaim noder. En klaim process består af: P:== Nill a.p P1 P2 X A<P,l,e> a= out in read eval newloc t= f f,t f = e p l!x!x!u Transition labels, Structural congruence, Lokale regler, Globale regler, Tuple evaluering Matching reglerne,., - Udvidelse af Klaim til Open Klaim. Kan anvendes så tuples bliver enkrypteret.forøgelse af sikkerheden - Udvidelse af Pattern Matching algoritmen - Beskriv de forskellige former af Klaim. Hvad de vil gøre.

2.3 Forskellige subsets af KLAIM 9 - Hvorfor jeg valgte netop den udgave af Klaim som jeg anvender....

10 KLAIM

Appendix A Stu

12 Stu

Bibliography