distributed systems
play

Distributed Systems MTAT.08.009 * * * * * eero.vainikko@ut.ee - PowerPoint PPT Presentation

University of Tartu, Institute of Computer Science Distributed Systems MTAT.08.009 * * * * * eero.vainikko@ut.ee Fall 2015 2 Practical information Teachers: Eero Vainikko, Amnir Hadachi, Artjom Lind, Oleg Batra sev Lectures: WED 12:15,


  1. University of Tartu, Institute of Computer Science Distributed Systems MTAT.08.009 * * * * * eero.vainikko@ut.ee Fall 2015

  2. 2 Practical information Teachers: Eero Vainikko, Amnir Hadachi, Artjom Lind, Oleg Batra˜ sev Lectures: WED 12:15, Liivi 2 - 403 Lectures & Problem solving classes: FRI 10:15, Liivi 2 - 404 6 eap Lectures: 48h; Problem solving: 16h; Independent work: 92h Final grade forms from : 1. Homework, discussion seminars etc (50%) 2. Exam (40%) = Mid-Term Exam (15%) + Final Exam (25%) 3. Active participation at lectures and seminars (10%) Course homepage ( http://courses.cs.ut.ee/2015/ds/fall )

  3. 3 Introduction 0.1 Syllabus 0 Introduction 0.1 Syllabus 0.1.1 Lectures: 7. A guest lecture (pending) 0. Introduction to the course 8. Security 1. Characterization of distributed sys- 9. Operating system support; Dis- tems; System models tributed files systems; Name ser- vices 2. Networking and internetworking; Interprocessor communication 10. Designing distributed systems: Google case study; Big Data 3. Indirect communication paradigm 4. Remote invocation; Distributed ob- 11. Coordimation and agreement jects and components 12. Transactions and concurrency con- 5. Peer-to-peer systems trol Distributed transactions 6. Web services

  4. 4 Introduction 0.1 Syllabus 0.1.2 Discussion seminars Introduces/enhances parts of the course syllabus above • based on individual and/or group- – may include some elements of work competition • Off-class work: – predefined groups, or – spontaneously formed groups – studying the textbook (chapter / theme) • Includes presentations, either – looking for information from the Internet – spontaneous, or – separate group meetings – prepared ——– The aim: collaborative & supportive learning experience ! ——–

  5. 5 Introduction 0.1 Syllabus 0.1.3 Homework • 2-3 programming tasks with separate deadlines 0.1.4 Exam • Course materials studied at Lectures and Discussion Seminars • Exercises • Dates – Mid-Term Exam: 28. October 2015 – Final Exam: ∗ A. ??. December 2015 at 10:15 ∗ B. ?? January 2016 at 10:15

  6. 6 Introduction 0.2 Literature 0.2 Literature 0.2.1 Textbook • George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley 2012. 0.2.2 Additional reading • POSIX thread programming • Synchronizing threads in Java • Pthreads API specification • Java tutorial by SUN • Introduction to Java threads • Fundamentals of multithreading

  7. 7 Introduction 0.2 Literature • Flick: The Flexible IDL Compiler • Coda File System Kit • Remote Filesystems slides • Java IDL Technology • WebDAV Resources • ONC+ Developer’s Guide • Microsoft Interface Definition Lan- • Understanding Replication in guage (MIDL) Databases and Distributed Systems (PDF) • Introduction to Java RMI • Linux Virtual Server for Scalable • Java RMI Tutorial Network Services (PDF) • Annotated WSDL Example • NFS Security (PDF) • The NFS Version 4 Protocol • Microsoft SMB Protocol and CIFS • Executive Summary: Computer Protocol Overview Network Time Synchronization

  8. 8 Characterization of Distributed Systems 1.1 Introduction 1 Characterization of distributed systems 1.1 Introduction What is a Distributed System? A distributed system Components? Communication? Coordination? is one in which components located at networked computers communicate and coordinate their actions only by passing messages A distributed system consists of a collection of autonomous computers linked by a computer network and equipped with distributed system software . This software enables computers to coordinate their activities and to share the re- sources of the system hardware, software, and data.

  9. 9 Characterization of Distributed Systems 1.1 Introduction How to characterize a distributed system? • concurrency of components • lack of global clock • independent failures of components Leslie Lamport :-) You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done! What is the prime motivation for Distributed Systems? Prime motivation: to share resources

  10. 10 Characterization of Distributed Systems 1.1 Introduction What are the challenges? • heterogeneity of components • openness • security • scalability – the ability to work well when the load or the number of users increases • failure handling • concurrency of components • transparency • providing quality of service

  11. 11 Characterization of Distributed Systems 1.2 Examples of distributed systems 1.2 Examples of distributed systems Distributed Systems application domains connected with networking: Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace Creative industries and online gaming, music and film in the home, user-generated entertainment content, e.g. YouTube, Flickr Healthcare health informatics, on online patient records, monitoring patients Education e-learning, virtual learning environments; distance learning Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth Science The Grid as an enabling technology for collaboration be- tween scientists Environmental management sensor technology to monitor earthquakes, floods or tsunamis

  12. 12 Characterization of Distributed Systems 1.2 Examples of distributed systems 1.2.1 Web search 1.2.2 Massively multiplayer online games (MMOGs) An example: Google Examples Highlights of this infrastructure: • EVE online – client-server archi- • physical infrastructure tecture ! • distributed file system • EverQuest – more distributed • structured distributed storage architecture system • Research on completely decentral- • lock service ized approaches based on peer-to- • programming model peer (P2P) technology

  13. 13 Characterization of Distributed Systems 1.2 Examples of distributed systems 1.2.3 Financlial trading • distributed even-based systems ✞ ☎ W H E N MSFT price moves outside 2% of MSFT Moving Average FOLLOWED BY ( − MyBasket moves up by 0.5% AND ( HPQ − s price moves up by 5% OR MSFT − s price moves down by 2% ) ) ALL WITHIN - Reuters market data events any 2 minute time period THEN - FIX events (events following the BUY MSFT SELL HPQ specific format of the Financial Informa- ✝ tion eXchange protocol)

  14. 14 Characterization of Distributed Systems 1.3 Trends in distributed systems 1.3 Trends in distributed systems • emergence of pervasive networking technology • emergence of ubiquitous computing coupled with the desire to support user mobility • multimedia services • distributed systems as utility 1.3.1 Pervasive networking and the modern Internet networking has become a pervasive resource and devices can be conected at any time and any place

  15. 15 Characterization of Distributed Systems 1.3 Trends in distributed systems A typical portion of the Internet:

  16. 16 Characterization of Distributed Systems 1.3 Trends in distributed systems 1.3.2 Mobile and ubiquitous computing • laptop computers • handheld devices (mobile phones, smart phones, tablets, GPS-enabled devices, PDAs, video and digital cameras) • wearable devices (smart watches, glasses, etc.) • devices embedded in appliances (washing machines, refrigerators, cars, etc.)

  17. 17 Characterization of Distributed Systems 1.3 Trends in distributed systems Portable and handheld devices in a distributed system • mobile computing • location/context- aware computing • ubiquitous computing • spontaneous interoperation • service discovery

  18. 18 Characterization of Distributed Systems 1.3 Trends in distributed systems 1.3.3 Distributed multimedia systems • live or pre-ordered television broadcasts • video-on-demand • music libraries • audio and video conferencing

  19. 19 Characterization of Distributed Systems 1.3 Trends in distributed systems 1.3.4 Distributed computing as a utility • Cluster computing • Grid computing • Cloud computing

  20. 20 Characterization of Distributed Systems 1.4 Sharing resources 1.4 Sharing resources What are the resources? • Hardware – Not every single resource is for sharing • Data – Databases – Proprietary software – Software production – Collaboration

  21. 21 Characterization of Distributed Systems 1.4 Sharing resources Sharing Resources • Different resources are handled in different ways, there are however some generic requirements: – Namespace for identification – Name translation to network address – Synchronization of multiple access

  22. 22 Characterization of Distributed Systems 1.5 Challenges 1.5 Challenges 1.5.1 Heterogeneity Heterogeneity – variety and difference in: • networks • computer hardware • OS • programming languages • implementations by different developers

Recommend


More recommend