SlideShare a Scribd company logo
1 of 12
Download to read offline
Swift extensions for Tape Storage
or other High Latency Media
Feb 29, 2016
Slavisa Sarafijanovic (IBM Research)
Harald Seipp (IBM Systems)
Swift API
Swift API extension
for archiving
HLM
Backend
POSIX
File System
Extending Swift for High Latency Media (HLM)
Simple Swift API extension for
archiving*:
 Archive (Disk -> High-Latency Media, async)
 Recall (High-Latency Media -> Disk, async)
 Query status (sync)
Flexible(configurable) SwiftHLM-to-
Backend interface to control archiving:
(A) W/R Swift EA <-> file EA, AND/OR
(B) Call backend executable
All other Swift calls to backend are unmodified
POSIX file system calls
(A)
(B)
2
SwiftHLM
middleware
Swift
CLI
Disk
cache
Tape
MAID
Optical
Disc
*Offloads data from disk, does not change Swift name space
POSIX
File System
SwiftHLM middleware
 External Swift API
 A simple and generic Swift API extension for archiving operations
 We published a proposal [1] and an initial implementation[2]
 Goal: discuss/agree on Swift archiving API
 Amazon’s S3 and Glacier already have an archiving API/function
 Supports different archiving-capable backends
 CLI controlled: simplifies integration of existing HLM storage solutions
 … that already expose POSIX file interface plus CLI and/or policy based ILM
 EA controlled: flexibility for status reporting or developing new backends
 The middleware internals
 CLI controlled backend: the middleware converts requests to CLI calls [2]
 EA controlled backend: e.g. “cont/?MIGRATE” -> per object EA (=> file EA the backend can see/update)
3
[1] Swift/High Latance Media wiki page proposal: https://wiki.openstack.org/wiki/Swift/HighLatencyMedia
[2] SwiftHLM initial implementation: https://github.com/ibm-research/SwiftHLM
Swift API extension proposal
 To migrate a single object, issue following HTTP POST
http://SWIFT-URL/ACCT/CONT/OBJ?MIGRATE
∙ Similar modified GET/POST requests for RECALL and STATUS
 Bulk operations on container level
http://SWIFT-URL/ACCT/CONT?MIGRATE
… or through regular expressions on Swift name space
∙ Get back a request ID for efficient status tracking
4
HLM backend considerations
 Tape mount/seek/read take minutes
 .. or even 10s of minutes and longer when:
 Many file requests are queued to a single tape (sequential data access)
 Much more tapes are requested than drives available (drives cost..)
 .. which is typical way to use tape for performance/cost reasons
 Tape resources and data need to be managed
 Ordering and grouping files access (mounts/unmounts)
 Tape reconcile and reclaim
 => it is good to allow leveraging existing HLM solutions
 A free open source HLM backend ?
 A promising ongoing work by BDT:
 https://github.com/BDT-GER/SWIFT-TLC
 Based on XFS and open source LTFS file system for tape (single drive edition)
5
Adding HLM to an existing Swift cluster
6
Client Application
Standard Swift API
with SwiftHLM extensions
(REST)
Standard HDD Data Ring
(replication or erasure code)
scale-out
HLM based Data Ring
(replication across nodes)
scale-out
OpenStack Swift SwiftHLM
middleware
HLM
backend
Storage Node
Tape
MAID
Disc
cache
Optical
Disc
HLM
backend
Storage Node
Tape
MAID
Disc
cache
Optical
Disc
 Take unmodified Swift
 Add SwiftHLM middleware
 Add HLM backend
 Configure HLM based Data
Ring
 Use existing Swift client to
put/get containers, objects
 To archive a container or
an object, or see its status
 Either modify existing Swift
client
 Or use a modified open
source Swift browser
(snapshot on next page)
Archiving operations via Swift browser (a demo screenshots)
The demo is built using:
 An open source Django Swift
browser was used and
adjusted:
https://github.com/cschwede/
django-swiftbrowser
 Swift browser is accessing Swift
via the Swift interface extended
using SwiftHLM middleware
 Open source SwiftHLM
middleware:
https://github.com/ibm-
research/SwiftHLM
 IBM Spectrum Archive® as the
HLM backend
Archiving a container from disk to tape:
Archiving operations via Swift browser (a demo screenshots)
The demo is built using:
 An open source Django Swift
browser was used and
adjusted:
https://github.com/cschwede/
django-swiftbrowser
 Swift browser is accessing Swift
via the Swift interface extended
using SwiftHLM middleware
 Open source SwiftHLM
middleware:
https://github.com/ibm-
research/SwiftHLM
 IBM Spectrum Archive® as the
HLM backend
Recalling a container from tape to disk:
Archiving operations via Swift browser (a demo screenshots)
The demo is built using:
 An open source Django Swift
browser was used and
adjusted:
https://github.com/cschwede/
django-swiftbrowser
 Swift browser is accessing Swift
via the Swift interface extended
using SwiftHLM middleware
 Open source SwiftHLM
middleware:
https://github.com/ibm-
research/SwiftHLM
 IBM Spectrum Archive® as the
HLM backend
Recalling an individual object from tape to disk:
Backup slides
Swift proxy layer
Standard backend
11
Swift data ring 1 Swift data ring 2
ILM capable backend
Disk Disk High Latency
Media
Swift Data Tiering
(ring to ring)
Swift Archiving
(within a data ring)
Swift data access
We see the two functions as orthogonal and complementary to each other
Swift data tiering vs archiving
“horizonatal tiering”
“vertical tiering”
[root@zagreb objects]# curl -v -H 'X-Storage-Token: AUTH_tk32178b0f448f43f3808f33b48764002e' -X POST
http://127.0.0.1:8080/v1/AUTH_test/contT1/obj0?MIGRATE
* About to connect() to 127.0.0.1 port 8080 (#0)
* Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> POST /v1/AUTH_test/contT1/obj0?MIGRATE HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.18 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: 127.0.0.1:8080
> Accept: */*
> X-Storage-Token: AUTH_tk32178b0f448f43f3808f33b48764002e
>
< HTTP/1.1 200 OK
< Content-Length: 28
< Content-Type: text/plain
< X-Trans-Id: tx444cd88875294f21bd703-0055c0a93f
< Date: Tue, 04 Aug 2015 12:00:00 GMT
<
Accepted migration request.
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0
[root@zagreb objects]#
• Curl is an existing Swift client (for remote Swift access)
12
SwiftHLM curl example

More Related Content

What's hot

An intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data WorkshopAn intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data WorkshopPatrick McGarry
 
Hadoop over rgw
Hadoop over rgwHadoop over rgw
Hadoop over rgwzhouyuan
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Sage Weil
 
CEPH DAY BERLIN - WHAT'S NEW IN CEPH
CEPH DAY BERLIN - WHAT'S NEW IN CEPH CEPH DAY BERLIN - WHAT'S NEW IN CEPH
CEPH DAY BERLIN - WHAT'S NEW IN CEPH Ceph Community
 
Disperse xlator ramon_datalab
Disperse xlator ramon_datalabDisperse xlator ramon_datalab
Disperse xlator ramon_datalabGluster.org
 
Red Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFSRed Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFSbipin kunal
 
Ceph Overview for Distributed Computing Denver Meetup
Ceph Overview for Distributed Computing Denver MeetupCeph Overview for Distributed Computing Denver Meetup
Ceph Overview for Distributed Computing Denver Meetupktdreyer
 
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage Tiering
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage TieringHadoop Meetup Jan 2019 - Router-Based Federation and Storage Tiering
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage TieringErik Krogen
 
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...Ian Colle
 
HKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversHKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversLinaro
 
Dustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveDustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveGluster.org
 
Red Hat Storage Server For AWS
Red Hat Storage Server For AWSRed Hat Storage Server For AWS
Red Hat Storage Server For AWSRed_Hat_Storage
 
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...TomBarron
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesKamesh Pemmaraju
 
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Linux Stammtisch Munich: Ceph - Overview, Experiences and OutlookLinux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Linux Stammtisch Munich: Ceph - Overview, Experiences and OutlookDanny Al-Gaaf
 

What's hot (17)

An intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data WorkshopAn intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data Workshop
 
Hadoop over rgw
Hadoop over rgwHadoop over rgw
Hadoop over rgw
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)
 
CEPH DAY BERLIN - WHAT'S NEW IN CEPH
CEPH DAY BERLIN - WHAT'S NEW IN CEPH CEPH DAY BERLIN - WHAT'S NEW IN CEPH
CEPH DAY BERLIN - WHAT'S NEW IN CEPH
 
Disperse xlator ramon_datalab
Disperse xlator ramon_datalabDisperse xlator ramon_datalab
Disperse xlator ramon_datalab
 
Red Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFSRed Hat Gluster Storage : GlusterFS
Red Hat Gluster Storage : GlusterFS
 
Ceph Overview for Distributed Computing Denver Meetup
Ceph Overview for Distributed Computing Denver MeetupCeph Overview for Distributed Computing Denver Meetup
Ceph Overview for Distributed Computing Denver Meetup
 
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage Tiering
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage TieringHadoop Meetup Jan 2019 - Router-Based Federation and Storage Tiering
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage Tiering
 
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
 
YDAL Barcelona
YDAL BarcelonaYDAL Barcelona
YDAL Barcelona
 
HKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversHKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM servers
 
Ceph Research at UCSC
Ceph Research at UCSCCeph Research at UCSC
Ceph Research at UCSC
 
Dustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveDustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep Dive
 
Red Hat Storage Server For AWS
Red Hat Storage Server For AWSRed Hat Storage Server For AWS
Red Hat Storage Server For AWS
 
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
 
New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference Architectures
 
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Linux Stammtisch Munich: Ceph - Overview, Experiences and OutlookLinux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
Linux Stammtisch Munich: Ceph - Overview, Experiences and Outlook
 

Similar to Swift extensions for Tape Storage or other High-Latency Media

Adapting Swift for Tape Storage or other high-latency media
Adapting Swift for Tape Storage or other high-latency mediaAdapting Swift for Tape Storage or other high-latency media
Adapting Swift for Tape Storage or other high-latency mediaHarald Seipp
 
Swift high-latency-media-middleware--open stack-summit-barcelona2016
Swift high-latency-media-middleware--open stack-summit-barcelona2016Swift high-latency-media-middleware--open stack-summit-barcelona2016
Swift high-latency-media-middleware--open stack-summit-barcelona2016Slavisa Sarafijanovic
 
Open stack summit-2015-dp
Open stack summit-2015-dpOpen stack summit-2015-dp
Open stack summit-2015-dpDirk Petersen
 
Spectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN CachingSpectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN CachingSandeep Patil
 
Software Defined Analytics with File and Object Access Plus Geographically Di...
Software Defined Analytics with File and Object Access Plus Geographically Di...Software Defined Analytics with File and Object Access Plus Geographically Di...
Software Defined Analytics with File and Object Access Plus Geographically Di...Trishali Nayar
 
AdvFS/Advanced File System Ccncepts
AdvFS/Advanced File System CcnceptsAdvFS/Advanced File System Ccncepts
AdvFS/Advanced File System CcnceptsJustin Goldberg
 
IBM Platform Computing Elastic Storage
IBM Platform Computing  Elastic StorageIBM Platform Computing  Elastic Storage
IBM Platform Computing Elastic StoragePatrick Bouillaud
 
Introduction to Memory-Style Storage in Linux
Introduction to Memory-Style Storage in LinuxIntroduction to Memory-Style Storage in Linux
Introduction to Memory-Style Storage in LinuxClay (Chih-Hao) Chang
 
Fluentd - Set Up Once, Collect More
Fluentd - Set Up Once, Collect MoreFluentd - Set Up Once, Collect More
Fluentd - Set Up Once, Collect MoreSadayuki Furuhashi
 
Flexible and Fast Storage for Deep Learning with Alluxio
Flexible and Fast Storage for Deep Learning with Alluxio Flexible and Fast Storage for Deep Learning with Alluxio
Flexible and Fast Storage for Deep Learning with Alluxio Alluxio, Inc.
 
Ceph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To EnterpriseCeph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To EnterpriseAlex Lau
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)DataWorks Summit
 
Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Tokyo - Bring Ceph to Enterprise Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Tokyo - Bring Ceph to Enterprise Ceph Community
 
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposhaPgDay.Seoul
 
Setting up a big data platform at kelkoo
Setting up a big data platform at kelkooSetting up a big data platform at kelkoo
Setting up a big data platform at kelkooFabrice dos Santos
 
Scaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesScaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesRobert Lemke
 
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarProduction FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarParis Container Day
 
Media Content Delivery Systems
Media Content Delivery SystemsMedia Content Delivery Systems
Media Content Delivery Systemsashbyb
 

Similar to Swift extensions for Tape Storage or other High-Latency Media (20)

Adapting Swift for Tape Storage or other high-latency media
Adapting Swift for Tape Storage or other high-latency mediaAdapting Swift for Tape Storage or other high-latency media
Adapting Swift for Tape Storage or other high-latency media
 
Swift high-latency-media-middleware--open stack-summit-barcelona2016
Swift high-latency-media-middleware--open stack-summit-barcelona2016Swift high-latency-media-middleware--open stack-summit-barcelona2016
Swift high-latency-media-middleware--open stack-summit-barcelona2016
 
Open stack summit-2015-dp
Open stack summit-2015-dpOpen stack summit-2015-dp
Open stack summit-2015-dp
 
Spectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN CachingSpectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN Caching
 
Software Defined Analytics with File and Object Access Plus Geographically Di...
Software Defined Analytics with File and Object Access Plus Geographically Di...Software Defined Analytics with File and Object Access Plus Geographically Di...
Software Defined Analytics with File and Object Access Plus Geographically Di...
 
AdvFS/Advanced File System Ccncepts
AdvFS/Advanced File System CcnceptsAdvFS/Advanced File System Ccncepts
AdvFS/Advanced File System Ccncepts
 
IBM Platform Computing Elastic Storage
IBM Platform Computing  Elastic StorageIBM Platform Computing  Elastic Storage
IBM Platform Computing Elastic Storage
 
Ch11 file system interface
Ch11 file system interfaceCh11 file system interface
Ch11 file system interface
 
Introduction to Memory-Style Storage in Linux
Introduction to Memory-Style Storage in LinuxIntroduction to Memory-Style Storage in Linux
Introduction to Memory-Style Storage in Linux
 
Fluentd - Set Up Once, Collect More
Fluentd - Set Up Once, Collect MoreFluentd - Set Up Once, Collect More
Fluentd - Set Up Once, Collect More
 
Flexible and Fast Storage for Deep Learning with Alluxio
Flexible and Fast Storage for Deep Learning with Alluxio Flexible and Fast Storage for Deep Learning with Alluxio
Flexible and Fast Storage for Deep Learning with Alluxio
 
Ceph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To EnterpriseCeph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To Enterprise
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
 
Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Tokyo - Bring Ceph to Enterprise Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Tokyo - Bring Ceph to Enterprise
 
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
 
Setting up a big data platform at kelkoo
Setting up a big data platform at kelkooSetting up a big data platform at kelkoo
Setting up a big data platform at kelkoo
 
Scaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesScaleable PHP Applications in Kubernetes
Scaleable PHP Applications in Kubernetes
 
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago ScolarProduction FS: Adapt or die - Claudia Beresford & Tiago Scolar
Production FS: Adapt or die - Claudia Beresford & Tiago Scolar
 
Media Content Delivery Systems
Media Content Delivery SystemsMedia Content Delivery Systems
Media Content Delivery Systems
 
Beyondfs-intro
Beyondfs-introBeyondfs-intro
Beyondfs-intro
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Swift extensions for Tape Storage or other High-Latency Media

  • 1. Swift extensions for Tape Storage or other High Latency Media Feb 29, 2016 Slavisa Sarafijanovic (IBM Research) Harald Seipp (IBM Systems)
  • 2. Swift API Swift API extension for archiving HLM Backend POSIX File System Extending Swift for High Latency Media (HLM) Simple Swift API extension for archiving*:  Archive (Disk -> High-Latency Media, async)  Recall (High-Latency Media -> Disk, async)  Query status (sync) Flexible(configurable) SwiftHLM-to- Backend interface to control archiving: (A) W/R Swift EA <-> file EA, AND/OR (B) Call backend executable All other Swift calls to backend are unmodified POSIX file system calls (A) (B) 2 SwiftHLM middleware Swift CLI Disk cache Tape MAID Optical Disc *Offloads data from disk, does not change Swift name space POSIX File System
  • 3. SwiftHLM middleware  External Swift API  A simple and generic Swift API extension for archiving operations  We published a proposal [1] and an initial implementation[2]  Goal: discuss/agree on Swift archiving API  Amazon’s S3 and Glacier already have an archiving API/function  Supports different archiving-capable backends  CLI controlled: simplifies integration of existing HLM storage solutions  … that already expose POSIX file interface plus CLI and/or policy based ILM  EA controlled: flexibility for status reporting or developing new backends  The middleware internals  CLI controlled backend: the middleware converts requests to CLI calls [2]  EA controlled backend: e.g. “cont/?MIGRATE” -> per object EA (=> file EA the backend can see/update) 3 [1] Swift/High Latance Media wiki page proposal: https://wiki.openstack.org/wiki/Swift/HighLatencyMedia [2] SwiftHLM initial implementation: https://github.com/ibm-research/SwiftHLM
  • 4. Swift API extension proposal  To migrate a single object, issue following HTTP POST http://SWIFT-URL/ACCT/CONT/OBJ?MIGRATE ∙ Similar modified GET/POST requests for RECALL and STATUS  Bulk operations on container level http://SWIFT-URL/ACCT/CONT?MIGRATE … or through regular expressions on Swift name space ∙ Get back a request ID for efficient status tracking 4
  • 5. HLM backend considerations  Tape mount/seek/read take minutes  .. or even 10s of minutes and longer when:  Many file requests are queued to a single tape (sequential data access)  Much more tapes are requested than drives available (drives cost..)  .. which is typical way to use tape for performance/cost reasons  Tape resources and data need to be managed  Ordering and grouping files access (mounts/unmounts)  Tape reconcile and reclaim  => it is good to allow leveraging existing HLM solutions  A free open source HLM backend ?  A promising ongoing work by BDT:  https://github.com/BDT-GER/SWIFT-TLC  Based on XFS and open source LTFS file system for tape (single drive edition) 5
  • 6. Adding HLM to an existing Swift cluster 6 Client Application Standard Swift API with SwiftHLM extensions (REST) Standard HDD Data Ring (replication or erasure code) scale-out HLM based Data Ring (replication across nodes) scale-out OpenStack Swift SwiftHLM middleware HLM backend Storage Node Tape MAID Disc cache Optical Disc HLM backend Storage Node Tape MAID Disc cache Optical Disc  Take unmodified Swift  Add SwiftHLM middleware  Add HLM backend  Configure HLM based Data Ring  Use existing Swift client to put/get containers, objects  To archive a container or an object, or see its status  Either modify existing Swift client  Or use a modified open source Swift browser (snapshot on next page)
  • 7. Archiving operations via Swift browser (a demo screenshots) The demo is built using:  An open source Django Swift browser was used and adjusted: https://github.com/cschwede/ django-swiftbrowser  Swift browser is accessing Swift via the Swift interface extended using SwiftHLM middleware  Open source SwiftHLM middleware: https://github.com/ibm- research/SwiftHLM  IBM Spectrum Archive® as the HLM backend Archiving a container from disk to tape:
  • 8. Archiving operations via Swift browser (a demo screenshots) The demo is built using:  An open source Django Swift browser was used and adjusted: https://github.com/cschwede/ django-swiftbrowser  Swift browser is accessing Swift via the Swift interface extended using SwiftHLM middleware  Open source SwiftHLM middleware: https://github.com/ibm- research/SwiftHLM  IBM Spectrum Archive® as the HLM backend Recalling a container from tape to disk:
  • 9. Archiving operations via Swift browser (a demo screenshots) The demo is built using:  An open source Django Swift browser was used and adjusted: https://github.com/cschwede/ django-swiftbrowser  Swift browser is accessing Swift via the Swift interface extended using SwiftHLM middleware  Open source SwiftHLM middleware: https://github.com/ibm- research/SwiftHLM  IBM Spectrum Archive® as the HLM backend Recalling an individual object from tape to disk:
  • 11. Swift proxy layer Standard backend 11 Swift data ring 1 Swift data ring 2 ILM capable backend Disk Disk High Latency Media Swift Data Tiering (ring to ring) Swift Archiving (within a data ring) Swift data access We see the two functions as orthogonal and complementary to each other Swift data tiering vs archiving “horizonatal tiering” “vertical tiering”
  • 12. [root@zagreb objects]# curl -v -H 'X-Storage-Token: AUTH_tk32178b0f448f43f3808f33b48764002e' -X POST http://127.0.0.1:8080/v1/AUTH_test/contT1/obj0?MIGRATE * About to connect() to 127.0.0.1 port 8080 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0) > POST /v1/AUTH_test/contT1/obj0?MIGRATE HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.18 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: 127.0.0.1:8080 > Accept: */* > X-Storage-Token: AUTH_tk32178b0f448f43f3808f33b48764002e > < HTTP/1.1 200 OK < Content-Length: 28 < Content-Type: text/plain < X-Trans-Id: tx444cd88875294f21bd703-0055c0a93f < Date: Tue, 04 Aug 2015 12:00:00 GMT < Accepted migration request. * Connection #0 to host 127.0.0.1 left intact * Closing connection #0 [root@zagreb objects]# • Curl is an existing Swift client (for remote Swift access) 12 SwiftHLM curl example