Distribuerte Objekter Våren 2010 Professor II Eric Jul F3 –
Velkommen • Eric Jul, Professor II, til daglig: Bell Labs, Dublin, Ireland • Tor Ivar Johansen, hjelpelærer
Deltagelse I Forelæsningerne Hvem var her for 2 eller 4 uger siden? Hvem er ny her?
Hvornår Startede 25/1. • 8/2 • 22/2 • 22/3 • ca 4-5 uger dvs måske 26/4 (evt. 19/4)???
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.
Materiale • Rapporter • Artikler
Kontakt Eric: Haster det, så: SMS til Skype: ericbjul
Kurs opbygning VIGTIGT: learning-by-doing Fem moduler: • forelæsninger • øvelser • en større opgave
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.
Modul 1: Emerald basics • Emeralds objektbegreb • constructors, classes • Interfaces/types • Immutable types Assignment: Install Emerald from SourceForge
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.
Modul 2: Concurrency, distribution • Concurrency • Monitors • Distribution model • Distribution primitives Obligatorisk opgave: Små programmeringsopgaver om concurrency
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
Modul 4: Advanced distribution Avancerede distribution En større programmeringsopgave
Modul 5: Større opgave En større programmeringsopgave
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.