Lecture 0 Anish Arora CSE 6333 Introduction to Distributed Computing.

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Parallel Programming Motivation and terminology – from ACM/IEEE 2013 curricula.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
ECE 355 Introduction to Computer Networks and Data Communications
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Distributed components
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Distributed Systems.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
CMPT Dr. Alexandra Fedorova Distributed Systems.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Review For Midterm.
CS603 Advanced Topics in Distributed Systems MWF 13:30-14:30 RHPH 162 Professor Chris Clifton.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Distributed Information Systems - The Client server model
1 CS 603: Advanced Topics in Distributed Systems Spring 2002 Professor Chris Clifton.
Distributed Systems Fall 2009 Course introduction.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
ADVANCE MOBILE TECHNOLOGY & NETWORKING Course Content.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Computer Network Fundamentals CNT4007C
Introduction MSCS 6060 – Parallel and Distributed Systems.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Distributed Systems Principles and Paradigms
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Exercises for Chapter 2: System models
Syllabus. Instructor Dr. Hanan Lutfiyya Middlesex College 418 Ext Office Hours: Tuesday from 12:05-1:05 and Thursday from 11:05-1:05.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Course Wrap-Up Miodrag Bolic CEG4136. What was covered Interconnection network topologies and performance Shared-memory architectures Message passing.
Architectures of distributed systems Fundamental Models
CSE 534: Advanced Computer Networks
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.
Advanced Principles of Operating Systems (CE-403).
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Distributed systems [Fall 2015] G Lec 1: Course Introduction.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Data Structures and Algorithms in Java AlaaEddin 2012.
CMPT 401 Distributed Systems Concepts And Design.
Computer Networks CNT5106C
COT 4600 Operating Systems Fall 2010 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:30-4:30 PM.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 System Models by Dr. Sarmad Sadik.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer Network Fundamentals CNT4007C
CS/CE/TE 6378 Advanced Operating Systems
Building Distributed Educational Applications using P2P
Advanced Operating Systems
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Introduction to locality sensitive approach to distributed systems
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Distributed Systems Bina Ramamurthy 4/7/2019 B.Ramamurthy.
Architectures of distributed systems
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Overview of Networking
Distributed Systems and Algorithms
Presentation transcript:

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  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 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 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 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… 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 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 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 WebpageWebpage: 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 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 Read the material assigned in class Work independently and ethically on homeworks and labs Ask questions

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%