Distribution issues, global state, clusters, CORBA, etc. Distributed objects

Samankaltaiset tiedostot
Teemat. Järjestelmätarpeet. Distributed object model. Väliohjelmistot /04/2004. Objekti- ja komponenttiväliohjelmistot. Objektijärjestelmät

Sisältöä luento 19. Stallings, Luvut Appendix B. Hajautettu olio. Parametrien välitys. Sidonta asiakkaan ja olion välillä

Stallings, Luvut Appendix B

Sisältöä luento 19. Stallings, Luvut Appendix B. Hajautettu olio. Parametrien välitys. Sidonta asiakkaan ja olion välillä

Stallings, Luvut Appendix B

7.4 Variability management

Security server v6 installation requirements

Security server v6 installation requirements

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

C++11 seminaari, kevät Johannes Koskinen

7. Product-line architectures

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

HITSAUKSEN TUOTTAVUUSRATKAISUT

Results on the new polydrug use questions in the Finnish TDI data

Hajautettu prosessien hallinta. Stallings, Luku 15. Sisältöä luento 20

Ch [Stal 05] Ch , [Tane 01] Ch 20.7 [DDC 04] Ch [Stal05]

Sisältöä luento 20. Hajautettu prosessien hallinta. Stallings, Luku 15. Prosessin siirto. Syitä siirtoon. Esimerkki. Kuka/mikä päättää siirrosta?

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Slides for Chapter 11: Time and Global State

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

The CCR Model and Production Correspondence

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Syitä siirtoon. Hajautettu prosessien hallinta. Stallings, Luku 15. Sisältöä luento 20. Kuka/mikä päättää siirrosta? Esimerkki.

Curriculum. Gym card

Tietorakenteet ja algoritmit

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Encapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin

Capacity Utilization

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Salasanan vaihto uuteen / How to change password

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

ORB CORBA 101. Palvelinolio. Asiakasolio. Yleistä. Toiminta ja arkkitehtuuri. CORBA 101 Graafisten käyttöliittymien ohjelmointi 2000

RINNAKKAINEN OHJELMOINTI A,

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

LYTH-CONS CONSISTENCY TRANSMITTER

SOA SIG SOA Tuotetoimittajan näkökulma

MUSEOT KULTTUURIPALVELUINA

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Efficiency change over time

Kernel (Fig 4.10 [Stal 05]) Operating Systems Examples and Process Management

Biojätteen keruu QuattroSelect - monilokerojärjestelmällä Tiila Korhonen SUEZ

VBE2 Työpaketit Jiri Hietanen / TTY

Mikä yhteyssuhde on?

Group 2 - Dentego PTH Korvake. Peer Testing Report

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

Kansi- ja areenahankkeen yhteiskuntataloudellinen vaikutusanalyysi Tiivistelmä. Lokakuu 2015

Sovellusarkkitehtuurit

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai Technopolis Vapaudenaukio / Lappeenranta

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

Web Service torilla tavataan!

Telecommunication Software

Choose Finland-Helsinki Valitse Finland-Helsinki

812336A C++ -kielen perusteet,

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Väite Argument "Yhteiskunnan velvollisuus on tarjota virkistysalueita ja -palveluita." "Recreation sites and service

Asynkroninen ohjelmointi.net 4.5 versiolla

EUROOPAN PARLAMENTTI

Tietojärjestelmäarkkitehtuurit

VUOSI 2015 / YEAR 2015

Helsinki Metropolitan Area Council

TM ETRS-TM35FIN-ETRS89 WTG

16. Allocation Models

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Technische Daten Technical data Tekniset tiedot Hawker perfect plus

Siirtymä maisteriohjelmiin tekniikan korkeakoulujen välillä Transfer to MSc programmes between engineering schools

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

TIE Ohjelmistojen suunnittelu

REST rajapintana mobiilikehityksessä

Ostamisen muutos muutti myynnin. Technopolis Business Breakfast

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Sisältöä. Kertaus. Vuorotus I/O Tiedostojärjestelmä Hajautettu prosessi Tietoturva. Käyttöjärjestelmät, Luento 24. Syksy 2007, Tiina Niklander 24-1

Rekisteröiminen - FAQ

Sisältöä. Milloin? Vuorotus. Kiinteä ja vaihteleva prioriteetti. Käyttöjärjestelmät, Luento 24. Kertaus. Syksy 2007, Tiina Niklander 24-1

Collaborative & Co-Creative Design in the Semogen -projects

Integrointi. Ohjelmistotekniikka kevät 2003

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

Metsälamminkankaan tuulivoimapuiston osayleiskaava

TÄYTTÖAUTOMAATIT TÄYTTÖAUTOMAATIT COMPUTER INFLATORS

Processes and threads

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Tietokannat II -kurssin harjoitustyö

public static void main (String [] args)

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

OHJ-5010 Hajautettujen järjestelmien perusteet

Use of spatial data in the new production environment and in a data warehouse

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Alternative DEA Models

Pahin tietoturvauhka istuu vieressäsi Tietoturvatietoisuuden kehittämisestä vauhtia tietoriskien hallintaan

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

HOJ RPC = Remote Procedure Call (ja Common Object Request Broker Architecture)

Transkriptio:

WEEK 10 Distribution issues, global state, clusters, CORBA, etc Stallings, Chapters 14 & 15 + Appendix B Prev. edition; Chapters 13&14 1 Distributed objects client invokes a method client machine client proxy client OS same interface same method server machine server server OS object state method interface skeleton network marshalled invocation 2 Syksy 2007, Tiina Niklander 19-1

Middleware services CACM 45, 6 pp 45 3 CORBA Common Object Request Broker Architecture Interface Repository IDL Compiler Implementation Repository Client OBJ REF operation() out args + return in args Object (Servant) IDL SKEL DSI DII IDL STUBS ORB INTERFACE Object Adapter ORB CORE GIOP/IIOP/ESIOPS CORBA shields applications from heterogeneous platform dependencies e.g., languages, operating systems, networking protocols, hardware 4 Syksy 2007, Tiina Niklander 19-2

RT- CORBA This figure shows the elements above and below ORB. RT features are not part of this course (they are explicit binding and priority propagation) 5 Making an application to CORBA IDL Interface definitions Implementation installation Interface repository client stubs implementation skeleton Implementation repository accesses Client includes includes describes Object implementation 6 Syksy 2007, Tiina Niklander 19-3

Interface definition: IDL IDL module HelloApp{ interface Hello { string sayhello(); }; }; 7 Import HelloApp.*; //contains generated stubs Import org.omg.cosnaming.*; Import org.omg.corba*; //must be in all CORBA applications Client: Public class HelloClient { public static void main(string args[]) { try { // create and initialize the ORB ORB orb = ORB.init(args, null); // get the root naming context org.omg.corba.object objref = = orb.resolve_initial_references( NameService ); NamingContext ncref = NamingContextHelper.narrow(objRef); 1/2 8 Syksy 2007, Tiina Niklander 19-4

// Resolve the object reference in naming NameComponent nc = new NameComponent ( Hello, ); NameComponent path[] = {nc}; // get the stub Hello HelloRef = HelloHelper.narrow(ncRef.resolve(path)); // Call the Hello server object and print results String hello = helloref.sayhello(); system.out.println(hello); } catch (Exception e) { System.out.println( Error : + e); e.printstachtrace(system.out); } } 2/2 Client: 9 Server object 1/3 Import HelloApp.*; // contains generated stubs Import org.omg.cosnaming.*; Import omg.org.corba.*; Public class HelloServer { public static void main(string args[]); //registration, entering server loop try{ ORB orb = ORB.init(args, null); 10 Syksy 2007, Tiina Niklander 19-5

Server object 2/3 // create the servant and register with orb HelloServant helloref = new HelloServant(); orb.connect(helloref); //get root naming context omg.org.corba.object objref = orb.resolve_initial_references( NameService ): NamingContext ncref = NamingContextHelper.narrow(objRef); //bind the object reference to name NameComponent nc = new NameComponent( Hello, ); NameComponent path[] = {nc}; ncref.rebind(path, helloref); 11 Server object 3/3 //wait for invocations from clients java.lang.object sync = new java.lang.object (); syncronized (sync) { sync(wait); } catch (Exection e) { system.err.println( Error: + s); s.printstacktrace (System.out);}} //the actual service Class HelloServant extends _HelloImplBase { public string sayhello () { return \nhello world!\n ;}} 12 Syksy 2007, Tiina Niklander 19-6

CORBA Tutorial More information Schmidt, D., CORBA Tutorial. http://www.eng.uci.edu/~schmidt/pdf/corba4.pdf CORBA-sivustoja http://www.corba.org/ http://www.cs.wustl.edu/~schmidt/corba.html http://www.puder.org/corba/ 13 Clusters 14 Syksy 2007, Tiina Niklander 19-7

Cluster Computer Architecture 15 Clustering Method Passive Standby Active Secondary: - Separate Servers - Servers Connected to Disks - Servers Share Disks Classifications Description A secondary server takes over in case of primary server failure. The secondary server is also used for processing tasks. Separate servers have their own disks. Data is continuously copied from primary to secondary server. Servers are cabled to the same disks, but each server owns its disks. If one server fails, its disks are taken over by the other server. Multiple servers simultaneously share access to disks. Benefits Easy to implement. Reduced cost because secondary servers can be used for processing. High availability. Reduced network and server overhead due to elimination of copying operations. Low network and server overhead. Reduced risk of downtime caused by disk failure. Limitations High cost because the secondary server is unavailable for other processing tasks. Increased complexity. High network and server overhead due to copying operations. Usually requires disk mirroring or RAID technology to compensate for risk of disk failure. Requires lock manager software. Usually used with disk mirroring or RAID technology. 16 Syksy 2007, Tiina Niklander 19-8

Windows Cluster Service 17 Sun Cluster Support for objects and their communication Process management Distributed file system 18 Syksy 2007, Tiina Niklander 19-9

Beowulf www.beowulf.org 19 LUENTO 20 Distributed Process Management Stallings, chapter 15 20 Syksy 2007, Tiina Niklander 19-10

Process Migration Prosessi 3 (solmu S) Prosessiksi 4 (solmu D) Load balancing, availability, move closer to a resource 21 Transfer negotiation: Charlotte 22 Syksy 2007, Tiina Niklander 19-11

Global state 23 Inconsistent Global State A correct global state ( combination of snapshots and messages currently on way, does not allow messages going from future to the past. 24 Syksy 2007, Tiina Niklander 19-12

Consistent Global State 25 Distributed Snapshot Algorithm Process 1 Outgoing channels 2 sent 1, 2, 3, 4, 5, 6 3 sent 1, 2, 3, 4, 5, 6 Incoming channels Process 3 Outgoing channels 2 sent 1, 2, 3, 4, 5, 6, 7, 8 Incoming channels 1 received 1, 2, 3 stored 4, 5, 6 2 received 1, 2, 3 stored 4 4 received 1, 2, 3 Process 2 Outgoing channels 3 sent 1, 2, 3, 4 4 sent 1, 2, 3, 4 Incoming channels 1 received 1, 2, 3, 4 stored 5, 6 3 received 1, 2, 3, 4, 5, 6, 7, 8 Process 4 Outgoing channels 3 sent 1, 2, 3 Incoming channels 2 received 1, 2 stored 3, 4 26 Syksy 2007, Tiina Niklander 19-13

Lamport: logical time stamps 27 Distributed mutual exclusion and deadlocks 28 Syksy 2007, Tiina Niklander 19-14

Lukkiuma sanomanvälityksessä Mutual Waiting All nodes are locked simply because they are all waiting for a message from someone else and there is no message on the way. P1 odottaa joko P2 tai P5 29 Lock in message passing Buffers full A s buffer is full of messages going to B and B s buffer is full of messages going to A and neither has any free space to receive any messages. 30 Syksy 2007, Tiina Niklander 19-15