Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud...

30
Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Transcript of Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud...

Page 1: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Generalization vs Specialization in cloud computing

Gustavo Alonso

Systems Group

Department of Computer Science

ETH Zurich, Switzerland

Page 2: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

ETH Systems Group

www.systems.ethz.ch

Page 3: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

What is the cloud?

Primarily a change in business model driven by computing demand

-A shift from manufacturing to services

Page 4: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

What is big data?

Primarily a change in business model driven by the ability to process large data collections

-A shift toward customization and

personalization of “services” (from services to information & human

services)

Page 5: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

The case for general purpose =Economies of scale

Page 6: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

The case for specialization

Hardware

Big Data

New models

Page 7: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Big data

• Social graphs

• Page rank

• Science data

• HPC

• Genomic

Hardware

• Multicore

• GPUs

• FPGAs

• RDMA

• Smart NICs

• Active memory

New Models

• Data center

• Appliances

• Cloud computing

Page 8: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Big Data Example

Load

• High peak workloads

• High update rate spikes

SLAs

• Stringent response time requirements

• Extensibility over time

Features

• Predictability

• Accurate provisioning

Page 9: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

...

Aggregation

Layers

Replication

Groups

...

...

External Clients

Crescando

...

...

Split

Scan Thread

Scan Thread

Scan Thread

Scan Thread

Scan Thread

Merge

Input Queue

(Operations)

Input Queue

(Operations)

Output Queue

(Result Tuples)

Output Queue

(Result Tuples)

Unterbrunner et al, PVLDB’09

CRESCANDO

Page 10: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Modern Hardware

Page 11: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Slide courtesy of Torsten Hoefler (Systems Group, ETH Zürich)

Page 12: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Example 1: Processors

Oracle’s SPARC M7 processor: “SQL in silicon” accelerators processing streams of data from memory:

Decompress, Scan, Select, Translate

From Oracle M7 documentation

Page 13: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Accelerators to come

From Oracle M7 documentation

Page 14: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Example 2: Architectures

Microsoft CatapultData center nodes with FPGA boards

FPGAs connected through their own network (Torus topology)

Search and deep learning applications

Microsoft Cypherbase

Texas Advanced Computing Center (TACC)

Page 15: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Example 3: both!!

From INTEL

Page 16: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

The computer you know no longer exists (at least, the interesting ones)

Page 17: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Analysis of MapReduce workloads:Microsoft: median job size < 14 GB

Yahoo: median job size < 12.5 GB

Facebook: 90% of jobs less than 100 GB

Fit in main memory

One server more efficient than a cluster

Adding memory to a big server better than using a cluster

Nobody ever got fired for using Hadoop on a ClusterA. Rowstron, D. Narayanan, A. Donnely, G. O’Shea, A. Douglas

HotCDP 2012, Bern, Switzerland

Page 18: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Multicore vs cluster

Barthels et al., SIGMOD’15

2x1024M

The predominant architecture will not be one computer (multicore) but a networked set of processing elements, possibly with

limited or no cache coherency

Page 19: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

What is a computing node?

The form factor for a computing node in a data center is about to change

Disaggregation

(HP’s The Machine)

Knights Landing Die (INTEL)up to 72 cores2 ports Omni-PathBootable host

Page 20: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

05-Apr-16 20

Consensus in a Box (Istvan et al, NSD’16)

Xilinx VC709 Evaluation Board

SFP+

SFP+

SFP+

SFP+

DRAM (8GB)

FPGA

Networking Atomic

Broadcast

Replicated

key-value store

Reads

Writes

SW Clients /

Other nodes

Other nodes

Other nodes

TCP

Direct

Direct

Page 21: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

05-Apr-16 21

The system

X 12

10Gbps Switch

3 FPGA cluster

Clients • Drop-in replacement for memcached with Zookeeper’s replication

• Standard tools for benchmarking (libmemcached)• Simulating 100s of clients

Comm. over TCP/IP

Comm. over direct connections + Leader election

+ Recovery

Page 22: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

05-Apr-16 22

Latency of puts in a KVS

Consensus

15-35μs ~10μs

Memaslap(ixgbe)

TCP / 10Gbps Ethernet

~3μsDirect connections

Page 23: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

1000

10000

100000

1000000

10000000

1 10 100 1000

Thro

ugp

ut

(co

nse

nsu

s ro

un

ds/

s)

Consensus latency (us)

FPGA (Direct)

FPGA (TCP)

DARE* (Infiniband)

Libpaxos (TCP)

Etcd (TCP)

Zookeeper (TCP)

Specialized solutions

05-Apr-16 23

The benefit of specialization…

General purpose solutions

[1] Dragojevic et al. FaRM: Fast Remote Memory. In NSDI’14.[2] Poke et al. DARE: High-Performance State Machine Replication on RDMA Networks. In HPDC’15.*=We extrapolated from the 5 node setup for a 3 node setup.

10-100x

Page 24: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Processing everywhere

Page 25: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

(Woods, VLDB’14; Istvan, SIGMOD’14)

IBEX

Page 26: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

A processor on the data path

Page 27: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

Sounds good?

Imagine the same at all levels:Smart storageOn the network switch (SDN like)On the network card (smart NIC)On the PCI express bus On the memory bus (active memory)

Every element in the system

(a computer rack)

will be a processing component

Page 28: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

In a cloud?

These developments will force rethinking many aspects of the cloud

scheduling

sharing and virtualization

platforms for storing and processing data

Ignoring the specilization through hardware not a good idea

performance / relevance

Page 29: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

This is the end …

Page 30: Generalization vs Specialization in cloud computing...Generalization vs Specialization in cloud computing Gustavo Alonso Systems Group Department of Computer Science ETH Zurich, Switzerland

The agenda ahead of us

• Very interesting times• Many opportunities driven by hardware

• Plenty of use cases justifying specialization

• Many challenges• Hardware changes affect the whole stack

• How to program heterogeneous architectures

• A new era in computer science• Architecture

• Data centers

• Economic pressures and models