1 CSSE 477 – Intro to Performance Steve Chenoweth Friday, 9/2/11 Week 0, Day 2 Right – A close analogy to performance as we mean it – Danica Patrick in.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.
Introduction to Embedded Systems Resource Management - III Lecture 19.
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Quality Attributes & Tactics (2) Performance.
INSE - Lectures 19 & 20 SE for Real-Time & SE for Concurrency  Really these are two topics – but rather tangled together.
Chapter 101 Cleaning Policy When should a modified page be written out to disk?  Demand cleaning write page out only when its frame has been selected.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
1 Reconstructing Software Architectures CSSE 477 (SAD Two*) Software Architecture Week 4, Day 4, including Ch 10 in Bass’s book.
Quality Attributes Or, what’s wrong with this: Exterminator kit – place bug on block, strike with mallet.
1 CSSE 477: Swre Arch – This year’s course… Steve Chenoweth Tuesday, 11/8/11 Week 10, Day 2 Right – Sunset at the Louvre, in Paris From
1 CSSE 377 – Intro to Availability & Reliability Part 1 Steve Chenoweth Monday, 9/12/11 Week 2, Day 1 Right – John Musa’s “Software Reliability Engineered.
1 Steve Chenoweth Tuesday, 10/04/11 Week 5, Day 2 Right – Typical tool for reading out error codes logged by your car’s computer, to help analyze its problems.
1 Steve Chenoweth Tuesday, 10/25/11 Week 8, Day 2 Right – Desktop computer usability metaphor, from
1 CSSE 377 – Intro to Availability & Reliability Part 2 Steve Chenoweth Tuesday, 9/13/11 Week 2, Day 2 Right – Pictorial view of how to achieve high availability.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
1 CSSE 477 – A bit more on Performance Steve Chenoweth Friday, 9/9/11 Week 1, Day 2 Right – Googling for “Performance” gets you everything from Lady Gaga.
Reliability Week 11 - Lecture 2. What do we mean by reliability? Correctness – system/application does what it has to do correctly. Availability – Be.
1 CSSE 477 – Intro to Modifiability Steve Chenoweth Friday, 9/23/2011 Week 3, Day 4 Right - A modified VW beetle, from
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Multiprocessing Memory Management
1 Steve Chenoweth Tuesday, 10/18/11 Week 7, Day 2 Right – One view of the layers of ingredients to an enterprise security program. From
1 Exercise a short summary of you so your professor can get to know you better: Name, company, job/role/title, most interesting SE area, any architecting.
Computer Science 162 Section 1 CS162 Teaching Staff.
1 Questions? CSSE Requirements Steve Chenoweth Department of Computer Science & Software Engineering RHIT Session 6 – Wed, July 18, 2007 Above –
1 Quality Assurance in Construction and Maintenance (Section 13.4 of Maintenance Text; Chapter 20 of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman.
Copyright © , Software Engineering Research. All rights reserved. Creating Responsive Scalable Software Systems Dr. Lloyd G. Williams Software.
Computers They're Not Magic! (for the most part)‏ Adapted from Ryan Moore.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
1 Documenting the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Monday, September 26, 2011 Left – architecture of.
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
PowerPoint 2003 – Level 1 Computer Concepts Cathy Horwitz April 25, 2011.
Software Testing Life Cycle
CPU Scheduling Chapter 6 Chapter 6.
Data: Migrating, Distributing and Audit Tracking Michelle Ayers, Advisory Solution Consultant
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
T Project Review Magnificent Seven Project planning iteration
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
How to start Milestone 1 CSSE 371 Project Info There are only 8 easy steps…
Scheduling policies for real- time embedded systems.
Learningcomputer.com SQL Server 2008 – Profiling and Monitoring Tools.
Section 9: Configuring Roaming Profiles and Folder Redirection Managing User Profiles Configuring Folder Redirection Using Folder Redirection and Roaming.
1 Planning – Agile Style Highsmith, Ch 7 All kinds of iterations! CSSE579 Session 3 Part 1.
Agenda – week 4 6:00 – 6:05Questions, announcements, intro 6:05 – 6:35Case study – air traffic control 6:35 – 7:20Lecture: architecture in the development.
1 Design and Integration: Part 2. 2 Plus Delta Feedback Reading and lecture repeat Ambiguous questions on quizzes Attendance quizzes Boring white lecture.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Project 2 Presentations CS554 – Designs for Software and Systems Team HAND – Seokin Hong, Gieil Lee, Jesung Kim, Yebin Lee Department of Computer Science,
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
1 Software Architecture in Practice Quality attributes (The amputated version)
Cloud Computing and Architecture Architectural Tactics (Tonight’s guest star: Availability)
Big traffic data processing framework for intelligent monitoring and recording systems 學生 : 賴弘偉 教授 : 許毅然 作者 : Yingjie Xia a, JinlongChen a,b,n, XindaiLu.
Performance Performance is about time and the software system’s ability to meet timing requirements.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
The Vision Document & Product Management CSSE 371, Software Requirements and Specification Steve Chenoweth, Rose-Hulman Institute September 27, 2004 In.
Virtual-Channel Flow Control William J. Dally
What to do week 5! In preparation for the client meeting! Please see the schedule for everything else…
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Performance Metrics and Performance Engineering
Software Architecture in Practice
EMERALDS Landon Cox March 22, 2017.
SEDA: An Architecture for Scalable, Well-Conditioned Internet Services
CSCI1600: Embedded and Real Time Software
Quality Attributes Or, what’s wrong with this:
Quality Attributes Or, what’s wrong with this:
Uniprocessor scheduling
CSCI1600: Embedded and Real Time Software
Quality Attributes Or, what’s wrong with this:
Presentation transcript:

1 CSSE 477 – Intro to Performance Steve Chenoweth Friday, 9/2/11 Week 0, Day 2 Right – A close analogy to performance as we mean it – Danica Patrick in an Andretti Honda at the Indy 500, From x/91st+Indianapolis+500/0nC_oFFbsHj/Dani ca+Patrick. x/91st+Indianapolis+500/0nC_oFFbsHj/Dani ca+Patrick

2 Today Finalize who’s on what team / project How to do Project 1… Which is all about software performance engineering… –Bass’s Ch 4 (pp 82-85) and Ch 4 (pp ) –For a whole lot more, see Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, by Connie Smith and Lloyd Williams

3 Yesterday, we picked performance from Bass’s QA list… Bass’s list of six, from the inside back cover of his book: –Availability –Modifiability –Performance –Security –Testability –Usability

4 And you got a first project about it: On the project you selected to work on, Improve the performance by 100%. And a first step to take: Decide what “Improve the performance by 100%” means.

5 With luck… You picked something you could measure! Which, as we’ll see on all the QA’s… Is why Bass writes down “scenarios” with measurable responses, as his arch targets We’ll cover these systematically in Ch 4 See also “The Notes” at the end of the supplementary spec template. supplementary spec template

6 Bass’s perf scenarios Source: One of a number of independent sources, possibly from within system Stimulus: Periodic events arrive; sporadic events arrive; stochastic events arrive Artifact: System Environment: Normal mode; overload mode Response: Processes stimuli; changes level of service Response Measure: Latency, deadline, throughput, jitter, miss rate, data loss

7 Example scenario Source: Users Stimulus: Initiate transactions Artifact: System Environment: Under normal operations Response: Transactions are processed Response Measure: With average latency of two seconds

8 So if you need to fix yours up… Find a “doable” performance improvement Whose starting state can be characterized as one of those scenarios!

9 What do you do next? Adopt a tactic or two… –Ch 5 in Bass has these –But they are deceptively brief –Each area – like designing high performance into a system – could be your career! What on earth could improve performance by 100%?

10 The tactics for performance Mostly, they have to work like this (Fig. 5.6): Tactics to control performance Events arrive Responses generated within time constraints

11 Typically… The events arrive, but Some reasons can be ID’ed for their slow processing Two basic contributors to this problem: 1.Resource consumption – the time it takes to do all the processing to create the response 2.Blocked time – it has to wait for something else to go first

12 Which one’s easier to fix? Blocked time – sounds like it could lead pretty directly to some solution ideas, like: –Work queues are building up, so add more resources and distribute the load, or –Pick the higher priority things out of the queue, and do them first

13 Blocked time, cntd In your system, of course, adding resources may or may not be possible! –Add disk drives? –Add CPU’s? –Speed up communication paths? On servers, these are standard solutions: –Put every DB table on its own disk drive –Stick another blade in the rack, etc.

14 Resource consumption? You first have to know where it is: If you’re trying to speed up a GUI activity, time the parts, and go after the long ones. If it’s internal, you need some way to “observe” what’s happening, so you can do a similar analysis. –Put timings into the various pieces of activity –Some parts may be tough to break down, like time spent in the O/S

15 Performance Engineering with a Spreadsheet Typical new system design analysis – For a network management system Note: Having everything add up to only 60% allows for some “blocked time” Note: These are all resource consumption estimates

16 Performance Engineering with a Spreadsheet Typical existing system performance-improvement analysis – To improve a customer help desk system Activity Current clock time (sec) Current elapsed time Proposed new ETNew clock timeNotes 0 0 Wait between calls18 12 To allow for peaks Take next call235517Operator response time Greet customer Loop - repeat factor:Each cycle:21.5Each cycle:Retries of the next steps Get nature of problem30 15 Includes questioning Analyze Mostly think time Propose solution Mostly explaining steps Customer tries solution Widest variance here Each loop total:85 70 End of last loop: Close-out call Thank you, etc. Write-up call Documentation Total savings : 71sec Improvement : 40%

17 Bass’s Performance Remedies Try one of these 3 Strategies – look at: –Resource demand –Resource management –Resource arbitration See next slides for details on each  –They’re also summarized on the inside back cover of Bass’s book, pp

18 Resource Demand – example: Server system has “the database” for retail inventory (for CSSE 374’s NextGen POS): –Transactions hit it at a high rate, from POS –Managers also periodically do huge queries, like, “What toothpaste is selling best West of the Mississippi?” –When they do, transactions back up How to fix?

19 Resource Demand – options: Increase computational efficiency Reduce computational overhead Manage event rate Control frequency of sampling Bound execution times Bound queue sizes

20 Resource Management – example: You have a “pipe and filter” system to convert some data for later processing: It runs too slowly, because it reads and writes all files on the same disk (on your laptop, say) How to fix? Picture from Non-XML data from outside XML data you can process Clean up Convert

21 Resource Management – options: Introduce concurrency –How about on your project? Maintain multiple copies of data or computations Increase available resources

22 Resource Arbitration – example: In reader / writer scheduling… For a shared resource, like a DB table… Why give priority to the readers?

23 Resource Arbitration – options: Scheduling policy –FIFO –Fixed-priority semantic importance deadline monotonic rate monotonic –Dynamic priority –Static scheduling

24 Cartoon of the Day (1/2)

25 Cartoon of the Day (2/2)

26 Back to Project 1… Project 1 - review: On the team and project you picked, your first goal is to: Improve the performance by 100%. We’ll have presentations / demos next week. They should be convincing! Show before and after.

27 What to do next? Get with your teammate(s) and 1.If you are still deciding the things that are due to be turned in tonight (Turnin 1), work on those! Like writing up what the project is, or the performance goals you want to try for. 2.Do a quantitative analysis of your situation and proposed improvement, on a spreadsheet –Like slide 16 3.Revise your goal, if necessary… –It should be testable – A week from today! 4.Pick a tactic, to try for the 100% improvement. Capture your discussion in your “team journal” (by adding a new entry – include your revised goal, your tactic, and how you arrived at each of these) Over the weekend – work with your team! Turnin 2 - Turn in your spreadsheet and journal on Angel by the end of the day on Monday –Should discuss all 3 of Bass’s “tactics” –Should explain HOW you plan to use one