NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea...

30
NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny http:// www.ioappliance.com

Transcript of NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea...

Page 1: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

NeST: Network Storage Technologies

Building I/O Appliances on Commodity SystemsJohn Bent, Andrea Arpaci-Dusseau,Remzi Arpaci-Dusseau and Miron Livny

http://www.ioappliance.com

Page 2: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Outline

IntroductionCase studiesStorage modulesConclusion

Page 3: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Problem Statement

Appliances are attractive because they are robust, reliable, available and especially because they are easy to use. To fulfill these criteria, traditional network appliances impose policy decisions on their users and are built either as kernel modules or upon specially designed kernels.

“How to build portable, configurable I/O appliances?”

Page 4: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Goal

To create a network-storage “template” that produces a range of I/O appliances according to the storage needs of the target application and any constraints of the host system.

NetworkStorage

Technologies

Target App

Host System

PerfectI/O

Appliance

Page 5: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Host system constraints

Thread supportRaw disk accessSelect interface

Page 6: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Target app. storage needs

Invariant and variant storage needsInvariant

Reliable Low latency High bandwidth Easy to administer Cheap

Page 7: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Target app. storage needs

Variant Write concurrency Replacement costs Security and authentication needs Communication protocol Transfer unit

Page 8: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Outline

IntroductionCase studiesStorage modulesConclusion

Page 9: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Building I/O appliances

Four case studies ReqEx WiND Web proxy cache Condor checkpoint server

Page 10: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

What is ReqEx?

ReqExStaging Area

Huge tape library (terabytes)

Queue of Reqs

Tape Robot

A robot moves archived data one tape at a time to a temporary staging area.

Page 11: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

PerfectI/O

Appliance

Condor Manager

What is ReqEx?

ReqExStaging Area

WAN

Compute cluster

Data is transferred and stored locally to facilitate access by compute nodes.

Page 12: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

ReqEx variant storage needsWrite concurrency

No write (or read) concurrency

Replacement costs Tape robot is very slow; objects cannot be lost

Security and authentication needs Only owner can remove object

Protocol ReqEx can be linked with NeST client library

Transfer unit Whole object transfers only

Page 13: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

What is WiND?

Page 14: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

WiND variant storage needsWrite concurrency

No write concurrency

Replacement costs Unknown

Security and authentication needs Unknown

Protocol Predefined specific WiND protocol

Transfer unit Disk blocks are accessed directly

Page 15: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

What is a web proxy cache?

Local Area Network

Internet

PerfectI/O

Appliance

Frequently accessed objects can be stored locally to decrease request latencies.

Page 16: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Cache variant storage needsWrite concurrency

No write concurrency

Replacement costs Negligible

Security and authentication needs None

Protocol HTTP

Transfer unit Whole object transfer only

Page 17: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

PerfectI/O

Appliance

What is Condor ckpt server?

A condor job runs on an execute machine.

Keyboard activity causes the job to be evicted. A snapshot of the process is sent to the checkpoint server.

When the job migrates to another idle machine, the checkpoint file is recovered and progress resumes.

Page 18: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

CCS variant storage needsWrite concurrency

No write concurrency

Replacement costs The running time of the job (could be months)

Security and authentication needs Unauthorized access cannot be allowed

Protocol Can link with NeST client library

Transfer unit Whole file transfer only

I see you’re discussing checkpointing. Don’t

forget about incremental.

Page 19: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Outline

IntroductionCase studiesStorage modulesConclusion

Page 20: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Storage modules

StorageManagement

Concurrency Architectures

DataSemantics

Static Configuration

Protocols AdministrativeInterface

RuntimeAdaptation

NameSpace

Page 21: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Configurable Components

Concurrency architectureData semantics Protocol layerNamespaceSecurity and authenticationStorage management

Page 22: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Concurrency architecture

NOB POP POT

Easy ... but uninteresting.

“How can multiple storage requests be interleaved to maximize system throughput?”

Page 23: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Data semantics

Must stored objects be protected from concurrent writes?

Is transaction support necessary?What are the recovery costs for lost

objects?

Page 24: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Protocol layer

Most applications can not link with NeST client libraries

Most applications have their own specific communication protocols

“How can a protocol layer easily communicate with arbitrary networking protocols?”

Tower of Babel

Page 25: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Namespace

FlatHierarchical

“How do clients uniquely identify their stored objects?”

Page 26: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Security and authentication

OwnershipPrivacyEncryptionAuthenticationAccess rights

Page 27: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Storage management

Native filesystemRaw disk accessUninteresting from client perspective

Page 28: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Outline

IntroductionCase studiesStorage modulesConclusion

Page 29: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Conclusions and future work

Conclusions None

Future work Lots

Maybe you

should try a little harder.

Page 30: NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny.

Conclusions and future work

How to most easily identify the variant storage needs of the target application? Config file? Installation script? Run-time monitoring?

How to ensure that performance is at least as good as an appliance specifically designed for the target application?