26
EEC-681/781 EEC-681/781 Distributed Computing Distributed Computing Systems Systems Lecture 1 Lecture 1 Wenbing Zhao Wenbing Zhao Cleveland State University Cleveland State University [email protected] [email protected]

EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University [email protected]

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Page 1: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

EEC-681/781EEC-681/781Distributed Computing Distributed Computing

SystemsSystems

Lecture 1Lecture 1

Wenbing ZhaoWenbing Zhao

Cleveland State UniversityCleveland State University

[email protected]@ieee.org

Page 2: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

22

What is What is Distributed Computer System?Distributed Computer System?

• A collection of independent computers that appear to the users as a single coherent system– Autonomous computers connected by a

network– Software specifically designed to provide an

integrated computing facility => Our focus!

Page 3: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

33

How It is Different from How It is Different from Computer Network?Computer Network?

• Distributed system is almost synonymous to middleware. It provides distributed transparency

Page 4: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

44

Course ObjectivesCourse Objectives

• Good understanding of distributed computing principles– How distribution transparency is achieved?

• Hands on experience– Labs: programming in different distributed

computing paradigms – Projects: design and implement a distributed

application => Put what you learned into use!

Page 5: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

55

PrerequisitePrerequisite

• Operating system principles– Processes, scheduling, file systems, etc.

• Computer networks– TCP, UDP, IP, Ethernet, etc.

• Java programming language– At least you should know how to write a Hello

World program– You don’t have to be a Java expert

Page 6: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

66

TopicsTopics

• Overview of distributed systems– Definition

• Distributed systems design principles– Distribution transparency– Openness– Mechanisms and policies– Scalability– End-to-end arguments

Page 7: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

77

TopicsTopics

• System models– Fundamental models– Architecture models

• Communication protocols & methods– Remote Procedure Calls (RPC)– Remote Method Invocations (RMI)– Message-oriented communication– Web services

Page 8: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

88

TopicsTopics

• Processes– Multithreading and concurrency control– Stateless and stateful design– Process migration

• Naming– Naming and name resolution– X.500 and LDAP

Page 9: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

99

TopicsTopics

• Synchronization– Clock synchronization– Logical clocks– Global snapshot– Election and mutual exclusion– Transactions and distributed commit

Page 10: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1010

LabsLabs

• Lab 0 – Getting familiar with Linux • Lab 1 – Java RMI (Remote method invocation)• Lab 2 – ActiveMQ (Java Message Service)• Lab 3 – Apache Axis (Web services) • Lab 4 – Java JNDI (Naming and Directory)• Lab 5 – MySQL/JDBC (Transactions)

“Tell me and I forget. Show me and I remember. Involve me and I understand.”- Chinese proverb

Page 11: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1111

LabsLabs

• Lab sessions are mandatory unless an exception is granted in advance

• I will not accept the lab report if you do now show up during the lab session

Page 12: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1212

Course ProjectCourse Project

• Team of up to two (2) persons

• You define the project you want to work on– Problem definition– Approach: how do you achieve distributed

transparency, openness, scalability, etc.– Related work

Page 13: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1313

Course ProjectCourse Project

• Deliverables– Project proposals– Progress report to help you keep good pace– Final project report

• Design documentation• Source code of your system/application• Performance measurement and analysis

– Demonstration and presentation

Page 14: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1414

Class ParticipationClass Participation

• 10% of the course credit• I may perform a roll call in the beginning of each

class/lab to determine the attendance• To obtain the full credit for class participation,

you must satisfy ALL of the following conditions:– You do not miss more than 2 lectures – You do not miss any quiz and lab sessions – You asked at least 10 questions during the semester

• You will lose all 10% credit if you miss more than 6 lectures/labs

Page 15: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1515

Class ParticipationClass Participation

• Send me an email with the following information for each question you have asked within 24 hours after each lecture:– The question you asked – My response – Your comment on my response and

suggestion for improvement, if any

Page 16: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1616

Class ParticipationClass Participation

• You are also encouraged to give me advice/suggestions on how you would like me to improve my teaching to make it more conducive

• For each piece of advice/suggestion, it will be counted as 2 questions

Page 17: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1717

ExaminesExamines

• Two midterms, no final exam

• The examines are closed book and closed notes, except that you are allowed to bring with you a one-page cheat sheet no larger than the US letter size (double-sided allowed)

• No makeup examines!

Page 18: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1818

GradingGrading

• Class participation 10%• Midterms 40% (20% each)• Labs 20%• Course project 30%

– Proposal 5%– Progress report 5%– Presentation 5%– Report 15%– If you are caught cheating in any of the steps, you

will lose all credit for the project

Page 19: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

1919

Do not cheat!Do not cheat!

• Do not copy other student’s lab report, exams or projects

• Do not copy someone else’s work found on the Internet– Including project implementation and report– You can quote a sentence or two, but put those in

quote and give reference– You can build your projects on top of open source

libraries, but again, you need to explicitly give acknowledgement and state clearly which parts are implemented by you

Page 20: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2020

Do not cheat!Do not cheat!

• Do not try to ride on a team without contributing to the project– During presentation, I will ask you questions

to determine if you know what you are talking about

– I may also ask you to demo your program and walk me through your code

Page 21: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2121

Consequences for CheatingConsequences for Cheating

• You get 0 credit for the project/lab/quiz that you have cheated

• If the task is worth more than 25% of the course, it is considered a major infraction

• Otherwise, it is considered a minor infraction

Page 22: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2222

Consequences for CheatingConsequences for Cheating

• For major infraction and repeated minor infractions– You will get an F grade, and – You may be suspended or repulsed from CSU

• CSU Code of Conduct– http://www.csuohio.edu/studentlife/conduct/

StudentCodeOfConduct2004.pdf

Page 23: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2323

Reference TextsReference Texts• Andrew S. Tanenbaum and Marten van Steen:

– “Distributed Systems: Principles and Paradigms” • Prentice-Hall, 2002

• George Coulouris, Jean Dollimore and Tim Kindberg: – “Distributed Systems: Concepts and Design”

• 4th Edition, Addison-Wesley, 2005

• Sape J. Mullender:– “Distributed Systems”

• 2nd Edition, ACM Press, 1993

Page 24: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2424

Instructor InformationInstructor Information

• Instructor: Dr. Wenbing Zhao– Email: [email protected]– Lecture hours: M W 6:00-7:50pm– Office hours: M W 4:00-6:00pm and by appointment

• Anonymous email:– [email protected]– Password:– if you are not happy, please do let me know

• Course Web site:– http://academic.csuohio.edu/zhao_w/teaching/

EEC681-F06/eec681.htm

Page 25: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2525

Distributed Computing Systems Distributed Computing Systems LabLab

• Location: SH 306• The lab consists of 8 computers each with dual

Intel Xeon processor running Suse 10.0 Linux• Accessible from the Internet through the server

– Externally visible domain name: dcs.csuohio.edu

• The lab itself runs many distributed systems, e.g.,– NFS (networked file systems)– NIS (network information service)

Page 26: EEC-681/781 Distributed Computing Systems Lecture 1 Wenbing Zhao Cleveland State University wenbing@ieee.org

Fall Semester 2006Fall Semester 2006 EEC-681: Distributed Computing SystemsEEC-681: Distributed Computing Systems Wenbing ZhaoWenbing Zhao

2626

HomeworkHomework

• Due September 1, 11:59pm• Email me the following information

– How should I call you?– Username you would like to use for DCS lab acount– The amount of time per week you commit to this

course– The grade you expect to get– The topics you are most interested in– The topics you are least interested in– If your schedule conflicts with my office hours, what is

the best time for you to talk to me?– Comments and suggestions, if any