USF CS 682 - Distributed Software Development

Unformatted text preview:

Class structure Class structure Course Policy Course Policy On Reading On Reading On Reading Course Policy On Plagiarism Assignments Course Policy Aphorisms What is a distributed system? What is a distributed system? Tightly-coupled systems Middle ground This class Issues in distributed systems An example: DNS DNS from the client side Other things DNS does Service-oriented computing A naive solution A naive solution How DNS actually works DNS from the client side, redux Local DNS servers DNS as a distributed system DNS as a distributed system DNS as a distributed system DNS as a distributed system DNS as a distributed system DNS as a distributed system DNS as a distributed system DNS as a distributed system DNS as a distributed system Summary SummaryDistributed Software DevelopmentIntroductionChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p. 1/??Class structure•Combination of lectures and labs•Labs (many Tuesdays): hands-on exposure to apiece of Web technology.•Lectures (Thursdays): problems, principles andalgorithms related to large-scale distributedsystems.Department of Computer Science — University of San Francisco – p. 2/??Class structure•Work:•8 labs - 1 week turnaround.•Midterm and final•Two projects:•P2P client•Extension of your choosing.Department of Computer Science — University of San FranciscoCourse Policy•Class participation is very important.•Attendance is required•Active participation is encouraged (and rewarded!)Department of Computer Science — University of San Francisco – p. 4/??Course Policy•Texts:•Readings from a number of texts are availableonline through the USF library•I will also assign readings from O’Reilly’s technicalcollection.•This is available for free to all USF students atproquest.safari.com•I will expect you to do the reading before class.Department of Computer Science — University of San Francisco – p. 5/??On Reading•“There’s so much reading! Do we really have to readall of this?”•“Can’t we just use the slides?”Department of Computer Science — University of San FranciscoOn Reading•“There’s so much reading! Do we really have to readall of this?”•Yes.•“Can’t we just use the slides?”•No.Department of Computer Science — University of San Francisco – p. 7/??On Reading•One thing I want you to learn in this class is how tosynthesize large amounts of printed information.•Wrong: Front-to-back, sequential.•Right: Skim first. Identify important sections, ormaterial you are weak on. Return to that.Department of Computer Science — University of San Francisco – p. 8/??Course Polic•Languages:•You may use any language that “makes sense” for thelab/project.•I will present examples in Python and/or Java.•If you want to use something esoteric (not Python,Java, C/C++, Ruby, Perl, or C#) please talk to mefirst.•I recommend choosing a language that has goodsupport for XML parsing.Department of Computer Science — University of San FranciscoOn Plagiarism•You are all expected to do your own work. Noexceptions.•There may be cases in which it is acceptable to use athird-party library (with appropriate credit) to assist onan assignment. Please ask first.•I will check your assignments against each other,databases of code repositories, and google.•Plagiarism is simply not worth the risk.Department of Computer Science — University of San Francisco – p. 10/??Assignments•You will have 8 labs, plus two larger programmingassignments.•Labs will provide you with some components that canpotentially be used in larger projects.•Good SE practices are important here.•All labs must be available 24/7 on a publicallyavailable server.•Pace is fairly quick; it’s very important to start earlyand keep up.Department of Computer Science — University of San Francisco – p. 11/??Course Polic•Late assignments:•Labs may be turned in up to 24 hours late for amaximum of 75% credit•Projects may not be turned in late. You will beexpected to demo your work the day it is due.•In general, getting in the habit of turning things in lateis a very bad idea.Department of Computer Science — University of San FranciscoAphorisms•“Success is 1% inspiration and 99% perspiration” -Thomas Edison•“90% of life is showing up.” - Woody Allen•“Teachers open the door. Students must walk throughon their own.” Chinese proverb.•“Just keep swimming.” Finding NemoDepartment of Computer Science — University of San Francisco – p. 13/??What is a distributed system?•(Couloris) “A distributed system is one in whichhardware or software components communicate orcoordinate their actions only by passing messages.”•This covers everything from a parallel computer to theInternet.Department of Computer Science — University of San Francisco – p. 14/??What is a distributed system?•So how is this class different from Pacheco’s orBenson’s?•Different set of challenges:•Heterogeneity•Openness•Scalability•Failure models•Degree of parallelismDepartment of Computer Science — University of San FranciscoTightly-coupled systems•Parallel computing typically works with the followingsorts of systems:•Shared clock•Low latency/fast communication•Single owner•Homogenous systems•Tightly coupled•Prof. Pacheco’s class addresses systems with thesecharacteristics.Department of Computer Science — University of San Francisco – p. 16/??Middle ground•Prof. Benson’s class relaxes these assumptionssomewhat.•Systems may not be homogenous•Communication still fast/low latency•Limited autonomy•Less tightly coupled.Department of Computer Science — University of San Francisco – p. 17/??This class•This class will look at systems on the other end of thespectrum•Widely distributed - high latency communication•Autonomous, heterogenous components•No shared clock•Very large scale•Discovery may be a problem•The Web is a classic example of this sort of system(but not the only one)Department of Computer Science — University of San FranciscoIssues in distributed systems•The definition Couloris provides leads to the followingproblems that must be considered:•Concurrency - work is happening on multiplecomputers simultaneously and must becoordinated.•No global clock.•Independent failures, both network and computer.•We’ll


View Full Document

USF CS 682 - Distributed Software Development

Documents in this Course
Load more
Download Distributed Software Development
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Software Development and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Software Development 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?