CU-Boulder ECEN 5053 - Software Engineering of Distributed Systems Design Issues

Unformatted text preview:

Software Engineering of Distributed SystemsPowerPoint PresentationCourse LogisticsOutlineDefinition of a Distributed SystemAlternative definition of a distributed systemImplied characteristics?Examples?Why is this hard?Software is hardSoftware is hard - 2Software is hard - 3Necessary DevelopmentsPurposes -- what problem is solved?Access and sharing remotelyTransparency TypesDegree of TransparencyOpennessGoals of OpennessFlexibility -- Policy and MechanismScability Challenges -- SizeScalability Challenges -- GeographicScalability Challenges -- AdministrativeScaling TechniquesDividing DNS name space into zonesSlide 26Hardware ConceptsShared Memory & Private MemoryBus-based & Switch-basedPerformance Impacts--bus, shared memoryPerformance impacts --Performance impacts - heterogeneous multicomputer systemsSoftware ConceptsWhen is a distributed system not a distributed system?Various middleware models (paradigms)Sample ParadigmsEach paradigm must address these issues:Software Engineering of Distributed SystemsSoftware Engineering of Distributed SystemsUniversity of ColoradoBoulderECEN5053bring up www.cdk4.net before starting Tegrity in classAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro2August 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro3Course LogisticsIntroductions http://webct.colorado.eduFormatCalendar – this year, Fall Break is merged into Thanksgiving week – no classes 11/20-11/24/2006Final Exam, Monday December 18, 1:30-4 p.m.Homework – see web siteContact information – [email protected] 303-492-8369 (CU office), ECEE 1B67Text web site: www.cdk4.net -- see key pts.August 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro4OutlineDefinitionsSoftware Engineering issuesPurposesDemands/challengesHardware conceptsSoftware conceptsAn example modelAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro5Definition of a Distributed SystemA distributed system is a collection of independent computers that appears to its users as a single coherent system. Andrew TanenbaumA distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. Coulouris et al (your text)concurrency of components’ executionlack of a global clockindependent failures of componentsAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro6Alternative definition of a distributed system“You know you have one when the crash of a computer you’ve never heard of stops you from getting any work done.” Leslie LamportAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro7Implied characteristics?“appears to its users as a single coherent system” – what must be true for that to be true?August 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro8Examples?internetand what else?August 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro9Why is this hard?Hardware tends to smaller, faster, more reliable, cheaper, more predictable to develop and innovateConcurrent, networked, distributed software has grown larger, slower, more error-prone, very expensive and time-consuming to develop, validate, maintain, enhanceSome low-level sw optimizations are no longer needed thanks to new hardwareLifecycle cost continues to riseAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro10Software is hardInherent complexitiesfundamental domain challenges partial failure, distributed deadlock, end-to-end QoSAccidental complexitiesLimitations of software toolsLimitations of development techniquesnon-portable APIs, poor distributed debuggersDeliberate choices of developers who favor low-level languages and tools that don’t scale wellAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro11Software is hard - 2Inadequate methods and techniquesPopular software analysis methods and design techniques have focused largely on constructing single-process, single-threaded applicationsDevelopment of high-quality concurrent, networked, distributed systems with stringent QoS requirements are left to intuition and expertise of skilled sw architects and engineers.Hard to learn – trial & error, platform-specificAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro12Software is hard - 3Continuous re-invention and re-discovery“The software industry has a long history of recreating in compatible solutions to problems that are already solved.”Dozens of non-standard general-purpose and real-time o.s.’s managing the same hw resourcesDozens of incompatible o.s. encapsulation libraries providing slightly different APIs to implement essentially the same features and servicesStarting to shift to recognizing value of patterns but there are fewer available for concurrent, networked, & distributed systemsAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro13Necessary DevelopmentsTake an historical view1945 - 1985 Computers are large & expensiveMost organizations had only a fewlacked a way to connect themoperated independently from one anotherBy mid-80’s ... powerful microprocessors with power of a then-contemporary mainframeHigh speed networks!Result: Easy to combine large numbers of computers via a high-speed network.August 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro14Purposes -- what problem is solved?Easily connect users to remote resourcesShare resources with remote users in a controlled wayHide the fact that the resources are physically distributed over a network -- transparencyShould be an open systemOffers services by standard rules that describe the syntax and semantics of those servicesShould be scalablesize, geography, and administrationAugust 28, 2006 University of Colorado ECEN5053 SW Eng of Distributed Systems Week 1 Intro15Access and sharing remotelyWhy share? economyease of collaboration -- virtual organizationsease of info exchangecommerceConnectivity and sharing lead to security


View Full Document

CU-Boulder ECEN 5053 - Software Engineering of Distributed Systems Design Issues

Download Software Engineering of Distributed Systems Design Issues
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 Software Engineering of Distributed Systems Design Issues 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 Software Engineering of Distributed Systems Design Issues 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?