SlideShare a Scribd company logo
Development of the !
iRODS-RADOS resource plugin
Matthias Grawinkel (grawinkel@uni-mainz.de)
Zentrum für Datenverarbeitung
Johannes-Gutenberg University Mainz

2014-06-18
3
•  Building an iRODS based archival system for research data
management at Johannes-Gutenberg University of Mainz.
•  Integration and use of existing storage solutions
•  Evaluation of ceph based storage cluster
–  No best practices for iRODS + ceph
Motivation
Ceph OSD
 Ceph OSD
 Ceph OSD
...
iRODS resource server
Rados object store
S3 Gateway
 Ceph FS
 Librados client
4
•  ceph is great!
–  Flexible, fast, robust, scaling storage system framework
•  iRODS S3 plugin + Rados S3 Gateway
–  No stable S3 plugin for e-irods till iRODS 4.0.0
•  Place a staging file system in front of ceph?!
•  Compound Resource cache + archive
•  Ceph FS will provide POSIX file system
–  Maybe a good solution
–  Adds file system overhead to rados store
–  Not stable yet
•  Direct access to rados object store?
–  Let‘s try that!
iRODS + ceph?
5
•  Minimize layers between iRODS resource server and rados
•  Based on iRODS file system plugin
–  POSIX like fs calls
–  create(), open(), read(), write(), close(), rename(), unlink()
–  Data is organized in local filesystem

•  librados – Client to rados cluster
–  Key value store
•  object_id -> blob
•  + user attributes
–  read(), write(), append(), remove()
–  Data is organized in pools
•  Client capabilities r/w per pool
•  Quota (max objects / max bytes)
•  #Replicas, distribution policies, ...
Concept
6
•  Every copy of a file in iRODS has two pathes
–  Logical: /zone/home/user/file
–  Physical: /path/to/storage/zone/home/user/file
•  Mapping file system tree to flat object namespace (key->value)
–  Use /the/full/path as key to blob?
•  Long keys
•  Maintenance of moves?
–  imv /old /new
•  Rados cannot rename a key or move and object
•  Use unique identifier?
–  uuid
–  Hash(content)
•  Hash is known after file is transmitted -> staging required
–  hash(logical path)
•  Rename operations...
File Names & Pathes
7
•  File creation generates uuid as rados key


•  What about directories?
–  iRODS manages namespace operations
–  Are opendir(), readdir(), closedir() required?
–  Can be implemented with some overhead
•  Store logical path as attribute to rados objects
•  Manage file system like directory blocks?
•  Update on create, rename, unlink operations
File Names & Pathes 2
std::string oid = rand_uuid_string();
irods::file_object_ptr fop = 

boost::dynamic_pointer_cast< irods::file_object>( _ctx.fco() );
fop->physical_path(oid);
8
•  New plugin instance on rs for every client session
•  Context for each file/stream
–  Logical / physical path
–  File descriptor
•  Property map per plugin instance
–  Track file descriptor‘s offset in property map
•  Seek, read, write
State in Stateless Architecture
int fd = fop->file_descriptor();
uint64_t read_ptr = 0;
_ctx.prop_map().get < uint64_t > ("OFFSET_PTR_" + fd, read_ptr);

…
_ctx.prop_map().set < uint64_t > ("OFFSET_PTR_” + fd, (read_ptr));
irods::file_object_ptr fop = 

boost::dynamic_pointer_cast< irods::file_object >( _ctx.fco() );
9
•  Ceph cluster connection + io_ctx instance required for access
–  Singleton, lazy initialization per plugin instance
•  Synchronous reads and writes

State in Stateless Architecture 2 
librados::bufferlist write_buf;
write_buf.append((char*)_buf, _len);
int status = io_ctx->write(oid, write_buf, _len, write_ptr);


int status = io_ctx->stat(oid, &psize, &pmtime);
irods::error e = 

_ctx.prop_map().get<librados::IoCtx*>("CEPH_IOCTX", io_ctx);
if (e.code() == KEY_NOT_FOUND) {
connect_rados_cluster();
…
}
10
•  Plugin requires iRODS >= 4.0.3
•  Client
–  20 GB Ram Disk
•  To prepare files for upload
–  10Gig-E
•  Ceph Cluster
–  4 Server, 14 HDDs each, 10Gig-E
–  Ceph 0.80.1 Firefly release
–  One server is icat + rs
–  irods pool + capabilities for client
Evaluation Setup
11
•  Wall clock time of plugin functions

Evaluation Timings
cluster_connect 73.67ms
create 72.61ms
Unlink 77.81ms
stat 89.90ms
12
Demo Time!
Evaluation Results
13
•  iRODS manages namespace + access rights
–  iRODS resource server is client to one rados pool
•  Full access to all objects
•  Single file overhead
–  Cluster connect per agent instance
–  Metadata updates + checks
•  Set physical path + get stat data
•  High (parallel) throughput
–  Multiple user sessions in parallel
–  Multiple files per user session
–  Multiple streams per file
•  Multiple resource server heads for one ceph cluster
–  Composed Round Robin resource
Summary
14
•  Current development:
–  https://github.com/meatz/irods_resource_plugin_rados
•  Contact:
Matthias Grawinkel
grawinkel@uni-mainz.de
Contact & Sources
?!

More Related Content

What's hot

Ceph Day Berlin: Scaling an Academic Cloud
Ceph Day Berlin: Scaling an Academic CloudCeph Day Berlin: Scaling an Academic Cloud
Ceph Day Berlin: Scaling an Academic Cloud
Ceph Community
 
Elastic Search
Elastic SearchElastic Search
Elastic Search
Navule Rao
 
Serving Images with GridFS
Serving Images with GridFSServing Images with GridFS
Serving Images with GridFS
Mark Smalley
 
Elasticsearch 101 - Cluster setup and tuning
Elasticsearch 101 - Cluster setup and tuningElasticsearch 101 - Cluster setup and tuning
Elasticsearch 101 - Cluster setup and tuning
Petar Djekic
 
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
Michael Stack
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
Jihoon Son
 
Redis
RedisRedis
Redis
imalik8088
 
Strata spark streaming2
Strata spark streaming2Strata spark streaming2
Strata spark streaming2
shubham virendra
 
Distcp gobblin
Distcp gobblinDistcp gobblin
Distcp gobblin
Vasanth Rajamani
 
Denser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovDenser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel Emelyanov
OpenVZ
 
PFcache - LinuxCon 2015
PFcache - LinuxCon 2015PFcache - LinuxCon 2015
PFcache - LinuxCon 2015
OpenVZ
 
Bio2RDF - Make the most of Virtuoso Open Source
Bio2RDF - Make the most of Virtuoso Open SourceBio2RDF - Make the most of Virtuoso Open Source
Bio2RDF - Make the most of Virtuoso Open Source
alison.callahan
 
PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)
Pavel Emelyanov
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
Maruf Hassan
 
Performance evaluation of apache tajo
Performance evaluation of apache tajoPerformance evaluation of apache tajo
Performance evaluation of apache tajo
Jihoon Son
 
Redis, a 2 minutes introduction
Redis, a 2 minutes introductionRedis, a 2 minutes introduction
Redis, a 2 minutes introduction
Mirko Calvaresi
 
Apache Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack WorldApache Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack World
Jihoon Son
 
Fundamental file structure concepts &amp; managing files of records
Fundamental file structure concepts &amp; managing files of recordsFundamental file structure concepts &amp; managing files of records
Fundamental file structure concepts &amp; managing files of records
Devyani Vaidya
 

What's hot (19)

Ceph Day Berlin: Scaling an Academic Cloud
Ceph Day Berlin: Scaling an Academic CloudCeph Day Berlin: Scaling an Academic Cloud
Ceph Day Berlin: Scaling an Academic Cloud
 
Elastic Search
Elastic SearchElastic Search
Elastic Search
 
Serving Images with GridFS
Serving Images with GridFSServing Images with GridFS
Serving Images with GridFS
 
Elasticsearch 101 - Cluster setup and tuning
Elasticsearch 101 - Cluster setup and tuningElasticsearch 101 - Cluster setup and tuning
Elasticsearch 101 - Cluster setup and tuning
 
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
hbaseconasia2019 Spatio temporal Data Management based on Ali-HBase Ganos and...
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
 
Redis
RedisRedis
Redis
 
MongoDB
MongoDBMongoDB
MongoDB
 
Strata spark streaming2
Strata spark streaming2Strata spark streaming2
Strata spark streaming2
 
Distcp gobblin
Distcp gobblinDistcp gobblin
Distcp gobblin
 
Denser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel EmelyanovDenser containers with PF cache - Pavel Emelyanov
Denser containers with PF cache - Pavel Emelyanov
 
PFcache - LinuxCon 2015
PFcache - LinuxCon 2015PFcache - LinuxCon 2015
PFcache - LinuxCon 2015
 
Bio2RDF - Make the most of Virtuoso Open Source
Bio2RDF - Make the most of Virtuoso Open SourceBio2RDF - Make the most of Virtuoso Open Source
Bio2RDF - Make the most of Virtuoso Open Source
 
PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)PFcache (Linuxcon, Seattle, 2015)
PFcache (Linuxcon, Seattle, 2015)
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
 
Performance evaluation of apache tajo
Performance evaluation of apache tajoPerformance evaluation of apache tajo
Performance evaluation of apache tajo
 
Redis, a 2 minutes introduction
Redis, a 2 minutes introductionRedis, a 2 minutes introduction
Redis, a 2 minutes introduction
 
Apache Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack WorldApache Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack World
 
Fundamental file structure concepts &amp; managing files of records
Fundamental file structure concepts &amp; managing files of recordsFundamental file structure concepts &amp; managing files of records
Fundamental file structure concepts &amp; managing files of records
 

Similar to Development of the irods rados plugin @ iRODS User group meeting 2014

Hadoop and object stores can we do it better
Hadoop and object stores  can we do it betterHadoop and object stores  can we do it better
Hadoop and object stores can we do it better
gvernik
 
Hadoop and object stores: Can we do it better?
Hadoop and object stores: Can we do it better?Hadoop and object stores: Can we do it better?
Hadoop and object stores: Can we do it better?
gvernik
 
Hadoop ppt1
Hadoop ppt1Hadoop ppt1
Hadoop ppt1
chariorienit
 
Introduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIsIntroduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIs
The HDF-EOS Tools and Information Center
 
Fuse'ing python for rapid development of storage efficient
Fuse'ing python for rapid development of storage efficientFuse'ing python for rapid development of storage efficient
Fuse'ing python for rapid development of storage efficient
Vishal Kanaujia
 
HDFCloud Workshop: HDF5 in the Cloud
HDFCloud Workshop: HDF5 in the CloudHDFCloud Workshop: HDF5 in the Cloud
HDFCloud Workshop: HDF5 in the Cloud
The HDF-EOS Tools and Information Center
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesNot Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Brett Meyer
 
hibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdfhibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdf
Patiento Del Mar
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
The HDF-EOS Tools and Information Center
 
INFINISTORE(tm) - Scalable Open Source Storage Arhcitecture
INFINISTORE(tm) - Scalable Open Source Storage ArhcitectureINFINISTORE(tm) - Scalable Open Source Storage Arhcitecture
INFINISTORE(tm) - Scalable Open Source Storage ArhcitectureThomas Uhl
 
Fuse'ing python for rapid development of storage efficient FS
Fuse'ing python for rapid development of storage efficient FSFuse'ing python for rapid development of storage efficient FS
Fuse'ing python for rapid development of storage efficient FS
Chetan Giridhar
 
Apache Arrow and Python: The latest
Apache Arrow and Python: The latestApache Arrow and Python: The latest
Apache Arrow and Python: The latest
Wes McKinney
 
Big data, just an introduction to Hadoop and Scripting Languages
Big data, just an introduction to Hadoop and Scripting LanguagesBig data, just an introduction to Hadoop and Scripting Languages
Big data, just an introduction to Hadoop and Scripting Languages
Corley S.r.l.
 
CNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X SystemsCNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X Systems
Sam Bowne
 
Scalable Filesystem Metadata Services with RocksDB
Scalable Filesystem Metadata Services with RocksDBScalable Filesystem Metadata Services with RocksDB
Scalable Filesystem Metadata Services with RocksDB
Alluxio, Inc.
 
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, DatatypesHDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
The HDF-EOS Tools and Information Center
 
Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019 Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019
Jim Dowling
 
CI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris MillerCI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris Miller
The Huffington Post Tech Team
 
CI_CONF 2012: Scaling
CI_CONF 2012: ScalingCI_CONF 2012: Scaling
CI_CONF 2012: Scaling
Chris Miller
 
DAOS Middleware overview
DAOS Middleware overviewDAOS Middleware overview
DAOS Middleware overview
Andrey Kudryavtsev
 

Similar to Development of the irods rados plugin @ iRODS User group meeting 2014 (20)

Hadoop and object stores can we do it better
Hadoop and object stores  can we do it betterHadoop and object stores  can we do it better
Hadoop and object stores can we do it better
 
Hadoop and object stores: Can we do it better?
Hadoop and object stores: Can we do it better?Hadoop and object stores: Can we do it better?
Hadoop and object stores: Can we do it better?
 
Hadoop ppt1
Hadoop ppt1Hadoop ppt1
Hadoop ppt1
 
Introduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIsIntroduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIs
 
Fuse'ing python for rapid development of storage efficient
Fuse'ing python for rapid development of storage efficientFuse'ing python for rapid development of storage efficient
Fuse'ing python for rapid development of storage efficient
 
HDFCloud Workshop: HDF5 in the Cloud
HDFCloud Workshop: HDF5 in the CloudHDFCloud Workshop: HDF5 in the Cloud
HDFCloud Workshop: HDF5 in the Cloud
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesNot Just ORM: Powerful Hibernate ORM Features and Capabilities
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
 
hibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdfhibernateormfeatures-140223193044-phpapp02.pdf
hibernateormfeatures-140223193044-phpapp02.pdf
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
INFINISTORE(tm) - Scalable Open Source Storage Arhcitecture
INFINISTORE(tm) - Scalable Open Source Storage ArhcitectureINFINISTORE(tm) - Scalable Open Source Storage Arhcitecture
INFINISTORE(tm) - Scalable Open Source Storage Arhcitecture
 
Fuse'ing python for rapid development of storage efficient FS
Fuse'ing python for rapid development of storage efficient FSFuse'ing python for rapid development of storage efficient FS
Fuse'ing python for rapid development of storage efficient FS
 
Apache Arrow and Python: The latest
Apache Arrow and Python: The latestApache Arrow and Python: The latest
Apache Arrow and Python: The latest
 
Big data, just an introduction to Hadoop and Scripting Languages
Big data, just an introduction to Hadoop and Scripting LanguagesBig data, just an introduction to Hadoop and Scripting Languages
Big data, just an introduction to Hadoop and Scripting Languages
 
CNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X SystemsCNIT 152 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X Systems
 
Scalable Filesystem Metadata Services with RocksDB
Scalable Filesystem Metadata Services with RocksDBScalable Filesystem Metadata Services with RocksDB
Scalable Filesystem Metadata Services with RocksDB
 
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, DatatypesHDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
 
Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019 Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019
 
CI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris MillerCI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris Miller
 
CI_CONF 2012: Scaling
CI_CONF 2012: ScalingCI_CONF 2012: Scaling
CI_CONF 2012: Scaling
 
DAOS Middleware overview
DAOS Middleware overviewDAOS Middleware overview
DAOS Middleware overview
 

Recently uploaded

Investigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesInvestigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_Crimes
StarCompliance.io
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
vcaxypu
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
ukgaet
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
NABLAS株式会社
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
AlejandraGmez176757
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
vcaxypu
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
ewymefz
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
ocavb
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Linda486226
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
nscud
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
ewymefz
 

Recently uploaded (20)

Investigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesInvestigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_Crimes
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 

Development of the irods rados plugin @ iRODS User group meeting 2014

  • 1.
  • 2. Development of the ! iRODS-RADOS resource plugin Matthias Grawinkel (grawinkel@uni-mainz.de) Zentrum für Datenverarbeitung Johannes-Gutenberg University Mainz 2014-06-18
  • 3. 3 •  Building an iRODS based archival system for research data management at Johannes-Gutenberg University of Mainz. •  Integration and use of existing storage solutions •  Evaluation of ceph based storage cluster –  No best practices for iRODS + ceph Motivation Ceph OSD Ceph OSD Ceph OSD ... iRODS resource server Rados object store S3 Gateway Ceph FS Librados client
  • 4. 4 •  ceph is great! –  Flexible, fast, robust, scaling storage system framework •  iRODS S3 plugin + Rados S3 Gateway –  No stable S3 plugin for e-irods till iRODS 4.0.0 •  Place a staging file system in front of ceph?! •  Compound Resource cache + archive •  Ceph FS will provide POSIX file system –  Maybe a good solution –  Adds file system overhead to rados store –  Not stable yet •  Direct access to rados object store? –  Let‘s try that! iRODS + ceph?
  • 5. 5 •  Minimize layers between iRODS resource server and rados •  Based on iRODS file system plugin –  POSIX like fs calls –  create(), open(), read(), write(), close(), rename(), unlink() –  Data is organized in local filesystem •  librados – Client to rados cluster –  Key value store •  object_id -> blob •  + user attributes –  read(), write(), append(), remove() –  Data is organized in pools •  Client capabilities r/w per pool •  Quota (max objects / max bytes) •  #Replicas, distribution policies, ... Concept
  • 6. 6 •  Every copy of a file in iRODS has two pathes –  Logical: /zone/home/user/file –  Physical: /path/to/storage/zone/home/user/file •  Mapping file system tree to flat object namespace (key->value) –  Use /the/full/path as key to blob? •  Long keys •  Maintenance of moves? –  imv /old /new •  Rados cannot rename a key or move and object •  Use unique identifier? –  uuid –  Hash(content) •  Hash is known after file is transmitted -> staging required –  hash(logical path) •  Rename operations... File Names & Pathes
  • 7. 7 •  File creation generates uuid as rados key •  What about directories? –  iRODS manages namespace operations –  Are opendir(), readdir(), closedir() required? –  Can be implemented with some overhead •  Store logical path as attribute to rados objects •  Manage file system like directory blocks? •  Update on create, rename, unlink operations File Names & Pathes 2 std::string oid = rand_uuid_string(); irods::file_object_ptr fop = boost::dynamic_pointer_cast< irods::file_object>( _ctx.fco() ); fop->physical_path(oid);
  • 8. 8 •  New plugin instance on rs for every client session •  Context for each file/stream –  Logical / physical path –  File descriptor •  Property map per plugin instance –  Track file descriptor‘s offset in property map •  Seek, read, write State in Stateless Architecture int fd = fop->file_descriptor(); uint64_t read_ptr = 0; _ctx.prop_map().get < uint64_t > ("OFFSET_PTR_" + fd, read_ptr); … _ctx.prop_map().set < uint64_t > ("OFFSET_PTR_” + fd, (read_ptr)); irods::file_object_ptr fop = boost::dynamic_pointer_cast< irods::file_object >( _ctx.fco() );
  • 9. 9 •  Ceph cluster connection + io_ctx instance required for access –  Singleton, lazy initialization per plugin instance •  Synchronous reads and writes State in Stateless Architecture 2 librados::bufferlist write_buf; write_buf.append((char*)_buf, _len); int status = io_ctx->write(oid, write_buf, _len, write_ptr); int status = io_ctx->stat(oid, &psize, &pmtime); irods::error e = _ctx.prop_map().get<librados::IoCtx*>("CEPH_IOCTX", io_ctx); if (e.code() == KEY_NOT_FOUND) { connect_rados_cluster(); … }
  • 10. 10 •  Plugin requires iRODS >= 4.0.3 •  Client –  20 GB Ram Disk •  To prepare files for upload –  10Gig-E •  Ceph Cluster –  4 Server, 14 HDDs each, 10Gig-E –  Ceph 0.80.1 Firefly release –  One server is icat + rs –  irods pool + capabilities for client Evaluation Setup
  • 11. 11 •  Wall clock time of plugin functions Evaluation Timings cluster_connect 73.67ms create 72.61ms Unlink 77.81ms stat 89.90ms
  • 13. 13 •  iRODS manages namespace + access rights –  iRODS resource server is client to one rados pool •  Full access to all objects •  Single file overhead –  Cluster connect per agent instance –  Metadata updates + checks •  Set physical path + get stat data •  High (parallel) throughput –  Multiple user sessions in parallel –  Multiple files per user session –  Multiple streams per file •  Multiple resource server heads for one ceph cluster –  Composed Round Robin resource Summary
  • 14. 14 •  Current development: –  https://github.com/meatz/irods_resource_plugin_rados •  Contact: Matthias Grawinkel grawinkel@uni-mainz.de Contact & Sources
  • 15. ?!