250 likes | 406 Views
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.
E N D
SEng 5861: Software Architecture Lecture 11 Dr. Michael Whalen Fall 2010 SEng 5861 - Mike Whalen
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
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
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
Group presentations SEng 5861 - Mike Whalen
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
Technical Presentations • You have the floor… SEng 5861 - Mike Whalen
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
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
Final finalquestions? SEng 5861 - Mike Whalen
Performance and scalability SEng 5861 - Mike Whalen
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
Concerns • Response Time • Responsiveness [Interactive] • Turnaround Time [Batch] • Throughput • Scalability • Predictability • Peak Load Behavior • Hardware Resource Requirements SEng 5861 - Mike Whalen
Activities SEng 5861 - Mike Whalen
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
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
Create Performance Models • Many client-server systems perform like this: SEng 5861 - Mike Whalen
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
Example Performance Model • Fig 25-3 Pg. 409 SEng 5861 - Mike Whalen
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
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
Activities SEng 5861 - Mike Whalen
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
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
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