Title: Capacity Planning and Workload Forecasting
1Capacity Planning and Workload Forecasting
2Definitions (1)
- Capacity the (maximum) amount that a device is
able to tolerate - Work
- Throughput
- Storage
- Capacity Plan a strategy to effectively utilize
the capacity of a device - Capacity Planning the determination of the
predicted future time when system saturation will
occur - Saturation that point in time when a computer
system is asked to do more work than it is
capable of - Device Saturation that point in time when a
particular device within a computer system is
asked to do more work than it is capable of - Work the transfer of one (1) byte (of data)
between a processor and a storage device - Workload the amount of work that is being
performed by a device or system - Workload Management the strategy for
effectively utilizing the performance of work in
a computer system
3Definitions (2)
- Background processing that occurs behind the
scenes and (normally) does not involve direct
(human) user interaction - Foreground processing that involves direct
interaction between (human) users and computers - Planning Horizon a period of time for which a
strategy and associated objectives are
established - Long range
- Medium range
- Short range
- Initial Load the amount of resources that are
required at the time an information solution is
deployed - Growth Factor the rate of change (?r/?t) in the
amount of resource used over a planning horizon
4Definitions (3)
- Performance Constraints business rules that are
imposed upon the responsiveness of an information
solution - Simulation a(n) (parameter- driven,)
algorithmic approach to modeling the (expected)
performance of an information solution - Priority Level the level that an executing
program is serviced by the computing environment
5Capacity Planning Schematic
Desired Service Levels
Workload Evolution
System Parameters
Capacity Planning
Cost-effective Alternatives
Saturation Points
Source Menasce, Almeida, Dowdy, Capacity and
Performance Modeling, ISBN 0-13-789546-1
6Information Technology Components to Consider
- Networks communications paths
- Processor instructions executed
- Memory primary storage
- Files secondary storage
- Work
- Sort
- Storage
- Libraries
- Databases structured permanent storage
- Topology nodes in the network
- Security information protection Software
- Executive
- Applications
- Foreground
- Background
7Critical Questions
- What is the overall architecture of the current
environment? - What is in place?
- What is the this environment capable of?
- What can it do?
- What architecture is needed?
- What will it cost?
8Importance of Capacity Planning
- User satisfaction
- Image of the enterprise
- Productivity considerations
- Budgetary considerations
- Risk
- Control
9Capacity Planning and Workload Management -
Relationships
Strategic Plan
Technology Plan
Capacity Plan
Business Vision and Mission
Tactical Plan
Operational Plan
Workload Management
10Centralized versus Decentralized IS Facilities
Batch
Central Facility
Centralized
Decentralized
Source Menasce, Almeida, Dowdy, Capacity and
Performance Modeling, ISBN 0-13-789546-1
11Capacity Planning Methodology
- What is the current installed capacity?
- What future services should be provided?
- What are the planned quality goals?
- What is the most cost effective configuration to
meet the state goals?
12Types of Environments
- OLTP Online Transaction Processing
- Transactional activities
- Traditional business transactions
- OLAP Online Analytical Processing
- Algorithmic activities
- Search and/or computation intensive
- Centralized processing
- Single node
- Distributed processing
- Multi-node
13Capacity Planning Process
IT Environment
A
Alternative A Alternative B Alternative C
Capacity Planning Process
Business Plans
B
C
Product Lines
14Model-based Capacity Planning
Workload Model
Corporate Plans
Understand Environment
Characterize Workload
Validate and Calibrate
Performance Model
Forecast Workload
Predict Performance
System Alternatives
Validated Model
15Building the Capacity Plan1. Understand the
Current Environment
- Hardware
- One or more computers
- Share common resources
- Networks
- Interconnect different computers
- Operating System
- Interacts directly with hardware
- Provides services to other software
- Isolates software from hardware anomalies
- Support Software
- Application Programs
- Operational
- Developmental
Operating System
Service Request
Hardware
16Building the Capacity Plan2. Understanding
capacity (a)
- Theoretical Capacity (of a computing system)
maximum rate at which such a system can perform
work - Throughput (of a computing system) the rate at
which such a system services requests made of it - Effective Capacity (of a computing system) the
largest throughput at which response time remains
acceptable - Responsiveness limits the amount of effective
work processed by a computing system
17Building the Capacity Plan2. Understanding
capacity (b)
18Building the Capacity Plan3. Computing System
Components
NETWORK
Storage
Memory
I/O
Processor(s)
19Building the Capacity Plan4. Computing System
Metrics
- Cycle time the speed of a processor
- Length ? 10-9 seconds
- Rate ? MHz or GHz
- MIPS millions of instructions/second
instructions/cycle cycles /sec 10-6 - Benchmarks standard programs used to measure
component performance - TPA network performance
- TPB database system performance
- TPC OLTP programs
20Building the Capacity Plan5. Estimating
Magnetic Disk Performance
- Consists of several elements
- Seek time time required to move the disk arm to
the destination track - Rotational delay time required to align the
target coordinate with the read/write head - Transfer time the time required to move the
requested data bits - Controller time the amount of time (overhead)
used by the controller - Average Access Time average seek average
rotational delay (block size/transfer rate)
controller time
21Building the Capacity Plan6. Time Windows (a)
- Consideration of when work occurs
- Peaks
- Valleys
22Building the Capacity Plan6. Time Windows (b)
What is this graph telling ?
Activity Volume
?
?
?
?
S M T W R F S
S M T W R F S
S M T W R F S
S M T W R F S
Week 1 Week 2 Week 3 Week 4
23Building the Capacity Plan6. Time Windows (c)
- Granularity
- Determining the smallest meaningful unit of time
24Building the Capacity Plan6. Distribution
Considerations
- Every node in the network must be evaluated in a
like manner
Activity Volume
Time Units
Node
25Building the Capacity Plan7. Service Levels
- Quality of the computing services
- Contractual
- Cost versus benefit
- Competition/business conditions
- Mission criticality
- Previous experience
- Perception
- Generally accepted measures
- MTBF mean time between failures
- MTTR mean time to repair
- Availability (interval length
downtime)interval length-1
26Building the Capacity Plan8. Components
- Everything that executes on a computer does work
and contributes to total workload - When executing
- Where executing
- So, at any moment in time
- The workload varies
- Capacity plan must project
Operating System
Service Request
Hardware
27Building the Capacity Plan9. Component and
calculation
- Calculate on an application by application basis
- Consider each of the supporting services used
- Consider nodal implications
- Aggregate and plot
- Adjust to account for unanticipated situations
- At any point, does the estimated aggregate exceed
the root-mean-square of total capacity (0.707)? - What risks have been identified
28The Workload Model
- Representation of actual workload being studied
- Two categories
- Synthetic models
- Combination of actual and specially developed
components - Artificial models
- Special purpose programs
- Descriptive parameters
29Synthetic Models
- Experientially based
- Elements/components
- Kernels key programs from existing workload
- Synthetic Programs special purpose programs
intended to develop critical measurands
30Artificial Model
- Executable
- Suite of computer programs
- Instruction mixes
- Hardware demonstration programs
- Test computational and I/O components
- Kernels
- Code elements from computationally-intensive
programs - Measure processor without I/O components
- Synthetic Programs
- Devised code places demand on different
computing system resources - Do not resemble real workload
- Different from benchmarks
- Non-executable
- Parametric representation of workload resource
components
31Artificial Model Parameters
- Typical parameters
- Program interarrival time
- Service demand
- Program size
- Execution mix
- Classes of programs
- Corresponding levels of multiprogramming
- Processor factors
- System load
- Device capability
- File reference location
- Derived parameters
- Frequency distribution of requests
- Request interarrival time distribution
- File referencing behavior
- Size of read and write requests
32Using the Artificial Model
- Capture key aspects of a computer system
- Relate key aspects
- Mathematical formulae
- Computational algorithms
- Require
- Workload intensity
- Service demand
- Limited representation requires simplifying
assumptions
33Workload Characterization Methodology
- Identification of basic components
- Choice of Operating Parameters
- Data collection
- Partitioning the workload
- Resource usage
- Applications
- Geographical orientation
- Functional classes
- Organizational units
- Class type
- Calculating class parameters
- Averaging
- Clustering
- Data analysis
- Scaling techniques
- Clustering algorithms
34Identifying Basic Component of Work
- Job
- Transaction
- Command
- Request
- Result of this step ?
- What does the workload under study consist of?
35Choice of Characterizing Parameters
- Component representation
- Workload intensity
- Arrival rate
- Number of terminals
- Think time
- Number of simultaneously executing programs
- Service demands
- Specified by k-tuple (Di1, Di2, , Dij)
- K ? number of resources considered
- Dij ? service demand
- i? basic component identifier
- j ? resource identifier
36Data Collection
- Assigns values to parameters of each model
component - Generates same number of characterizing tuples as
number of workload components - Included tasks
- Identify time windows that define measurement
sessions - Monitor and measure system activities during
defined sessions - Assign values to all characterizing parameters
37Partitioning the Workload
- Actual workloads collection of heterogeneous
component - Single class representation lack accuracy
- Goal translate heterogeneity into homogeneity
- Divide workload into classes whose populations
are homogeneous components
38Partitioning the Workload
- Resource usage classify components based on
common use of critical resources - Applications classify components based on class
of applications - Subjectization of the enterprise
- Geographical orientation classify components
based on where they execute - Functional classes classify components based on
the computational functions being serviced - Organizational units classify components based
on the organizational structure of an enterprise - Consider organizational culture
- Type classify components based on processing
mode and associated descriptive parameters - Interactive (terminal)
- Transaction
- Batch (background)
39Calculating Class Parameters - Averaging
- Homogeneous components
- Represent a specific value by the average for the
class - Consider the tuple (Di1, Di2, , Dik) whose
arithmetic mean for each parameter is expressed
as Dj p-1S Dij j 1,2, , k
ki 1
40Calculating Class Parameters - Clustering
- Each clear bullet represents a transaction
execution - Resource oriented
- Black bullets represent resultant for a class
(Ci) - Statistical description
C1
CPU TIME
C2
C3
I/O TIME
41Calculating Class Parameters Data Analysis
- Set of activities
- Sampling
- Parameter transformation
- Outlier removal
- Distribution options
- Histogram
- Logarithmic
- Sampling
- Specific
- Random
- Parameter transform
- Representation in a standard model
- Outlier removal
- Elimination of extremes
42Calculating Class Parameters Data Analysis and
Distance
Distance
C1
CPU TIME
C2
C3
I/O TIME
Data Analysis
43Calculating Class Parameters Scaling
- Used to avoid problems arising from parameters
with very different values and ranges - Use a z-distribution for each parameter z
measured value mean value standard
deviationwhere the mean and standard deviation
are standard statistical measures
44Mean and Standard Deviation Formulae
- Meanx S xi
- Standard Deviations (S(xi x)2)/(n 1))1/2
- Variance ? s2
ni 1
n i 1
45Calculating Class Parameters Clustering
Algorithms
- Minimal spanning tree
- Hierarchical algorithm that starts by considering
each component of a workload to be a cluster - Algorithm
- Set initial number of clusters number of
components - Determine parameter values of each cluster
- Calculate the inter-cluster distance matrix
- Determine the minimum non-zero element
- Decrement number of clusters
- Repeat steps 2 5 as necessary
- K-means algorithm
- Non-hierarchical clustering technique based on
finding k points in the workload. - Algorithm
- Set the number of clusters to k
- Chose k starting points as initial estimates
- Examine each point in the workload allocate it
to nearest cluster recalculate clusters
position - Repeat step 3 as needed until no point changes
its cluster assignment or a maximum number of
passes is performed
Identifying natural groups of components based on
resource requirements
46Workload Forecasting
- Computer workloads change as the business
changes - New applications
- Changes to existing applications
- Increase in processing volumes by existing
applications - Environmental enhancements
- Difficulties
- Obtaining reliable information
- Terminology and communications with
users/customers - Needs of the under construction applications
- Latent demand deferred processing requests
47The Role of Business
- Technical requirements f (business
requirements) - Computing capacity f (business base,
strategic planning) - Critical applications account for majority of
computer resource utilization - What are they?
- Use to identify
- KVI Key Value Indicator
- NBU Natural Business Unit
- FBU Forecasting Business Unit
48Workload Forecasting Methodology
- Select applications to be forecasted
- Identify business units associated with
applications whose growth will be forecasted - Summarize the statistics
- Collect statistics concerning business units
being chosen - Translate business units into computer demands
- Forecast future resource demand as a function of
the business units.
49Forecasting Techniques
- Moving average
- Exponential smoothing
- Regression methods
50Moving Average
- Simple forecasting technique
- Allows value for next period to equal average of
a set of previous observations - High reliability for (near) steady-state
situations - Only one forecast value can be generated at a
time - Forecast value calculation ft1 (yt yt-1
. . . yt-n1 )/n - Error calculation mean squared error (MSE)
MSE S (yt ft )/n
n t 1
51Exponential Smoothing
- Similar to moving average
- Greater emphasis on most recent data
- Exponential smoothing formula ft1 ft a
(yt ft )where ft1 is the forecast for
period t1 yt is the actual value at time
t a is the smoothing weight 0 lt a lt 1
52Regression Methods
- Used to estimate the value of one variable as the
function of several others - Simple linear regression y a bxwhere b
( S xiyi nxy)/( S xi2 nx2 ) a y bx
y n-1 S yi x n-1 S xi n
number of observations
n i 1
n i 1
n i 1
n i 1
53Performance Prediction Techniques
Low Complexity and Cost High
- Rules of Thumb
- I/O channel utilization lt 35
- CPU utilization lt 80
- Peak utilization lt 90
- Average utilization lt 40
54Workload and Capacity Planning in Conclusion
- Understand the (current) environment
- Specify the service levels
- Perform workload characterization generate a
workload model - Develop a performance model
- Validate and calibrate the system model
- Workload model
- Performance model
- Forecast workload growth
- Use system model to analyze performance of
different system configurations and various
workload scenarios - Select the alternative with the best
cost/performance relationship that satisfies the
required service levels
55Capacity Plan Tool Kit
The following slides (55 105) are provided to
the student as anaid in addressing capacity
planning assignments.
56Building the Capacity Plan
- Start at the application level
- Each application
- One-by-one
- Identify key application components
- Determine growth factors
- Driven by business factors
- Strategic plan
- Tactical plan
57Components of an Application
- Data
- Functional ? database and file requirements
- Unique contribution to a shared resource
- Program
- Functionality
- Background
- Foreground
- Program size
- Memory occupancy
- Libraries
- Program frequency
- Program type
- Volatility
58Estimating Data Size (1)
- Critical component of the capacity plan
- Very difficult to estimate early on
- Evolutionary process
- Key questions
- What data does the application require?
- What data is specific to this application?
- What data already exists in the enterprise data
store? - What data must be added?
- Does the introduction of this application change
the amount of data that is already captured in
the data store? - How will the data be used?
- How will the data be deployed?
59Estimating Data Size (2)
- Rule of Experience the data must be understood
before addressing implementation specifics (such
as a database or file structure) - Accuracy is important
- Actual amounts will evolve
- Data sizing is iterative
- Defined process is necessary
- What are the appropriate questions?
60Estimating Data Size (3)
Problem With reference to the entity-relationship
diagram on the left, prepare an estimate of the
amount of data given the following information1.
All current and former employees are
included. 2. The company has been in existence
for twenty-five years, averaging 400
employees per year. 3. An employee has an
average of six dependents, four
addresses. and five contacts (4 phones
plus an email). 4. There are ten
salary ranges. 5. There are fifty job
codes Describe the process used as well as
the results.
61Estimating Data Size (4)
ENTITY NAME ENTITY SIZE ENTITY QUANTITY TOTAL SIZE BASIS OF ESTIMATE
62Estimating Program Requirements (1)
- Essential resources a program will require in
order to execute - Memory
- Transactions
- Storage
- Data Operations
- Computer Program a stand-alone set of
instructions that accept input, process the
input, and produce results
63Estimating Program Requirements (2)
- Input considerations
- Type of input
- Stimulus
- Data
- Source of the input
- Interactive
- Message
- File
- Database
- Size of the input how much data
- Number of inputs
64Estimating Program Requirements (3)
- Output considerations
- Type of output
- Report
- Hardcopy
- Softcopy
- Message
- User-oriented
- Process-oriented
- Destination of the output
- Size of the output
- Number of outputs
65Estimating Program Requirements (4)
- Program structure
- Algorithms
- Subroutines
- Functions
- I/O operations
- Files
- Database
- Volatility
- Storage
- Working data
- Sort data
- Input/Output data
- Arrays
- Frequency
- How many
- How often
66Knowing How Much Work is to be Done
- Based on business processes
- Mapped to software transactions
- Key questions
- What are the business processes?
- What software transactions required to execute a
business process? - How many
- Business processes?
- Software transactions?
- What physical resources are required?
- When do these processes occur?
67What is a Business Process?
- Business process
- Set of steps that must be executed to conduct on
aspect of business - Set of actions taken upon a business object
- Business rules
- Described in USE CASE
- Conducted by the execution of one or more
software transactions - Each software transaction has physical
requirements - Depends on the specific nature of the transaction
68What is a Software Transaction?
- Computer-based program that provides some or all
of the functionality required to conduct a
business process - User interfaces
- Inter-process interfaces
- Input/output operations
- Algorithm processing
- Logic representing business rules
- Network topology
- Level of processing distribution
- Inter-nodal messaging
69Elements of a Software Transaction
- User interfaces
- HCI or GUI interactions by user
- Number submitted (by user)
- Number transmitted (by software)
- Inter-process interfaces
- Direct invocations (one program to another)
- Number of invocations executed
- Number of times invoked (by another program)
- Input/output interfaces
- File reads and/or writes (media independent)
- Database reads and/or writes
- Indexed or non-indexed
- Reports generated (print or screen)
- Algorithm processing
- Number of machine instructions required to
execute a business rule - Network topology
- Number of messages
- Size of messages
- Distribution array
70Estimating Business Transactions
Volume By Time of Day Volume By Time of Day Volume By Time of Day Volume By Time of Day
0000 To 0600 0600 To 1200 1200 To 1800 1800 To 2400
Software Transactions
Quantity
Nodes in Topology
Transaction Type
Business Process
71Estimating Software Transactions
FILE-BASED INPUT/OUTPUT OPERATIONS FILE-BASED INPUT/OUTPUT OPERATIONS FILE-BASED INPUT/OUTPUT OPERATIONS FILE-BASED INPUT/OUTPUT OPERATIONS DATABASE INPUT/OUTPUT OPERATIONS DATABASE INPUT/OUTPUT OPERATIONS DATABASE INPUT/OUTPUT OPERATIONS GRAPHICAL USER INTERFACE GRAPHICAL USER INTERFACE REPORTS REPORTS
DISK STORAGE DISK STORAGE TAPE STORAGE TAPE STORAGE DATABASE INPUT/OUTPUT OPERATIONS DATABASE INPUT/OUTPUT OPERATIONS DATABASE INPUT/OUTPUT OPERATIONS GRAPHICAL USER INTERFACE GRAPHICAL USER INTERFACE
SOURCE LANGUAGE INSTRUCTIONS
SOFTWARE TRANSACTION
SCREEN
PRINTER
RECORDS
CHARS
TABLES
INDEXES
CHARS
RECORDS
CHARS
SCREEN NAME
ROWS
FILES
FILES
72Estimating Message Traffic
SOFTWARE ROUTING SOFTWARE ROUTING NODAL ROUTING NODAL ROUTING
FROM SW TX TO SW TX FROM NODE TO NODE
NUMBER OF MESSAGES
MESSAGE NAME OR IDENTIFIER
MESSAGE SIZE
73Estimating Frequency
- When will the program execute?
- Timelines
- Frequency distributions
- Nominal
- Maximum
- Minimum
74Timeline Considerations
- When will the activity occur?
Expected Transaction Volume
Transaction Volume Axis
0000
0600
1200
1800
2400
Daily Transaction Volume Distribution
75Sizing the Data Store (1)
- Stored data
- Database
- Distribution
- Mirroring
- Files
- Data
- Back up
- Libraries
- Working data
- Sort
- Temporary storage
- Input/output buffering
- Variables
- Media considerations
- Disk
- Tape
- Other
76Sizing the Data Store (2)
- Functional view
- Technical View
- Structure of the data store
- Requirements of the data store manager
ENTITY NAME ENTITY SIZE ENTITY QUANTITY TOTAL SIZE BASIS OF ESTIMATE
77Sizing the Data Store (3)
- Files physical storage structure for data
- Governed by the rules of the file management
system - Governed by the type of file
- Sequential
- Indexed
- Databases logical storage structure for data
- Databases exist within files
- Governed by the rules of the database management
system - Data
- Indexes
- DBMS considerations
78Files and Databases
Databases exist within files
79Sizing the Data Store (4)
- Database artifacts are generally sized first
- Tables
- Indexes
- Databases
- Tablespaces
- Files not associated with the database can be
sized at any time - Reflect the file structure
80Sizing the Data Store (5)The Database
- Determine the amount of application data
Column Name Data Type Data Size Rule Actual Size
Then,
Table Name Row Size Rows Growth Rate Table Size
- Complete this table for each row.
- One table is required for each table in the
database
- Complete this table for each database table
81Sizing the Data Store (6)The Database
- Calculate the physical space requirements for
data on a table-by-table basis - Number of rows in the table
- Median length of a row
- Block size defined to the DBMS
- Overflow percentage
- Using the process
- Determine the number of rows that can be stored
in one block - Determine the number of blocks that are required
- Determine the total space requirement
- Include an estimation safety factor
82Sizing the Data Store (7)The Database
- Number of rows that can be stored in one block
(nr) nr ((blocksize (header footer))
overhead)/median row size - Number of blocks required (nb) nb total number
of rows/nr - Amount of disk space required (dsp) dsp nb
blocksize - Estimating factor is an increasing multiplier
based on the estimators presumption of accuracy
83Sizing the Data Store (8)The Database
- Index sizes must now be calculated for each index
declared via a CREATE INDEX statement - Primary key size nr (bytespk bytespa)
- Number of estimated rows in a table
- Number of bytes in the primary key
- Number of bytes in the pointer address
- (Each) search index nr (bytessk bytespa)
- Estimated number of rows
- Number of bytes in the index key
- Number of bytes in the pointer address
84Sizing the Data Store (9)The Database
Assignment You are to size this database
usingthe preceding materials. Assumethat
EMPLOYEE will have a searchindex on JOB_CODE and
DATE_OF_HIREand that CONTACT will have a search
keyof AREA_CODE. ADDRESS will have a search
key of ZIP_CODE. Explain what considerations
must be made to accommodate foreign keys
85Sizing the Data Store (10)Non-Database Files
- Ordinary files f ((m 8) n) e
- Median size of a data record in bytes
- Number of records estimated
- 8 bytes per record (file overhead)
- Estimating accuracy factor
- Index files f (((m 8) n) i p) e
- Median size of a data record in bytes
- Number of records estimated
- Estimating accuracy factor
- Size of the index
- Number of bytes in the index
- Size of the address pointer
Approximate refer to the appropriate
Operating System documentation
86Sizing the Data Store (11)Non-Database Files
Assignment In unloading this database for
archivingpurposes, a sequential file will be
created.The created file will contain a
completeset of data about employees,
includingall address and contact information.
Thefile will also contain a complete set ofdata
about dependents, including alladdress and
contact information as wellas some form of
connectivity to theemployee. You are to 1.
Describe each record that will be
created.2. Size the sequential file.3.
Explain the process that was followed.
87Sizing the Application (1)Considerations
- Functions performed
- Background
- Foreground
- Data stores accessed
- Files
- Databases
- Input/Output operations performed
- Read/Write
- Logical/Physical
- Algorithms
- Complexity
- Frequency
- Concurrency
88Sizing the Application (2)
- Generally separate by background versus
foreground - Key measures
- Transactions
- Input/Output operations
- Complexity (of algorithms)
89Sizing the Application (3)Definitions
- Transaction
- Set of instructions needed to execute one
instance of a business process - Work performed by a computer to (successfully)
execute these (set of) instructions - Input
- Physical the transfer of one physical unit of
data (usually referred to as a block) to memory
from storage - Logical the transfer of one logical unit of
data (such as a record in a file or a row in a
database table) to memory from storage - Output
- physical the transfer of one physical unit of
data from memory to a storage medium - Magnetic
- Optical
- Electronic
- Paper
90Sizing the Application (4)
Transaction Physical Input/Output Operations Physical Input/Output Operations Input/Output Buffer Space Input/Output Buffer Space Source Language Instructions (SLI) I/O Time (_at_ 30ms/IO SLI Time (_at_ 10ms/SLI Sort Buffer Space Total Space Total Time
Transaction Read Write Read Write Source Language Instructions (SLI) I/O Time (_at_ 30ms/IO SLI Time (_at_ 10ms/SLI Sort Buffer Space Total Space Total Time
91Sizing the Application (5)
- Data is a principal driver
- Good design is essential
- Use optimizers to minimize executing instructions
- Apply complexity factors
- Size by instance
92Considerations for Topology
- How many nodes?
- What functions at each node?
- What data at each node?
- How many functions at each node?
- How much network traffic between nodes?
- How many messages sent?
- How many messages received?
93Implications of Topology
NODE 5
NODE 4
NODE 3
NODE 2
NODE 1
94Implications of Topology
- Nodal volumes not necessarily identical
- Critical considerations
- How many transactions?
- In which time frame?
- How many messages?
- How many users?
- Requires two views
- Nodal view
- System view
95Implications of Topology
- Assignment
- For the topology illustrated in the diagram to
the left, develop a process and the associated
set of tools that you would use to establish the
resource requirements for a new application that
is currently in development. - Demonstrate the viability of your approachgiven
the following constraints - Number of users Baltimore (100), Ft Wayne
(50), Pittsburgh (75), Kansas City (40),
Missoula (30), and Denver (200) - Each user initiates an average of 1 transaction
every two minutes - Each site works a standard 8-hour day from 8 AM
to 5 PM (local time) Monday - Friday - The database is replicated and consolidated
each workday evening (in Denver) - Each local database is backed up each weekday
evening - Users will send one message/per hour to each of
the other nodes and two messages per hour
within their own node - A transaction accesses the database and four
80-byte fixed length files. There are no sorts.
- Make any assumptions needed to complete the task.
96The Meaning of Work
- What is work?
- Accomplishing a defined task
- How is work defined?
- The transfer of one byte of data between a
processor and secondary storage - What is meant by the term work in a computer?
- Input operations performed
- Instructions executed
- Output operations performed
- How is work measured?
- Memory occupancy
- Instructions executed per unit of time
- What about processor speed?
- Describes how fast work can be accomplished
97Work Over Time
- When is the work done?
- Peaks and valleys
- When
- Where
- Significance of 7 x 24 x 365
- Does the hour matter?
- Does the day matter?
- Does the month matter?
- Does the season matter?
98Profiling the Requirements of Time
- Time increments are application and installation
dependent - Relevant time intervals
- Hour
- Day
- Week
- Month
- Year
- As Required always possible
There is a real possibility of ann-dimensional
problem with regard to time
99What Must Be Considered (1)
- Resource requirements of individual applications
- Over time
- Over the topology
- Shared resource requirements
- What are shared resources?
- What are the requirements for their usegt
- Over time
- Over the topology
100What Must Be Considered (2)
INDIVIDUAL INDIVIDUAL SHARED SHARED
TIME TOPOLOGY TIME TOPOLOGY
PROCESSOR
MEMORY
STORAGE
COMMUNICATION
FACTOR
RESOURCE
101Capacity Planning
- The science of determining how much resource will
be required over a planning horizon - Considerations
- Critical resources
- Machine capabilities
- Workload characteristics
- Normal workload
- Peaks and valleys
- Change over time
- Growth
- Reduction
- System factors
102Capacity Planning Considerations (1)
- Normal load the expected amount of resource to
be used under usual circumstances - Peak load the maximum amount of resource to be
used under exceptional circumstances
103Capacity Planning Considerations (2)
100
Contingency to accommodate spikes,priorities,
and/or contention
Contingency Value
Available for Normal Use
0
104Capacity Planning Considerations (3)
- What do you need now?
- What do you have?
- What will you need at each increment in the
planning horizon? - What is the plan?
- What are the risks
- Unanticipated demand
- Unexpected surplus
- Change in the business
- The importance of being earnest
- Right-sizing the environment
105Developing a Capacity PlanExercise
- As the systems engineering team for a mid-sized,
high growth manufacturing company with an
international presence, identify the source
materials you will require in order to develop
the enterprises capacity plan over a nominal
business strategic planning horizon. - Describe the process that you will employ to
develop the plan. - Describe the process that you will employ to keep
the plan current by updating it on an annual
basis. - Describe how your role differs from the role of
the application owner.