SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
PRESENTATION TITLE GOES HERESwift Object Storage:
Adding Erasure Codes
Paul Luse, Sr. Staff Engineer – Intel Corporation
Kevin Greenan, Staff Software Engineer – Box
Sep 2014
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
SNIA Legal Notice
The material contained in this tutorial is copyrighted by the SNIA unless
otherwise noted.
Member companies and individual members may use this material in
presentations and literature under the following conditions:
Any slide or slides used must be reproduced in their entirety without modification
The SNIA must be acknowledged as the source of any material used in the body of
any document containing material from these presentations.
This presentation is a project of the SNIA Education Committee.
Neither the author nor the presenter is an attorney and nothing in this
presentation is intended to be, or should be construed as legal advice or an
opinion of counsel. If you need legal advice or a legal opinion please
contact your attorney.
The information presented herein represents the author's personal opinion
and current understanding of the relevant issues involved. The author, the
presenter, and the SNIA do not assume any responsibility or liability for
damages arising out of any reliance on or use of this information.
NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK.
2
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Abstract
Swift Object Storage: Adding Erasure Codes
This session will provide insight into this extremely successful
community effort of adding an Erasure Code capability to the
OpenStack Swift Object Storage System by walking the
audience through the design and development experience
through the eyes of the developers from key contributors. An
overview of Swift Architecture and basic Erasure Codes will be
followed by design/implementation details.
3
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Agenda
• Swift
– A Community Project
– Swift Overview
– Storage Policies
• Erasure Codes
– History
– Variations
– Matrix encode/decode
– PyECLib & liberasurecode
• Erasure Code Implementation for Swift
– Design considerations
– Architecture overview
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Swift:A Community Project
• Vibrant community,
• top contributing companies for Juno include: SwiftStack*,
Intel, Redhat*, IBM*, HP*, Rackspace*, Box*
• The path to EC…
• Core OpenStack* Service
• One of the original 2 projects
• 100% Python
• ~ 35K LOC
• > 2x that in unit, functional, error injection code
Juno
Fall ‘14
IceHouse
Spring ‘14
Havana
Fall ‘13
Kilo
Spring ‘15
Early EC
Discussion
Policies
Development
Policies
Released EC Ready!
EC Library
Development
Swift EC
Development
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Swift Overview
container
object
Objects are organized
with containers
• Uses container model for grouping objects
with like characteristics
– Objects are identified by their paths and have
user-defined metadata associated with them
• Accessed via RESTful interface
– GET, PUT, DELETE
• Built upon standard hardware and highly
scalable
– Cost effective, efficient
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
What Swift is Not
• Block Storage System
– Does not provide block-level storage service
Not a “One Size Fits All” Storage Solution
• Distributed File System
– Does not provide POSIX file system API support
• Relational Database
– Does not support ACID semantics
• NoSQL Data Store
– Not built on the Key-Value/Document/Column-Family
model
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
wsgi server
account controller
middleware
swift proxy
wsgi application
container controller
object controller
helper functions
wsgi server
replicator
middleware
swift object
wsgi application
auditor
expirer
updater
replicatorswift account
wsgi application
auditor
reaper
helper functions
replicatorswift container
wsgi application
auditor
sync
updater
ProxyNodesStorageNodes
Swift Software Architecture
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Swift 2.0:Why Storage Policies?
container
object
You get N-replication in
every container
• There were no core capabilities to expose or
make use of differentiated hardware within the
cluster
• If several nodes of a cluster have newer/faster
characteristics, they can’t be fully realized (the
administrator/users are at the mercy of the dispersion
algorithm alone for data placement).
• There’s was no extensibility for additional
durability schemes
– Use of erasure codes (EC)
– Mixed use of schemes (some nodes do 2x, some do
3x, some do EC)
• Prior to, durability scheme applies to entire cluster
– Can do replication of 2x, 3x, etc., however the entire
cluster must use that setting
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
• The ring is a static data structure maintained external to
the cluster (tools provided)
Ring
partitions
• Each partition maps to a list of devices via two array
elements within the ring structure
• Devices are assigned to partitions with several policies
(regions, zones, etc.) and constraints to assure fault
tolerance and load balancing
Idx Copy 1 Copy 2 Copy 3
0 11 21 43
… … … …
10 34 1 0
… … … …
Idx Device
0 Node 3, device 1
1 Node 12, device 2
… ….
34 Node 1, device 4
… …
• An object name maps to a partition via MD5 hash
MD5*(URL) = index
Note: Swift uses a modified MD5 consistent hashing ring
replica2part2dev_id
devs
The Swift Ring
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Triple
Replication
n locations,
object fragments
• Introduction of multiple object rings
– Swift supports multiple rings already, but only one for
object – the others are for account and container DB.
• Introduction of container tag: X-Storage-Policy
– New immutable container metadata
– Policy change accomplished via data movement
– Each container is associated with a potentially different ring
Reduced
Replication
Erasure
Codes
3 Different Policies:
3 Different Rings
3 locations,
same object
2 locations,
same object
What are Policies?
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Capacity Tier
Access Tier
Putting it AllTogether
Zone 1 Zone 2 Zone 3 Zone 4 Zone 5
Clients
RESTful API, Similar to S3
Download
Copy 1
Copy 2
Copy 3
Upload
Obj A
• Handle incoming requests
• Handle failures, ganged responses
• Scalable shared nothing architecture
• Consistent hashing ring distribution
Scalable for concurrency and/or capacity independently
• Actual object storage
• Variable replication count
• Data integrity services
• Scale-out capacity
Auth
Service
Obj A
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Agenda
• Swift
– Swift Overview
– Storage Policies
• Erasure Codes
– Background
– Example encode/decode using Reed-Solomon
– Minimizing reconstruction cost
– PyECLib & liberasurecode
• Erasure Code Implementation for Swift
– Design considerations
– Architecture overview
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
History of Erasure Coding
Source: Tutorial on Erasure Coding for Storage Applications, Part 1. James Plank FAST ‘13
1960’s
• Coding Theory
• Reed Solomon, Berlekamp–Massey algorithm
1990’s
• Storage
• RAID-6: EVENODD, RDP, X-Code
• Graph Theory
• LDPC Codes (Tornado, Raptor, LT)
2000’s
• Coding Theory
• Network / Regenerating Codes
2010’s
• Storage
• Non-MDS codes for cloud and recovery
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Terminology
• Split a file into k chunks and encode into n chunks, where n-k=m
• Systematic vs. Non-systematic
– Systematic: encoded output contains input symbols
– Non-systematic: encoded output does not contain input symbols
• Code word
– A set of data and parity related via a set of parity equations
– Systematic: f(data) = code word = (data, parity)
• Layout
– Flat horizontal: each coded symbol is mapped to one device
– Array codes have multiple symbols per device: horizontal and vertical
• MDS vs. non-MDS
– MDS: any k chunks can be used to recover the original file
– Non-MDS: k chunks may not be sufficient to recover the file
Traditionally, storage systems use systematic, MDS codes
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
• Reed-Solomon Codes
• Fountain Codes
• RAID-6 EVENODD
• RAID-6 X-Code
• Generalized XOR
• Pyramid Codes
• Local Repairable Codes (LRC)
• Partial MDS Codes (PMDS)
• Simple Regenerating Codes
and the list goes on…
Variations
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Reed Solomon Systematic
Horizontal Code Layout
Example RS(8,5)
d2,0
d2,1
d2,2
d2,3
Data
d3,0
d3,1
d3,2
d3,3
d4,0
d4,1
d4,2
d4,3
d0,0
d0,1
d0,2
d0,3
d1,0
d1,1
d1,2
d1,3
p0,0
p0,1
p0,2
p0,3
p1,0
p1,1
p1,2
p1,3
p2,0
p2,1
p2,2
p2,3
Parity
• Can Tolerate (n-k) Failures
• Overhead of just (n/k)
total disks = n = 8
parity disks = m = 3
data disks = k = 5
Code word
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Reed Solomon Systematic
Generator Matrix
1 α0
1 α0
2 α0
3 α0
4
1 α1
1 α1
2 α1
3 α1
4
1 α2
1 α2
2 α2
3 α2
4
1 α3
1 α3
2 α3
3 α3
4
1 α4
1 α4
2 α4
3 α4
4
1 α5
1 α5
2 α5
3 α5
4
1 α6
1 α6
2 α6
3 α6
4
1 α7
1 α7
2 α7
3 α7
4
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1 1 1 1 1
g0 g1 g2 g3 g4
g5 g6 g7 g8 g9
f(x) = c0 +c1x1 + c2x2 + ... + ck-1xk-1 Coefficients are
the data
f(α0) = y0
f(α1) = y1
…
f(αn-1) = yn-1
Reed-Solomon is encoded by
oversampling a polynomial
Elementary
Ops
Result
has same
rank
f(α0)
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Reed Solomon Systematic
Matrix Encoding Process
All operations are done in a Galois field
Any (k x k) sub-matrix is invertible
Code word is the vector-matrix product
of the generator matrix and source data
pi = d0 + gid1 + gi
2d2 + gi
3d3 + … + gi
k-1dk-1
d0
d1
d2
d3
d4
=
d0
d1
d2
d3
d4
p1
p2
p3
Generator Matrix data code word
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1 1 1 1 1
g0 g1 g2 g3 g4
g5 g6 g7 g8 g9
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Step 1: Eliminate all but k available rows in the generator matrix
Generator Matrix × data = parity
d0
d1
d2
d3
d4
=
d0
d1
d2
d3
d4
p1
p2
p3
X
X
X
Thesedisksjustdied
Reed Solomon Systematic
Matrix Decoding Process
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1 1 1 1 1
g0 g1 g2 g3 g4
g5 g6 g7 g8 g9
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Step 2:Invert the resulting matrix
0 1 0 0 0
0 0 1 0 0
0 0 0 0 1
1 1 1 1 1
g0 g1 g2 g3 g4
Reed Solomon Systematic
Matrix Decoding Process
Invert
G’
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Step 3: “Solve” by multiplying k element vector of available
symbols by corresponding rows of G’
=G’ G G’
Data
Remaining
= G’
d0
d1
d2
d3
d4
d1
d2
d4
p1
p2
d0 = g’00d1 + g’01d2 + g’02d4 + g’03p1 + g’04p2
d3 = g’30d1 + g’31d2 + g’32d4 + g’33p1 + g’34p2
Here’s the missing data!
Reed Solomon Systematic
Matrix Decoding Process
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Minimizing Reconstruction Cost
• Reed-Solomon requires k available elements to reconstruct any missing element
• This has given rise to many codes that minimize repair costs
– Regenerating codes, locally repairable codes, flat-XOR codes, etc.
– Trade space efficiency for more efficient reconstruction
• Replication repair-optimal, RS is space-optimal, these are somewhere in the middle
• Simple XOR-only example with k = 6, m = 4:
P0 = D0 + D1 + D3
P1 = D1 + D2 + D5
P2 = D0 + D2 + D4
P3 = D3 + D4 + D5
×
×
D0 = P0 + D1 + D3
D0 = P2 + D2 + D4
Only requires 3 devices to reconstruct one failed device
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
PyECLib
†Relative tests conducted with home grown test code using ISA-L libra
• Goal: provide a pluggable, easy-to-use EC library for Python
• Swift is the main use-case
• Originally had all logic in PyECLib, but have offloaded “smarts” to liberasurecode
– Separation of concerns: one converts between Python and C, and the other does erasure coding
– API of PyECLib is same as liberasurecode
encode
APICore
Python-C Interface
liberasurecode
decode reconstruct required_fragments check_metadata segement_info
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
liberasurecode
†Relative tests conducted with home grown test code using ISA-L libra
• Goal: Separate EC-specific logic from language-specific translation
• Embedded metadata: original file size, checksum, version info, etc.
• Provides ability to plug-in and use new erasure code schemes/libraries
– In addition to XOR codes, we currently provide Jerasure and ISA-L
backend plug-in layer
Core
Backend API
API
built-in utils
Backend-A Backend-B …
External Libraries
libA libB …
XOR Codes
Checksums
Helpers
Pre/Post-Processing
encode decode reconstruct required_fragments check_metadata segement_info
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Agenda
• Swift
– Swift Overview
– Storage Policies
• Erasure Codes
– History
– Variations
– Matrix encode/decode
– PyECLib & liberasurecode
• Erasure Code Implementation for Swift
– Design considerations
– Architecture overview
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Design Considerations
• GET/PUT Erasure Code encode/decode done at proxy server
– Aligned with current Swift architecture to focus hardware demanding services in the access
tier
– Enable in-line Erasure Code directed by client as well as off-line Erasure Code directed by
sideband application / management tier
• Build Upon Storage Policies
– New container metadata will identify whether objects within it are erasure coded
• Keep it simple and leverage current architecture
– Multiple new storage node services required to assure Erasure Code chunk integrity as well
as Erasure Code stripe integrity; modeled after replica services
– Storage nodes participate in Erasure Code encode/decode for reconstruction analogous to
replication services synchronizing objects
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Swift With EC Architecture High Level
wsgi server
existing modules
middleware
swift proxy
wsgi application
wsgi server
middleware
swift object
wsgi application
swift account
wsgi application
swift container
wsgi application
ProxyNodesStorageNodes
controller modifications
PyECLib
Plug in 1 Plug in 2
existing modules existing modules
existing modules EC Auditor
EC Reconstructor
PyECLib
Plug in 1 Plug in 2
metadata changes
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Capacity Tier (Storage)
Access Tier (Concurrency)
Swift With Erasure Code
Zone 1 Zone 2 Zone 3 Zone 4 Zone 5
Clients
RESTful API, Similar to S3
Download
Frag 1
Frag 2
Frag 3
Frag 4
Frag N
Decoder
Upload
Encoder
Obj A Obj A
• Applications control policy
• EC can be inline or offline
Erasure Code Technology Lowering TCO for Swift
• Supports multiple policies
• EC flexibility via plug-in
Auth
Service
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
For More Information…
• Trello discussion board:
https://trello.com/b/LlvIFIQs/swift-erasure-codes
• Launchpad blueprints:
https://blueprints.launchpad.net/swift
• Swift Code (see feature/EC branch):
https://code.launchpad.net/swift
• PyECLib:
https://bitbucket.org/kmgreen2/pyeclib
• Liberasurecode:
https://bitbucket.org/tsg-/liberasurecode
Insert tutorial title in footer
© 2013 Storage Networking Industry Association. All Rights Reserved.
Attribution & Feedback
31
Please send any questions or comments regarding this SNIA
Tutorial to tracktutorials@snia.org
The SNIA Education Committee thanks the following
individuals for their contributions to this Tutorial.
Authorship History
Name/Date of Original Author here:
Paul Luse, Kevin Greenan. 8/2014
Updates:
None
Additional Contributors
None
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Backup
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Block File Object
Block, File & Object
33
Specific location on
disks / memory
Tracks
Sectors
Specific folder in
fixed logical order
File path
File name
Date
Flexible
container size
Data and Metadata
Unique ID
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Object Store
Scalability
Flat namespace
No volume semantics
No Locking/Attributes
Contains metadata
Durability
Replication or
Erasure code
Manageability
REST API
Low overhead
Consistency
Eventually consistent
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
Swift Use Cases
server1:/exp1 server2:/exp1
DISTRIBUTED VOLUME
BRICK BRICK
Swift Cluster
Storage
Node
Storage
Node
Web/Mobile
• Images/Audio/Video
• Middleware for dynamic
resizing
• Ex: Wikipedia
IAAS
-Public or private
-Multi-tenant storage
-Multiple available gateways
VM Images
-OpenStack* Integration
-Managed by Glance
Cloud
Backup
-Large unstructured data
Proxy Nodes
Objects
AccessTierCapacityTier
Load Balancer
Auth
Swift Object Storage: Adding Erasure Codes
© 2014 Storage Networking Industry Association. All Rights Reserved.
The CAP Theorem: Pick 2
Consistency
(same view)
Availability
(data access)
Partition Tolerance
(node access)
Enforced
Consistency
Eventual
Consistency
Swift chooses Availability and Partition Tolerance over Consistency

Contenu connexe

Tendances

Spectrum scale-external-unified-file object
Spectrum scale-external-unified-file objectSpectrum scale-external-unified-file object
Spectrum scale-external-unified-file objectSandeep Patil
 
S016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710dS016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710dTony Pearson
 
Inter connect2016 yss1841-cloud-storage-options-v4
Inter connect2016 yss1841-cloud-storage-options-v4Inter connect2016 yss1841-cloud-storage-options-v4
Inter connect2016 yss1841-cloud-storage-options-v4Tony Pearson
 
Genomics Deployments - How to Get Right with Software Defined Storage
 Genomics Deployments -  How to Get Right with Software Defined Storage Genomics Deployments -  How to Get Right with Software Defined Storage
Genomics Deployments - How to Get Right with Software Defined StorageSandeep Patil
 
Zero data Loss Recovery Appliance
Zero data Loss Recovery ApplianceZero data Loss Recovery Appliance
Zero data Loss Recovery ApplianceTrivadis
 
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory ComputingIMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory ComputingIn-Memory Computing Summit
 
S de0882 new-generation-tiering-edge2015-v3
S de0882 new-generation-tiering-edge2015-v3S de0882 new-generation-tiering-edge2015-v3
S de0882 new-generation-tiering-edge2015-v3Tony Pearson
 
2021 March Pravega Community Meeting
2021 March Pravega Community Meeting2021 March Pravega Community Meeting
2021 March Pravega Community MeetingDerek Moore
 
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...Trivadis
 
Object Storage Overview
Object Storage OverviewObject Storage Overview
Object Storage OverviewCloudian
 
System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...
System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...
System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...Amazon Web Services
 
Webinar: How Snapshots CAN be Backups
Webinar: How Snapshots CAN be BackupsWebinar: How Snapshots CAN be Backups
Webinar: How Snapshots CAN be BackupsStorage Switzerland
 
What is Object storage ?
What is Object storage ?What is Object storage ?
What is Object storage ?Nabil Kassi
 
S ss0885 spectrum-scale-elastic-edge2015-v5
S ss0885 spectrum-scale-elastic-edge2015-v5S ss0885 spectrum-scale-elastic-edge2015-v5
S ss0885 spectrum-scale-elastic-edge2015-v5Tony Pearson
 
Spectrum Scale final
Spectrum Scale finalSpectrum Scale final
Spectrum Scale finalJoe Krotz
 
S ss0886 pendulum-swings-edge2015-v3
S ss0886 pendulum-swings-edge2015-v3S ss0886 pendulum-swings-edge2015-v3
S ss0886 pendulum-swings-edge2015-v3Tony Pearson
 

Tendances (20)

Spectrum scale-external-unified-file object
Spectrum scale-external-unified-file objectSpectrum scale-external-unified-file object
Spectrum scale-external-unified-file object
 
S016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710dS016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710d
 
Inter connect2016 yss1841-cloud-storage-options-v4
Inter connect2016 yss1841-cloud-storage-options-v4Inter connect2016 yss1841-cloud-storage-options-v4
Inter connect2016 yss1841-cloud-storage-options-v4
 
Genomics Deployments - How to Get Right with Software Defined Storage
 Genomics Deployments -  How to Get Right with Software Defined Storage Genomics Deployments -  How to Get Right with Software Defined Storage
Genomics Deployments - How to Get Right with Software Defined Storage
 
Zero data Loss Recovery Appliance
Zero data Loss Recovery ApplianceZero data Loss Recovery Appliance
Zero data Loss Recovery Appliance
 
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory ComputingIMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
 
S de0882 new-generation-tiering-edge2015-v3
S de0882 new-generation-tiering-edge2015-v3S de0882 new-generation-tiering-edge2015-v3
S de0882 new-generation-tiering-edge2015-v3
 
2021 March Pravega Community Meeting
2021 March Pravega Community Meeting2021 March Pravega Community Meeting
2021 March Pravega Community Meeting
 
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
 
Object Storage Overview
Object Storage OverviewObject Storage Overview
Object Storage Overview
 
System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...
System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...
System z Mainframe Data with Amazon S3 and Amazon Glacier (ENT107) | AWS re:I...
 
Deploying Big-Data-as-a-Service (BDaaS) in the Enterprise
Deploying Big-Data-as-a-Service (BDaaS) in the EnterpriseDeploying Big-Data-as-a-Service (BDaaS) in the Enterprise
Deploying Big-Data-as-a-Service (BDaaS) in the Enterprise
 
Ism
IsmIsm
Ism
 
Webinar: How Snapshots CAN be Backups
Webinar: How Snapshots CAN be BackupsWebinar: How Snapshots CAN be Backups
Webinar: How Snapshots CAN be Backups
 
Considering Bare Metal
Considering Bare MetalConsidering Bare Metal
Considering Bare Metal
 
What is Object storage ?
What is Object storage ?What is Object storage ?
What is Object storage ?
 
S ss0885 spectrum-scale-elastic-edge2015-v5
S ss0885 spectrum-scale-elastic-edge2015-v5S ss0885 spectrum-scale-elastic-edge2015-v5
S ss0885 spectrum-scale-elastic-edge2015-v5
 
Spectrum Scale final
Spectrum Scale finalSpectrum Scale final
Spectrum Scale final
 
S ss0886 pendulum-swings-edge2015-v3
S ss0886 pendulum-swings-edge2015-v3S ss0886 pendulum-swings-edge2015-v3
S ss0886 pendulum-swings-edge2015-v3
 
Iaas storage-170302090824
Iaas storage-170302090824Iaas storage-170302090824
Iaas storage-170302090824
 

En vedette

Red hat storage objects, containers and Beyond!
Red hat storage objects, containers and Beyond!Red hat storage objects, containers and Beyond!
Red hat storage objects, containers and Beyond!andreas kuncoro
 
Choosing the Right Data Storage Solution
Choosing the Right Data Storage SolutionChoosing the Right Data Storage Solution
Choosing the Right Data Storage SolutionAmazon Web Services
 
Storage as a service v4 eng
Storage as a service v4 engStorage as a service v4 eng
Storage as a service v4 engDell EMC
 
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceOracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceJean-Philippe PINTE
 
Big Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureBig Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureOdinot Stanislas
 
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)Odinot Stanislas
 
IBM Cloud Storage - Cleversafe
IBM Cloud Storage - CleversafeIBM Cloud Storage - Cleversafe
IBM Cloud Storage - CleversafeMichael Beatty
 
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...Odinot Stanislas
 
Error control coding bch, reed-solomon etc..
Error control coding   bch, reed-solomon etc..Error control coding   bch, reed-solomon etc..
Error control coding bch, reed-solomon etc..Madhumita Tamhane
 
ECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps DayECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps DayBob Sokol
 
PCI Express* based Storage: Data Center NVM Express* Platform Topologies
PCI Express* based Storage: Data Center NVM Express* Platform TopologiesPCI Express* based Storage: Data Center NVM Express* Platform Topologies
PCI Express* based Storage: Data Center NVM Express* Platform TopologiesOdinot Stanislas
 
Path to 400M Members: LinkedIn’s Data Powered Journey
Path to 400M Members: LinkedIn’s Data Powered JourneyPath to 400M Members: LinkedIn’s Data Powered Journey
Path to 400M Members: LinkedIn’s Data Powered JourneyDataWorks Summit/Hadoop Summit
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Odinot Stanislas
 
Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI ExpressSubhash Iyer
 
Accelerate the SDN with Intel ONP
Accelerate the SDN with Intel ONPAccelerate the SDN with Intel ONP
Accelerate the SDN with Intel ONPOdinot Stanislas
 
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage ComparisonIntel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage ComparisonDataStax Academy
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIeJin Wu
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining Odinot Stanislas
 

En vedette (20)

Red hat storage objects, containers and Beyond!
Red hat storage objects, containers and Beyond!Red hat storage objects, containers and Beyond!
Red hat storage objects, containers and Beyond!
 
Choosing the Right Data Storage Solution
Choosing the Right Data Storage SolutionChoosing the Right Data Storage Solution
Choosing the Right Data Storage Solution
 
Storage as a service v4 eng
Storage as a service v4 engStorage as a service v4 eng
Storage as a service v4 eng
 
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceOracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
 
Big Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureBig Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the Future
 
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
 
IBM Cloud Storage - Cleversafe
IBM Cloud Storage - CleversafeIBM Cloud Storage - Cleversafe
IBM Cloud Storage - Cleversafe
 
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
 
Error control coding bch, reed-solomon etc..
Error control coding   bch, reed-solomon etc..Error control coding   bch, reed-solomon etc..
Error control coding bch, reed-solomon etc..
 
ECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps DayECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps Day
 
PCI Express* based Storage: Data Center NVM Express* Platform Topologies
PCI Express* based Storage: Data Center NVM Express* Platform TopologiesPCI Express* based Storage: Data Center NVM Express* Platform Topologies
PCI Express* based Storage: Data Center NVM Express* Platform Topologies
 
Chapter 03 cyclic codes
Chapter 03   cyclic codesChapter 03   cyclic codes
Chapter 03 cyclic codes
 
Path to 400M Members: LinkedIn’s Data Powered Journey
Path to 400M Members: LinkedIn’s Data Powered JourneyPath to 400M Members: LinkedIn’s Data Powered Journey
Path to 400M Members: LinkedIn’s Data Powered Journey
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
 
Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI Express
 
Pci express technology 3.0
Pci express technology 3.0Pci express technology 3.0
Pci express technology 3.0
 
Accelerate the SDN with Intel ONP
Accelerate the SDN with Intel ONPAccelerate the SDN with Intel ONP
Accelerate the SDN with Intel ONP
 
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage ComparisonIntel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining
 

Similaire à SNIA : Swift Object Storage adding EC (Erasure Code)

NetApp Se training storage grid webscale technical overview
NetApp Se training   storage grid webscale technical overviewNetApp Se training   storage grid webscale technical overview
NetApp Se training storage grid webscale technical overviewsolarisyougood
 
Se training storage grid webscale technical overview
Se training   storage grid webscale technical overviewSe training   storage grid webscale technical overview
Se training storage grid webscale technical overviewsolarisyougood
 
Grid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and PotentialGrid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and PotentialPaul Brebner
 
Open Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex YangOpen Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex YangOpenCity Community
 
Swift Architecture and Practice, by Alex Yang
Swift Architecture and Practice, by Alex YangSwift Architecture and Practice, by Alex Yang
Swift Architecture and Practice, by Alex YangHui Cheng
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewCisco DevNet
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle Developers
 
Database trendsv4
Database trendsv4Database trendsv4
Database trendsv4Tinku Ajit
 
Logical Architecture for Protection
Logical Architecture for ProtectionLogical Architecture for Protection
Logical Architecture for ProtectionSunita Shrivastava
 
A Tight Ship: How Containers and SDS Optimize the Enterprise
 A Tight Ship: How Containers and SDS Optimize the Enterprise A Tight Ship: How Containers and SDS Optimize the Enterprise
A Tight Ship: How Containers and SDS Optimize the EnterpriseEric Kavanagh
 
Node.js Service - Best practices in 2019
Node.js Service - Best practices in 2019Node.js Service - Best practices in 2019
Node.js Service - Best practices in 2019Olivier Loverde
 
From Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With KubernetesFrom Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With KubernetesShikha Srivastava
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Open Mobile Alliance
 
CNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdf
CNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdfCNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdf
CNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdfLibbySchulze
 
Modern Data Security with MySQL
Modern Data Security with MySQLModern Data Security with MySQL
Modern Data Security with MySQLVittorio Cioe
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
AperiStorageResourceManager
AperiStorageResourceManagerAperiStorageResourceManager
AperiStorageResourceManagerRobert Wipfel
 

Similaire à SNIA : Swift Object Storage adding EC (Erasure Code) (20)

NetApp Se training storage grid webscale technical overview
NetApp Se training   storage grid webscale technical overviewNetApp Se training   storage grid webscale technical overview
NetApp Se training storage grid webscale technical overview
 
Se training storage grid webscale technical overview
Se training   storage grid webscale technical overviewSe training   storage grid webscale technical overview
Se training storage grid webscale technical overview
 
Grid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and PotentialGrid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and Potential
 
Open Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex YangOpen Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex Yang
 
Open stackapac swift_alexyang
Open stackapac swift_alexyangOpen stackapac swift_alexyang
Open stackapac swift_alexyang
 
Swift Architecture and Practice, by Alex Yang
Swift Architecture and Practice, by Alex YangSwift Architecture and Practice, by Alex Yang
Swift Architecture and Practice, by Alex Yang
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018
 
Database trendsv4
Database trendsv4Database trendsv4
Database trendsv4
 
Logical Architecture for Protection
Logical Architecture for ProtectionLogical Architecture for Protection
Logical Architecture for Protection
 
A Tight Ship: How Containers and SDS Optimize the Enterprise
 A Tight Ship: How Containers and SDS Optimize the Enterprise A Tight Ship: How Containers and SDS Optimize the Enterprise
A Tight Ship: How Containers and SDS Optimize the Enterprise
 
Node.js Service - Best practices in 2019
Node.js Service - Best practices in 2019Node.js Service - Best practices in 2019
Node.js Service - Best practices in 2019
 
From Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With KubernetesFrom Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With Kubernetes
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
 
20120709 cyber patterns2012
20120709 cyber patterns201220120709 cyber patterns2012
20120709 cyber patterns2012
 
CNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdf
CNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdfCNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdf
CNCF Online - Data Protection Guardrails using Open Policy Agent (OPA).pdf
 
Modern Data Security with MySQL
Modern Data Security with MySQLModern Data Security with MySQL
Modern Data Security with MySQL
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
AperiStorageResourceManager
AperiStorageResourceManagerAperiStorageResourceManager
AperiStorageResourceManager
 

Plus de Odinot Stanislas

Silicon Photonics and datacenter
Silicon Photonics and datacenterSilicon Photonics and datacenter
Silicon Photonics and datacenterOdinot Stanislas
 
Using a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceUsing a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceOdinot Stanislas
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Odinot Stanislas
 
Software Defined Storage - Open Framework and Intel® Architecture Technologies
Software Defined Storage - Open Framework and Intel® Architecture TechnologiesSoftware Defined Storage - Open Framework and Intel® Architecture Technologies
Software Defined Storage - Open Framework and Intel® Architecture TechnologiesOdinot Stanislas
 
Moving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM ExpressMoving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM ExpressOdinot Stanislas
 
Intel Cloud Builder : Siveo
Intel Cloud Builder : SiveoIntel Cloud Builder : Siveo
Intel Cloud Builder : SiveoOdinot Stanislas
 
Configuration and deployment guide for SWIFT on Intel Architecture
Configuration and deployment guide for SWIFT on Intel ArchitectureConfiguration and deployment guide for SWIFT on Intel Architecture
Configuration and deployment guide for SWIFT on Intel ArchitectureOdinot Stanislas
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Odinot Stanislas
 
Configuration and Deployment Guide For Memcached on Intel® Architecture
Configuration and Deployment Guide For Memcached on Intel® ArchitectureConfiguration and Deployment Guide For Memcached on Intel® Architecture
Configuration and Deployment Guide For Memcached on Intel® ArchitectureOdinot Stanislas
 
Améliorer OpenStack avec les technologies Intel
Améliorer OpenStack avec les technologies IntelAméliorer OpenStack avec les technologies Intel
Améliorer OpenStack avec les technologies IntelOdinot Stanislas
 
Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...
Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...
Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...Odinot Stanislas
 
Big Data and Intel® Intelligent Systems Solution for Intelligent transportation
Big Data and Intel® Intelligent Systems Solution for Intelligent transportationBig Data and Intel® Intelligent Systems Solution for Intelligent transportation
Big Data and Intel® Intelligent Systems Solution for Intelligent transportationOdinot Stanislas
 
Big Data Solutions for Healthcare
Big Data Solutions for HealthcareBig Data Solutions for Healthcare
Big Data Solutions for HealthcareOdinot Stanislas
 
Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..
Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..
Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..Odinot Stanislas
 
Big Data and Implications on Platform Architecture
Big Data and Implications on Platform ArchitectureBig Data and Implications on Platform Architecture
Big Data and Implications on Platform ArchitectureOdinot Stanislas
 

Plus de Odinot Stanislas (15)

Silicon Photonics and datacenter
Silicon Photonics and datacenterSilicon Photonics and datacenter
Silicon Photonics and datacenter
 
Using a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceUsing a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application Performance
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Software Defined Storage - Open Framework and Intel® Architecture Technologies
Software Defined Storage - Open Framework and Intel® Architecture TechnologiesSoftware Defined Storage - Open Framework and Intel® Architecture Technologies
Software Defined Storage - Open Framework and Intel® Architecture Technologies
 
Moving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM ExpressMoving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM Express
 
Intel Cloud Builder : Siveo
Intel Cloud Builder : SiveoIntel Cloud Builder : Siveo
Intel Cloud Builder : Siveo
 
Configuration and deployment guide for SWIFT on Intel Architecture
Configuration and deployment guide for SWIFT on Intel ArchitectureConfiguration and deployment guide for SWIFT on Intel Architecture
Configuration and deployment guide for SWIFT on Intel Architecture
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
 
Configuration and Deployment Guide For Memcached on Intel® Architecture
Configuration and Deployment Guide For Memcached on Intel® ArchitectureConfiguration and Deployment Guide For Memcached on Intel® Architecture
Configuration and Deployment Guide For Memcached on Intel® Architecture
 
Améliorer OpenStack avec les technologies Intel
Améliorer OpenStack avec les technologies IntelAméliorer OpenStack avec les technologies Intel
Améliorer OpenStack avec les technologies Intel
 
Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...
Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...
Scale-out Storage on Intel® Architecture Based Platforms: Characterizing and ...
 
Big Data and Intel® Intelligent Systems Solution for Intelligent transportation
Big Data and Intel® Intelligent Systems Solution for Intelligent transportationBig Data and Intel® Intelligent Systems Solution for Intelligent transportation
Big Data and Intel® Intelligent Systems Solution for Intelligent transportation
 
Big Data Solutions for Healthcare
Big Data Solutions for HealthcareBig Data Solutions for Healthcare
Big Data Solutions for Healthcare
 
Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..
Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..
Protect Your Big Data with Intel<sup>®</sup> Xeon<sup>®</sup> Processors a..
 
Big Data and Implications on Platform Architecture
Big Data and Implications on Platform ArchitectureBig Data and Implications on Platform Architecture
Big Data and Implications on Platform Architecture
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

SNIA : Swift Object Storage adding EC (Erasure Code)

  • 1. PRESENTATION TITLE GOES HERESwift Object Storage: Adding Erasure Codes Paul Luse, Sr. Staff Engineer – Intel Corporation Kevin Greenan, Staff Software Engineer – Box Sep 2014
  • 2. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies and individual members may use this material in presentations and literature under the following conditions: Any slide or slides used must be reproduced in their entirety without modification The SNIA must be acknowledged as the source of any material used in the body of any document containing material from these presentations. This presentation is a project of the SNIA Education Committee. Neither the author nor the presenter is an attorney and nothing in this presentation is intended to be, or should be construed as legal advice or an opinion of counsel. If you need legal advice or a legal opinion please contact your attorney. The information presented herein represents the author's personal opinion and current understanding of the relevant issues involved. The author, the presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information. NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK. 2
  • 3. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Abstract Swift Object Storage: Adding Erasure Codes This session will provide insight into this extremely successful community effort of adding an Erasure Code capability to the OpenStack Swift Object Storage System by walking the audience through the design and development experience through the eyes of the developers from key contributors. An overview of Swift Architecture and basic Erasure Codes will be followed by design/implementation details. 3
  • 4. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Agenda • Swift – A Community Project – Swift Overview – Storage Policies • Erasure Codes – History – Variations – Matrix encode/decode – PyECLib & liberasurecode • Erasure Code Implementation for Swift – Design considerations – Architecture overview
  • 5. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Swift:A Community Project • Vibrant community, • top contributing companies for Juno include: SwiftStack*, Intel, Redhat*, IBM*, HP*, Rackspace*, Box* • The path to EC… • Core OpenStack* Service • One of the original 2 projects • 100% Python • ~ 35K LOC • > 2x that in unit, functional, error injection code Juno Fall ‘14 IceHouse Spring ‘14 Havana Fall ‘13 Kilo Spring ‘15 Early EC Discussion Policies Development Policies Released EC Ready! EC Library Development Swift EC Development
  • 6. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Swift Overview container object Objects are organized with containers • Uses container model for grouping objects with like characteristics – Objects are identified by their paths and have user-defined metadata associated with them • Accessed via RESTful interface – GET, PUT, DELETE • Built upon standard hardware and highly scalable – Cost effective, efficient
  • 7. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. What Swift is Not • Block Storage System – Does not provide block-level storage service Not a “One Size Fits All” Storage Solution • Distributed File System – Does not provide POSIX file system API support • Relational Database – Does not support ACID semantics • NoSQL Data Store – Not built on the Key-Value/Document/Column-Family model
  • 8. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. wsgi server account controller middleware swift proxy wsgi application container controller object controller helper functions wsgi server replicator middleware swift object wsgi application auditor expirer updater replicatorswift account wsgi application auditor reaper helper functions replicatorswift container wsgi application auditor sync updater ProxyNodesStorageNodes Swift Software Architecture
  • 9. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Swift 2.0:Why Storage Policies? container object You get N-replication in every container • There were no core capabilities to expose or make use of differentiated hardware within the cluster • If several nodes of a cluster have newer/faster characteristics, they can’t be fully realized (the administrator/users are at the mercy of the dispersion algorithm alone for data placement). • There’s was no extensibility for additional durability schemes – Use of erasure codes (EC) – Mixed use of schemes (some nodes do 2x, some do 3x, some do EC) • Prior to, durability scheme applies to entire cluster – Can do replication of 2x, 3x, etc., however the entire cluster must use that setting
  • 10. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. • The ring is a static data structure maintained external to the cluster (tools provided) Ring partitions • Each partition maps to a list of devices via two array elements within the ring structure • Devices are assigned to partitions with several policies (regions, zones, etc.) and constraints to assure fault tolerance and load balancing Idx Copy 1 Copy 2 Copy 3 0 11 21 43 … … … … 10 34 1 0 … … … … Idx Device 0 Node 3, device 1 1 Node 12, device 2 … …. 34 Node 1, device 4 … … • An object name maps to a partition via MD5 hash MD5*(URL) = index Note: Swift uses a modified MD5 consistent hashing ring replica2part2dev_id devs The Swift Ring
  • 11. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Triple Replication n locations, object fragments • Introduction of multiple object rings – Swift supports multiple rings already, but only one for object – the others are for account and container DB. • Introduction of container tag: X-Storage-Policy – New immutable container metadata – Policy change accomplished via data movement – Each container is associated with a potentially different ring Reduced Replication Erasure Codes 3 Different Policies: 3 Different Rings 3 locations, same object 2 locations, same object What are Policies?
  • 12. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Capacity Tier Access Tier Putting it AllTogether Zone 1 Zone 2 Zone 3 Zone 4 Zone 5 Clients RESTful API, Similar to S3 Download Copy 1 Copy 2 Copy 3 Upload Obj A • Handle incoming requests • Handle failures, ganged responses • Scalable shared nothing architecture • Consistent hashing ring distribution Scalable for concurrency and/or capacity independently • Actual object storage • Variable replication count • Data integrity services • Scale-out capacity Auth Service Obj A
  • 13. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Agenda • Swift – Swift Overview – Storage Policies • Erasure Codes – Background – Example encode/decode using Reed-Solomon – Minimizing reconstruction cost – PyECLib & liberasurecode • Erasure Code Implementation for Swift – Design considerations – Architecture overview
  • 14. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. History of Erasure Coding Source: Tutorial on Erasure Coding for Storage Applications, Part 1. James Plank FAST ‘13 1960’s • Coding Theory • Reed Solomon, Berlekamp–Massey algorithm 1990’s • Storage • RAID-6: EVENODD, RDP, X-Code • Graph Theory • LDPC Codes (Tornado, Raptor, LT) 2000’s • Coding Theory • Network / Regenerating Codes 2010’s • Storage • Non-MDS codes for cloud and recovery
  • 15. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Terminology • Split a file into k chunks and encode into n chunks, where n-k=m • Systematic vs. Non-systematic – Systematic: encoded output contains input symbols – Non-systematic: encoded output does not contain input symbols • Code word – A set of data and parity related via a set of parity equations – Systematic: f(data) = code word = (data, parity) • Layout – Flat horizontal: each coded symbol is mapped to one device – Array codes have multiple symbols per device: horizontal and vertical • MDS vs. non-MDS – MDS: any k chunks can be used to recover the original file – Non-MDS: k chunks may not be sufficient to recover the file Traditionally, storage systems use systematic, MDS codes
  • 16. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. • Reed-Solomon Codes • Fountain Codes • RAID-6 EVENODD • RAID-6 X-Code • Generalized XOR • Pyramid Codes • Local Repairable Codes (LRC) • Partial MDS Codes (PMDS) • Simple Regenerating Codes and the list goes on… Variations
  • 17. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Reed Solomon Systematic Horizontal Code Layout Example RS(8,5) d2,0 d2,1 d2,2 d2,3 Data d3,0 d3,1 d3,2 d3,3 d4,0 d4,1 d4,2 d4,3 d0,0 d0,1 d0,2 d0,3 d1,0 d1,1 d1,2 d1,3 p0,0 p0,1 p0,2 p0,3 p1,0 p1,1 p1,2 p1,3 p2,0 p2,1 p2,2 p2,3 Parity • Can Tolerate (n-k) Failures • Overhead of just (n/k) total disks = n = 8 parity disks = m = 3 data disks = k = 5 Code word
  • 18. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Reed Solomon Systematic Generator Matrix 1 α0 1 α0 2 α0 3 α0 4 1 α1 1 α1 2 α1 3 α1 4 1 α2 1 α2 2 α2 3 α2 4 1 α3 1 α3 2 α3 3 α3 4 1 α4 1 α4 2 α4 3 α4 4 1 α5 1 α5 2 α5 3 α5 4 1 α6 1 α6 2 α6 3 α6 4 1 α7 1 α7 2 α7 3 α7 4 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 f(x) = c0 +c1x1 + c2x2 + ... + ck-1xk-1 Coefficients are the data f(α0) = y0 f(α1) = y1 … f(αn-1) = yn-1 Reed-Solomon is encoded by oversampling a polynomial Elementary Ops Result has same rank f(α0)
  • 19. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Reed Solomon Systematic Matrix Encoding Process All operations are done in a Galois field Any (k x k) sub-matrix is invertible Code word is the vector-matrix product of the generator matrix and source data pi = d0 + gid1 + gi 2d2 + gi 3d3 + … + gi k-1dk-1 d0 d1 d2 d3 d4 = d0 d1 d2 d3 d4 p1 p2 p3 Generator Matrix data code word 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9
  • 20. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Step 1: Eliminate all but k available rows in the generator matrix Generator Matrix × data = parity d0 d1 d2 d3 d4 = d0 d1 d2 d3 d4 p1 p2 p3 X X X Thesedisksjustdied Reed Solomon Systematic Matrix Decoding Process 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9
  • 21. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Step 2:Invert the resulting matrix 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 g0 g1 g2 g3 g4 Reed Solomon Systematic Matrix Decoding Process Invert G’
  • 22. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Step 3: “Solve” by multiplying k element vector of available symbols by corresponding rows of G’ =G’ G G’ Data Remaining = G’ d0 d1 d2 d3 d4 d1 d2 d4 p1 p2 d0 = g’00d1 + g’01d2 + g’02d4 + g’03p1 + g’04p2 d3 = g’30d1 + g’31d2 + g’32d4 + g’33p1 + g’34p2 Here’s the missing data! Reed Solomon Systematic Matrix Decoding Process
  • 23. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Minimizing Reconstruction Cost • Reed-Solomon requires k available elements to reconstruct any missing element • This has given rise to many codes that minimize repair costs – Regenerating codes, locally repairable codes, flat-XOR codes, etc. – Trade space efficiency for more efficient reconstruction • Replication repair-optimal, RS is space-optimal, these are somewhere in the middle • Simple XOR-only example with k = 6, m = 4: P0 = D0 + D1 + D3 P1 = D1 + D2 + D5 P2 = D0 + D2 + D4 P3 = D3 + D4 + D5 × × D0 = P0 + D1 + D3 D0 = P2 + D2 + D4 Only requires 3 devices to reconstruct one failed device
  • 24. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. PyECLib †Relative tests conducted with home grown test code using ISA-L libra • Goal: provide a pluggable, easy-to-use EC library for Python • Swift is the main use-case • Originally had all logic in PyECLib, but have offloaded “smarts” to liberasurecode – Separation of concerns: one converts between Python and C, and the other does erasure coding – API of PyECLib is same as liberasurecode encode APICore Python-C Interface liberasurecode decode reconstruct required_fragments check_metadata segement_info
  • 25. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. liberasurecode †Relative tests conducted with home grown test code using ISA-L libra • Goal: Separate EC-specific logic from language-specific translation • Embedded metadata: original file size, checksum, version info, etc. • Provides ability to plug-in and use new erasure code schemes/libraries – In addition to XOR codes, we currently provide Jerasure and ISA-L backend plug-in layer Core Backend API API built-in utils Backend-A Backend-B … External Libraries libA libB … XOR Codes Checksums Helpers Pre/Post-Processing encode decode reconstruct required_fragments check_metadata segement_info
  • 26. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Agenda • Swift – Swift Overview – Storage Policies • Erasure Codes – History – Variations – Matrix encode/decode – PyECLib & liberasurecode • Erasure Code Implementation for Swift – Design considerations – Architecture overview
  • 27. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Design Considerations • GET/PUT Erasure Code encode/decode done at proxy server – Aligned with current Swift architecture to focus hardware demanding services in the access tier – Enable in-line Erasure Code directed by client as well as off-line Erasure Code directed by sideband application / management tier • Build Upon Storage Policies – New container metadata will identify whether objects within it are erasure coded • Keep it simple and leverage current architecture – Multiple new storage node services required to assure Erasure Code chunk integrity as well as Erasure Code stripe integrity; modeled after replica services – Storage nodes participate in Erasure Code encode/decode for reconstruction analogous to replication services synchronizing objects
  • 28. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Swift With EC Architecture High Level wsgi server existing modules middleware swift proxy wsgi application wsgi server middleware swift object wsgi application swift account wsgi application swift container wsgi application ProxyNodesStorageNodes controller modifications PyECLib Plug in 1 Plug in 2 existing modules existing modules existing modules EC Auditor EC Reconstructor PyECLib Plug in 1 Plug in 2 metadata changes
  • 29. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Capacity Tier (Storage) Access Tier (Concurrency) Swift With Erasure Code Zone 1 Zone 2 Zone 3 Zone 4 Zone 5 Clients RESTful API, Similar to S3 Download Frag 1 Frag 2 Frag 3 Frag 4 Frag N Decoder Upload Encoder Obj A Obj A • Applications control policy • EC can be inline or offline Erasure Code Technology Lowering TCO for Swift • Supports multiple policies • EC flexibility via plug-in Auth Service
  • 30. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. For More Information… • Trello discussion board: https://trello.com/b/LlvIFIQs/swift-erasure-codes • Launchpad blueprints: https://blueprints.launchpad.net/swift • Swift Code (see feature/EC branch): https://code.launchpad.net/swift • PyECLib: https://bitbucket.org/kmgreen2/pyeclib • Liberasurecode: https://bitbucket.org/tsg-/liberasurecode
  • 31. Insert tutorial title in footer © 2013 Storage Networking Industry Association. All Rights Reserved. Attribution & Feedback 31 Please send any questions or comments regarding this SNIA Tutorial to tracktutorials@snia.org The SNIA Education Committee thanks the following individuals for their contributions to this Tutorial. Authorship History Name/Date of Original Author here: Paul Luse, Kevin Greenan. 8/2014 Updates: None Additional Contributors None
  • 32. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Backup
  • 33. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Block File Object Block, File & Object 33 Specific location on disks / memory Tracks Sectors Specific folder in fixed logical order File path File name Date Flexible container size Data and Metadata Unique ID
  • 34. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Object Store Scalability Flat namespace No volume semantics No Locking/Attributes Contains metadata Durability Replication or Erasure code Manageability REST API Low overhead Consistency Eventually consistent
  • 35. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. Swift Use Cases server1:/exp1 server2:/exp1 DISTRIBUTED VOLUME BRICK BRICK Swift Cluster Storage Node Storage Node Web/Mobile • Images/Audio/Video • Middleware for dynamic resizing • Ex: Wikipedia IAAS -Public or private -Multi-tenant storage -Multiple available gateways VM Images -OpenStack* Integration -Managed by Glance Cloud Backup -Large unstructured data Proxy Nodes Objects AccessTierCapacityTier Load Balancer Auth
  • 36. Swift Object Storage: Adding Erasure Codes © 2014 Storage Networking Industry Association. All Rights Reserved. The CAP Theorem: Pick 2 Consistency (same view) Availability (data access) Partition Tolerance (node access) Enforced Consistency Eventual Consistency Swift chooses Availability and Partition Tolerance over Consistency