Lecture 0
1 / 12

Lecture 0 - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Lecture 0' - cora

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


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