1 / 25

SEng 5861: Software Architecture

SEng 5861: Software Architecture. Lecture 11 Dr. Michael Whalen Fall 2010. Topics for Today. Questions / Comments from Last Week Grading on project Phase III Group presentations Final review & expectations Performance and Scalability Perspective. Updates.

haruki
Télécharger la présentation

SEng 5861: Software Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEng 5861: Software Architecture Lecture 11 Dr. Michael Whalen Fall 2010 SEng 5861 - Mike Whalen

  2. Topics for Today • Questions / Comments from Last Week • Grading on project Phase III • Group presentations • Final review & expectations • Performance and Scalability Perspective SEng 5861 - Mike Whalen

  3. Updates • Remember: next week (12/11) is the colloquium • No class with me (boo!) • Speaker: Rob Cooley • Very interesting guy! • Talking about starting a software company • December 17th • Guest speaker: Leon Webster from Wells Fargo • Talking about implementing SOA @ WF • 60 minute talk • …is also the Final exam • Same length as midterm • Should be finishable in 90 minutes • Stay late for extra time? SEng 5861 - Mike Whalen

  4. Updates • If you are planning to register for Independent Study in the Spring, please find an advisor and tell Mats or me. • Phase III project grades • Mostly done, but not done • Rupa got projects & grades to me on Monday but I’d like to look them over and have been swamped • I will e-mail them out on Sunday • I apologize! http://www.youtube.com/watch?v=xbE8E1ez97M SEng 5861 - Mike Whalen

  5. Group presentations SEng 5861 - Mike Whalen

  6. Technical Presentation • Audience: technical stakeholders • Depends on viewpoint chosen • Entire class will act as your stakeholders • Purpose: convey information • Provide technical overview of original model and your change to it • Persuade users that it is the right solution • Time: 20 minutes • Shoot for being able to deliver in ~15 minutes in case of questions SEng 5861 - Mike Whalen

  7. Technical Presentations • You have the floor… SEng 5861 - Mike Whalen

  8. Final Exam • Similar length to Midterm • Comprehensive • covers all information in the class outline except: • REST Architecture • Architectural patterns • I will e-mail a sample exam + sample answers to the class next week • Willing to hold a review next Friday (office hour: 4:00 – 6:00) or Saturday over lunch (11:15 – 12:30) • I’d like to give extra 15 minutes after end of class. Would people be willing to stay? SEng 5861 - Mike Whalen

  9. Final Exam Topics • Viewpoints • Functional • Information • Concurrency • Deployment • Operations • Perspectives • Security • Performance and Scalability • System Scope • Stakeholders • Scenarios • Architecture Languages (AADL) SEng 5861 - Mike Whalen

  10. Final finalquestions? SEng 5861 - Mike Whalen

  11. Performance and scalability SEng 5861 - Mike Whalen

  12. Performance and Scalability Performance defines how quickly the system responds to expected user tasks. It is usually expressed in terms of an expected performance profile. Scalability focuses on the predictability of performance as the workload increases. SEng 5861 - Mike Whalen

  13. Concerns • Response Time • Responsiveness [Interactive] • Turnaround Time [Batch] • Throughput • Scalability • Predictability • Peak Load Behavior • Hardware Resource Requirements SEng 5861 - Mike Whalen

  14. Activities SEng 5861 - Mike Whalen

  15. Capturing Performance Requirements • How do you do this? • What kinds of information should you capture? • Response time for common actions • Use cases • Based on context • Throughput requirements • Peak load • Scalability SEng 5861 - Mike Whalen

  16. Performance Requirements Example Context: System has fewer than 50 concurrent users Activity: User adds an item to their online shopping cart Expected response time: 95% of the time, under 2.5 seconds. 99.9% of the time under 10 seconds. Context: System has fewer than 500 concurrent users (reference load) Activity: User adds an item to their online shopping cart Expected response time: 95% of the time, under 5 seconds. 99.9% of the time under 20 seconds. SEng 5861 - Mike Whalen

  17. Create Performance Models • Many client-server systems perform like this: SEng 5861 - Mike Whalen

  18. Create Performance Models • Want to find the “knee” in the curve • How do you do this? • Several formal notations can capture this: queuing theory, Petri Nets • However, most analysis is done in an ad-hoc way • Examine the physical & logical architecture of the system • Estimate (and test) the costs associated with each component • Examine use-cases to determine sequences of operations & sum costs SEng 5861 - Mike Whalen

  19. Example Performance Model • Fig 25-3 Pg. 409 SEng 5861 - Mike Whalen

  20. Embedded Systems Performance • Specify task WCETs / Periods for OS scheduling • Define network I/O requirements per task • Define partitioning of resources for safety / fault tolerance requirements • Determine whether tasks can be mapped to physical resources such that processor/network utilization can be scheduled • Use testing or static analysis to determine whether implementation WCETs match projections • AADL models can do this fairly well. SEng 5861 - Mike Whalen

  21. Performance Testing • How do you do it? • Can be done piecewise and/or end-to-end • Piecewise can be used to validate model assumptions for estimates • End-to-end testing is required to accurately model behavior of real system • Many pitfalls if tests do not accurately model field usage SEng 5861 - Mike Whalen

  22. Activities SEng 5861 - Mike Whalen

  23. Tactics • Optimize repeated processing (80/20 rule) • Replicate contentious resources • Prioritize processing • Consolidate related workload (buffering) • Parallelize • Use asynchronous processing (message queueing) SEng 5861 - Mike Whalen

  24. Pitfalls • Imprecise Requirements • Often missing context! • Check with stakeholders • Unrealistic V&V • Incorrect or underspecified performance models • Unrealistic test scenarios • Poor partitioning • Logically: “god elements” in architecture • Physically: tightly coupled resources should, when possible, be co-located. SEng 5861 - Mike Whalen

  25. What have we learned? • A bit about how to present your technical architecture • What will be on the final • A little bit about how to specify performance requirements and determine whether the system will have adequate performance. SEng 5861 - Mike Whalen

More Related