Download
lecture 0 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Lecture 0 PowerPoint Presentation

Lecture 0

122 Views Download Presentation
Download Presentation

Lecture 0

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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%