Distribuerte Objekter

24
Distribuerte Objekter Våren 2013 Professor II Eric Jul Forelesning F2 – 2012-01- 28

description

Distribuerte Objekter. Våren 2013 Professor II Eric Jul Forelesning F2 – 2012-01-28. Velkommen. Eric Jul, Professor II, til daglig: Bell Labs, Dublin, Ireland Hvem var her IKKE første gang?. Kontakt. [email protected] Haster? SMS til +45 40 25 16 50 Skypeid: ericbjul – efter aftale. - PowerPoint PPT Presentation

Transcript of Distribuerte Objekter

Page 1: Distribuerte Objekter

Distribuerte Objekter

Våren 2013Professor II Eric Jul

Forelesning F2 – 2012-01-28

Page 2: Distribuerte Objekter

Velkommen

• Eric Jul, Professor II, til daglig: Bell Labs, Dublin, Ireland

Hvem var her IKKE første gang?

Page 3: Distribuerte Objekter

Kontakt

[email protected]• Haster? SMS til +45 40 25 16 50• Skypeid: ericbjul – efter aftale.

• Tor Ivar og Bjørn Erik: kan hjelpe med det praktiske

Page 4: Distribuerte Objekter

Hvad

• Kurs om Distribuerete Objekter

Page 5: Distribuerte Objekter

HvornårFølgende mandage:• 14/1 – 2013• 28/1 – 2013• 18/2 – 2013 NB: 10.15 - 17• 18/3 – 2013• 22/4 – 2013 Klokken 09.15 – 12 og 13 – 16I alt 5 x 2 x 3 timer = 30 timer

Page 6: Distribuerte Objekter

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.

Page 7: Distribuerte Objekter

Materiale

• Rapporter• Artikler

www.emeraldprogramminglanguage.org

www.sourceforge.org

Page 8: Distribuerte Objekter

Kontakt

Eric:[email protected]

Haster det, så: SMS til +4540251650

Skype: ericbjul

Page 9: Distribuerte Objekter

Kurs opbygning

VIGTIGT: learning-by-doing

Fem moduler:• forelæsning• øvelser (vigtigt)• en større opgave

Page 10: Distribuerte Objekter

Eksamen

Nogle obligatoriske opgaver, de sidste to med karakter, som tæller 1/3.

Sidste 1/3 er mundtlig eksamen

Page 11: Distribuerte Objekter

Modul 1: Emerald basics

• Emeralds objektbegreb• constructors, classes• Interfaces/types• Immutable types

Assignment: Install Emerald from SourceForge

Page 12: Distribuerte Objekter

Modul 1: Opgaver

• Installer Emerald på din maskine• get language report and Emerald article “General

Purpose Lanuage”• 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. Send tallene fra 2 til 100 igennem sien!

Page 13: Distribuerte Objekter

Modul 1: Opgaver

Hvor mange har:– installeret Emerald på egen maskine?– kørt Hello World?– gennemført alle opgaverne?

Page 14: Distribuerte Objekter

Modul 2: Concurrency, distribution

• Hvorfor distribution er interessant for alle!• Concurrency• Monitors• Distribution model• Distribution primitives

Obligatorisk opgave: Små programmeringsopgaver om concurrency

Page 15: Distribuerte Objekter

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

Page 16: Distribuerte Objekter

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 CollectionEn større programmeringsopgave

Page 17: Distribuerte Objekter

Modul 5: Større opgave• Heterogeneous mobility• Design Patterns: Proxy, Observer• Keys• Replication• Take-home exam• Planetlab

En større programmeringsopgave

Page 18: Distribuerte Objekter

Denne gang:

• Hvorfor Distribution er interessant for alle!• Concurrency in Emerald• Principles for concurrency• Distribution

Page 19: Distribuerte Objekter

Why Distribution?

Trends:• Moore’s law (1965): transistors/cm2 doubles

every year• Modified Moore’s Law (1975): transistors/cm2

doubles one to two yearsConsequence: Number of machine cycles has

doubled every 1-2 years since 1959.

Page 20: Distribuerte Objekter

CPUs

A consequence of Moore’s Law has been that CPUs from 1959 to 2005 increased in clock frequency at the same rate as the increase in transistors.

However, from 2005 clock frequencies has leveled completely off at about 3 GHz.

Instead, the number of cores doubles every 1-2 years.

Summary: Cycles/second doubles every 1-2 years from 1959 to (estimated) 2018!

Page 21: Distribuerte Objekter

Speed of Light

• Speed of light is approximately 300,000 km/s• Exact definition: c = 299,792,458 m/s in

vacuum.• In copper and optical fiber: about 1/3 slower.

In a nanosecond, light moves about 30 cm, i.e., about 1 foot, so 1 ns is a “light-foot”!

Page 22: Distribuerte Objekter

Latency

If two machines are 3 meters apart, latency due to speed of light is approximately 10 nanoseconds ((3m) / (3x109m/s))

Now measure “distance” in CPU cycles:In 1980: Intel 8080 1MHz CPU: 1/100 cycleIn 2005: Intel Pentium 3GHz CPU: 30 cycles

Page 23: Distribuerte Objekter

Exploding Universe

Chocking Consequence:If any two computers at a fixed distance (in

meters) are upgraded often then they will appear to move away from each other exponentially as measured in clock cycles.

THUS everyone must use distributed techniques!

The speed of light is, sadly, way, WAY too slow!

Page 24: Distribuerte Objekter

Opgavesæt II• Kør hi – ho• Programmer en barrier i Emerald, test med program der har 4

processer, som venter på barrieren gentagne gange, skrive ud hver gang de prøver at passerer og igen når de passerer. Endnu en process som udløser barrieren 3 gange. Kør programmet.

• Programmer en producer-consumer-med-buffer i Emerald. Send tallene 1-30 igennem bufferen, hvor producer og consumer hhv. hver 3. og 5. gang venter i 100 ms (brug delay). Lad bufferen udskrive, når den indsætter/fjerner et element. Brug array. Max 2 elementer.

Afleveringsfrist, ??Sendes til ??