Download præsentationen
Præsentation er lastning. Vent venligst
1
Distribuerte Objekter
Våren 2010 Professor II Eric Jul F5 –
2
Hvad Principper om distribuerete objekter. Anvender et gennemgående språk: Emerald. VIGTIGT: Emerald er et værktøj, et eksempel – Emerald er i sig selv IKKE formålet med kurs.
3
Materiale Rapporter Artikler Ph.d. afhandling
4
Kontakt Eric: Haster det, så: SMS til Skype: ericbjul
5
Kurs opbygning VIGTIGT: learning-by-doing Fem moduler: forelæsninger
øvelser en større opgave
6
Eksamen Nogle obligatoriske opgaver, de sidste to med karakter, som hver tæller 1/3. Sidste 1/3 er skriftlig eksamen eller mundtlig afhænging af antallet af tilmeldte.
7
Modul 1: Emerald basics Emeralds objektbegreb constructors, classes
Interfaces/types Immutable types Assignment: Install Emerald from SourceForge
8
Modul 1: Opgaver Skriv og kør “Hello, world” i Emerald
Skriv et Sieve program: Et objekt som accepterer det første tal, som det får, herefter vil det videresende til en kopi af sig selv, de tal, der IKKE har det første tal som divisor.
9
Modul 2: Concurrency, distribution
Monitors Distribution model Distribution primitives Obligatorisk opgave: Små programmeringsopgaver om concurrency
10
Modul 3: Distribution Grundliggende principper for distribution :
Remote References RPC – remote procedure call Implementation of RPC Location concept Simple mobility Asynchronous operations in Emerald Immutability and its uses
11
Modul 4: Advanced distribution
Avancerede distribution: Call-back concept: Node State Changes Emerald Virtual Machine Secure hash functions Peer-to-peer Napster/Nopester Implementation of process mobility Distributed Garbage Collection En større programmeringsopgave
12
Modul 5: Større opgave Heterogeneous mobility
Design Patterns: Proxy, Observer Keys Replication Take-home exam Planetlab En større programmeringsopgave
13
Heterogeneous Emerald
1992 developed mobility across: VAX SUN3 (Motorola 68000) SUN4 (SPARC) HP9000 (Motorola 68000)
14
Problems Non-isomorphic registers Different register use
Different data format/activation record layout Different instructions Different data representation
15
Main Contribution On-the-fly object and thread mobility across machines without performance loss Bus stops
16
Results Native speed execution Slower remote invokes (50-70%)
Remember: old, old hardware!
17
Opgavesæt III Kør kilroy.m programmet. Hvor mange maskiner kan det besøge per sekund? Skriv og kør et program som finder break-even punktet for visit for objekter af en given størrelse. Find break-even for 100, 500, 1.000, byte objekter. Eksperimenter og find “knæk-punkter” I kurven. Skriv og kør et program a la Kilroy, som besøger hver active node og indsamler localtiden i et array. Skriv og kør et program, som opretter en agent på hver active node og bruger den til at indsamle tiden på hver maskine. Udregn et gennemsnit (median måske?) af tiderne – så har du lavet en tidssynkronisator. Afleveringsfrist, starten af næste forelæsning 22/3 kl Sendes til Tor.
18
Opgavesæt IV Skriv og implementer Nopester i Emerald:
en central server N peers et objekt som genererer nye peers et testobjekt som genererer filer, som indsættes i Nopester og som så udskriver et “dump” af hele systemets tilstand Kør et passende testeksempel, fx 10 file, 5 peers Afleveringsfrist, starten af næste forelæsning 26/4 kl
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.