Lecture 0
This presentation is the property of its rightful owner.
Sponsored Links
1 / 12

Lecture 0 PowerPoint PPT Presentation


  • 83 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Lecture 0

Lecture 0

Anish Arora

CSE 6333

Introduction to Distributed Computing


Distribution means

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)


Distribution goals

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


Distribution challenges

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


Distribution examples

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


We will discuss

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


Course approach

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


What we won t cover

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


Course materials

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


What we will assume

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)


My expectations

My Expectations

  • Read the material assigned in class

  • Work independently and ethically on homeworks and labs

  • Ask questions


Grading plan

Grading plan

  • Homework and lab assignments25%

  • In class quizzes (~5)10%

  • Midterm quiz25%

  • Presentation15%

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


  • Login