1 / 12

Lecture 0

Lecture 0. Anish Arora CSE 6333 Introduction to Distributed Computing. Distribution means…. Multiple processes (or processors) that can communicate with each other via shared memory or message channels Each process has only partial knowledge of system parameters

cora
Télécharger la présentation

Lecture 0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 0 Anish Arora CSE 6333 Introduction to Distributed Computing

  2. Distribution means… • Multiple processes (or processors) that can communicate with each other • via shared memory or message channels • Each process has only partial knowledge of system parameters • loosely coupled operation, MIMD architecture • Processes and communication are subject to faults • Cooperation of processes to achieve a common goal lacks • a shared clock • a global shared memory • accurate failure detection • resource: memory, time, power (sometimes)

  3. Distribution goals • Scalability • Modularity and heterogeneity • Data sharing • Resource sharing • Accommodating geography • Reliability, fault-tolerance, security, timeliness, recoverability • Low cost, better performance to cost, offloaded maintenance

  4. Distribution challenges • Concurrency yields complex behaviors • Reasoning about non-determinism, about compositions • Consistency/coordination despite lack of global state/time • Failure is the “norm” and not the “exception” • Spreading effects of corruption • Many threats and several security exploit • Economic and social impact of denial of service/compromise • Scalability

  5. Distribution examples • Web servers (http) • Peer-to-peer services and overlays • Grid clusters, Cloud data centers • Multi-processor and multi-core systems • Wireless sensor network middleware and applications • Network and communication protocols • Ad hoc, mesh, mobile networks • Three tier database servers • Client server systems • Distributed operating systems • Social networks, agents

  6. We will discuss… • Global time and global state • Reasoning about distributed programs • Problems in fault-tolerant distribution • Wireless sensor networks • Distributed data structures, peer-to-peer • Systems design: shared memory, message passing, transactional memory

  7. Course approach • Focus on common, fundamental problems • In abstract form ! • Develop and formally specify algorithms • Emphasize reasoning about correctness • Properties of systems are validated thus • Proofs also help analyze program performance • Our focus is on deterministic reasoning • Some lab exercises (in the context of sensor networks) • You will present one published algorithmic concept

  8. What we won’t cover • Particular distributed operating systems and their implementation issues (see CSE 5911, formerly 762) • Programming technologies and middleware for distributed computing, in particular CORBA, Java RMI, EJB, Javaspaces, Jini, XML, and Web Services (see CSE 5234, formerly 769) • Security (see CSE 5473, formerly 651) and Cryptography (see CSE 5351, formerly 723) • Configuring, managing, and maintaining of distributed systems

  9. Course materials Webpage: http://cse.ohio-state.edu/~anish/763/763.html syllabus, slides, notes, readings, assignments, announcements We’ll use a set of my course notes (some electronic, others not) and papers from the literature References • Paul Sivilotti, Course notes, Introduction to Distributed Systems, 2009 • A. Kshemkalyani and M. Singhal and N. Shivaratri, Distributed computing Concepts, Algorithms and Systems, Cambridge, 2008 • Vijay K. Garg, Elements of Distributed Computing, Wiley, 2002 • K. M. Chandy and J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, 1988

  10. What we will assume You should be familiar with: • Boolean (propositional and predicate) logic • C/C++and/or script programming I expect from you some mathematical maturity, including the ability to learn and use new mathematical & programming notations (NesC for instance)

  11. My Expectations • Read the material assigned in class • Work independently and ethically on homeworks and labs • Ask questions

  12. Grading plan • Homework and lab assignments 25% • In class quizzes (~5) 10% • Midterm quiz 25% • Presentation 15% • Take-home final quiz    25% Working alone is a must ! Discuss questions with grader or me as need be Grading is relative. An A grade may require a lot less than 90%

More Related