Lecture Note
Download
Report
Transcript Lecture Note
Cloud Service Infrastructure
ECE7650
Key Components
Datacenter Architecture
Cluster: compute, storage
Network for DC
Storage
Virtualization
Cloud Management SW
Resource Usage Metering
Automated Systems Management
Privacy and Security Measures
Cloud Programming Env
2
What’s a Cluster?
Broadly, a group of networked
autonomous computers that work
together to form a single machine in
many respects:
To improve performance (speed)
To improve throughout
To improve service availability (highavailability clusters)
Based on commercial off-the-shelf,
the system is often more costeffective than single machine with
comparable speed or availability
Highly Scalable Clusters
High Performance Cluster (aka Compute
Cluster)
A form of parallel computers, which aims to
solve problems faster by using multiple compute
nodes.
For parallel efficiency, the nodes are often
closely coupled in a high throughput, low-latency
network
Server Cluster and Datacenter
Aims to improve the system’s throughput ,
service availability, power consumption, etc by
using multiple nodes
Top500 Installation of
Supercomputers
Top500.com
Clusters in Top500
An Example of Top500 Submission (F’08)
Location
Tukwila, WA
Hardware – Machines
256 Dual-CPU, quad-core Intel 5320
Clovertown 1.86GHz CPU and 8GB
RAM
Hardware – Networking
Private & Public: Broadcom GigE
MPI: Cisco Infiniband SDR, 34 IB
switches in leaf/node configuration
Number of Compute Nodes
256
Total Number of Cores
2048
Total Memory
2 TB of RAM
Particulars of for current Linpack Runs
Best Linpack Result
11.75 TFLOPS
Best Cluster Efficiency
77.1%
For Comparison…
Linpack rating from June2007 Top500
run (#106) on the same hardware
8.99 TFLOPS
Cluster efficiency from June2007 Top500 59%
run (#106) on the same hardware
Typical Top500 efficiency for Clovertown 65-77%
motherboards w/ IB regardless of
(2 instances of 79%)
Operating System
30% impro in
efficiency on the
same hardware;
about one hour to
deplay
Beowulf Cluster
A cluster of inexpensive PCs for low-cost
personal supercomputing
Based on commodity off-the-shelf
components:
PC computers running a Unix-like Os (BSD,
Linux, or OpenSolaris)
Interconnected by an Ethernet LAN
Head node, plus a group of compute node
Head node controls the cluster, and serves
files to the compute nodes
Standard, free and open source software
Programming in MPI
MapReduce
Why Clustering Today
Powerful node (cpu, mem, storage)
Today’s PC is yesterday’s supercomputers
Multi-core processors
High speed network
Gigabit (56% in top500 as of Nov 2008)
Infiniband System Area Network (SAN) (24.6%)
Standard tools for parallel/
distributed computing & their growing
popularity.
MPI, PBS, etc
MapReduce for data-intensive computing
Major issues in Cluster Design
Programmability
Sequential vs Parallel Programming
MPI, DSM, DSA: hybrid of multithreading and
MPI
MapReduce
Cluster-aware Resource management
Job scheduling (e.g. PBS)
Load balancing, data locality, communication opt,
etc
System management
Remote installation, monitoring, diagnosis,
Failure management, power management, etc
Cluster Architecture
Multi-core node architecture
Cluster Interconnect
Single-core computer
Single-core CPU chip
the single core
Multicore Architecture
Combine 2 or more
independent cores (normally
CPU) into a single package
Support multitasking and
multithreading in a single
physical package
Multicore is Everywhere
Dual-core commonplace in laptops
Quad-core in desktops
Dual quad-core in servers
All major chip manufacturers produce
multicore CPUs
SUN Niagara (8 cores, 64 concurrent threads)
Intel Xeon (6 cores)
AMD Opteron (4 cores)
Multithreading on multi-core
David Geer, IEEE Computer, 2007
Interaction with the OS
OS perceives each core as a separate
processor
OS scheduler maps threads/processes
to different cores
Most major OS support multi-core today:
Windows, Linux, Mac OS X, …
Cluster Interconnect
Network fabric connecting the compute
nodes
Objective is to strike a balance between
Processing power of compute nodes
Communication ability of the interconnect
A more specialized LAN, providing many
opportunities for perf. optimization
Switch in the core
Latency vs bw
Input
Ports
Receiver
Input
Buffer
Output
Buffer Transmiter
Cross-bar
Control
Routing, Scheduling
Output
Ports
Goal: Bandwidth and Latency
0.8
Delivered Bandwidth
80
70
Latency
60
50
40
Saturation
30
20
10
0.7
0.6
0.5
0.4
Saturation
0.3
0.2
0.1
0
0
0
0.2
0.4
0.6
0.8
Delivered Bandwidth
1
0
0.2
0.4
0.6
0.8
Offered Bandwidth
1
1.2
Ethernet Switch: allows multiple
simultaneous transmissions A
hosts have dedicated,
direct connection to switch
switches buffer packets
Ethernet protocol used on
each incoming link, but no
collisions; full duplex
each link is its own collision
domain
switching: A-to-A’ and Bto-B’ simultaneously,
without collisions
not possible with dumb hub
C’
B
1 2
6
5
3
4
C
B’
A’
switch with six interfaces
(1,2,3,4,5,6)
Switch Table
Q: how does switch know that
A’ reachable via interface 4,
B’ reachable via interface 5?
A: each switch has a switch
table, each entry:
Q: how are entries created,
maintained in switch table?
C’
B
something like a routing
protocol?
1 2
6
5
(MAC address of host, interface
to reach host, time stamp)
looks like a routing table!
A
3
4
C
B’
A’
switch with six interfaces
(1,2,3,4,5,6)
Switch: self-learning
switch
Source: A
Dest: A’
learns which
hosts can be reached
through which
interfaces
A A A’
C’
B
1 2
3
6
5 4
when frame received,
switch “learns”
location of sender:
incoming LAN segment
B’
records
MAC
addrininterface TTL
sender/location
pair
60
1
A
switch table
C
A’
Switch table
(initially empty)
Source: A
Self-learning,
forwarding: example
Dest: A’
A A A’
C’
B
frame destination
unknown: flood
A6A’
5
r destination A location known:
1 2
4
C
A’ A
selective send
B’
3
A’
MAC addr interface TTL
A
A’
1
4
60
60
Switch table
(initially empty)
Interconnecting switches
Switches can be connected together
S4
S1
S3
S2
A
B
C
F
D
E
I
G
H
r Q: sending from A to G - how does S1 know to forward
frame destined to F via S4 and S3?
r A: self learning! (works exactly the same as in singleswitch case!)
r Q: Latency and Bandwidth for a large-scale network?
What characterizes a network?
Topology
(what)
physical interconnection structure of the network graph
Regular vs irregular
Routing Algorithm
(which)
restricts the set of paths that msgs may follow
Table-driven, or routing algorithm based
Switching Strategy
how data in a msg traverses a route
Store and forward vs cut-through
(how)
Flow Control Mechanism
when a msg or portions of it traverse a route
what happens when traffic is encountered?
(when)
Interplay of all of these determines performance
Tree: An Example
Diameter and ave distance logarithmic
k-ary tree, height d = logk N
address specified d-vector of radix k coordinates
describing path down from root
Fixed degree
Route up to common ancestor and down
R = B xor A
let i be position of most significant 1 in R, route up i+1
levels
down in direction given by low i+1 bits of B
Bandwidth and Bisection BW?
Bandwidth
Bandwidth
Point-to-Point bandwidth
Bisectional bandwidth of interconnect frabric: rate of
data that can be sent across an imaginary line dividing the
cluster into two halves each with equal number of ndoes.
For a switch with N ports,
If it is non-blocking, the bisectional bandwidth = N * the
p-t-p bandwidth
Oversubscribed switch delivers less bisectional bandwidth
than non-blocking, but cost-effective. It scales the bw per
node up to a point after which the increase in number of
nodes decreases the available bw per node
oversubscription is the ratio of the worst-case achievable
aggregate bw among the end hosts to the total bisection bw
How to Maintain Constant BW per
Node?
Limited ports in a single switch
Multiple switches
Link between a pair of switches be
bottleneck
Fast uplink
How to organize multiple switches
Irregular topology
Regular topologies: ease of management
Scalable Interconnect: Examples
Fat Tree
4
0
0
1
0
1
0
1
1
3
2
0
1
1
0
building block
16 node butterfly
Multidimensional Meshes and Tori
2D Mesh
n = kd-1 X ...X kO nodes
described by d-vector of coordinates (id-1, ..., iO)
d-dimensional k-ary mesh: N = kd
3D Cube
d-dimensional array
2D torus
k = dN
described by d-vector of radix k coordinate
d-dimensional k-ary torus (or k-ary d-cube)?
Packet Switching Strategies
Store and Forward (SF)
move entire packet one hop toward destination
buffer till next hop permitted
Virtual Cut-Through and Wormhole
pipeline the hops: switch examines the header,
decides where to send the message, and then
starts forwarding it immediately
Virtual Cut-Through: buffer on blockage
Wormhole: leave message spread through
network on blockage
SF vs WH (VCT) Switching
Cut-Through Routing
Store & Forward Routing
Source
Dest
32 1 0
3 2 1 0
3 2 1
3 2
3
Dest
0
1 0
2 1 0
3 2 1 0
3 2 1
3 2
3
0
3 2 1
0
3 2
1
0
3
2
1
0
3
2
1 0
3
2 1 0
3 2 1 0
1 0
2 1 0
3 2 1 0
Time
3 2 1
0
Unloaded latency: h( n/b+ D) vs n/b+hD
h: distance
n: size of message
b: bandwidth
D: additional routing delay per hop
Conventional Datacenter Network
Problems with the Cluster Arch
Resource fragmentation:
If an application grows and requires more
servers, it cannot use available servers in other
layer 2 domains, resulting in fragmentation and
underutilization of resources
Poor server-to-server connectivity
Servers in different layer-2 domains to
communication through the layer-3 portion of
the network
See papers in the reading list of
Datacenter Network Design for proposed
approaches
Datacenter as a Computer
1.
2.
3.
4.
5.
6.
Overview
Workloads and SW infrastructure
HW building blocks
Datacenter basics
Energy and power efficiency
Dealing with Failures and Repairs
35
Datercenter
Datacenters are buildings where servers and
comm. gear are co-located because of their
common environmental requirements and physical
security needs, and for ease of maintenance.
Traditional DCs typically host a large number of
relatively small- or medium-sized applications,
each running on a dedicated hw infra that is decoupled and protected from other systems in the
same facility
36
Recent Data Center Projects
37
Advances in Deployment of DC
Conquering complexity.
Building racks of servers &
complex cooling systems all
separately is not efficient.
Package and deploy into
bigger units:
Microsoft Generation 4 Data Center
http://www.youtube.com/watch?v=PPnoKb9fTkA
38
Microsoft Generation 4 Datacenter
39
Typical Elements of a DC
Often low-end servers are used
Connected in multi-tier networks
40
Key Aspects
Storage
Network Fabric
Storage Hierarchy
Quantify Latency, BW, and Capacity
Power Usage
Handling Failures
41
Storage
Global distributed file systems (e.g. Google’s GFS)
Hard to implement at the cluster-level, but lower hw
costs and networking fabric utilization
GFS implement replication across different machines
(for fault tolerance); Google deploys desktop-clas dis
drives, instead of enterprise-grade disks
Network Attached Storage (NAS), directly
connected to the cluster-level switching fabric
Simple to deploy, because it pushes the responsibility for
data management and integrity to NAS appliance
42
Amazon’s Simple Storage Service (S3)
Write, read, and delete objects containing from 1 byte to 5
terabytes of data each. The number of objects you can store is
unlimited.
Each object is stored in a bucket and retrieved via a unique,
developer-assigned key.
A bucket can be stored in one of several Regions: in the US
Standard, EU (Ireland), US West (Northern California) and Asia
Pacific (Singapore) Regions.
Built to be flexible so that protocol or functional layers can easily
be added. The default download protocol is HTTP. A BitTorrent™
protocol interface is provided to lower costs for high-scale
distribution.
Designed to provide 99.999999999% durability and 99.99%
availability of objects over a given year. Designed to sustain the
concurrent loss of data in two facilities.
Designed to provide 99.99% durability and 99.99% availability of
objects over a given year. This durability level corresponds to an
average annual expected loss of 0.01% of objects. Designed to
sustain the loss of data in a single facility.
43
Amazon’s Elastic Block Storage (EBS)
EBS provides block level storage volumes for use
with EC2 instances. It allows you to create storage
volumes from 1 GB to 1 TB that can be mounted as
devices by Amazon EC2 instances.
Each storage volume is automatically replicated
within the same Availability Zone. This prevents
data loss due to failure of any single hardware
component.
The latency and throughput of Amazon EBS
volumes is designed to be significantly better than
the Amazon EC2 instance stores in nearly all
cases.
44
Network Fabric
Tradeoff between speed, scale, and cost
Two-level hierarchy (in rack and cluster-
levels)
A switch having 10 times the bi-section bw
costs about 100 times as much
A rack with 40 servers, each with a 1-Gbps port
may have between 4 to 8 1-Gbps uplinks to the
cluster switch: an oversubscription factor
between 5 and 10 for comm across racks.
“fat-tree” networks built of lower-cost
commodity Ethernet switches
45
Next Generation of Network Fabric
Monsoon
Work by Albert Greenberg, Parantap Lahiri,
David A. Maltz,Parveen Patel, Sudipta Sengupta.
Designed to scale to 100K+ data centers.
Flat server address space instead of dozens of
VLANS.
Valiant Load Balancing.
Allows a mix of apps and dynamic scaling.
Strong fault tolerance characteristics.
46
Storage Hierarchy
47
Latency, BW, and Capacity
Assume: 2000 servers (8GB mem and 1TB disk), 40 per rack
connected by a 48-port 1Gpbs switch (8 uplinks)
Arch: bridge the gap in a cost-efficient manner
SW : hide the complexity, exploit data locality
48
DC vs Supercomputers
Scale
Blue Waters = 40K 8-core “servers”
Road Runner = 13K cell + 6K AMD
servers
MS Chicago Data Center = 50
containers = 100K 8-core servers.
Fat tree network
Network Architecture
Supercomputers: CLOS “Fat Tree”
infiniband
Low latency – high bandwidth
protocols
Data Center: IP based Network
Standard Data Center
• Optimized for Internet Access
Data Storage
Supers: separate data farm
• GPFS or other parallel file system
DCs: use disk on node + memcache
49
Power Usage
Distribution of peak power usage of a
Google DC (circa 2007)
50
Workload and SW Infra
Platform-level SW: presented in all individual
servers, providing basic server-level services
Cluster-level infra: collection of distributed
systems sw that manages resources and provides
services at the cluster level
MapReduce, Hadoop, etc
Application-level sw: implements a specific service
Oneline service like web search, gmail,
Offline computations, e.g. data analysis or generate data
used for online services such as building index
51
Examples of Appl-SW
Web 2.0 applications
Provide rich user experience including real-time global
collaboration
Enable rapid software development
Software to scan voluminous Wikipedia edits to identify
spam
Organize global news articles by geographic location
Data-intensive workloads based on scalable architectures,
such as Google’s MapReduce framework
Financial modeling, real-time speech translation, Web search
Next generation rich media, such as virtual worlds, streaming
videos, Web conferencing, etc.
52
Characteristics
Ample parallelism at both data and request levels;
Key is not to find parallelism, but to manage and
efficiently harness the explicit parallelism
Data parallelism arises from the large data sets of
relatively independent records to be processed
Request-level parallelism comes from hundreds or
thousands of requests per second to be responded; the
requests rarely invovle read-after-write sharing of data
or synchronization
53
Characteristics (cont’)
Workload churn: isolation from users of Internet
services makes it easy to deploy new sw quickly.
Google’s front-end web server binaries are released on a
weekly cycle
The core of its search services be reimplemented from
scratch every 2~3 years!!
New products and services frequently emerge, and their
success with users directly affects the resulting
workload mix in the DC
Hard to develop a meaningful benchmark
• Not too much for HW architects to do
• Count on sw rewrites to take advantage of new hw capabilities ?!
Fault-free is challenging, but possible
54
Basic Programming Concepts
Data Replication for both perf and availability
Data Partitioning (sharded) for both p. & a.
Load balancing:
Sharded vs replicated services
Health checking & watchdog timers for availability
No op could rely on a given server to respond to make
progress forward
Integrity checks for availability
Application-specific compression
Eventual consistency w.r.t. replicated data
When no updates occur for a long period time, eventually
all updates will propagete through the system and all
replicas will be consistent
55
Cluster-level SW
Resource Management
Map user tasks to hw resources, enforce priorities and
quotas, provide basic task managment services
Simple allocation; or automate allocation of resources;
fair-sharing of resources at a finer level of granulaity;
power/energy consideration
Related Work at Wayne State
• Wei, et al, Resource management for end-to-end quality of
service assurance [Wei’s PhD disseration’06]
• Zhou, et al, Proportional resource allocation in web servers,
streaming servers, and e-commerce servers proportional ;
see cic.eng.wayne.edu for related publications (02-05)
HW abstraction and Basic Services
E.g. reliable distributed storage, message-passing,
cluster-level sync. (GFS, Dynamo )
56
Cluster-level SW (cont’)
Deployment and maintenance
Sw image distributionj, confguration management,
monitoring service perf and quality, alarm trigger for
operators in emergency situations, etc
E.g. Autopilot of Microsoft, Google’s Health
Infrastructure
Related Work at Wayne State
• Jia, et al, Measuring machine capacity, ICDCS’08
• Jia, et al, Autonomic VM configuration, ICAC’09
• Bu, et al, Autonomic Web apps configuration, ICDCS’09
Programming Frameworks
Tools like MapReduce would improve programmer
productibity by automatically handling data partitioning,
distribution, and fault tolerance
57
Monitoring Infra: An Example
Service-level dashboards
Keep track of service quality (w.r.t target level)
Info must be fresh for corrective actions and
avoid significant disruption within sec not min
E.g. how to measure user-perceived pageview
response time? (multiple objects, end-to-end)
18 objects
58
Client-Experienced QoS
request-based QoS
server
client
connection close
last object
object 2
object 1
base page
Setup connection
Internet
waiting for
new requests
client-perceived pageview QoS
HTTPS Traffic
Mirrored
HTTPS Traffic
TCP Packets
HTTPS Trans
Packet
Packet
Perf
Capture
Analyzer
Analyzer
Wei/Xu, sMonitor for Measurement of User-Perceived Laency, USENIX’2006
59
Perf Debugging Tools
Help operators and service designers to develop
understanding of the complex interactions between
programs, often running on hundreds of servers, so as to
determine the root cause of perf anomalies and identify
bottlenecks
Black-box monitoring: observing network traffic among
system components and inferring causal relationships
through statistical inference methods, assuming no
knowledge of or assistance from appl or sw;
But Info may not accurate
Appl/middleware instrumentation systems, like Google’s
Dapper, require to modify applications or middleware
libraries for passing tracing across machines and across
module boundaries. The annotated modules log tracing info
to local disks for subsequent analysis
60
HW Building Blocks
Cost Effectiveness of Low-end Servers
61
Performance of Parallel Apps
Under a model of fixed local computation time,
plus the latency penalty of access to global data
structure
62
Parallel Apps Perf
Perf advantage of a cluster of high-end nodes (128-cores)
over a cluster with the same number of cores built with lowend servers (4 cores) [4 to 20 times difference in price]
63
How Small a Cluster Node should Be?
Other factors need to be considered
Amount of parallelism,
Network requirements
Smaller server may lead to low utilization
etc
64
Datacenter as a Computer
1.
2.
3.
4.
5.
6.
Overview
Workloads and SW infrastructure
HW building blocks
Datacenter basics
Energy and power efficiency
Dealing with Failures and Repairs
65
Power/Energy Issues in DC
Main components
66
UPS Systems
A transfer switch that chooses the active power
input, with utility power or generator power.
Typically, a generator takes 10-15 s to start and assume
the full rated load
Batteries to bridge of time of utility power
blackout
AC-DC-AC double conversion
When utility power fails, UPS loses input AC power but
retains internal DC power, and thus the AC output power
Remove voltage spikes or harmonic distortions in the aC
feed
100s kW up to 2MW
67
Power Distribution Units
Takes the UPS output (typically 200~480v)
and break it up into many 110 or 220v
circuits that feed the actual servers on
the floor.
Each circuit is protected by its own breaker
A typical PDU handles 75~225kW of load,
whereas a typical circuit handles 20 or 30A
at 110-220V (a max of 6kW)
PDU provides additional redundancy (in
circuit)
68
Datacenter Cooling Systems
CRAC Units: computer room air
conditioning
Water-based free cooling
69
Energy Efficiency
DCPE (DC perf efficiency) : Ratio of amount of
computation al work to total energy consumed
Total energy consumed:
Power usage effectiveness (PUE): ratio of building power
to IT power (currently 1.5 to 2.0)
70
Breakdown of DC Energy Overhead
71
Energy Efficiency (cont’)
Power usage effectiveness (PUE)
Server PUE: ratio of total server input
power to its useful power (consumed by the
components like motherboard, disks, CPUs,
DRAM, I/O bards, etc)
User power excludes losses in power supplies,
fans,
Currently, SPUE between 1.6 to 1.8.
With VRM (voltage regulatory module), SPUE
can be reduced to 1.2
72
Measuring Power Efficiency
Benchmarks
Green500 in high-performance computing
Joulesort:
• measuing the total system energy to perform an outof-core sort
SPECpower_ssj2008
• Compute the perf-to-power ratio of a system running
a typical business applicatoin an enterprise Java
platform
73
Power Efficiency: An Example
SPECpolwer_ssj2008 on a server with single-chip
2.83GH quad-core Intel Xeon, $GB mem, one 7.2k
RPM, s.5’’ SATA disk
74
Activity Profile of Google Servers
A sample of 5000 servers over a period of
6 months
Most of the time, 10-50% utilization
75
Energy-Proportional Computing
Humans at rest consume at little as 70w, while
being able to sustain peaks of 1kW+ for tens of
mins
For adult male:
76
Causes of Poor Energy Proportionality
CPU used to be dominant factor (60%); currently
slighly lower than 50% at peak, drops to 30% at
low activity levels
77
Energy Proportional Computing: How
Hardware components: For example
CPU: dynamic voltage scaling
High speed disk drives spend 70% of their total power
simply keeping the platters spinning
• Need smaller rotational speeds, smaller platters,
Power distribution and cooling
78
SW role: management
Smart use of power management features in existing
hw, low-overhead inactive or active low-power modes,
as well as implementing power-friendly scheduling of
tasks to enhance energy proportionality of hw
systems
Two challenges:
Encapsulation in lower-level modules to hide additional infra
complexity
Performance robustness: minizing perf variability caused by
power management tools
Related Work at Wayne State
Zhong, et al “System-wide energy minimization for hard real-time tasks,” TECS’08.
Zhong, et al “Energy-aware modeling and scheduling for dynamic voltage scaling with
statistical real-time guarantee,” TC’’07; Zong’s PhD dissertation ‘2007
Gong, Poewr/Performance Optimization (ongoing)
79
Datacenter as a Computer
1.
2.
3.
4.
5.
6.
Overview
Workloads and SW infrastructure
HW building blocks
Datacenter basics
Energy and power efficiency
Dealing with Failures and Repairs
80
Basic Concepts
Failure: A system failure occurs when the delivered service
deviates from the specified service, where the service
specification is an agreed description of the expected
service. [Avizienis & Laprie 1986]
Fault: the root cause of failures, defined as a defective
state in materials, design, or implementation. Faults may
remain undetected for some time. Once a fault becomes
visible, it is called an error.
Faults are unobserved defective states
Error is “manifestation” of faults
(Source: Salfner’08)
81
Challenges of High Service
Availability
High service availability expectation translates
into a high-reliability requirement for DC
Faults in hw, sw, and operation are inevitable
In Google, about 45% servers need to reboot at
least once over a 6-month window; 95%+
requires less often than once a month, but the
tail is relatively long.
The average downtime ~3 hours, implying
99.85% availability
Determining the appropriate level of reliability is
fundamentally a trade-off between the cost of
failures and the cost of preventing them
82
Availability and Reliability
Availability: A measure of the time that a
system was actually usable, as a fraction of
the time that it was intended to be usable.
(x nines)
Yield: the ratio of requests that is satisfied by
the service to the total
Reliability Metrics:
Time to failure (TTF)
Time to repair (TTR)
Mean time to failure (MTTF)
Mean time to repair (MTTR)
Mean time between failures (MTBF)
83
Interplay of HW, SW, Operation
Faults in hw and sw are inevitable. But endeavor will never
halt: e.g. RAID disk drive, ECC memory
A fault-tolerant sw infrastructure would help hide much of
the failure complexity from application-level sw.
E.g. SW-based RAID system across disk drives residing in
multiple machines (as in GFS); MapReduce
Flexibility in choosing the level of hw reliability that maximizes
overall system cost efficiency (e.g. inexpensive PC-class hw);
Simplification in common operational procedures (e.g. hw/sw
upgrade)
With FT sw, not necessary to keep a server running at all
costs. This leads to change in every aspect of the systems,
from design to operation and opens opportunity to
optimization
As long as the hw faults can be detected and reported to sw in
a timely manner
84
Fault Characterization
FT-sw be based on fault sources, their statistical
characteristics, correponding recovery behavior
Fault Severity
Corrupted: committed data are lost or corrupted
Unreachable: service is down
• Google service no better than 99.9% when its
servers are one of the end points
• Amazon’s Service Level Agreement is 99.95%
Degraded: service is available but in degraded mode
Masked: faults occur but masked from users by FT
hw/sw mechanisms
85
Causes of Service-Level Failures
Field data study I on Internet services: Operator-caused or
misconfig errors are larget contriubutors; hw-related faults
(server or networking) accounts about 10-25%
[Oppenheimer’2003]
Field data study II on early Tandem systems: Hw faults
(<10%), sw faults (~60%), op/maintenance (~20%) [Gray’90]
Google’s observation over a period of 6 weeks
86
Observations
Seems sw/hw-based ft techniques do well
for independent faults.
SW-, Op-, and maintenance-induced faults
have a higher impact on outages, possibly
because they are most likely affect
multiple systems at once, creating a
corrected failure scenario which is hard to
overcome.
87
Proactive Failure Management?
Failure Prediction?
Predict future machine failures with low false-positive rates
in a short time horizon
Develop models for a good trade-off between
accuracy (both in false-positive rates and time
horizon) and the penalties involved in failure
occurrence and recovery
In DC, the penalty is low, the prediction model must be
highly accurate to be economically competitive.
In systems where a crash is disruptive to op, less accurate
prediction models would be beneficial
Related Work at Wayne State
Fu/Xu, Exploring spatial/temporal event correlation for failure
prediction, SC’07
Fu’s PhD dissertation 2008
88
In Summary
Hardware
Building blocks are commodity server-class machines,
consumer- or enterprise-grade disk drives, Ethernetbased networking fabrics
Perf of the network fabric and storage subsystems be
more relevant to CPU and mem
Software:
FT sw for high service availability (99.99%)
Programmability, Parallel efficciency, Manageability
Economics: Cost effectiveness
power and energy factors
Utilization characteristics require systems and
components to be energy efficient across a wide load
spectrum, particularly at low utilization level
89
In Summary: Key Challenges
Rapidly changing workload
New applications with a large variety of computational
characteristics emerge at a fast pace
Need creative solutions from both hw and sw; but little
benchmark available
Building balanced systems from imbalanced
components
Processors outpaced memory and magnetic storage in
perf and power efficiency; more research should be
shifted onto the non-cpu subsystems
Curbing energy usage
Power becomes the first order resources, as speed
Performance under power/energy budget
90
Key Challenges (cont’)
Amdahls’ cruel law
Speedup = 1/ (f_seq + f_par/n) on n-node
parallel systems. Sequential part f_seq limits
parallel efficiency, no matter how large n
Future perf gains will continue to be delivered
mostly due to cores or threads, not so much by
faster cpus.
Data-level or request-level parallelism is
enough? Parallel computing beyond MapReduce!!
91
Reading List
Barroso and Holzle, “The datacenter as a
computer,” Morgan & Claypool, 2009.
92