Computer Science Lecture 28, page 1 CS677: Distributed OS Today: Final Thoughts.

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

Standards Alignment A study of alignment between state standards and the ACM K-12 Curriculum.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Distributed components
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Fall 2011.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
CS603 Advanced Topics in Distributed Systems MWF 13:30-14:30 RHPH 162 Professor Chris Clifton.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
University of Kansas Construction & Integration of Distributed Systems Jerry James Oct. 30, 2000.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Computer Science 162 Section 1 CS162 Teaching Staff.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 CS 603: Advanced Topics in Distributed Systems Spring 2002 Professor Chris Clifton.
Distributed Systems Fall 2009 Course introduction.
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
Computer Science Lecture 16, page 1 CS677: Distributed OS Last Class:Consistency Semantics Consistency models –Data-centric consistency models –Client-centric.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
Distributed Computing COEN 317 DC2: Naming, part 1.
Platforms for Learning in Computer Science July 28, 2005.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Example applications Symbolic names and the Domain Name System (DNS)
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
Dionicio D. Gante, Genevev G. Reyes & Vanylive T. Galima DDistributed Operating Systems.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Syllabus. Instructor Dr. Hanan Lutfiyya Middlesex College 418 Ext Office Hours: Tuesday from 12:05-1:05 and Thursday from 11:05-1:05.
Distributed Computing COEN 317 DC2: Naming, part 1.
Architectures of distributed systems Fundamental Models
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Computer Science Lecture 9, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS Iterative versus Recursive name resolution.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Welcome! CSI 4118: Computer Networks and Protocols (3,0,0) Professor: Dr. Robert L. Probert Office: SITE 5098 Phone: x6709
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Summary and Review. Course Objectives The main objectives of the course are to –introduce different concepts in operating system theory and implementation;
Computer Science Lecture 13, page 1 CS677: Distributed OS Last Class: Canonical Problems Distributed synchronization and mutual exclusion Distributed Transactions.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Shuman Guo CSc 8320 Advanced Operating Systems
Syllabus. Instructor Dr. Hanan Lutfiyya Middlesex College 418 Ext Office Hours: Wednesday 5-6; Thursdays 4-6 or by appointment.
CCNA4 v3 Module 6 v3 CCNA 4 Module 6 JEOPARDY K. Martin.
Pro Software Patentability Katie Jones Emma Boston Rodney Ezzard Alfred Williams Katie Jones Emma Boston Rodney Ezzard Alfred Williams.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
Program Style Chapter 22 IB103 Week 12 (part 2). Modularity: the ability to reuse code Encapsulation: hide data access directly but may use methods (the.
Distributed Systems CS Consistency and Replication – Part I Lecture 10, September 30, 2013 Mohammad Hammoud.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Spring 2016.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
1 CS-550: Materials for the Final Exam - Tue., Dec. 11, 2001, 8 a.m. Distributed Systems 8.Client-server computing Architecture, Relational database applications.
Truly Distributed File Systems Paul Timmins CS 535.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Distributed Operating Systems Spring 2004
Algorithms and Problem Solving
Distributed Operating Systems
CSCD 433/533 Advanced Computer Networks
IS 651: Distributed Systems Midterm
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
CSCD 433/533 Advanced Computer Networks
Chapter 2. Problem Solving and Software Engineering
Distributed Systems (15-440)
Presentation transcript:

Computer Science Lecture 28, page 1 CS677: Distributed OS Today: Final Thoughts

Computer Science Lecture 28, page 2 CS677: Distributed OS Topics in Distributed Systems Communication in distributed systems –RPCs, message versus stream-oriented communication Processes and scheduling –Code and process migration, load balancing, scheduling – Key idea: move code or processes for performance Naming –DNS, recursive v/s iterative name resolution –Key idea: use hierarchies to handle large distributed systems

Computer Science Lecture 28, page 3 CS677: Distributed OS Topics in Distributed Systems Canonical problems – Clock synchronization, logical clocks, leader election, mutual exclusion,... Consistency and replication –Consistency semantics, web caching –Key idea: replicate and locate data close to where it is accessed Fault Tolerance –Key idea: use redundancy to increase availability

Computer Science Lecture 28, page 4 CS677: Distributed OS Topics in Distributed Systems Security – Encryption, authentication,.. –Security is hard and shouldn't be an after-throught Distributed File Systems –NFS, Coda, xFS –Key idea: Make remote data access possible and efficient Distributed Middleware: CORBA, DCOM, Jini Other topics: Video-on-demand, Multimedia OS

Computer Science Lecture 28, page 5 CS677: Distributed OS Follow-on Courses CMPSCI 653: Computer Networks CMPSCI 754/654: Multimedia Systems CMPSCI 515: Computer and Network Security Numerous seminar courses (paper reading courses)

Computer Science Lecture 28, page 6 CS677: Distributed OS Five Sermons in Computer Science Courtesy: Tom Anderson, Univ. of Washington Sermon 1: Simplicity Sermon 2: Performance Tuning Sermon 3: Programming Craft Sermon 4: Information is Property Sermon 5: Stay Broad

Computer Science Lecture 28, page 7 CS677: Distributed OS Sermon 1: Simplicity Keep things simple, stupid (KISS principle) Simplicity is absolute good, not a tradeoff –Forces against simplicity: marketing,... Reasons: –Easier to build and maintain, faster, cheaper,.. Ways to make things simple: – Design, then code – Think first, act later

Computer Science Lecture 28, page 8 CS677: Distributed OS Sermon 2: Building High-Performance Systems Options: –Make every line of code very fast –Tune selectively (better) Observations –90-10 rule: 90% of time spent in 10% of code –Difficult to predict performance problems in advance Solutions – Measure existing systems (profiling) –Modeling –Simulate algorithms ahead of time –Tuning: build, get it to run, measure, tune bottlenecks –Go top-down

Computer Science Lecture 28, page 9 CS677: Distributed OS Sermon 3: Programming Style Question: how to build large software systems in a reasonable amount of time and make them reliable? Programming is a craft (art?) –Need lot of discipline and structure to make large systems work (well) Rule 0: KISS Rule 1: Don't over-generalize Rule 2: If it is complex, throw it away and start over Rule 3: Modularity (and module testing) Rule 4: Adopt consistent style –Naming convention, file organization, procedure structuring,... Rule 5: Don't go for quick, dirty fixes (do it right the first time) Rule 6: Document carefully and well –Describe high-level idea and then the code Rule 7: Quality not quantity is important for documentation Summary: Discipline, craft. Take time upfront to save up time later.

Computer Science Lecture 28, page 10 CS677: Distributed OS Sermon 4: Information is Property Intellectual property (IP) issues are important –Who own what? What rights do you have? Stealing information is still stealing!

Computer Science Lecture 28, page 11 CS677: Distributed OS Sermon 5: Stay Broad Fast moving field. New developments all the time – XML, Java did not exist 5 years ago Solutions – Continuing education – Education is a life-long process – Explore new areas both inside and outside CS Knowledge is power