Welcome Aboardhome.eng.iastate.edu/~guan/course/CprE-450-550/Slides...CprE 450/550 Distributed...

Post on 04-Jul-2020

3 views 0 download

Transcript of Welcome Aboardhome.eng.iastate.edu/~guan/course/CprE-450-550/Slides...CprE 450/550 Distributed...

CprE 450/550Distributed Systems and

Middleware

Instructor: Yong GuanDurham 309

Tel: (515) 294-8378Email: yguan@iastate.edu

Welcome Aboard !

The insider’s view of a Centralized OS

• The insider’s view of a centralized OS.• (Roughly patterned after XINU [Comer 1984])

hardware

process coordinatorprocess managermemory manager

real-time clock managerdevice manager and device driversfile systemuser programs

1

2

3

1

2

3

remote files

+ remote device access

+ remote process management

Natural Extensions

• Two Trends– System Virtualization

• Allow multiple instances of (possibly different) OSes on a single machine

– Distributed OS• Large scale networked systems/machines

• Emerging Distributed Apps– Cloud Computing– P2P file sharing– Data outsourcing: Google Docs, Data centers, Yahoo Photo

Album, etc.– IPTV/VoIP– Web2.0 & WebOS, Wikipedia– Social websites: Myspace, Facebook, LinkedIn,.

Virtualization

• Idea: – Decouple [OS, service] pair from hardware– Multiplex lightly-used services on common host hardware– Migrate services from host to host as needed– Introduce new [OS, service] pairs as needed– Examples: VMWare, Xen, Parallel, etc.

Before Virtualization

After Virtualization

Multicast• The key application was streaming audio/video

– Webinar– Stock Information– On-line TV/Video– Group-based Apps (game, …)

Web 2.0: Wikipedia• Wikipedia is a multilingual, Web-based, free content

encyclopedia project. It is written collaboratively by volunteers, allowing most of its articles to be edited by almost anyone with access to the Web site.

• The largest collaborative authoring (group editing) project in the world

Google Office• Google Docs & Spreadsheets mimic functions of Microsoft

Office tools on the Web– Free storage, linked with Gmail– Work and collaborate as long as you have access to a

Web browser• Uniform look and feel on all OS platforms• Ajax and other software techniques make it as

responsive as local applications – network latencies are hidden

• The future of computing?– Web browser + open source, or Google + Linux?– No need to buy computers and software

• Who will pay for Windows and Office in the future?

Peer-to-Peer Systems• A killer application: Naptser

– Free music over the Internet• Key idea: share the content, storage and

bandwidth of individual (home) users• Exemplar P2Ps: Naptser, Gnutella,

Freenet, CAN, Chord, BitTorrent

Internet

Hadoop

http://hadoop.apache.org/

Emerging Internet Apps• IPTV• VoIP: Skype, Vonage, AT&T, etc• Video-on-Demand• Cloud-based services

Electronic Health Care Systems

• Monitoring a person in a pervasive electronic health care system, using (a) a local hub or (b) a continuous wireless connection

Blockchain

• http://bitcoin.org/en/• Ethereum• Stella

Course Objectives

This CprE 450/550 will

give the students both the fundamental knowledge in distributed computing systems and hands-on practice through middleware-based programming projects.

prepare the students for active research at the forefront of the areas of distributed computing systems, such as P2P, VoIP, Security, etc.

Course DescriptionFundamentals of distributed computing– Naming Services– Synchronization and Consistency– Distributed File Systems – Distributed Object-based Systems– System Virtulization– Security– Mobility Support– Blockchain– Emerging Apps: P2P, VoIP, …– New Architecture Design for the future Internet

Middleware– CORBA – RPC– Blockchain-based Middleware

Middleware-based Application Design and Development

Course Prerequisite

• Familiarity with– Basic concepts of O.S and computer

networking

• Some necessary background information will be discussed in class. Suggestions?

Course Materials• Required Textbook:

– Distributed Systems: Principles and Paradigms

• Reference Books:– Distributed Systems: Concepts and Design– Security Engineering: A Guide to Building

Dependable Distributed Systems

• Selected papers on each topic will be provided.

Reading list will be given on Canvas.

Course Outline and Schedule• Meet in the classroom

– In-class lecture schedule posted on Canvas– http://www.engineering.iastate.edu/~guan/course/CprE-450-

550/Slides1712/index.html

• Office hours held weekly on Tuesday, 11-noon, both face-to-face and online via Zoom.

• In-class midterm exam and take-home final exam

• Final term paper presentation in the final exam week

Course AssignmentsThree programming projects, two of which are small, and the 3rd is a larger one

One term paper– Undergraduate: 6-pages literature survey on a specific topic based

on the reading of at least 10 papers published within the past five years.

– Graduate: 8-pages term paper, including defining a specific problem, surveying existing work, developing a (better) solution, and evaluating your results

Two exams (in-class mid-term and take-home final exams)

Online quizzes

A small number of homework (no need to submit), demonstration, and presentations

Grading CriteriaTotal point is 100

Mid-term & Final Exam: 30Course Projects: 40Term papers: 20 – Vision– Related work– Critiques: identify holes/questions and potential

improvements of existing work– Depth and breadth of knowledge to the materials

Quizzes and term paper presentation: 10

Attendance for those in-class lectures is expected and encouraged. Bonus 3 points.

Course Rules• Attending in-class lectures is encouraged,

unless you have reasonable reasons.

• Due dates for term papers and course projects are firm.

• However, for the whole semester, you can have at most one time no-reason three-day extension.

Any Questions?