Hajautetut järjestelmät
Simo Juvaste, Tietojenkäsittelytieteen laitos, Itä-Suomen yliopisto
(Distributed systems, 4cr)
Sisältö
Opinto-oppaan mukainen kurssikuvaus
Hajautetut järjestelmät (4 op) 3621316
- Luennot 26 t, Harjoitukset 14 t
-
Osaamistavoitteet: Opiskelija ymmärtää paikallisen ja hajautetun järjestelmän erot toiminnassa, suunnittelussa ja toteutuksessa. Opiskelija osaa suunnitella ja toteuttaa yksinkertaisen hajautetun järjestelmän protokollineen ja tieturvakäytänteineen. Opiskelija tuntee tärkeimmät hajautetun järjestelmän pohjana olevat teoriat.
Sisältö: Johdatus hajautettujen järjestelmien suunnitteluun, toteutukseen ja tietoturvaan
Colouris, Dollimore, Kindberg: Distributed Systems, Concepts and Design
Kurssin asema
- Aineopintojen pakollinen kurssi pääaineopiskelijoille, valinnainen sivuaineopiskelijoille
- Yhteensopiva uuden (2018-) kurssin 3621415 Hajautetut ja samanaikaiset järjestelmät (5op) kanssa.
- Yhteensopiva vanhan kurssin J175219 Hajautetut ja samanaikaiset järjestelmät (5op) kanssa.
- Sekä uuteen, että vanhaan tutkintoon käy kumpi vain kurssi (mutta ei molempia).
- 2010-2016 aloittaneiden tutkintorakenteessa samanaikaisuus -osuus käsitellään kurssilla Ohjelmointi II.
- Tätä kurssia ei voi suorittaa jos vanha kurssi J175219 tai vielä vanhempi kurssi J173342 on suoritettu.
Kurssin sisältö
Tarpeelliset esitiedot
- Java-ohjelmointitaito (oliot, säikeet) (tai joku muu vastaava oikea ohjelmointikieli).
- Suositeltavia
- Aikavaativuuden perusteet
- Unix-alkeet
Käsiteltävät asiat (ei vielä käsittelyjärjestyksessä)
- Hajautetun järjestelmän perusrajoitteet ja mahdollisuudet 6 tuntia
- tavoitteet
- asiakas-palvelin
- vertaisverkko
- samanaikaisuus
- tietoturva
- Hajautetut algoritmit 4
- hajautettu päätös ja valinta
- vian havaitseminen
- vikasietoisuus
- Web-järjestelmä hajautettuna järjestelmänä 2
- Tietoliikenteen perusteet (ei rautatasolla) 3
- OSI
- IP
- socketit
- TCP/UDP -ohjelmointi Javalla
- Etäkutsut 2
- Verkon hallinta 1
- Rinnakkaisohjelmointi 0-2
- usean prosessin käyttö yhteen laskennalliseen ongelmaan
- rinnakkaistietokoneet
Alustava aikataulu syksyllä 2017
Ilmoittautuminen
- Web-Oodissa
- Joensuun ja Kuopio näkyvät Oodissa erillisinä kursseina, mutta oikeasti sama kurssi
Luennot 26 t
Simo Juvaste
- 2. periodilla 30.10. -- 11.12, Joensuussa TB248, Kuopiossa F211
30.10.17 MA 14-16 TB248/F211
31.10.17 TI 14-16 TB248/F211
06.11.17 MA 14-16 TB248/F211
07.11.17 TI 14-16 TB248/F211
13.11.17 MA 14-16 TB248/F211
14.11.17 TI 14-16 TB248/F211
20.11.17 MA 14-16 TB248/F211
21.11.17 TI 14-16 TB248/F211
27.11.17 MA 14-16 TB248/F211
28.11.17 TI 14-16 TB248/F211
04.12.17 MA 14-16 TB248/F211
05.12.17 TI 14-16 TB248/F211
11.12.17 MA 14-16 TB248/F211
- Luentojen aiheet 2016
- 1. 25.10. Alkuasiat, HJ määritelmä, peli, sukulaistermit pilvipalveluihin asti.
- 2. 26.10. Loput sukulaistermit, esimerkkejä, kommunikointi, suunnittelulähtökohtia luotettavuuteen asti
- 3. 31.10. Loput suunnittelulähtökohdat, asiakas-palvelin variantteineen, vertaisverkko vähän alkua
- 4. 1.11. Vertaisverkko loppuun, synroninen/asynkroninen hajautettu järjestelmä, looginen aika, mutta ei loogisia kelloja
- 5. 7.11. Loogiset kellot, hajautetun järjestelmän tila, vikamallit
- 6. 8.11. Turvallisuusmallit, OSI-malli, verkkoliikenteen peruskäsitteet, IP vähän alusta
- 7. 14.11. IP kertaus, TCP, UDP, TCP Javalla (ei select():ä).
- 8. 15.11. TCP kertaus, TCP C#/C/Perl/Python, TCP protokollaohjeita
- 9. 21.11. SMTP, HTTP, UDP Javalla, RPC, RMI, JavaRMI, XML-RPC
- 10 22.11. Web-Services, SOAP, REST, JSON
- 11. 28.11. REST kertaus, tietoturvauhat, salausprotokollien alkua
- 12. 29.11. Digitaalinen allekirjoitus, salausalgoritmit, SSL, salaus Javalla
- 13. 3.12. Hajautettu lukitseminen, järjestetty monilähetys, hajautetut tapahtumat
- 2016 luennot nauhoitetaan, nauhoitukset tulevat katseltavaksi tähän pienellä viiveellä.
- AVI/MP4 formaatti, 1376 x 444 resoluutio, ~210Mt/kpl, tai 1920 x 616 resoluutio, ~400Mt/kpl.
-
- Leikatut versiot (poistettu alun sähläys ja lopun tyhjä) onnistuneesti nauhoitetuista luennoista löytyvät Täältä. Käyttäjätunnus on haj ja salasana on kuusinumeroinen numerosarja jossa on ensin neljä seiskaa, sitten ykkönen ja kakkonen.
- Näitä voi katsoa vaikka mplayer:llä komennolla
mplayer http://tunnus:salanro@cs.uef.fi/pages/sjuva/haj_vid/Hajautetut_jarjestelmat_16_luento10.avi
Harjoitukset 14 t/ryhmä
Simo Juvaste (Joensuu), Erkki Pesonen (Kuopio)
- 1.11. - 13.12.,
- Ryhmä J1: (Joensuu)
03.11.17 PE 10-12 TB180
10.11.17 PE 10-12 TB180
17.11.17 PE 10-12 TB180 siirtyy: 08-10
24.11.17 PE 10-12 TB180
01.12.17 PE 10-12 TB180
08.12.17 PE 10-12 TB178
13.12.17 KE 08-10 TB180
- Ryhmä J2: (Joensuu)
02.11.17 TO 08-10 TB180
09.11.17 TO 08-10 TB180
16.11.17 TO 08-10 TB180
23.11.17 TO 08-10 TB180
30.11.17 TO 08-10 TB180
07.12.17 TO 08-10 TB178
13.12.17 KE 10-12 TB180
- Ryhmä K1: (Kuopio)
03.11.17 PE 10-12 E26
10.11.17 PE 10-12 E26
16.11.17 TO 12-14 E26
24.11.17 PE 10-12 E26
01.12.17 PE 10-12 E26
08.12.17 PE 10-12 E16+17
13.12.17 KE 08-10 E26
- Ryhmä K2: (Kuopio)
01.11.17 KE 12-14 E26
09.11.17 TO 12-14 E26
16.11.17 TO 08-10 E26
23.11.17 TO 08-10 E26
30.11.17 TO 10-12 E26
07.12.17 TO 08-10 E16+17
12.12.17 TI 10-12 E26
Ohjausta
- Tarvittaessa harjoitustehtävien tekemisessä eteentuleviin ongelmiin.
Kurssikuulustelu
- to 14.12.2017 klo 12:00-16:00, Joensuussa OTS100 (Otsola), Kuopiossa CA101.
- Kurssikuulustelun uusinta ja yleinen kuulustelu 26.1.2018 Joensuussa M100 (Metria), Kuopiossa MD100.
-
Yleiset kuulustelut
- Yleinen kuulustelu 26.1.2018 ja siitä eteenpäin Oodissa.
Ajankäyttö / kuormittavuus
Keskimääräiselle opiskelijalle, keskimääräiseen arvosanaan:
Hajautetut järjestelmät, ajankäyttö |
|
|
Viikkoja (h/l) |
7 |
6,5 |
|
Viikottain |
Yhteensä |
Luennot |
4 |
26 |
Kertaus |
2 |
13 |
|
|
|
Harjoitukset |
2 |
14 |
Tekeminen |
6,5 |
45,5 |
|
|
|
Välikoe |
|
2 |
Valmistautuminen |
|
6 |
|
|
|
Yhteensä(t) |
15,64 |
106,5 |
Yhteensä (op) |
|
3,99 |
26,67 |
|
|
Kuormittavuus vaihtelee viikosta toiseen ja opiskelijasta toiseen. Erinomaiseen arvosanaan voi tarvita enemmän työtä.
Arvostelu syksyllä 2016
- Kurssikuulustelu määrää pistemäärän.
- Tavallisista harjoitustehtävistä max 10% bonusta 1/3 ylittävältä osalta. Tavanomaista 1/3 tekemisen vaatimusta löysytetään muuttamalla alle 1/3 jäävät harjoitusmäärät miinuspisteiksi lineaarisesti. Harjoitusbonus on siis
10%*((n/N)-(1/3))/(2/3), missä n on opiskelijan tekemien tehtävien määrä ja N on tehtävien kokonaismäärä (42). Ilman pyöristyksiä tms.
- Harjoitusbonuksia jaetaan vain harjoituksissa läsnäolijoille, niitä ei siis saa lähettämällä lähettämällä ratkaisuja etukäteen sähköpostilla tms olipa syy mikä tahansa.
Muutamalta harjoituskerralta poissaolon pisteet eivät ole ratkaisevia kurssin
läpäisyn kannalta, jollei pääse useimpiin harjoituksiin, niin yleinen
kuulustelu on oikea ratkaisu. Oppimisen (ja kurssin läpäisyn) kannalta on
tärkeintä tehdä tehtäviä, arvosanahan määräytyy kokeiden perusteella.
- Yleinen kuulustelu antaa arvosanan sellaisenaan, harjoitustehtäviä ei huomioida eikä vaadita.
- 50% = 1, 60% = 2, 70% = 3, 80% = 4, 90% = 5.
Materiaali/kirjallisuus
Kirjallisuus
- Coulouris, Dollimore, Kindberg (, Blair): Distributed Systems, concepts and design
- Tanenbaum, van Steen: Distributed Systems, principles and paradigms
- Liang: Introduction to Java Programming, Comprehensive ed
- ...
- Kalvokopiot
Harjoitusten pohjia, luennnolla
esitettyjä, ei monisteessa olevia esimerkkejä, mallivastauksia, yms ohjelmanpätkiä
Material in English
WWW-linkkejä
Harjoitukset
Harjoitustehtäviä paperilla jaetaan harjoituksissa.
Harjoitustyö
- Kurssin aiheista voi tehdä parityön.
Last modified
Wed Dec 6 18:04:49 EET 2017
SJ