Transcript Document

Computer System Lifecycle
Chapter 1
Introduction
• Computer System users, administrators, and designers are
all interested in performance evaluation.
• Whether the IT system meet the QoS (quality of Service)
requirements of performance.
• The goal is to obtain or to provide the highest performance
at the lowest cost.
• A system:
– HW, SW, firmware,
• Computer performance evaluation:
–
–
–
–
the selection of computer system,
The design of applications
Equipment
Analysis of existing systems
QoS (Quality of Service)
• QoS attributes of an IT sytems:
– Response time
– Throughput
– Availability
– Reliability
– Security
– Scalability
– Extensibility
Response Time
• The time it takes a system to react to a human
request is called the response time.
Throughput
• The rate at which requests are completed
from a computer system is called throughput
and it measured in operations per unit time.
Example 1.1
• Assume that an I/O operation at a disk in an OLTP
system takes 10 msec on average.
• If the disk is constantly busy (i.e., its utilization is
100%),
• then it will be executing I/O operations continuously at
a rate of one I/O operation every 10 msec or 0.01 sec.
• So, the maximum throughput of the disk is
– 100 (= 1 / .01) I/Os per second.
– But if the rate at which I/O requests are submitted to the
disk is less than 100 requests/sec, then its throughput will
be equal to the rate at which requests are submitted.
Throughput vs. load
Availability
• Availability is defined as the fraction of time
that a system is up and available to its
customers.
• a system with 99.99% availability over a
period of thirty days would be unavailable for
Exercise
Solution of 1.3
Exercise
Solution of 1.4
Reasons for unavailability
• Failures
– Failure detection, diagnosis and recovery
• Overloads
– Admission control
• Controlling and limiting the number of requests that
are handled concurrently by IT system.
Admission control
Reliability
• The Reliability of a system is the probability
that it functions properly and continuously
over a fixed period of time.
• Difference between availability and reliability.
– When the time period during which the reliability
is computed becomes very large, the reliability
tends to the availability.
Security
• Confidentiality:
– only authorized individuals are allowed access to
the relevant information.
• Data Integrity:
– information cannot be modified by unauthorized
users.
• Non-repudiation:
– senders of a message are prevented from denying
having sent the message.
Scalability
• A system is said to be scalable if its
performance does not degrade significantly as
the number of users, or equivalently, the load
on the system increases.
Load vs. Response Time
Extensibility
• Extensibility is the property of a system to
easily evolve to cope with new functional and
performance requirements.
System Life Cycle
• Performance Engineering (PE)
– The method used to assure that QoS requirements
are met are part of the discipline called PE.
Phase 1. Requirements Analysis and
Specification
• During this phase of the life cycle of a
computer system, the analysts, in conjunction
with users, gather information about what
they want the system to do.
• The result of this analysis is a requirement
specifications document that is divided into
two main parts:
– Functional requirements
– Non-functional requirements
Phase 1. Requirements Analysis and
Specification
• Functional requirements specify
– the set of functions the system must provide with the
corresponding inputs and outputs
– the interaction patterns between the system and the
outside world (users).
– The functional requirements usually include
information about the physical environment and
technology to be used to design and implement the
system.
• Non-functional requirements
– Deal with QoS requirements
Phase 2. System design
• System design is the stage in which the question "How
will the requirements be met?" is answered.
• In this phase, the system architecture is designed, the
system is broken down into components, major data
structures,
–
–
–
–
including files and databases, are designed,
algorithms are selected and/or designed, and
pseudo code for the major system components is written.
the interfaces between the various components are
specified.
Phase 2. System design
• A key recommendation is that special care be
given to the non-functional requirements at the
design stage since decisions made at this stage
are more likely to have a strong impact on system
performance, availability, reliability, and security.
Moreover, problems caused by poor decisions
made at this stage are much more expensive and
time consuming to correct than those generated
by decisions made at the later stages of the
development life cycle.
Phase 3. System Development
• The various components of the system are
implemented.
• Components are then interconnected to form
the system.
Phase 4. System Testing
• Unit testing:
– Components can be tested in isolation.
• Tested components are put together into
subsystems tested further until the system
meets its specification requirements.
• Load testing
– Testing performance by executing simulated
transactions with virtual users.
Phase 5. System deployment
• During system deployment, many configuration
parameters (e.g., maximum number of TCP
connections, maximum number of threads,
timeout periods, database connection pool size)
have to be set for optimal performance.
• The models described in this book can be used to
predict the performance of a computer system
under different configuration scenarios so that a
proper set of values can be selected for the
workload conditions expected to be seen in the
field.
Phase 6. System Operation
• Features monitored to check if the QoS
requirements are being met during system
operation
– Workload
– External Performance Metrics
– Internal Performance Metrics
– Availability
Phase 6. System Operation
• Workload
– peak period
– Characteristics of the arrival process of requests
– Unusual patterns
• External Performance Metrics
– measurement of user-perceived satisfaction and
statistics (e.g., mean, standard deviation, percentiles)
relative to response time, throughput, and probability
that requests are rejected.
• Internal Performance Metrics
• Availability
Phase 6. System Operation
• Internal Performance Metrics
– identification of internal factors that aid in the
diagnosis of performance failures and bottleneck
detection.
– Include the utilization of processors, storage devices,
and networks, and the number of requests waiting in
the various software and hardware queues.
• Availability
– determination of the percentage of time that a system
is available to service requests.
Phase 7. System Evolution
• To satisfy new user requirements.
• Whether the existing resources will be able to
support the old and new workloads while still
meeting the QoS requirements for both of
them.
• Predictive models of computer performance
are needed to answer these types of
questions.
A reference model for IT system
• IT systems are designed and built to serve the
ne
• Social systems and IT systems are usually
integrated to form a "socio-technical" system
eds of and interact with human beings.
Business and Social Model
• The business model deals with the elements
of the business that need to reflected in the
design of an IT system.
– E.g. # of branches
• Social model of the bank
– Elements related to privacy polices to be enforce
– Accessibility polices to disabled peoples
User Interaction Model
• describes the interactions between customers
and the system.
– how users request services from the system,
– how often, and what is a typical sequence of
submitted requests.
IT Resource Model
Homework 1
• Exercise 1.1
• Exercise 1.2
• Submit a hardcopy of your work at next class.