introducing scalileo a java based scaling framework fileintroducing scalileo a java based scaling...

16
Introducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database Systems First International Conference on Energy-Efficient Computing and Networking April 15, 2010

Upload: buikhue

Post on 15-Aug-2019

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Introducing Scalileo

A Java Based Scaling Framework

Tilmann Rabl, Christian Dellwo, Harald Kosch

Chair of Distributed Database Systems

First International Conference on Energy-Efficient Computing and Networking

April 15, 2010

Page 2: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Application workloads grow Web application

Database

Beyond single processor / node

Hardware: horizontal scaling More hardware (usually shared nothing)

Scales good

Cheap

Software Scaling Distributed applications

Usually manual / semi-automatic scaling

Expensive

Common practice: vastly underloaded system Energy-inefficient

April 15, 20102 Tilmann Rabl - Introducing Scalileo

Motivation

Page 3: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Homogeneous workload

Daily and weekly patterns

Need for automatic scalingApril 15, 20103 Tilmann Rabl - Introducing Scalileo

Real-World Workloads I

Page 4: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Special purpose workloads

Daily and weekly patterns

Workload classes / trends

Outliers

Need for autonomic scaling

April 15, 20104 Tilmann Rabl - Introducing Scalileo

Real-World Workloads II

Page 5: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Scaling framework

Easy integration of scaling

Java based

Self-scaling

Autonomic computing

Online feedback control loop

MAPE

Energy-efficiency

On-off policy

Wake-on-LAN

April 15, 20105 Tilmann Rabl - Introducing Scalileo

Scalileo

Page 6: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Application

Hierarchical distributed system

Supports scaling

Controller

Interface between application and Scalileo

Master

Monitor the system

Coordinate the nodes

Worker

Start and stop application

Run benchmarks

April 15, 20106 Tilmann Rabl - Introducing Scalileo

Architecture

Page 7: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Login Method

Remote access to nodes

Login, process start, file transfer

Benchmark

Measuring node performance and status

Reduction

Reducing measurements to a single value

Condition

Valid domain for benchmark results

Defined by XML file

Dynamically loaded with Java Reflection API

April 15, 20107 Tilmann Rabl - Introducing Scalileo

Components

Page 8: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

MAPE model – online feedback control loop

Monitor: benchmark nodes

Analyze: reduce measurements, check conditions

Plan: choose action, choose nodes

Execute: prepare node setup, start/stop node

April 15, 20108 Tilmann Rabl - Introducing Scalileo

Functional Principle

Page 9: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Distributed web server

Simulated

Dynamic and static requests

Central dispatcher

HTTP 302 redirect (Found)

1 – 4 workers

Workstation

3 GHz Pentium D

3 GB RAM

Energy consumption

91 W idle

200 W booting

2 W off

April 15, 20109 Tilmann Rabl - Introducing Scalileo

Evaluation

Page 10: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Stud.IP: online eLearning management system

University of Passau

15000 Users

Apache Log

First day of lecture period

Static and dynamic HTTP requests

Replayed at 48x speed

Only every 20th request

Static vs. dynamic ~ 1:3

April 15, 201010 Tilmann Rabl - Introducing Scalileo

Workload

Page 11: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Scale up Sliding window of CPU usage

25 sec (~16 min) over 45% CPU (66% of samples)

Conservative scale down 35 sec (~28 min) lower than 20% CPU

Relative booting time: 50 minutes With maximum energy consumption

April 15, 201011 Tilmann Rabl - Introducing Scalileo

Evaluation: Scaling

Page 12: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Total 175 Wh vs. 250 Wh

175 Wh w scaling

250 Wh w/o scaling

30 % savings

April 15, 201012 Tilmann Rabl - Introducing Scalileo

Evaluation: Energy Consumption

Page 13: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Scalileo

Autonomic scaling framework

Adaptable – XML configuration

Extensible – Java interfaces

Energy savings (w/o extensive optimization): 30%

Future Work

Better benchmarks: time series analysis

Local optimizations: dynamic voltage scaling

Scaling databases

April 15, 201013 Tilmann Rabl - Introducing Scalileo

Conclusion

Page 14: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Questions?

April 15, 201014 Tilmann Rabl - Introducing Scalileo

Thank you

Page 15: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

Java Interface Definition

All components:

Benchmark:

XML config file

April 15, 201015 Tilmann Rabl - Introducing Scalileo

Extensibility / Adaptability – Example

Page 16: Introducing Scalileo A Java Based Scaling Framework fileIntroducing Scalileo A Java Based Scaling Framework Tilmann Rabl, Christian Dellwo, Harald Kosch Chair of Distributed Database

constraintViolated First information for application

beforeScale Scaling necessary

chooseNode Choose best node or no scaling

getNodeSetup Command and files for the node setup

getNodeShutdown Command and files for the node shutdown

afterScale Result of scaling

Other methods Special events

Default implementation

April 15, 201016 Tilmann Rabl - Introducing Scalileo

Controller Interface