SlideShare une entreprise Scribd logo
1  sur  47
Map – reduce og andre teknikker for parallellisering - Bjørn Nordlund
Hvorfor Parallellisering? 09.06.09 s.
Hvorfor skal jeg snakke om parallellisering
Outline ,[object Object],[object Object],[object Object],[object Object]
Hva er parallellisering? ,[object Object]
Hva er samtidighet (concurrency)? ,[object Object],[object Object]
Tilstand(state) og samtidighet, thread safety ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Race conditions, deadlocks og contention ,[object Object],[object Object],[object Object]
Parallellisering på flere nivåer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Finkornet parallellisering   i Java
Java 1.4 og før, java.util.concurrent i 1.5 Tekst endres i Topp- og Bunntekst  09.06.09 s. Synchronized eksempel?
Executor og Future ,[object Object],[object Object],[object Object]
Fork/Join jsr 166 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Distribuert parallellisering
Hvordan? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Master – Worker (distribuering av tasks)
Map - Reduce ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MAPREDUCE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Map – Reduce (for distribuert computation) ,[object Object],[object Object]
 
 
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hva egner seg for parallellisering ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hvor parallellt? ,[object Object],+1? x2? x4? Gjør målinger
Hva kan man oppnå av ytelse Tekst endres i Topp- og Bunntekst  09.06.09 s.
Parallellisering ,[object Object],Tekst endres i Topp- og Bunntekst  09.06.09 s. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Performance: samme ytelse med mindre ressurser Skalering: mer ytelse med mer ressurser
Ikke overdriv ,[object Object]
Eksempel fra BBS
Problembeskrivelse ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Problem ,[object Object],[object Object],[object Object],[object Object],[object Object],Tekst endres i Topp- og Bunntekst  09.06.09 s.
Løsning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Workflow Tekst endres i Topp- og Bunntekst  09.06.09 s. Database Små filer Filoppsplitter (MASTER) Tjeneste (WORKER) Stor fil work_item
Tekst endres i Topp- og Bunntekst  09.06.09 s.
s.
1 tråd på en server Tekst endres i Topp- og Bunntekst  09.06.09 s. Antall tråder = 1 Behandlinger per sekund = 800
2 tråder på en server Antall tråder = 2 Behandlinger per sekund = 1500
4 tråder på en server Antall tråder = 4 Behandlinger per sekund = 2600
4 tråder på 2 servere = 8 Antall tråder = 8 Behandlinger per sekund = 4200
8 tråder på 2 servere = 16 Antall tråder = 16 Behandlinger per sekund = 6000
Transaksjoner / sekund med forskjellig antall tråder Tekst endres i Topp- og Bunntekst  09.06.09 s.
Gåte: Hva er vår bottleneck?
Oppsummering ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Noen referanser ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
www.bbs.no

Contenu connexe

Similaire à Presentation Mapreduce Bjornnordlund

Ikt Fagforum - Presentasjon Av Autentiseringsprosjektet
Ikt Fagforum - Presentasjon Av AutentiseringsprosjektetIkt Fagforum - Presentasjon Av Autentiseringsprosjektet
Ikt Fagforum - Presentasjon Av Autentiseringsprosjektetleiftorger
 
Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...
Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...
Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...Geodata AS
 
Solide systemer med unit of work
Solide systemer med unit of workSolide systemer med unit of work
Solide systemer med unit of workEirik Maus
 
Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3Morten Bergset
 
Systemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukes
Systemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukesSystemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukes
Systemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukesGeodata AS
 
Javascript tar hevn
Javascript tar hevnJavascript tar hevn
Javascript tar hevnfossmo
 
Git i praksis - erfaringer med overgang fra ClearCase til Git
Git i praksis - erfaringer med overgang fra ClearCase til GitGit i praksis - erfaringer med overgang fra ClearCase til Git
Git i praksis - erfaringer med overgang fra ClearCase til GitFredrik Vraalsen
 
Flexible, scalable self-service provisioning using Office PnP
Flexible, scalable self-service provisioning using Office PnPFlexible, scalable self-service provisioning using Office PnP
Flexible, scalable self-service provisioning using Office PnPOle Kristian Mørch-Storstein
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?mudnaes
 
Pragmatisk integrasjon - JavaZone 2010
Pragmatisk integrasjon - JavaZone 2010Pragmatisk integrasjon - JavaZone 2010
Pragmatisk integrasjon - JavaZone 2010Anders Sveen
 
Intro to Azure DevOps
Intro to Azure DevOpsIntro to Azure DevOps
Intro to Azure DevOpsAudunSolemdal
 
Ikke test Puppet-koden din
Ikke test Puppet-koden dinIkke test Puppet-koden din
Ikke test Puppet-koden dinJan Ivar Beddari
 
Blazor - en kjapp intro
Blazor - en kjapp introBlazor - en kjapp intro
Blazor - en kjapp introRunegri
 
Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010ilmyggo
 
KristiansandPHP 2017 - Nov
KristiansandPHP 2017 - NovKristiansandPHP 2017 - Nov
KristiansandPHP 2017 - NovMorten Bergset
 
Apache solr i finn.no
Apache solr i finn.noApache solr i finn.no
Apache solr i finn.noFINN.no
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2ilmyggo
 
Meetup 9 i KristansandPHP
Meetup 9 i KristansandPHPMeetup 9 i KristansandPHP
Meetup 9 i KristansandPHPMorten Bergset
 

Similaire à Presentation Mapreduce Bjornnordlund (20)

Ikt Fagforum - Presentasjon Av Autentiseringsprosjektet
Ikt Fagforum - Presentasjon Av AutentiseringsprosjektetIkt Fagforum - Presentasjon Av Autentiseringsprosjektet
Ikt Fagforum - Presentasjon Av Autentiseringsprosjektet
 
Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...
Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...
Effektiv bruk av analyseverktøy og geoprosessering - Geodata sommerkonferanse...
 
Solide systemer med unit of work
Solide systemer med unit of workSolide systemer med unit of work
Solide systemer med unit of work
 
Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3Responsiv design og Bootstrap 3
Responsiv design og Bootstrap 3
 
Systemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukes
Systemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukesSystemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukes
Systemvedlikehold: En oversikt over noen oppgaver og verktøy som kan brukes
 
Javascript tar hevn
Javascript tar hevnJavascript tar hevn
Javascript tar hevn
 
Git i praksis - erfaringer med overgang fra ClearCase til Git
Git i praksis - erfaringer med overgang fra ClearCase til GitGit i praksis - erfaringer med overgang fra ClearCase til Git
Git i praksis - erfaringer med overgang fra ClearCase til Git
 
Flexible, scalable self-service provisioning using Office PnP
Flexible, scalable self-service provisioning using Office PnPFlexible, scalable self-service provisioning using Office PnP
Flexible, scalable self-service provisioning using Office PnP
 
Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?Er Amazon EC2 klar for virksomhetskritiske systemer?
Er Amazon EC2 klar for virksomhetskritiske systemer?
 
Pragmatisk integrasjon - JavaZone 2010
Pragmatisk integrasjon - JavaZone 2010Pragmatisk integrasjon - JavaZone 2010
Pragmatisk integrasjon - JavaZone 2010
 
Intro to Azure DevOps
Intro to Azure DevOpsIntro to Azure DevOps
Intro to Azure DevOps
 
Ikke test Puppet-koden din
Ikke test Puppet-koden dinIkke test Puppet-koden din
Ikke test Puppet-koden din
 
Blazor - en kjapp intro
Blazor - en kjapp introBlazor - en kjapp intro
Blazor - en kjapp intro
 
Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010Driftbarhet - Steg mot smidig drift, JavaZone 2010
Driftbarhet - Steg mot smidig drift, JavaZone 2010
 
KristiansandPHP 2017 - Nov
KristiansandPHP 2017 - NovKristiansandPHP 2017 - Nov
KristiansandPHP 2017 - Nov
 
Hele butikken i skyen
Hele butikken i skyenHele butikken i skyen
Hele butikken i skyen
 
Apache solr i finn.no
Apache solr i finn.noApache solr i finn.no
Apache solr i finn.no
 
AWS på kartet
AWS på kartetAWS på kartet
AWS på kartet
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2
 
Meetup 9 i KristansandPHP
Meetup 9 i KristansandPHPMeetup 9 i KristansandPHP
Meetup 9 i KristansandPHP
 

Presentation Mapreduce Bjornnordlund

Notes de l'éditeur

  1. Krever flash plugin til prowerpoint, f.eks: http://www.globfx.com/products/swfpoint/