Download presentation
Presentation is loading. Please wait.
1
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 19 Performance of Computer Systems
2
2 CS 501 Spring 2002 Administration Quiz 3 Collect after class. Final presentations Sign up now. Available time slots are on the web site.
3
3 CS 501 Spring 2002 Performance of Computer Systems In most computer systems The cost of people is much greater than the cost of hardware Yet performance is important Future loads may be much greater than predicted A single bottleneck can slow down an entire system
4
4 CS 501 Spring 2002 Moore's Law Original version: The density of transistors in an integrated circuit will double every year. (Gordon Moore, Intel, 1965) Current version: Cost/performance of silicon chips doubles every 18 months.
5
5 CS 501 Spring 2002 Moore's Law and System Design Design system: 2002 Production use: 2005 Withdrawn from production: 2015 Processor speeds: 1 1.9 28 Memory sizes: 1 1.9 28 Disk capacity: 1 2.2 51 System cost: 1 0.40.01
6
6 CS 501 Spring 2002 Moore's Law: Rules of Thumb Planning assumptions: Every year: cost/performance of silicon chips improves 25% cost/performance of magnetic media improves 30% 10 years = 100:1 20 years = 10,000:1
7
7 CS 501 Spring 2002 Parkinson's Law Original: Work expands to fill the time available. (C. Northcote Parkinson) Planning assumptions: (a) Demand will expand to use all the hardware available. (b) Low prices will create new demands. (c) Your software will be used on equipment that you have not envisioned.
8
8 CS 501 Spring 2002 False Assumptions Unix file system will never exceed 2 Gbytes (2 32 bytes). AppleTalk networks will never have more than 256 hosts (2 8 bits). GPS software will not last 1024 weeks. Nobody at Dartmouth will ever earn more than $10,000 per month. etc., etc.,.....
9
9 CS 501 Spring 2002 Moore's Law and the Long Term 1965 When? What level? 2000? Within your working life?
10
10 CS 501 Spring 2002 Predicting System Performance Mathematical models Simulation Direct measurement Rules of thumb All require detailed understanding of the interaction between software and systems.
11
11 CS 501 Spring 2002 Understand the Interactions between Hardware and Software :Thread:Toolkit:ComponentPeertarget:HelloWorld run callbackLoop handleExpose paint
12
12 CS 501 Spring 2002 DecompressStream audioStream video fork join start state stop state Understand Interactions between Hardware and Software
13
13 CS 501 Spring 2002 Look for Bottlenecks Possible areas of congestion Network load Database access how many joins to build a record? Locks and sequential processing CPU performance is rarely a factor, except in mathematical algorithms. More likely bottlenecks are: Reading data from disk Moving data from memory to CPU.
14
14 CS 501 Spring 2002 Look for Bottlenecks: Utilization utilization = mean service time mean inter-arrival time When the utilization of any hardware component exceeds 30%, be prepared for congestion.
15
15 CS 501 Spring 2002 Techniques for Eliminating Bottlenecks Serial and Parallel Processing Single thread v. multi-thread e.g., Unix fork Granularity of locks on data e.g., record locking Network congestion e.g., back-off algorithms
16
16 CS 501 Spring 2002 Mathematical Models: Queues arrivewait in lineservicedepart Single server queue
17
17 CS 501 Spring 2002 Queues arrivewait in line service depart Multi-server queue
18
18 CS 501 Spring 2002 Mathematical Models Queueing theory Good estimates of congestion can be made for single- server queues with: arrivals that are independent, random events (Poisson process) service times that follow families of distributions (e.g., negative exponential, gamma) Many of the results can be extended to multi-server queues.
19
19 CS 501 Spring 2002 Behavior of Queues: Utilization mean delay utilization 10
20
20 CS 501 Spring 2002 Simulation Model the system as set of states and events advance simulated time determine which events occurred update state and event list repeat Discrete time simulation: Time is advanced in fixed steps (e.g., 1 millisecond) Next event simulation: Time is advanced to next event Events can be simulated by random variables (e.g., arrival of next customer, completion of disk latency)
21
21 CS 501 Spring 2002 Timescale Operations per second CPU instruction:400,000,000 Disk latency: 60 read: 25,000,000 bytes Network LAN: 10,000,000 bytes dial-up modem: 6,000 bytes
22
22 CS 501 Spring 2002 Measurements on Operational Systems Benchmarks: Run system on standard problem sets, sample inputs, or a simulated load on the system. Instrumentation: Clock specific events. If you have any doubt about the performance of part of a system, experiment with a simulated load.
23
23 CS 501 Spring 2002 Example: Performance of Disk Array Each transaction must: wait for specific disk platter wait for I/O channel signal to move heads on disk platter wait for I/O channel pause for disk rotation read data Close agreement between: results from queuing theory, simulation, and direct measurement (within 15%).
24
24 CS 501 Spring 2002 Discussion of Pfleeger, Chapter 7 Format: State a question. Ask a member of the class to answer. (Sorry if I pronounce your name wrongly.) Provide opportunity for others to comment. When answering: Stand up. Give your name or NetID. Make sure the TA hears it. Speak clearly so that all the class can hear.
25
25 CS 501 Spring 2002 Question 1: Documentation Standards (a) What is the purpose of standard documentation? (b) Who should create the documentation standards? (c) What documentation standards are you following in your project? (Be honest!)
26
26 CS 501 Spring 2002 Question 2: Good Programming You are judging a Good Programmer Competition. (a) Give four criteria for what constitutes good programming style. (b) Give four additional criteria for what constitutes a good programmer. (c) What is the most flattering thing that you can say about a programmer?
27
27 CS 501 Spring 2002 Question 3: Maintenance Most production programs are maintained by people other than the programmers who originally wrote them. (a) What factors make a program easy for somebody else to maintain? (b) What factors make a program hard for somebody else to maintain?
28
28 CS 501 Spring 2002 Question 4: Documentation Standards (a) What is the purpose of standard documentation? (b) Who should create the documentation standards? (c) What documentation standards are you following in your project? (Be honest!)
29
29 CS 501 Spring 2002 Question 5: Data Structures (a) How should you decide what data structures to use in a program? (b) What can you do in designing data structures to help the people who will maintain your programs? (c)What should you do about the performance of algorithms that create and work on your data structures?
30
30 CS 501 Spring 2002 Question 6: Risks (a) What are the main risks in writing programs? (b) How can you minimize these risks?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.