Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and...

33
Slide 1 Servers in the Mist Servers in the Mist Operating Systems for Server Utilities Operating Systems for Server Utilities Jeff Chase Internet Systems and Storage Group Department of Computer Science Duke University

Transcript of Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and...

Page 1: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 1

Servers in the MistServers in the MistOperating Systems for Server UtilitiesOperating Systems for Server Utilities

Jeff Chase

Internet Systems and Storage GroupDepartment of Computer Science

Duke University

Page 2: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 2

The Server CloudThe Server Cloud

Clients

Diverse clientsUbiquitous connectivityShared data and services“Back to the future”

The Grid(s)CDN or Utility

PlanetLab

Compute clustersWeb farms, etc.

Network storage

(e.g., SSP)

Page 3: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 3

Sharing the Server CloudSharing the Server Cloud

Load multiplexingResource efficiencySurge protectionRobustnessIncremental growthEconomy of scale

The world is dynamic, dangerous, unpredictable, and expensive.

- changing load/traffic- changing demands- unexpected failures- unexpected load surges

Clients

E.g., CNN on 9/11Facing a World Crisis[William LeFebvre]

Fluid mapping

Page 4: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 4

An OS for a Shared Server CloudAn OS for a Shared Server Cloud

Clients

Actuator(directives)

Monitor(observations)

“Utility OS”

Dynamic load mapping

Adaptive resource management- Provisioning: how much?- Placement: where?- Isolation

Manage resources for target service quality levels (SLAs).

[GMS][GMS]

Page 5: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 5

OutlineOutline

! Cluster-on-Demand (COD)– Decentralized resource management for mixed-use clusters– Automated configuration of dynamic virtual clusters

! Server provisioning for Web server utilities– [SOSP-01, USITS-03]– Dynamic thermal management (w/ HP Labs)

! Opus (Overlay Peer Utility Service) and ModelNet– Self-organizing network of server PoPs [OpenArch-02]– Evaluating adaptive Internet systems by emulation [OSDI-02]

Page 6: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 6

The Devil ClusterThe Devil Cluster

Campus FC netCampus FC net

IBM Shark/HSMIBM Shark/HSM

GbGb/s IP net/s IP netISSG/IBM ISSG/IBM

ClusterCluster(220 nodes)(220 nodes)

NorthNorthClusterCluster

(120 nodes)(120 nodes)

Duke Mass Duke Mass Storage Storage TestbedTestbed

Storage Storage PoPPoPNAS 300G gatewayIBM StorageTankNAS 200 (scratch)NetApp filers

ROSE

NOW

Page 7: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 7

Life in Our Shared ClusterLife in Our Shared Cluster

Internet Systems and Storage Group- Internet software prototypes- Synthetic load generators- ModelNet emulations- Hacked kernels with bugs

Computation Loads- BioGeometry- Full-system simulation- Neuro-engineering simulations- NC Biogrid PoP (more coming)- Visualization

Heterogeneous serversDiverse configurationsManual reservation protocolBursty and deadline-driven

Page 8: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 8

Server EnergyServer Energy

CPU idle93w

CPU max120w

boot136w

disk spin6-10woff/hiber

2-3w

866 MHz P-III SuperMicro 370-DER (FreeBSD), Brand Electronics 21-1850 power meter

work

watts

Idling consumes 60% of peak power demand.

500 nodes @ 100W50 KW = 1 MWh/day+ cooling = $80K/year

Page 9: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 9

Beyond BeowulfBeyond Beowulf

! Compute clusters used to be hard to manage, but we’ve seen lots of progress since NOW.– Industry manageability initiatives (PXE, ACPI)– Configure/monitor/install: NPACI Rocks, Millennium/Rootstock.– Batch scheduling: LSF, PBS/Maui, SGE, etc.– Resource sharing/scavenging: Condor, Grids.

! Most assume a homogeneous software base and create a uniform cluster view for batch computation.– Beowulf model: Linux/Unix with middleware

! How to extend automated configuration and policy-based scheduling to mixed-use cluster utilities?– OS-agnostic? Middleware-agnostic?

Page 10: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 10

COD: Dynamic Virtual ClustersCOD: Dynamic Virtual Clusters

CODManager

Reserve pool(off-power)

VirtualCluster #1

Virtual Cluster #2

Allocate resources in units of raw

servers

Database-driven network install

Pluggable VCM middlewareBatch schedulers (SGE, PBS), Grid PoP, Porcupine, DDS, Petal, Slice, etc.

COD database

negotiateconfigure

Web interface

Page 11: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 11

Enabling TechnologiesEnabling Technologies

IP-enabledpower units

PXEnetwork boot

Linux driver modules,

Red Hat Kudzu,partition handling

DHCP hostconfiguration DNS, NIS, etc.

user/group/mount configuration

NFS etc. network storage

automounter

EthernetVLANs

Power: APM, ACPI, Wake-on-LAN

Page 12: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 12

COD Priming StepsCOD Priming Steps

DHCP server

Image server

TFTP server

CODconfd

1. PXE request

2. Fetch trampoline

3. Send hardware info

4. Install partition bit images

HTTP

MySQL

Page 13: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 13

COD Priming TimesCOD Priming Times

• Time to install images on one node• Image installation will dominate configuration time

• Node originally in “waiting” state• Bottleneck: disk write speed

12740.6422,2681,951,866Debian Linux12927.4137,0202,048,256CS BSD12223.2105,4562,048,256CS Linux

Time (s)% FullSize (gz)Size (KB)Image

Page 14: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 14

COD and Related SystemsCOD and Related Systems

Oceano

Netbed/Emulab NPACI RocksFlexible configurationOpen source

OS-Agnostic Dynamic clusters

COD

configures Linux compute clusters.

hosts Web services under dynamic load.

configures static clusters for emulation

experiments.

COD addresses hierarchical dynamic resource management in mixed-use clusters with pluggable middleware (“multigrid”).

Other cluster managers based on database-driven PXE installs:

Page 15: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 15

A Note on Layering and HierarchyA Note on Layering and Hierarchy

Like a VMM, COD manages resources outside/beneath the OS and without its knowledge or assistance: “underware”.

COD manager

Virtual Cluster Manager (VCM middleware)

Virtual machineVMM

OS kernel

process

Page 16: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 16

VCM Resource NegotiationVCM Resource Negotiation

– Constraint-aware node assignment/negotiation– Leased allotments for static clusters – Load-aware provisioning for dynamic clusters

• Balance local autonomy with global coordination– Utility functions reflect value and priority (SLAs)

• “Common currency” weight for VCM demand bids

CODManager

VirtualCluster

MySQL

to The Grid

VCM

Page 17: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 17

OutlineOutline

! Cluster-on-Demand (COD)– Decentralized resource management for mixed-use clusters– Automated configuration of dynamic virtual clusters

! Server provisioning for Web server utilities– [SOSP-01, USITS-03]– Dynamic thermal management (w/ HP Labs)

! Opus (Overlay Peer Utility Service) and ModelNet– Self-organizing network of server PoPs [OpenArch-02]– Evaluating adaptive Internet systems by emulation [OSDI-02]

Page 18: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 18

Muse: Adaptive Provisioning for a Muse: Adaptive Provisioning for a Web Service UtilityWeb Service Utility

performancemeasures

reconfigurableredirecting

switch(e.g., Anypoint)

configurationcommands

offered request

load

Magicstorage

tier

server poolstateless

interchangeable

clients

[SOSP-01]

Multiplex services on nodes, based on proportional-share scheduling in node OS.

Page 19: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 19

Filtering Load EstimatesFiltering Load Estimates! EWMA-based filter alone is not sufficient.

– Average At for each interval t: At = αAt-1 + (1-α)Ot

– The gain α may be variable or flip-flop.! Load estimate Et = Et-1 if Et-1 - At < tolerance

else Et = At! Stable! Responsive

0

20

40

60

80

100

0 300 600 900 1200

Time (s)

Util

izat

ion

(%)

Raw DataEWMA (a=7/8)Flop-Flip

Page 20: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 20

Cost vs. quality: a simple exampleCost vs. quality: a simple example

A

B

C

D

Active set {A,B,C,D}

A

B

ρi < ρtarget• Low latency

ρi = ρtarget• Meets quality goals• Efficient use

Active set {A,B}

ρtarget = configurable target utilization (leaving headroom for transient load spikes).

Page 21: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 21

IBM trace (IBM trace (beforebefore))

0

500

1000

1500

2000

2500

0 155 310 465 620

Time (minutes)

0

70

140

210

280

350

Power D

raw (w

atts), Latency (m

s x50)

ThroughputPowerLatency

1 ms

Throughput (requests/s)

Power draw

(watts)

Latency (ms*50)

Page 22: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 22

IBM trace (IBM trace (afterafter))

0

500

1000

1500

2000

2500

0 155 310 465 620

Time (minutes)

Thro

ughp

ut (r

eque

sts/

s)

0

70

140

210

280

350

Pow

er Draw

(watts),

Latency (ms x50)

ThroughputPowerLatency

1 ms

Page 23: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 23

Maximizing “Revenue” Under ConstraintMaximizing “Revenue” Under Constraint

! Input: the “value” of performance for each customer i.– Common unit of value: “money”.– Derives from the economic value of the service.– Enables SLAs to represent flexible quality vs. cost tradeoffs.

! Per-customer utility function Ui = bid + penalty.– Bid for traffic volume (throughput λi).– Bid for better quality, or add negative penalty for poor quality.

! Allocate resources to maximize expected global utility (“revenue” or reward).– Model predicts performance effects.

– “Sell” µ to the highest bidder.– Never sell resources below cost.

Maximize Maximize ∑∑ UUii((λλ ii(t, (t, µµii))))Subject to Subject to ∑∑µµi i << µµmaxmax

Page 24: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 24

SLAsSLAs as Utility Functionsas Utility Functions! Customer SLAs are specified as utility functions

– How much will customer “pay” for a given level of performance (or performability, data quality)?

– Allocate resources to the highest predicted marginal benefit at current load and system conditions.

Expected Expected UtilityUtility

UUii(t, (t, µµii))

Resource allotmentResource allotment µµii

pricepriceii

Page 25: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 25

Dynamic Thermal ManagementDynamic Thermal Management

Figure 5: Temperature contour plot at 1.2m above floor: uniform workload, failed CRAC

Decrease load to 50%

Increase load to 100%

Region C

Region D

Region B

Region A

Page 26: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 26

OutlineOutline

! Cluster-on-Demand (COD)– Decentralized resource management for mixed-use clusters– Automated configuration of dynamic virtual clusters

! Server provisioning for Web server utilities– [SOSP-01, USITS-03]– Dynamic thermal management (w/ HP Labs)

! Overlay Peer Utility Service and ModelNet– Self-organizing network of server PoPs [OpenArch-02]– Evaluating adaptive Internet systems by emulation [OSDI-02]

Page 27: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 27

Opus: Overlay Utility ServiceOpus: Overlay Utility Service

Coordinated control of a network of server sites (PoPs)Monitor and adapt for target performance and availability.Configure/instantiate services on demand at selected sites.Connect sites (e.g, replicas) with per-service overlay topology

- Metrics: bandwidth, latency, loss rate, cost ($) sensitivityDecentralized management + weak global coordination

Site allotmentsOverlay node

Peering

Page 28: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 28

Evaluating Internet SystemsEvaluating Internet Systems

! Adaptive Internet software– Scalable, self-organizing, fast, robust,…

! How to evaluate prototypes?– How will it behave under dynamic conditions?– How will it behave when the unexpected occurs?

! Simulation– There is no substitute for build-and-measure.

! Live deployment– Runs real code under real (uncontrolled) conditions: dangerous

and expensive, does not yield reproducible results.

Page 29: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 29

The ModelNet VisionThe ModelNet Vision

! Emulation environment for adaptive, large-scale services– Web services, multimedia distribution, p2p, mobile systems– Accelerate development of robust, adaptive Internet software

! Challenges– Scalable to 10k nodes, 10 Gb/s bisection bandwidth

• On 100-node cluster • Unmodified applications run on unmodified OS’s

– Accurately emulate wide-area network conditions• Failures, cross traffic, rapid changes, congestion

" Impossible to capture full complexity of Internet in a machine room– Application-specific accuracy vs. scalability tradeoffs

Page 30: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 30

ModelNetModelNet

GbSwitch

100MbSwitch

EdgeNodes

ModelNetCore

Page 31: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 31

SelfSelf--Organizing OverlayOrganizing Overlay

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

2 2.1 2.2 2.3 2.4 2.5

0 500 1000 1500 2000 2500 3000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3

Cos

t vs.

MST

Del

ay (s

)

Time (s)

maximum AC/DC delay (ModelNet)SPT delay (ns)

cost (ModelNet)

Page 32: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 32

Server Utility in a Dynamic WorldServer Utility in a Dynamic WorldA Few Key ChallengesA Few Key Challenges

ClientsUtility

OS

• Multiple goals and dimensions of service quality (SLAs)• Coordinated provisioning of multiple resources that interact in a complex way• Configure service spread and location for performability• Reconcile local autonomy and global control

Page 33: Servers in the Mist - Duke Universityissg.cs.duke.edu/cod/utility-os.pdf · Shared data and services ... NAS 300G gateway IBM StorageTank NAS 200 (scratch) NetApp filers ROSE NOW.

Slide 33

http://issg.cs.duke.eduhttp://issg.cs.duke.edu

http://www.http://www.cscs.duke..duke.eduedu/~chase/~chase