DBS21 Samtidighetskontrollteknikker
|
|
|
- Torhild Carlsen
- 9 år siden
- Visninger:
Transkript
1 Side 1 for Databaser DBS21 Samtidighetskontrollteknikker mandag 30. mai Pensum: 21.1, side , og 21.3 side tom Tofaselåsingsteknikker for samtidighetskontroll Typer lås og systemlåstabeller Det finnes flere forskjellige typer låser. Binære låser. En binær lås kan ha to tilstander/verdier: låst og åpen (1 og 0). Hvert dataelement X har en distinkt lås, og hvis den er låst kan man ikke få tilgang til elementet. Man kan gjøre to operasjoner med en binær lås - lock_item og unlock_item. Hvis man ber om tilgang til X kalles lock_item, og hvis den allerede er låst må man vente på tur. Når man er ferdig, kalles unlock_item. Kan implementeres med en låsetabell som består av poster med tre felter (data_item_name, LOCK, locking_transaction), der det å være i tabellen betyr at dataelementet er låst. Transaksjoner må følge følgende regler: 1) Kall lock_item før read eller write. 2) Kall unlock_item etter read eller write. 3) Ikke kall lock_item hvis den allerede har låst elementet. 4) Ikke kall unlock_item hvis den ikke har låst elementet. Delt/ekslusiv (read/write) lås Det er tre operasjoner: - Read_lock(X) - Write_lock(X) - Unlock(X) Flere transaksjoner kan kalle read_lock(x), men kun én lås kan kalle write_lock(x). Implementasjon: Låsetabellen har poster med fire felt, og kun poster for låste dataelementer: (data_item_name, LOCK, no_of_reads, locking_transactions(s))
2 Side 2 for Databaser En transaksjon må følge følgende regler: 1) Read_lock(X) må kalles før read(x). 2) Write_lock(X) må kalles før write(x). 3) Unlock(X) må kalles etter alle operasjoner 4) En transaksjon vil ikke kalle read_lock(x) eller write_lock(x) hvis den allerede holder på en lås (disse kan tøyes). 5) En transaksjon vil ikke kalle unlock(x) med mindre den holder på en lås. Konvertering (oppgradering, nedgradering) av låser. Noen ganger vil man oppgradere eller nedgradere låser, kalt låskonvertering. Det er hvis en transaksjon har read_locked et dataelement og vil endre til write_locked eller motsatt (write_locked -> read_locked). Da må man "relaxe" betingelse Garantere serialiserbarhet med tofaselåsing, 2PL En transaksjon følger tofaselåsingsprotokollen hvis alle låseoperasjoner (read_lock, write_lock) gjøres før den første unlock-operasjonen i transaksjonen. Transaksjonen kan deles opp i to faser: Expanding, growing, første fase: Når man kan låse, men ikke låse opp. Her kan man oppgradere låser. Shrinking, andre fase: Når man kan låse opp, men ikke låse. Her kan man nedgradere.
3 Side 3 for Databaser Hvis alle låser i en historie følger 2PL, så er historien garantert å være serialiserbar. Selv om 2PL garanterer serialiserbarhet, betyr det ikke at alle mulige serialiserbare historier fungerer sammen med 2PL. 2PL kan også hindre samtidighet, ved at en transaksjon låser dataelementer den ikke bruker, når andre transaksjoner trenger dem. Basic 2PL Som beskrevet over. Konservativ 2PL Alle dataelementer må låses før transaksjonen begynner, ved å forhåndsdeklarere alle elementer som skal leses og skrives. Den vil vente til alle elementer er tilgjengelig for låsing. I denne protokollen kan det ikke oppstå deadlocks, vranglåser. Strikt 2PL Denne garanterer strikte historier. Den vil ikke slippe skrive-låser før etter at den har committet eller abortert, slik at ingen andre transaksjoner kan lese eller skrive disse dataelementene (som er betingelsen på en strikt historie). Denne er ikke vranglåsfri. Rigorous 2PL Denne garanterer også strikte historier, men den vil ikke slippe noen låser, både skrive- og leselåser, før etter at den har committet eller abortert. Låsing har generelt høy overhead, siden hver lese- og skriveoperasjon følger etter en systemlåsings-request Vranglås og starvation Vranglås skjer når alle transaksjoner T i en mengde med to eller flere transaksjoner, venter på et element som som er låst av en annen transaksjon T' i mengden. For eksempel, hvis T venter på X, som er låst av T', og T' venter på Y som er låst av T. Vranglåsforhindringsprotokoll Låser alle elementer som trengs på forskudd - hvis man ikke får låst alle, låses ingen. Dette er brukt i konservativ 2PL. Bruk av transaksjons-timestamps. Hver transaksjon får et timestamp basert på når det startet. Wait-die. En eldre transaksjon får lov til å vente på en yngre transaksjon, men en yngre transaksjon som prøver å låse et element holdt av en eldre transaksjon blir abortert og restartet. Wound-wait. Omvendt. En yngre transaksjon får lov å vente på en eldre, men den eldre er kjip og gjør at den yngre transaksjonen må abortere og restarte. I begge tilfeller blir den yngre transaksjonen restartet med den originale timestamp-en, og begge sørger for at det ikke blir vranglås. Men transaksjoner kan bli restartet unødvendig. Ikke vent-algoritme Hvis en transaksjon ikke får låse et element, restarter den med en gang, og venter en liten stund, i stedet for å vente. Dette kan føre til unødvendig restarting. Forsiktig venting-algoritme En transaksjon får bare lov til å vente på at en annen transaksjon slipper en lås, hvis den andre transaksjonen ikke selv venter på en transaksjon. Vranglåsoppdagelse
4 Side 4 for Databaser I stedet for å unngå vranglåser kan man oppdage de når de skjer. Dette passer best hvis transaksjonene er korte og bare låser noen få dataelementer om gangen, slik at det er lite interferens mellom transaksjonene - at de sjeldent bruker samme dataelementer. Et eksempel er å bruke en "wait-for"-graf, der en node blir opprettet for hver transaksjon. Hvis en transaksjon Ti venter på en lås fra en transaksjon Tj, opprettes en rettet kant fra Ti til Tj. Hvis det finnes en sykel i grafen, finnes også en vranglås. Hvor ofte bør det sjekkes etter sykler? Det kan sjekkes når et antall transaksjoner kjøres samtidig eller hvis flere transaksjoner har ventet på en lås over en lenger periode. Å sjekke for hver gang en kant legges til kan føre til overflødig overhead. Hvis systemet er kommet i vranglås, må man velge hvilken transaksjon som skal aborteres, kalt "victim selection". Det er greit å ikke velge transaksjoner som har kjørt en stund og utført mange operasjoner, men heller yngre transaksjoner som ikke har gjort så mye. Man må også sjekke om sykelen forsvant ved å abortere transaksjonen. Timeouts. En annen nyttig måte å behandle vranglåser på, som har lav overhead. Hvis en transaksjon har ventet en gitt tid, aborteres den, uavhengig av om den er i vranglås eller ikke. Starvation. Når en transaksjon ikke får gjort seg ferdig over en lenger periode, mens andre transaksjoner utføres som normalt. Løsninger: - First-come-first-served-kø, transaksjoner får låse et element i rekkefølgen som låsen ble forespurt. - Øker prioriteten til en transaksjon jo lenger den venter - Gi høyere prioritet til transaksjoner som har blitt abortert flere ganger, hvis de gang på gang blir "victim selected". Wait-die og wound-wait unngår starvation siden de restarter transaksjonen med den originale timestamp-en Multiversjonsamtidighetskontrollteknikker Protokoller som beholder kopier av gamle verdier til dataelementer når elementene blir oppdatert (skrevet) kalles multiversjons CC-teknikker. Når transaksjoner ber om å lese et dataelement, kan den lese en eldre versjon for å opprettholde serialiserbarheten. Ulempen med multiversjonsteknikker er at man trenger mer lagringsplass for å opprettholde flere versjoner av dataelementene Multiversjonsteknikk basert på tidsstempelordning Man har flere versjoner, X1, X2,, Xk, for hvert dataelement X, og for hver versjon Xi har man to tidsstempel: 1) 2) Read_TS(Xi). Lesetidsstempel. Største tidsstempel for en transaksjon som har lest den. Write_TS(Xi). Skrivetidsstempel. Tidsstempelet for transaksjonen som skrev verdien. Hvis X blir oppdatert av transaksjonen T, blir det laget en ny versjon Xk+1 med lesetidsstempel og skrivetidsstempel lik tidsstempelet til T. Hvis en annen transaksjon T' leser versjonen Xk+1, blir lesetidsstempelet satt til den høyeste av T og T'. For å sørge for serialiserbarhet, blir følgende regler fulgt:
5 Side 5 for Databaser 1) 2) Hvis transaksjon T ønsker å kjøre en write_item(x)-operasjon, og versjon i av X har det høyeste skrivetidsstempelet av alle X's versjoner, som er mindre enn eller lik tidsstempelet til T, ts(t), og lesetidsstempelet til Xi er større enn ts(t), skal transaksjonen aborteres og rulles tilbake. Ellers: opprett en ny versjon Xj av X med lesetidsstempel = skrivetidsstempel = ts(t). Hvis transaksjon T ønsker å kjøre en read_item(x)-operasjon, finn den versjonen i av X som har det høyeste skrivetidsstempelet som også er mindre enn eller lik ts(t), returner deretter verdien av Xi til transaksjon T og sett verdien av read_ts(xi) til den største av ts(t) og det nåværende lesetidsstempelet.
Repetisjonsforelesning, SQL og utover
Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering
Transaksjonshåndtering Del 3
UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Ragnar Normann INF3100 12.4.2010 Ragnar Normann 1 Samtidighetsfenomener og -anomalier Dette er uønskede «merkverdigheter» som kan inntreffe i eksekveringsplaner.
Repetisjon av transaksjonshåndtering og samtidighetskontroll. Lana Vu
Repetisjon av transaksjonshåndtering og samtidighetskontroll Lana Vu [email protected] Repetisjon ACID- egenskapene Transaksjon Eksekveringsplan og serialiserbarhet Konfliktserialiserbarhet og presedensgraf
Transaksjonshåndtering Del 2
UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Institutt for Informatikk INF3100 14.3.2014 Ellen Munthe-Kaas 1 En ny type serialiseringsprotokoll Hittil har vi bare sett på 2PL-baserte protokoller Alle
DBS20 - Introduksjon til transaksjonsprosessering og teori
Side 1 for Databaser DBS20 - Introduksjon til transaksjonsprosessering og teori søndag 29. mai 2016 21.15 Pensum: 20.1-20-6, side 745-776, untatt 2.5.4 og 2.5.5 20.1 Introduksjon til transaksjonsprosessering
Transaksjonshåndtering Del 3
UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Institutt for Informatikk INF3100 10.3.2015 Ellen Munthe-Kaas 1 Samtidighetsfenomener og -anomalier Dette er uønskede «merkverdigheter» som kan inntreffe
Hva har vi gjort? SQL og Databasedesign
Hva har vi gjort? SQL og Databasedesign HVA? Begrepsmessig databasedesign E/R diagram Logisk databasedesign Tabeller HVORDAN? Fysisk databasedesign Filer Indekser Etter vi har behandlet de mer statiske
INF3100 V2018 Obligatorisk oppgave nr. 2
INF3100 V2018 Obligatorisk oppgave nr. 2 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,
DBS22 Databasegjenopprettingsteknikker
Side 1 for Databaser DBS22 Databasegjenopprettingsteknikker onsdag 1. juni 2016 21.49 Pensum: 22.1-22.5, side 813-831 22.1 Gjenopprettingskonsepter 22.1.1 Recovery outline and categorization of recovery
INF3100 Databasesystemer. Transaksjonshåndtering. ndtering Del 3. Ragnar Normann
INF3100 Databasesystemer Transaksjonshåndtering ndtering Del 3 Ragnar Normann View-serialiserbarhet Hittil har vi sett på eksekveringsplaner som har vært konfliktekvivalente med serielle eksekveringsplaner
For alle ikke-trivielle FDer X A i R: eller A er et nøkkelattributt i R eller X K for noen kandidatnøkkel K i R
1NF-BCNF For alle ikke-trivielle FDer X A i R: X er en supernøkkel i R eller A er et nøkkelattributt i R eller X K for noen kandidatnøkkel K i R 1 Normalisering Finn alle ikke-trivielle ti i FDer som gjelder
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Ragnar Normann Mange lysark er basert på en original laget av Hector Garcia-Molina INF3100 26.4.2005 Ragnar Normann 1 Transaksjoner En
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET IOSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 1.3.2011 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvensens av operasjoner som bevarer
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 7.3.2016 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvens av operasjoner som bevarer
D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER
Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse
Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle
Øving 5: Transaksjonshåndtering, logging og normalisering
Øving 5: Transaksjonshåndtering, logging og normalisering Lars Kirkholt Melhus Oppgave 1 a) ACID Atomic En transaksjon er en minste enhet. Alle ledd i transaksjonen må gå feilfritt for at transaksjonen
Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
Stack. En enkel, lineær datastruktur
Stack En enkel, lineær datastruktur Hva er en stack? En datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informatikk Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:
En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.
Synkronisering En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig. Behov for synkronisering Mange prosesser/tråder
Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først
Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid
GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.
Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis
Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informatikk Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer Fagleg kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:
Andre sett obligatoriske oppgaver i INF3100 V2012
Andre sett obligatoriske oppgaver i INF3100 V2012 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
Isolasjon i postgres og mysql
Isolasjon i postgres og mysql Evgenij Thorstensen V19 Evgenij Thorstensen Isolasjon i postgres og mysql V19 1 / 20 Isolasjonsnivåer Read uncommitted Read committed Repeatable read Serializable SELECT...
Heap og prioritetskø. Marjory the Trash Heap fra Fraggle Rock
Heap og prioritetskø Marjory the Trash Heap fra Fraggle Rock Binær heap En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle
Vranglås (Deadlocks) Fag: Operativsystemer
Vranglås (Deadlocks) Fag: Operativsystemer 1 Innhold: Vranglås Vranglås Eksempler: Svensk flagg, Veikryss, spisende filosofer Betingelser for vranglås Metoder for å håndtere vranglås Tilbake til systemer
Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
Teoriøving 7 + litt om Ford-Fulkerson. Magnus Lie Hetland
Teoriøving 7 + litt om Ford-Fulkerson Magnus Lie Hetland Oppgave 1 a s 7 t 3 x 4 2 2 8 2 u 6 v 3 w Bruk DIJKSTRA eller BELLMAN-FORD og finn minste avstand fra s til de andre nodene. Svar/utregning (DIJKSTRA):
Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer
Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer
Heap* En heap er et komplett binært tre: En heap er også et monotont binært tre:
Heap Heap* En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle noder på nederste nivå ligger til venstre En heap er også et
TDT4258 Eksamen vår 2013
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng
Binær heap. En heap er et komplett binært tre:
Heap Binær heap En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle noder på nederste nivå ligger så langt til venstre som mulig
Øvingsforelesning 4. Topologisk sortering, Strongly Connected Components og Minimale spenntrær. Magnus Botnan
Øvingsforelesning 4 Topologisk sortering, Strongly Connected Components og Minimale spenntrær Magnus Botnan [email protected] 09/10/09 1 I dag Topologisk Sortering Sterke Komponenter Minimale Spenntrær
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420
INF3140 Modeller for parallellitet INF3140/4140: Låser og Barrierer
INF3140/4140: Låser og Barrierer Uke 2, side 1. Praktisk Obligatorisk oppgave 1 Er nå lagt ut. Merk: Frist fredag 21. sept. Guppelærer Mohammad Ali Norozi [email protected] Merk: Kun gruppe 1 åpen! Forelesningssted
Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner
Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Definisjon av binær relasjon Definisjon av ekvivalens
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknologi og informatikk Eksamensoppgave i TDT445 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Eksamensdato: 7. juni 207 Eksamenstid
Innhold uke 10. Objektorientert programmering i Python. Oblig 7 og 8. IN1000 Seminar! IN1000 Høst 2018 uke 10 Siri Moe Jensen
Innhold uke 10 Hva bruker vi klasser til? Objektorientert programmering i Python IN1000 Høst 2018 uke 10 Siri Moe Jensen Noen sentrale datastrukturer for programmering lenkede lister trær grafer Eksempler:
DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet
DBMS Database Management System (repetisjon) Spesialisert SW Karakteristika: Persistens Transaksjonshåndtering A tomicity C onsistency I solation D urability Programmeringsgrensesnitt INF212 v2003 1 Serialiserbarhet
Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006
Løsningsforslag for Obligatorisk Oppgave 3 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.03.14 Den tredje obligatoriske oppgaven tar for seg forelesning 9 til 13, som dreier seg om
Andre sett obligatoriske oppgaver i INF3100 V2013
Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
DBS18 - Strategier for Query-prosessering
Side 1 for Databaser DBS18 - Strategier for Query-prosessering søndag 22. mai 2016 13.03 Pensum 18.1-18.4, side 655-674, unntatt 18.4.4 og 18.4.5 En spørring som blir skrevet i et høynivå-språk, må bli
Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)
Plan for dagen Kap. 11: Resource control (utvalg) Hva trenger vi av egenskaper? Hvordan unngår vi vranglåser? Ikke pensum! Kap. 11.4 (The requeue facility) Kap 14 (Distributed Systems) Kap 14 Distributed
Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda
Først litt praktisk info Sorteringsmetoder Gruppeøvinger har startet http://selje.idi.ntnu.no:1234/tdt4120/gru ppeoving.php De som ikke har fått gruppe må velge en av de 4 gruppende og sende mail til [email protected]
IN3020 V2019 Obligatorisk oppgave nr. 1
IN3020 V2019 Obligatorisk oppgave nr. 1 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,
CPU-Scheduling. Fag: Operativsystemer
CPU-Scheduling Fag: Operativsystemer 1 Innhold: Scheduling (tidsplanlegger) Prosesstilstander, bakgrunn, begreper Kriterier for scheduling rettferdighet, - utnyttelse Responstid Throughput (antal prosesser
Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995996 Roger Midtstraum:
Lenkelister, iteratorer, indre klasser. Repetisjonskurs våren 2018 kristijb
Lenkelister, iteratorer, indre klasser Repetisjonskurs våren 2018 kristijb Lenket liste av objekter Vi lager en lenke ved at objekter refererer til hverandre. Vanlige er ofte å ha Node-objekter som har
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning 5 1 / 49
Transaksjoner og flerbrukerproblematikk. Transaksjoner
LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner
Parallelle og distribuerte databaser del I
UNIVERSITETET I OSLO Parallelle og distribuerte databaser del I Databaser på parallellmaskiner; map-reduce Distribuerte databaser Distribusjonsmodeller (sharding, replikering) Distribuerte transaksjoner:
Korteste Vei I. Lars Vidar Magnusson 9.4.2014. Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei
Korteste Vei I Lars Vidar Magnusson 9.4.2014 Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei Korteste Vei Problemet I denne forelesningen skal vi se på hvordan vi kan finne korteste
Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 26. mai 2014 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
1b) RaceCondision: En bug som kommer til overflaten ved uheldig timing/scheduling. Det klassiske eksemplet er vel med suspend og resume:
Sensor: Noter kommentarer til dette arket, hvis studenter kommer opp med ting som hadde fortjent å stå her. Jeg kommer vel til å gjøre denne veiledningen tilgjengelig for dem til neste år... 1a) Dette
Uretta grafar (1) Mengde nodar Mengde kantar som er eit uordna par av nodar
Kapittel 13, Grafar Uretta grafar (1) Ein uretta graf Mengde nodar Mengde kantar som er eit uordna par av nodar To nodar er naboar dersom dei er knytta saman med einkant Ein node kan ha kant til seg sjølv.
INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL: Outer join Denormalisering og splitting Transaksjoner og ACID-reglene DBMSer en introduksjon til INF3100 INF1300 19.11.2007 Ragnar
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 6 1 / 31 Dagens plan:
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning 5 1 / 55
Løsningsforslag. Oppgave 1.1. Oppgave 1.2
Løsningsforslag Oppgave 1.1 7 4 10 2 5 9 12 1 3 6 8 11 14 13 Oppgave 1.2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 Oppgave 1.3 Rekursiv løsning: public Node settinn(person ny, Node rot) if (rot == null) return
IN1010 våren Repetisjon av tråder. 15. mai 2018
IN1010 våren 2018 Repetisjon av tråder 15. mai 2018 Stein Gjessing,, Universitetet i Oslo 1 Tråder Datamaskinarkitektur prosessor registre cache 1 cache 2 prosessor registre cache 1 Disk System-bus Minne
IN Algoritmer og datastrukturer
IN00 - Algoritmer og datastrukturer HØSTEN 08 Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer II Ingrid Chieh Yu (Ifi, UiO) IN00 8.09.08 / Dagens plan: Korteste vei en-til-alle vektet
Korteste Vei II. Lars Vidar Magnusson 11.4.2014. Kapittel 24 Bellman-Ford algoritmen Dijkstra algoritmen
Korteste Vei II Lars Vidar Magnusson 11.4.2014 Kapittel 24 Bellman-Ford algoritmen Dijkstra algoritmen Bellman-Ford Algoritmen Bellman-Ford er en single-source korteste vei algoritme. Den tillater negative
GRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær
IN Algoritmer og datastrukturer GRAER IN Algoritmer og datastrukturer Dagens plan: orteste vei, en-til-alle, for: ektet rettet graf uten negative kanter (apittel 9..) (Dijkstras algoritme) ektet rettet
Kap 9 Tre Sist oppdatert 15.03
Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere
Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.
Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert. Tenk vann som sprer seg i rør: Vi behandler krysningspunktene i den rekkefølgen de fylles. Det må gi
Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer
Institutt for datateknikk og informasjonsvitenskap Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 9953 9963 Eksamensdato: 9. desember
Oppgave 1. Sekvenser (20%)
Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Eksamen i emnet I 20 - Algoritmer, datastrukturer og programmering Mandag 2.Mai 200, kl. 09-5. Ingen hjelpemidler tillatt. Oppgavesettet
Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det.
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 212 - Databaseteori Eksamensdag : Onsdag 8. juni 1994 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg
INF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
Parallelle og distribuerte databaser Del I
UNIVERSITETET I OSLO Parallelle og distribuerte databaser Del I Institutt for Informatikk INF3100 7.4.2014 Ellen Munthe-Kaas 1 Parallellberegninger Database på én storskala parallellmaskin: Utnytter parallelliteten
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.
Prioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer
Binære heaper (Leftist) Prioritetskøer Prioritetskøer er viktige i bla. operativsystemer (prosesstyring i multitaskingssystemer), og søkealgoritmer (A, A*, D*, etc.), og i simulering. Prioritetskøer Prioritetskøer
