39
Department of Computer Science | Institute of Systems Architecture | Chair of Computer Networks From Research To Transfer: User-Controllable Cloud Storage 14 th TERENA TF-Storage Meeting February 10-11, 2014, Zurich, Switzerland Josef Spillner mailto:[email protected] xmpp:[email protected]

From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

  • Upload
    lethuy

  • View
    235

  • Download
    1

Embed Size (px)

Citation preview

Page 1: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Department of Computer Science | Institute of Systems Architecture | Chair of Computer Networks

From Research To Transfer:User-Controllable Cloud Storage

14th TERENA TF-Storage MeetingFebruary 10-11, 2014, Zurich, Switzerland

Josef Spillner

mailto:[email protected] xmpp:[email protected]

Page 2: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

The Trouble with Cloud Storage

3 months limit;tariff choice

utility billing

backup/syncvs. storage

web accessonly

proprietary client

file size limit

institutional

pricing:progressive/degressive

trust?

quality?

Page 3: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Taming the Trouble: RAICs, RAOCs

controller/gateway

storage targets: services, devicesservice propertiesservice bundles

auto-selectionauto-configurationauto-repair

integrationschedulingoptimisation

proxy cloud

extensionbackupsyncsharing...

Page 4: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

The Cloud Storage Lab @ TU Dresden

prototypicalsoftware

developmentresearch

experimentsand pilot

installationstransfer

widespread productiondeployments

Short history:

● 2010 ideas and service modelling

● 2011 NubiSave storage controller started UCC paper on Cloud storage controllers

● 2012 Usable software, Debian packaging

● 2013 NubiVis; π-Box personal Cloud VM FGCS article on optimal storage SUCRE summer school tutorial at KIT

● 2014 NubiGate VM

http://lab.nubisave.org/

Page 5: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Research

Page 6: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Storage Service Ecosystem

Excursus: Service Science-> Bundles -> RAOC

domain 1

domain 2domain

Cloud Storage

service interface

functionality non-functionalproperties

nfp 1nfp 2

nfpbackup

super-domainInfrastructure

sub-domainFile Storage

protocol description

service instance

service hosting

client

consumer

provider

service impl

engineer

SLAsmessages

Page 7: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Storage Service Descriptions

webService GoogleStorageimportsOntology { _"urn:ontology:conqo/CloudQoS.wsml#" }

capability ServiceCapability postcondition definedBy ?serviceType memberOf cloud#CloudStorage .

instance PricePerData memberOf { cloud#PricePerData, qos#ServiceSpec }

qos#value hasValue 0.17 qos#unit hasValue qos#Euro

concept MeasurementUnit conversionFactor impliesType _double

concept SpaceUnit subConceptOf MeasurementUnit

instance GB memberOf SpaceUnit conversionFactor hasValue 1024.0

Base Ontology (WSML)

Instance Ontology

Page 8: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Storage Service Bundles

Servicebundle

$$

xa

(k+m) erasure coding secret sharing

s1

s2

s3

s4

s5

s6

s1

s2

s3

s4

s5

s6

replication s1

Page 9: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Storage Service Markets

Page 10: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Storage Flows

Storage Targets Data Flow Integration

localdirectory

USB stick

NFSexport

WebDAV

Commercial(Dropbox)

localdirectory

CIFSproxy

Splitter/Multiplexer

Filemodifier

(enc,dedup)

blockmodifier

(compress)

blockmodifier(stego)

Splitter/Multiplexer

Splitter/Multiplexer

Splitter/Multiplexer web

application

sink sourcetransport

filemodifier

(enc)

Page 11: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Reconfigurable Storage Flows

... aliasSoftware-DefinedStorage

Modules (i.e.FUSE modules):- Splitter (1:n)- Modifiers (1:1) * encryption * compression * ...- Transports * Directory * CIFS, NFS * WebDAV * SSHfs * S3fs * ... * CloudFusion- SDS propagation

Page 12: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Multi-User Storage Gateways

FlexDDPL: Flexible Data Distribution Policy Language

scopes → applied in contexts (e.g. user database)~user !negation T:22:00­06:00@group fragment mime:message/rfc822

rules → applied to targets (e.g. storage provider)store control adapt

Page 13: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Feature: Algorithms Selection

Background● secret sharing● forward error correction / replication

Striping (→ RAID0)● capacity 1.0, safety 1.0, performance 2.0Mirroring (→ RAID1)● capacity 0.5, safety 2.0, performance 1.0XOR parity (→ RAID5, RAID6)● 4 disks: capacity 0.75, safety 1.33, performance 1.0

Erasure coding (→ RAIDn)● n storage targets, k significant, m redundant: capacity k/m, safety 1+m/k● (Rotated) Reed-Solomon:

maximum-[Hamming-]distance separable (MDS) property● Cauchy-Reed-Solomon, Vandermonde-Reed-Solomon:

practically secure; CRS faster due to XOR operations compared to GF(2w)

AONT: information-theoretically secureAONT-RS: blend of AONT with (C)RS; alternative: encrypted fragments

Page 14: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Feature: Nested Contexts

context »normal«

context »private«

Configuration Data

Page 15: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Feature: Weights

Assigning weights to the storage targets● to fully utilise the capacity● to exploit faster upload connections

Page 16: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Feature: Recursion

Saving the database which contains all file and fragment metadata...● to avoid single point of failure● to allow for selective sharing

Page 17: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Feature: Streaming (1:x)

Continuous operation during read or write of large file● buffers on controller device can be kept small● improved performance through parallel coding and transmission

Page 18: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Feature: Batching (x:1)

0 1000 2000 3000 4000 5000 6000 7000 8000 90000

10000

20000

30000

40000

50000

60000

70000

80000

90000

100000

Encoding speed of different batch sizes

15 nodes

M=0

M=4

M=8

M=12

Filechunk size [KB]

En

co

din

g [

MB

s]

Page 19: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Experiments

peaCS: Performance and EfficiencyAnalsis for Cloud Storage

Nubisave Read Performance - 1MB File - UseAllInParallel

Read in KB/s

12345678910

Storages

010

2030

4050

6070

8090

100

Redundancy

4000

6000

8000

10000

12000

14000

5000600070008000900010000110001200013000

Experiment WeekFeb 7-14 2014

Page 20: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Autonomous Storage Clients

Scenario:A robot wants to store some data...

Labcast available:http://www.youtube.com/watch?v=NDlN0fG9Okk

Page 21: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Autonomous Storage Clients

Scenario:Pervasive storage on all devices

Credentials may be auto generated

Page 22: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Software

Page 23: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Comparison of Storage Controllers

Prototype Origin Authors Approach Integration PublicAvailability

Dependable Sky ('11)

T-Clouds,Univ. of Lisbon

Bessani, Corr-eia, Quaresma, André, Sousa

data units, byzantine fail, Rabin erasure

application library

no

('11) HPI,Potsdam

Maxim Schnja-kin, Christoph Meinel

NFPs, propr. platform, Libe-ration erasure

web interface no

TrustedSafe ('10)

eGovCD, Berlin/FhG FOKUS

(no publication) n fragments: one on USB, others remote

Windows plugin no

CloudShredder ('11)

Chinese Academy of Sciences

Nan Zang, Jiwu Jing, Peng Liu

Two fragments: one local, one remote

(not yet known) no

SecCSIE ('11) T-Systems MMS, Dresden

Ronny Seiger, Stephan Groß

Cachy Reed-Solomon erasure

CIFS proxy no

RACS ('10) CornellUniversity

Abu-Libdeh, Princehouse,Weatherspoon

erasure coding: Zfec Reed-Solomon

S3 proxy, can be distributed w/ Zookeeper

yes (www.cs.cornell.edu)

plus numerous commercial implementations:NetApp StorageGRID, Cleversafe, Trusted Safe etc.

since 2012, community projects:Tahoe-LAFS externals, TCD,OpenStack/Intel - PyEC2Lib

Page 24: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

OpenStack Intermezzo

Page 25: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiSave Cloud Storage Controller

Installation of NubiSave

● Git repository● git://nubisave.org/git/nubisave

● Debian packages● http://nubisave.org/packages/

● Integrated into π-Box or NubiGate VMs● http://nubisave.org/downloads/

Page 26: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiSave Storage Flow Editor

Page 27: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiSave Configuration

Page 28: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiSave Configuration

Page 29: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiSave Tools

Controller operation

$ nubisave [<instance>]

Master script which starts bothof the below combined.

$ nubisave headless

Starts a new instance of thesplitter/dispersion file system.

$ nubisave gui

Starts the storage flow editor withstorage integration configuration.

$ nubisave stop

Stops the splitter.

Storages and database

$ nubisave-status

Lists all splitter instances andstorage targets attached to themor as part of any storage flow.

$ nubisave-mounter [<module>]

Mounts all splitters and/or storagetargets.

$ nubisave-unmounter [<module>]

Unmounts; inverse of the above.

$ nubisave-database [...]

Inspection of storage metadata.

Page 30: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Splitter-NG Framework

Plugins: Jerasure, JSharing, RAID-1, more coming...

Page 31: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Transport Module: CloudFusion

Page 32: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Additional Implementations

Page 33: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiVis: Distributed Data Visualisation

Page 34: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiVis Map View

Page 35: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiGate VM: Everything in one Box

Page 36: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

NubiGate VM: OwnCloud Frontend

Our instance „RN-Dropbox“141.76.41.232/owncloud

Your instance...?

141.76.41.206 141.76.41.207

Page 37: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Future Vision

Page 38: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Future Work

What's next in our lab

● Software improvements● Configuration through the web interface (student thesis)● Git-based service registry query

● Research: MapReduce-like processing over dispersed data

● Scaling large with more users and storage providers, HA setups etc.

● Federation between research institutions:reciprocative/collaborative storage resource sharing <-- role of NRENs

Page 39: From Research To Transfer: User-Controllable Cloud Storage · PDF fileUser-Controllable Cloud Storage 14th TERENA TF-Storage Meeting ... Cauchy-Reed-Solomon, ... Plugins: Jerasure,

Publications

[SS13] Josef Spillner, Alexander Schill:Orchestration of Distributed Storage Targets through Storage Flows.5th IEEE International Conference on Cloud Computing Technology and Science(CloudCom), Bristol, UK, December 2013.

[SQ+13] Josef Spillner, Maximilian Quellmalz, Martin Friedrich, Alexander Schill:peaCS - Performance and Efficiency Analysis for Cloud Storage.Workshop on Cloud Storage Optimisation (CLOUSO) @ 2nd ESOCC, Málaga, Spain, September 2013.

[SMS13] Josef Spillner, Johannes Müller, Alexander Schill: Creating Optimal Cloud Storage Systems. Elsevier Future Generation Computer Systems (FGCS), Issue 29(4), p. 1062-1072, June 2013. DOI 10.1016/j.future.2012.06.004.

[SS12] Josef Spillner, Alexander Schill: Flexible Data Distribution Policy Language and Gateway Architecture. 1st IEEE Latin American Conference on Cloud Computing and Communications (LatinCloud), Porto Alegre, Rio Grande do Sul, Brazil, November 2012.

[SP+12] Josef Spillner, Christian Piechnick, Claas Wilke, Uwe Aßmann, Alexander Schill: Autonomous Participation in Cloud Services. 2nd International Workshop on Intelligent Techniques and Architectures for Autonomic Clouds (ITAAC) @ 5th IEEE/ACM UCC, Chicago, Illinois, USA, November 2012.

[SG+11] Josef Spillner, Gerd Bombach, Steffen Matthischke, Johannes Müller, Rico Tzschichholz, Alexander Schill: Information Dispersion over Redundant Arrays of Optimal Cloud Storage for Desktop Users. 4th IEEE/ACM International Conference on Utility and Cloud Computing (UCC), Melbourne, Australia, December 2011. [Best Paper Award]