Презентация slides 01-Big Ideas

Скачать презентацию  slides 01-Big Ideas Скачать презентацию slides 01-Big Ideas

slides_01-big_ideas.ppt

  • Размер: 4.5 Mегабайта
  • Количество слайдов: 57

Описание презентации Презентация slides 01-Big Ideas по слайдам

CS 169 Software. Engineering Armando. Fox, David. Patterson, and. Koushik. Sen Spring 2012 1 CS 169 Software. Engineering Armando. Fox, David. Patterson, and. Koushik. Sen Spring

Engineering. Softwareis. Different from. Engineering. Hardware ( Engineering. Long. Lasting Software § 1. 1§ 1. 2)Engineering. Softwareis. Different from. Engineering. Hardware ( Engineering. Long. Lasting Software § 1. 1§ 1. 2) David. Patterson

Engineering. Softwareis Differentfrom. Hardware • Q: Whysomany. SWdisastersand no. HWdisasters? – Ariane 5 rocketexplosion – TheracEngineering. Softwareis Differentfrom. Hardware • Q: Whysomany. SWdisastersand no. HWdisasters? – Ariane 5 rocketexplosion – Therac 25 lethalradiationoverdose – Mars. Climate. Orbiterdisintegration – FBIVirtual. Case. Fileprojectabandonment • A: Natureof 2 media&subsequentcultures

Independent. Productsvs. Continuous. Improvement • Costoffieldupgrade • HW ∞≈ HWdesignsmustbefinishedbefore manufacturedandshipped Bugs: Return. HW(loseifmanyreturns) • SWIndependent. Productsvs. Continuous. Improvement • Costoffieldupgrade • HW ∞≈ HWdesignsmustbefinishedbefore manufacturedandshipped Bugs: Return. HW(loseifmanyreturns) • SW 0 ≈ Expect. SWgetsbetterovertime Bugs: Waitforupgrade • HWdecays, SWlonglasting

Legacy. SWvs. Beautiful. SW • Legacycode : old. SWthatcontinuesto meetcustomers'needs, butdifficultto evolveduetodesignineleganceor antiquatedtechnology – 60SWmaintenancecostsaddingnew functionalitytolegacy.Legacy. SWvs. Beautiful. SW • Legacycode : old. SWthatcontinuesto meetcustomers’needs, butdifficultto evolveduetodesignineleganceor antiquatedtechnology – 60%SWmaintenancecostsaddingnew functionalitytolegacy. SW – 17%forfixingbugs • Contrastswith beautifulcode : meets customers’needsandeasytoevolve

Legacy. Code: Keybut. Ignored • Missingfromtraditional. SWEcoursesand textbooks • Number 1 requestfromindustryexpertswe asked: Whatshouldbeinnew. SWE course?Legacy. Code: Keybut. Ignored • Missingfromtraditional. SWEcoursesand textbooks • Number 1 requestfromindustryexpertswe asked: Whatshouldbeinnew. SWE course? • NEW : assignmenttoenhancelegacycode in 2 nd halfof. Berkleycourse

Legacy code Unexpectedly short-lived code Both legacy code and unexpectedly short lived code. Beautiful code ☐Legacy code Unexpectedly short-lived code Both legacy code and unexpectedly short lived code. Beautiful code ☐ ☐ 23 Question: Which type of SW is considered an epic failure?

Developmentprocesses: Waterfallvs. Agile ( Engineering. Long. Lasting. Software § 1. 3) David. Patterson 24 Developmentprocesses: Waterfallvs. Agile ( Engineering. Long. Lasting. Software § 1. 3) David. Patterson

Development. Processes: Waterfallvs. Agile • Waterfall“ lifecycle ”ordevelopmentprocess – A. K. A. “Big. Design. Up. Front”or.Development. Processes: Waterfallvs. Agile • Waterfall“ lifecycle ”ordevelopmentprocess – A. K. A. “Big. Design. Up. Front”or. BDUF 1. Requirementsanalysisandspecification 2. Architecturaldesign 3. Implementationand. Integration 4. Verification 5. Operationand. Maintenance • Completeonephasebeforestartnextone – Why? Earliercatchbug, cheaperitis – Extensivedocumentation/phasefornewpeople

Howwelldoes. Waterfallwork?  • Workswellforimportantsoftwarewith specsthatwon’tchange: NASAspacecraft, aircraftcontrol, … • Butoftenwhencustomerseesresult, wants bigchanges • Butoftenafterbuiltfirstone, developersHowwelldoes. Waterfallwork? • Workswellforimportantsoftwarewith specsthatwon’tchange: NASAspacecraft, aircraftcontrol, … • Butoftenwhencustomerseesresult, wants bigchanges • Butoftenafterbuiltfirstone, developers learnrightwaytheyshouldhavebuiltit

Howwelldoes. Waterfallwork?  • “ Plantothrowone[implementation]away; youwill, anyhow. ” Fred. Brooks, Jr.  (received 1999 Turing.Howwelldoes. Waterfallwork? • “ Plantothrowone[implementation]away; youwill, anyhow. ” Fred. Brooks, Jr. (received 1999 Turing. Awardfor contributionstocomputer architecture, operatingsystems, andsoftwareengineering) 27(Photo by Carola Lauber of SD&M www. sdm. de. Used by permission under CC-BY-SA-3. 0. )

Peres’s. Law  “ Ifaproblemhasnosolution, itmaynotbeaproblem, butafact, nottobesolved, buttobecopedwithovertime. ” — Shimon. Peres (winnerof 1994 Nobel.Peres’s. Law “ Ifaproblemhasnosolution, itmaynotbeaproblem, butafact, nottobesolved, buttobecopedwithovertime. ” — Shimon. Peres (winnerof 1994 Nobel. Peace. Prize for. Osloaccords) 28(Photo Source: Michael Thaidigsmann, put in public domain, See http: //en. wikipedia. org/wiki/File: Shimon_peres_wjc_90126. jpg)

Agile. Manifesto, 2001 “ Weareuncoveringbetterwaysofdeveloping. SWby doingitandhelpingothersdoit. Throughthiswork wehavecometovalue • Individualsandinteractions overprocesses&tools • Workingsoftware overcomprehensive documentationAgile. Manifesto, 2001 “ Weareuncoveringbetterwaysofdeveloping. SWby doingitandhelpingothersdoit. Throughthiswork wehavecometovalue • Individualsandinteractions overprocesses&tools • Workingsoftware overcomprehensive documentation • Customercollaboration overcontractnegotiation • Respondingtochange overfollowingaplan Thatis, whilethereisvalueintheitemsontheright, wevaluetheitemsontheleftmore. ”

Agilelifecycle • Embraceschangeasafactoflife: continuous improvementvs. phases • Developerscontinuouslyrefineworkingbut incompleteprototypeuntilcustomershappy, withcustomerfeedbackoneach Iteration (every~2 weeks) • Agileemphasizes Test.Agilelifecycle • Embraceschangeasafactoflife: continuous improvementvs. phases • Developerscontinuouslyrefineworkingbut incompleteprototypeuntilcustomershappy, withcustomerfeedbackoneach Iteration (every~2 weeks) • Agileemphasizes Test. Driven. Development ( TDD )toreducemistakes, writtendown User Stories tovalidatecustomerrequirements, Velocity tomeasureprogress

Agile. Iteration/ Book. Organization 32(Figure 1. 4,  Engineering Long Lasting Software by Armando Fox andAgile. Iteration/ Book. Organization 32(Figure 1. 4, Engineering Long Lasting Software by Armando Fox and David Patterson, Alpha edition, 2012. )

Waterfall has no working code until end,  Agile has working each code iteration Waterfall usesWaterfall has no working code until end, Agile has working each code iteration Waterfall uses written requirements, but Agile does not use anything written down Waterfall has an architectural design phase, but you cannot incorporate SW architecture into the Agile lifecycle. Waterfall uses long sequential phases, Agile uses quick iterations ☐ ☐ 33 Question: What is NOT a key difference between Waterfall and Agile lifecycles?

Assurance: Testingand. Formal. Methods ( Engineering. Long. Lasting. Software § 1. 4) David. Patterson 34 Assurance: Testingand. Formal. Methods ( Engineering. Long. Lasting. Software § 1. 4) David. Patterson

Assurance • Verification: Didyoubuildthething right ? – Didyoumeetthespecification?  • Validation: Didyoubuildthe right thing? – Isthiswhatthecustomerwants?Assurance • Verification: Didyoubuildthething right ? – Didyoumeetthespecification? • Validation: Didyoubuildthe right thing? – Isthiswhatthecustomerwants? – Isthespecificationcorrect? • Hardwarefocusgenerally. Verification • Softwarefocusgenerally. Validation • 2 options: Testingand. Formal. Methods

Testing • Exhaustivetestinginfeasible • Divideandconquer: performdifferenttestsat differentphasesof. SWdevelopment – Upperleveldoesn’tredotestsoflowerlevel 38 Unit test : single methodTesting • Exhaustivetestinginfeasible • Divideandconquer: performdifferenttestsat differentphasesof. SWdevelopment – Upperleveldoesn’tredotestsoflowerlevel 38 Unit test : single method does what was expected. Module or functional test: across individual units. Integration test : interfaces between units have consistent assumptions, communicate correctly. System or acceptance test: integrated program meets its specifications

More. Testing • Coverage : ofcodepathstested • Regression. Testing : automaticallyrerunold testssochangesdon’tbreakwhatusedto work • Continuous. Integration.More. Testing • Coverage : %ofcodepathstested • Regression. Testing : automaticallyrerunold testssochangesdon’tbreakwhatusedto work • Continuous. Integration. Testing : continuous regressiontestingvs. laterphases • Agile=>Test. Driven. Design(TDD) writetests before youwritethecodeyou wishyouhad(testsdrivecoding)

Limitsof. Testing • Programtestingcanbeusedtoshowthe presenceofbugs, butnevertoshowtheir absence! – Edsger. W. Dijkstra (receivedthe 1972 Turing. Awardfor fundamentalcontributionstoLimitsof. Testing • Programtestingcanbeusedtoshowthe presenceofbugs, butnevertoshowtheir absence! – Edsger. W. Dijkstra (receivedthe 1972 Turing. Awardfor fundamentalcontributionsto developingprogramminglanguages) 40(Photo by Hamilton Richards. Used by permission under CC-BY-SA-3. 0. )

Formal. Methods • Startwithformalspecification&proveprogram behaviorfollowsspec. Options: 1. Humandoesproof 2. Computerviaautomatictheoremproving – Usesinference+logicalaxiomstoproduceproofs fromscratch 3. Computerviamodelchecking –Formal. Methods • Startwithformalspecification&proveprogram behaviorfollowsspec. Options: 1. Humandoesproof 2. Computerviaautomatictheoremproving – Usesinference+logicalaxiomstoproduceproofs fromscratch 3. Computerviamodelchecking – Verifiesselectedpropertiesbyexhaustivesearch ofallpossiblestatesthatasystemcouldenter duringexecution

Formal. Methods • Computationallyexpensive, souseonlyif – Small, fixedfunction – Expensivetorepair, veryhardtotest – E. g. , Networkprotocols,Formal. Methods • Computationallyexpensive, souseonlyif – Small, fixedfunction – Expensivetorepair, veryhardtotest – E. g. , Networkprotocols, safetycritical. SW • Biggest: OSkernel 10 KLOC@$500/LOC – NASASW$80/LOC • Thiscourse: rapidlychanging. SW, easyto repair, easytotest=>noformalmethods – Discussagainonfutureofengineering. SW

While difficult to achieve, 100 test coverage insures design reliability Each higher level test delegates moreWhile difficult to achieve, 100% test coverage insures design reliability Each higher level test delegates more detailed testing to lower levels Unit testing works within a single class and module testing works across classes. With better test coverage, you are more likely to catch faults☐ ☐ 43 Question: Which statement is NOT true about testing?

Productivity: Conciseness, Synthesis, Reuse, and. Tools ( Engineering. Long. Lasting. Software § 1. 5) David. PattersonProductivity: Conciseness, Synthesis, Reuse, and. Tools ( Engineering. Long. Lasting. Software § 1. 5) David. Patterson

Productivity • Moore’s. Law=2 Xtransistors/1. 5 years HWdesignsgetbigger Fasterprocessorsandbiggermemories SWdesignsgetbigger Mustimprove. HW&SWproductivity • 4 techniques 1.Productivity • Moore’s. Law=>2 Xtransistors/1. 5 years HWdesignsgetbigger Fasterprocessorsandbiggermemories SWdesignsgetbigger Mustimprove. HW&SWproductivity • 4 techniques 1. Clarityviaconciseness 2. Synthesis 3. Reuse 4. Automationand. Tools

Clarityviaconciseness 1. Syntax: shorterandeasiertoread assert_greater_than_or_equal_to(a, 7) vs. a. shouldbe≥ 7 2. Raisethelevelofabstraction: – HLLprogramminglanguagesvs. assemblylang –Clarityviaconciseness 1. Syntax: shorterandeasiertoread assert_greater_than_or_equal_to(a, 7) vs. a. shouldbe≥ 7 2. Raisethelevelofabstraction: – HLLprogramminglanguagesvs. assemblylang – Automaticmemorymanagement(Javavs. C) – Scriptinglanguages: reflection, metaprogramming

Synthesis • Softwaresynthesis – Bit. Blt: generatecodetofitsituation&remove conditionaltest • Future. Research: Programmingbyexample 48 Synthesis • Softwaresynthesis – Bit. Blt: generatecodetofitsituation&remove conditionaltest • Future. Research: Programmingbyexample

Reuse • Reuseoldcodevs. writenewcode • Techniquesinhistoricalorder: 1. Proceduresandfunctions 2. Standardizedlibraries(reusesingletask) 3. Objectorientedprogramming: reuseand managecollectionsoftasks 4. Designpatterns:Reuse • Reuseoldcodevs. writenewcode • Techniquesinhistoricalorder: 1. Proceduresandfunctions 2. Standardizedlibraries(reusesingletask) 3. Objectorientedprogramming: reuseand managecollectionsoftasks 4. Designpatterns: reuseageneralstrategy evenifimplementationvaries

Automationand. Tools • Replacetediousmanualtaskswith automationtosavetime, improveaccuracy – Newtoolcanmakelivesbetter(e. g. , make) • Concernswithnewtools: Dependability, UI quality,Automationand. Tools • Replacetediousmanualtaskswith automationtosavetime, improveaccuracy – Newtoolcanmakelivesbetter(e. g. , make) • Concernswithnewtools: Dependability, UI quality, pickingwhichonefromseveral • Wethinkgoodsoftwaredevelopermust repeatedlylearnhowtousenewtools – Lotsofchancesinthiscourse: Cucumber, RSpec, Pivotal. Tracker, …

Metaprogramming helps productivity via program synthesis Of the 4 productivity reasons, the primary one for HLLMetaprogramming helps productivity via program synthesis Of the 4 productivity reasons, the primary one for HLL is reuse A concise syntax is more likely to have fewer bugs and be easier to maintain. Copy and pasting code is another good way to get reuse☐ ☐ 51 Question: Which statement is TRUE about productivity?

DRY • “ Everypieceofknowledgemusthavea single, unambiguous, authoritative representationwithinasystem. ” – Andy. Huntand. Dave. Thomas, 1999 •DRY • “ Everypieceofknowledgemusthavea single, unambiguous, authoritative representationwithinasystem. ” – Andy. Huntand. Dave. Thomas, 1999 • Don’t. Repeat. Yourself(DRY) – Don’twanttofindmanyplaceshavetoapply samerepair • Don’tcopyandpastecode!

Softwareasa. Service(Saa. S) David. Patterson 53( Engineering Long Lasting Software § 1. 6) Softwareasa. Service(Saa. S) David. Patterson 53( Engineering Long Lasting Software § 1. 6)

Softwareasa. Service: Saa. S • Traditional. SW: binarycodeinstalledand runswhollyonclientdevice • Saa. Sdelivers. SW&dataasserviceover Internetviathinprogram(e. g. ,Softwareasa. Service: Saa. S • Traditional. SW: binarycodeinstalledand runswhollyonclientdevice • Saa. Sdelivers. SW&dataasserviceover Internetviathinprogram(e. g. , browser) runningonclientdevice – Search, socialnetworking, video • Nowalso. Saa. Sversionoftraditional. SW – E. g. , Microsoft. Office 365, Turbo. Tax. Online

6 Reasonsfor. Saa. S 1. Noinstallworriesabout. HWcapability, OS 2. Noworriesaboutdataloss(atremotesite) 3. Easyforgroupstointeractwithsamedata 4. Ifdataislargeorchangedfrequently, simpler tokeep6 Reasonsfor. Saa. S 1. Noinstallworriesabout. HWcapability, OS 2. Noworriesaboutdataloss(atremotesite) 3. Easyforgroupstointeractwithsamedata 4. Ifdataislargeorchangedfrequently, simpler tokeep 1 copyatcentralsite 5. 1 copyof. SW, controlled. HWenvironment=> nocompatibilityhasslesfordevelopers 6. 1 copy=>simplifiesupgradesfordevelopers and nouserupgraderequests

Saa. SLoves. Agile&Rails • Frequentupgradesmatches. Agilelifecycle • Manyframeworksfor. Agile/Saa. S • Weuse. Rubyon. Rails(“Rails”) • Ruby,Saa. SLoves. Agile&Rails • Frequentupgradesmatches. Agilelifecycle • Manyframeworksfor. Agile/Saa. S • Weuse. Rubyon. Rails(“Rails”) • Ruby, amodernscriptinglanguage: object oriented, functional, automaticmemory management, dynamictypes, reusevia mixins, synthesisviametaprogramming • Railspopular–e. g. , Twitter

Cooperating group: Documents Large/Changing Dataset: You. Tube No field upgrade when improve app:  Search. Don’tCooperating group: Documents Large/Changing Dataset: You. Tube No field upgrade when improve app: Search. Don’t lose data: Gmail ☐ ☐ 57 Which is weakest argument for a Google app’s popularity as Saa. S?

Outline • Class. Organization(AF) • Engineering. SWis. Differentfrom. HW(§ 1. 1§ 1. 2) • Development. Processes:Outline • Class. Organization(AF) • Engineering. SWis. Differentfrom. HW(§ 1. 1§ 1. 2) • Development. Processes: Waterfallvs. Agile(§ 1. 3) • Assurance(§ 1. 4) • Productivity(§ 1. 5) • Softwareasa. Service(§ 1. 6)iftimepermits • Service. Oriented. Architecture(§ 1. 7)iftimepermits (Next 6 slides) • Cloud. Computing(§ 1. 8)iftimepermits

Service. Oriented Architecture(SOA) David. Patterson 59( Engineering Long Lasting Software § 1. 7) Service. Oriented Architecture(SOA) David. Patterson 59( Engineering Long Lasting Software § 1. 7)

Service. Oriented. Architecture • SOA: SWarchitecturewhereall componentsaredesignedtobeservices • Appscomposedofinteroperableservices – Easytotailornewversionforsubsetofusers – Alsoeasiertorecoverfrommistakeindesign • Contrastto“SWsilo”withoutinternal. APIsService. Oriented. Architecture • SOA: SWarchitecturewhereall componentsaredesignedtobeservices • Appscomposedofinteroperableservices – Easytotailornewversionforsubsetofusers – Alsoeasiertorecoverfrommistakeindesign • Contrastto“SWsilo”withoutinternal. APIs

CEO: Amazonshalluse. SOA! 1. “ Allteamswillhenceforthexposetheirdataand functionalitythroughserviceinterfaces 2. Teamsmustcommunicatewitheachother throughtheseinterfaces 3. Therewillbenootherformofinterprocess communicationallowed: nodirectlinking, no directreadsofanotherteam'sdatastore,CEO: Amazonshalluse. SOA! 1. “ Allteamswillhenceforthexposetheirdataand functionalitythroughserviceinterfaces 2. Teamsmustcommunicatewitheachother throughtheseinterfaces 3. Therewillbenootherformofinterprocess communicationallowed: nodirectlinking, no directreadsofanotherteam’sdatastore, no sharedmemorymodel, nobackdoors whatsoever. Theonlycommunicationallowedis viaserviceinterfacecallsoverthenetwork.

CEO: Amazonshalluse. SOA! 4. Itdoesn'tmatterwhat[APIprotocol]technology youuse. 5. Serviceinterfaces, withoutexception, mustbe designedfromthegrounduptobe externalizable. Thatistosay, theteammustplan anddesigntobeabletoexposetheinterfaceto developersintheoutsideworld.CEO: Amazonshalluse. SOA! 4. Itdoesn’tmatterwhat[APIprotocol]technology youuse. 5. Serviceinterfaces, withoutexception, mustbe designedfromthegrounduptobe externalizable. Thatistosay, theteammustplan anddesigntobeabletoexposetheinterfaceto developersintheoutsideworld. Noexceptions. 6. Anyonewhodoesn’tdothiswillbefired. 7. Thankyou; haveaniceday!”

Bookstore: Silo 63 • Internalsubsystems cansharedata directly – Reviewaccessuser profile • Allsubsystems insidesingle. API (“Bookstore”) (FigureBookstore: Silo 63 • Internalsubsystems cansharedata directly – Reviewaccessuser profile • Allsubsystems insidesingle. API (“Bookstore”) (Figure 1. 2, Engineering Long Lasting Software by Armando Fox and David Patterson, Alpha edition, 2012. )

64 Bookstore: SOA • Subsystems independent, asifinseparate datacenters – Review. Service access. User Service. API •64 Bookstore: SOA • Subsystems independent, asifinseparate datacenters – Review. Service access. User Service. API • Canrecombine tomakenew service (“Favorite Books”) (Figure 1. 3, Engineering Long Lasting Software by Armando Fox and David Patterson, Alpha edition, 2012. )

Security can be harder with SOA improves developer productivity primarily through reuse No service can nameSecurity can be harder with SOA improves developer productivity primarily through reuse No service can name or access another service’s data; it can only make requests for data thru an external APIDebugging is easier with SOA ☐ ☐ 65 Which statements NOT true about SOA?

Cloud. Computing, Fallaciesand Pitfalls, and. Endof. Chapter 1 David. Patterson 66( Engineering Long Lasting Software §§Cloud. Computing, Fallaciesand Pitfalls, and. Endof. Chapter 1 David. Patterson 66( Engineering Long Lasting Software §§ 1. 8, 1. 9, 1. 12)

Saa. SInfrastructure?  • Saa. Sdemandsoninfrastructure 1. Communication: allowcustomerstointeract withservice 2. Scalability: fluctuationsindemandduring+ newservicestoaddusersrapidly 3. Dependability:Saa. SInfrastructure? • Saa. Sdemandsoninfrastructure 1. Communication: allowcustomerstointeract withservice 2. Scalability: fluctuationsindemandduring+ newservicestoaddusersrapidly 3. Dependability: serviceandcommunication continuouslyavailable 24 x

Clusters • Clusters: Commoditycomputersconnectedby commodity. Ethernetswitches 1. Morescalablethanconventionalservers 2. Muchcheaperthanconventionalservers – 20 Xforequivalentvs. largestservers 3. FewoperatorsforClusters • Clusters: Commoditycomputersconnectedby commodity. Ethernetswitches 1. Morescalablethanconventionalservers 2. Muchcheaperthanconventionalservers – 20 Xforequivalentvs. largestservers 3. Fewoperatorsfor 1000 sservers – Carefulselectionofidentical. HW/SW – Virtual. Machine. Monitorssimplifyoperation 4. Dependabilityviaextensiveredundancy

Warehouse. Scale. Computers • Economiesofscalepusheddowncostof largestdatacenterbyfactors 3 Xto 8 X – Purchase, house, operate 100 Kv.Warehouse. Scale. Computers • Economiesofscalepusheddowncostof largestdatacenterbyfactors 3 Xto 8 X – Purchase, house, operate 100 Kv. 1 Kcomputers • Traditionaldatacentersutilized 10%20% • Makeprofitofferingpayasyougouseat lessthanyourcostsforasmanycomputers asyouneed

Utility. Computing/ Public. Cloud. Computing • Offerscomputing, storage, communication atpenniesperhour+ • Nopremiumtoscale:  1000 computers@1 hourUtility. Computing/ Public. Cloud. Computing • Offerscomputing, storage, communication atpenniesperhour+ • Nopremiumtoscale: 1000 computers@1 hour =1 computer@1000 hours • Illusionofinfinitescalabilitytoclouduser – Asmanycomputersasyoucanafford • Leadingexamples: Amazon. Web. Services, Google. App. Engine, Microsoft. Azure

2012 AWSInstances&Prices 71 Instance Per Hour Ratio to Small Compute Units Virtual Cores Compute Unit/ Core2012 AWSInstances&Prices 71 Instance Per Hour Ratio to Small Compute Units Virtual Cores Compute Unit/ Core Memory (GB) Disk (GB) Address Standard Small $0. 085 1. 0 1 1. 00 1. 7 160 32 bit Standard Large $0. 340 4. 0 2 2. 00 7. 5 850 64 bit Standard Extra Large $0. 680 8. 0 4 2. 00 15. 0 1690 64 bit High-Memory Extra Large $0. 500 5. 9 6. 5 2 3. 25 17. 1 420 64 bit High-Memory Double Extra Large $1. 200 14. 1 13. 0 4 3. 25 34. 2 850 64 bit High-Memory Quadruple Extra Large $2. 400 28. 2 26. 0 8 3. 25 68. 4 1690 64 bit High-CPU Medium $0. 170 2. 0 5. 0 2 2. 50 1. 7 350 32 bit High-CPU Extra Large $0. 680 8. 0 20. 0 8 2. 50 7. 0 1690 64 bit Cluster Quadruple Extra Large $1. 300 15. 3 33. 5 16 2. 09 23. 0 1690 64 bit Eight Extra Large $2. 400 28. 2 88. 0 32 2. 75 60. 5 1690 64 bit

Supercomputerforhire • Top 500 supercomputercompetition • 290 Eight. Extra. Large(@$2. 40/hour) =240 Tera. FLOPS • 42Supercomputerforhire • Top 500 supercomputercompetition • 290 Eight. Extra. Large(@$2. 40/hour) =240 Tera. FLOPS • 42 nd /500 supercomputer@~$700 perhour • Creditcard=>canuse 1000 scomputers • Farm. Villeon. AWS – Priorbiggestonlinegame 5 Musers – Whatifstartuphadtobuilddatacenter? – 4 days=1 M; 2 months=10 M; 9 months=75 M

IBMWatsonfor. Hire?  • Jeopardy. Champion. IBMWatson • Hardware: 90 IBMPower 750 servers – 3. 5IBMWatsonfor. Hire? • Jeopardy. Champion. IBMWatson • Hardware: 90 IBMPower 750 servers – 3. 5 GHz 8 cores/server • 90@~$2. 40/hour=~$200/hour • Costofhumanlawyeroraccount • Forwhattaskscould. AIbeasgoodas highlytrainedperson@$200/hour? • Whatwouldthismeanforsociety?

The Internet supplies the communication for Saa. S Cloud computing uses HW clusters + SW layerThe Internet supplies the communication for Saa. S Cloud computing uses HW clusters + SW layer using redundancy for dependability Private datacenters could match cost of Warehouse Scale Computers if they just purchased the same type of hardware. Clusters are collections of commodity servers connected by LAN switches☐ ☐ 74 Which statements NOT true about Saa. S, SOA, and Cloud Computing?

Fallaciesand. Pitfalls • Fallacy: Ifasoftwareprojectisfallingbehind schedule, catchupbyaddingpeople – Addingpeopleactualmakesitworse! 1. Timefornewpeopletolearnaboutproject 2. Communicationincreasesasprojectgrows, whichreducestimeavailablegetworkdone “ AddingmanpowertoalatesoftwareprojectFallaciesand. Pitfalls • Fallacy: Ifasoftwareprojectisfallingbehind schedule, catchupbyaddingpeople – Addingpeopleactualmakesitworse! 1. Timefornewpeopletolearnaboutproject 2. Communicationincreasesasprojectgrows, whichreducestimeavailablegetworkdone “ Addingmanpowertoalatesoftwareproject makesitlater. ” Fred. Brooks, Jr. The. Mythical. Man. Month

Fallaciesand. Pitfalls • Pitfall: Ignoringthecostofsoftwaredesign – Since 0 costtomanufacturesoftware, might≈ believe 0 costtoremanufacturethewaythe ≈ customerwants –Fallaciesand. Pitfalls • Pitfall: Ignoringthecostofsoftwaredesign – Since 0 costtomanufacturesoftware, might≈ believe 0 costtoremanufacturethewaythe ≈ customerwants – Ignoresthecostofdesignandtest • (Iscost~nocostofmanufacturing software/datasamerationaletopiratedata? Nooneshouldpayfordevelopment, justfor manufacturing? )

Summary: Engineering. SWis More. Than. Programming • Longlasting, evolvable. SWvs. shortlifeof HWledtodifferentdevelopmentprocesses 77(Figure 1. 6, Summary: Engineering. SWis More. Than. Programming • Longlasting, evolvable. SWvs. shortlifeof HWledtodifferentdevelopmentprocesses 77(Figure 1. 6, Engineering Long Lasting Software by Armando Fox and David Patterson, Alpha edition, 2012. )