Scibox: Online Sharing of Scientific Data via the Cloud Jian Huang†, Xuechen Zhang†, Greg Eisenhauer†, Karsten Schwan† Matthew Wolf†,‡, Stephane EthierÇ‚, Scott Klasky‡ †CERCS Research Center, Georgia Tech Ç‚Princeton Plasma Physics Laboratory ‡Oak Ridge National Laboratory Supported in part by funding from the US Department of Energy for DOE SDAV SciDac 1 Outline • • • • • Background and Motivation Problems and Challenges Design and Implementation Evaluation Conclusion and Future Work 2 Cloud Storage is Popular Easy-of-use Pay-as-you-go model Universal accessibility Good scalability and durability 3 Cloud Storage is Popular Easy-of-use Pay-as-you-go model Universal accessibility Good scalability and durability Works based on cloud storage • Dropbox, GoogleDrive, iCloud, SkyDrive, and etc. 3 Cloud Storage is Popular Easy-of-use Pay-as-you-go model Universal accessibility Good scalability and durability Works based on cloud storage • Dropbox, GoogleDrive, iCloud, SkyDrive, and etc. Scibox: focus on scientific data sharing 3 Use Cases for Cloud Storage Combustion Experimental Data Aero Cluster Private Cloud 4 Use Cases for Cloud Storage Combustion Experimental Data Aero Cluster Private Cloud 4 Use Cases for Cloud Storage Combustion Experimental Data Private Cloud Image Processing Aero Cluster Student PC 4 Use Cases for Cloud Storage Combustion Experimental Data Private Cloud GTS/ LAMMPS Aero Cluster Vogue Image Processing Student PC 4 Use Cases for Cloud Storage Combustion Experimental Data Private Public Cloud GTS/ LAMMPS Aero Cluster Vogue Image Processing Student PC 4 Use Cases for Cloud Storage Combustion Experimental Data Visualization Private Public Cloud GTS/ LAMMPS Aero Cluster Vogue Image Processing Student PC GeorgiaTech (Atlanta) WSU (Detroit) OSU (Columbus) 4 Use Cases for Cloud Storage Combustion Experimental Data Visualization Private Public Cloud GTS/ LAMMPS 1. 2. 3. Aero Cluster Vogue Image Processing Easy of use Universal accessibility Good scalability Student PC GeorgiaTech (Atlanta) WSU (Detroit) OSU (Columbus) 4 Outline • • • • • Background and Motivation Problems and Challenges Design and Implementation Evaluation Conclusion and Future Work 5 Cloud Storage is Not Ready for HEC Scientific applications are data-intensive • Generate large amounts of data 6 Cloud Storage is Not Ready for HEC Scientific applications are data-intensive • Generate large amounts of data Networking bandwidth is limited • Inadequate levels of ingress and remote cloud stores egress bandwidths available to/from 6 Cloud Storage is Not Ready for HEC Scientific applications are data-intensive • Generate large amounts of data Networking bandwidth is limited • Inadequate levels of ingress and remote cloud stores egress bandwidths available to/from High costs imposed by cloud providers • Expensive for large amounts of data when using the pay-as-you-go model 6 Cloud Storage is Not Ready for HEC Scientific applications are data-intensive • Generate large amounts of data Networking bandwidth is limited • Inadequate levels of ingress and remote cloud stores egress bandwidths available to/from High costs imposed by cloud providers • Expensive for large amounts of data when using the pay-as-you-go model An example: A GTS runs on 29K cores on the Jaguar machine at OLCF generates over 54 Terabytes of data in a 24 hour period. Amazon S3: ~$0.03/GB for storage and $0.09/GB for data transfer out. Cost: $6635.52/day, increases with increasing number of collaborators 6 Problem: Too Much Data Movement Issue: naïve approach transfers lots of data, even if only some of it is needed Time Time step step 00 AA00 AA11 AA22 … … AAnn BB00 BB11 BB22 … … BBnn CC00 CC11 CC22 … … CCnn Time Time step step 11 AA00 AA11 AA22 … … AAnn BB00 BB11 BB22 … … BBnn CC00 CC11 CC22 … … CCnn … … Example Output of GTS fusion modeling simulation: Checkpoint data, diagnosis data, visualization data and etc. Each data subset includes many elements Cloud Data producer Data consumer 7 Problem: Too Much Data Movement Issue: naïve approach transfers lots of data, even if only some of it is needed Time Time step step 00 AA00 AA11 AA22 … … AAnn BB00 BB11 BB22 … … BBnn CC00 CC11 CC22 … … CCnn Time Time step step 11 AA00 AA11 AA22 … … AAnn BB00 BB11 BB22 … … BBnn CC00 CC11 CC22 … … CCnn … … Cloud Data producer Data consumer 7 Problem: Too Much Data Movement Issue: naïve approach transfers lots of data, even if only some of it is needed Time Time step step 00 AA00 AA11 AA22 … … AAnn BB00 BB11 BB22 … … BBnn CC00 CC11 CC22 … … CCnn Time Time step step 11 AA00 AA11 AA22 … … AAnn BB00 BB11 BB22 … … BBnn CC00 CC11 CC22 … … CCnn … … • Scientific data formats: BP/HDF5 Structured and meta-data rich • Standard I/O interface: ADIOS Almost transparent to users Cloud Data producer Data consumer 7 Problem: Too Much Data Movement Issue: naïve approach transfers lots of data, even if only some of it is needed Time step 0 A0 A1 A2 … A n B0 B1 B2 … Bn C0 C1 C2 … Cn Time step 1 A0 A1 A2 … A n B0 B1 B2 … Bn C0 C1 C2 … Cn … • Scientific data formats: BP/HDF5 Structured and meta-data rich • Standard I/O interface: ADIOS Almost transparent to users Cloud Data producer Data consumer 7 Problem: Too Much Data Movement Issue: naïve approach transfers lots of data, even if only some of it is needed Time step 0 A0 A1 A2 … A n B0 B1 B2 … Bn C0 C1 C2 … Cn Time step 1 A0 A1 A2 … A n B0 B1 B2 … Bn C0 C1 C2 … Cn … • Scientific data formats: BP/HDF5 Structured and meta-data rich • Standard I/O interface: ADIOS Almost transparent to users Cloud Data producer Data consumer 7 Problem: Too Much Data Movement Issue: naïve approach transfers lots of data, even if only some of it is needed Time step 0 A0 A1 A2 … A n B0 B1 B2 … Bn C0 C1 C2 … Cn Time step 1 A0 A1 A2 … A n B0 B1 B2 … Bn C0 C1 C2 … Cn … • Scientific data formats: BP/HDF5 Structured and meta-data rich • Standard I/O interface: ADIOS Almost transparent to users Cloud Data producer Data consumer Goal: Reduce data transfer from producers to consumers 7 Solutions for Minimizing Data Transfers for Data Sharing Compression • Helps, but compression ratio can be low for floating-point scientific data 8 Solutions for Minimizing Data Transfers for Data Sharing Compression • Helps, but compression ratio can be low for floating-point scientific data Data selection • Files: users can ask for subsets of data files, by specifying file offsets • Requires knowledge about data layout in files 8 Solutions for Minimizing Data Transfers for Data Sharing Compression • Helps, but compression ratio can be low for floating-point scientific data Data selection • Files: users can ask for subsets of data files, by specifying file offsets • Requires knowledge about data layout in files Content-based data indexing • Useful, but may require large amounts of meta-data 8 Solutions for Minimizing Data Transfers for Data Sharing Compression • Helps, but compression ratio can be low for floating-point scientific data Data selection • Files: users can ask for subsets of data files, by specifying file offsets • Requires knowledge about data layout in files Content-based data indexing • Useful, but may require large amounts of meta-data Scibox Approaches: • Filter unnecessary data at producer-side via metadata (uploads) 8 Solutions for Minimizing Data Transfers for Data Sharing Compression • Helps, but compression ratio can be low for floating-point scientific data Data selection • Files: users can ask for subsets of data files, by specifying file offsets • Requires knowledge about data layout in files Content-based data indexing • Useful, but may require large amounts of meta-data Scibox Approaches: • Filter unnecessary data at producer-side via metadata (uploads) • Merge overlapping subsets when multiple users share the same data (uploads) 8 Solutions for Minimizing Data Transfers for Data Sharing Compression • Helps, but compression ratio can be low for floating-point scientific data Data selection • Files: users can ask for subsets of data files, by specifying file offsets • Requires knowledge about data layout in files Content-based data indexing • Useful, but may require large amounts of meta-data Scibox Approaches: • Filter unnecessary data at producer-side via metadata (uploads) • Merge • overlapping subsets when multiple users share the same data (uploads) Minimize data sharing cost in cloud storage via new (downloads) software protocol 8 Challenge: How to Filter Data Recall: scientific data is structured and meta-data rich Time step 0 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn Time step 1 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn … Time step 0 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn … Time step 1 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn … Variable { dimensions, attributes } Time steps 9 Challenge: How to Filter Data Recall: scientific data is structured and meta-data rich Time step 0 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn Time step 1 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn … Time step 0 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn … Time step 1 A0 A1 A2 … An B0 B1 B2 … Bn C0 C1 C2 … Cn … Variable { dimensions, attributes } Time steps Analytics users know what can/needs to be filtered 9 Outline • • • • • Background and Motivation Problems and Challenges Design and Implementation Evaluation Conclusion and Future Work 10 Scibox Design D(ata)R(eduction)-Function for data filtering • Reduce cloud upload/download volumes • Permit end users to identify the exact data needed for each specific analytics activity, using filters 11 Scibox Design D(ata)R(eduction)-Function for data filtering • Reduce cloud upload/download volumes • Permit end users to identify the exact data needed for each specific analytics activity, using filters Merge shared data objects before uploading • Promote data sharing in the cloud to reduce data redundancy on the storage server and data volumes transferred across the network 11 Scibox Design D(ata)R(eduction)-Function for data filtering • Reduce cloud upload/download volumes • Permit end users to identify the exact data needed for each specific analytics activity, using filters Merge shared data objects before uploading • Promote data sharing in the cloud to reduce data redundancy on the storage server and data volumes transferred across the network Utilize ADIOS metadata-rich I/O methods New ADIOS I/O transport • Write output to cloud that can be directly read by subsequent, potentially remote data analytics or visualization codes • Transparent on both the producer and consumer sides 11 Scibox Design D(ata)R(eduction)-Function for data filtering • Reduce cloud upload/download volumes • Permit end users to identify the exact data needed for each specific analytics activity, using filters Merge shared data objects before uploading • Promote data sharing in the cloud to reduce data redundancy on the storage server and data volumes transferred across the network Utilize ADIOS metadata-rich I/O methods New ADIOS I/O transport • Write output to cloud that can be directly read by subsequent, potentially remote data analytics or visualization codes • Transparent on both the producer and consumer sides Partial object access for private cloud storage • Patch the OpenStack Swift object store 11 Cloud-IO Transport Account Server Container Server Object Server Authentication HPC Applications Store Node ADIOS API Account Server Container Server Object Server Auth Node DR-Function Run-time Execution CLOUD-IO Viz Engines pnetCDF HDF-5 DART LIVE/DataTap POSIX-IO MPI-IO Others (Plug-in) Store Node Account Server Container Server Object Server Store Node Account Server Container Server Object Server Store Node Proxy Node HPC Platform Swift Object Storage 12 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 38 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 39 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 40 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 41 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 42 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 43 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 44 Scibox Architecture Amazon S3/ OpenStack Swift Scibox Client Cloud-IO (Write) Cloud Storage Data Producer Scibox Client Cloud-IO (Read) Data Consumer Control Flow Data Flow User Group 45 Sample XML File <?xml version="1.0"?> <adios-config host-language="Fortran"> <adios-group name="restart" coordination-communicator="comm"> <var name="mype" type="integer"/> <var name="numberpe" type="integer"/> <var name="istep" type="integer"/> <var name="MIMAX_VAR" type="integer"/> <var name="NX" type="integer"/> <var name="NY" type="integer"/> <var name="zion0_1Darray" gwrite="zion0" type="double" dimensions="MIMAX_VAR”/> <var name="phi_2Darray" gwrite="phi" type="double" dimensions="NX, NY"/> <!– for reader.xml --> </adios-group> <method group="restart" method=”CLOUD-IO”>;</method> <buffer size-MB="20" allocate-time="now"/> </adios-config> 14 Sample XML File <?xml version="1.0"?> <adios-config host-language="Fortran"> <adios-group name="restart" coordination-communicator="comm"> <var name="mype" type="integer"/> <var name="numberpe" type="integer"/> <var name="istep" type="integer"/> <var name="MIMAX_VAR" type="integer"/> <var name="NX" type="integer"/> <var name="NY" type="integer"/> <var name="zion0_1Darray" gwrite="zion0" type="double" dimensions="MIMAX_VAR”/> <var name="phi_2Darray" gwrite="phi" type="double" dimensions="NX, NY"/> <!– for reader.xml --> <rd type=8 name="phi_2Darray” cod=“int i; double sum = 0.0; for(i = 0; i<input.count; i= i+1) { sum = sum + input.vals[i]; } return sum;” /> </adios-group> <method group="restart" method=”CLOUD-IO”>;</method> <buffer size-MB="20" allocate-time="now"/> </adios-config> 14 Data Reduction (DR) Functions Definition • Function defined by end-users that can transform/reduce data to prepare it for cloud storage 15 Data Reduction (DR) Functions Definition • Function defined by end-users that can transform/reduce data to prepare it for cloud storage Creation • Programmed by end users • Generated from higher level descriptions • Derived from users’ I/O access patterns 15 Data Reduction (DR) Functions Definition • Function defined by end-users that can transform/reduce data to prepare it for cloud storage Creation • Programmed by end users • Generated from higher level descriptions • Derived from users’ I/O access patterns Current implementation • Customized CoD (C on Demand) require producer-side computational resources • DR-function library same DR-function specified by multiple clients, will be executed only once, and its output data will be reused for multiple consumers 15 DR-functions Provided by SciBox Type Description Example DR1 Max(variable) Max(var_double_2Darray) DR2 Min(variable) Min(var_double_2Darray) DR3 Mean(variable) Mean(var_double_2Darray) DR4 Range(variable, dimension, start_pos, end_pos) Range(var_int_1Darray, 1, 100, 1000) DR5 Select(variable, threshold1, threshold2) Select var.value where var.value in (threshold1, threshold2) DR6 Select(variable, DR_Function1, DR_Function2) Select var.value where var.value ≥ Mean(var) DR7 Select(variable1, variable2, threshold1, threshold2) Select var2.value where var1.value in (threshold1, threshold2) DR8 Self defined function Double proc(cod_exec_context ec, input_type * input, int k, int m) {int I; intj; double sum = 0.0; double average=0.0; for(i=0;i<m;i++)sum+=input.tmpbuf[i+k*m];aver age=sum/m; resturn average;} 51 DR-functions Provided by SciBox Type Description Example DR1 Max(variable) Max(var_double_2Darray) DR2 Min(variable) Min(var_double_2Darray) DR3 Mean(variable) Mean(var_double_2Darray) DR4 Range(variable, dimension, start_pos, end_pos) Range(var_int_1Darray, 1, 100, 1000) DR5 Select(variable, threshold1, threshold2) Select var.value where var.value in (threshold1, threshold2) DR6 Select(variable, DR_Function1, DR_Function2) Select var.value where var.value ≥ Mean(var) DR7 Select(variable1, variable2, threshold1, threshold2) Select var2.value where var1.value in (threshold1, threshold2) DR8 Self defined function Double proc(cod_exec_context ec, input_type * input, int k, int m) {int I; intj; double sum = 0.0; double average=0.0; for(i=0;i<m;i++)sum+=input.tmpbuf[i+k*m];aver age=sum/m; resturn average;} 52 C on Demand (CoD): Consumer: a string Producer: 1. registration 2. compile and execute on demand. Data Object Management Scibox Super File Group Metadata User 0 Metadata Group Metadata Container Writer.xml …… User 1 Metadata User N Metadata User Metadata Container User0 Metadata Object User1 Metadata Object …… UserN Metadata Object Reader0.xml Reader1.xml Data Container …… ReaderN.xml Object 0 Object 1 …… Object N 17 Data Object Management Scibox Super File Group Metadata User 0 Metadata Group Metadata Container Writer.xml …… User 1 Metadata User N Metadata User Metadata Container User0 Metadata Object User1 Metadata Object …… UserN Metadata Object Reader0.xml Reader1.xml Enable object sharing …… ReaderN.xml Object 0 Object 1 …… Data Container Object N 17 Determination of Object Size Merge overlapping data sets • reduce upload data size Partial object access • Current Amazon S3 and OpenStack Swift stores do not support this • Users have to download the whole object, even if only a small portion of its data is needed 18 Determination of Object Size Merge overlapping data sets • reduce upload data size Partial object access • Current Amazon S3 and OpenStack Swift stores do not support this • Users have to download the whole object, even if only a small portion of its data is needed Two approaches used in Scibox • Private cloud modify the software to enable partial object access Object size is determined by predicting upload throughput 18 Determination of Object Size Merge overlapping data sets • reduce upload data size Partial object access • Current Amazon S3 and OpenStack Swift stores do not support this • Users have to download the whole object, even if only a small portion of its data is needed Two approaches used in Scibox • Private cloud modify the software to enable partial object access Object size is determined by predicting upload throughput • Public cloud limit object size considering storage pricing Object size is determined by comparing the cost w/ sharing and w/o sharing 18 Cost Model Definition α: $/GB of standard cloud storage β: $/GB of data transfer into cloud γ: $/GB of data transfer out from cloud Assumption n clients request Data1, Data2, … Datan respectively 19 Cost Model Definition α: $/GB of standard cloud storage β: $/GB of data transfer into cloud γ: $/GB of data transfer out from cloud Assumption n clients request Data1, Data2, … Datan respectively Without sharing: 19 Cost Model Definition α: $/GB of standard cloud storage β: $/GB of data transfer into cloud γ: $/GB of data transfer out from cloud Assumption n clients request Data1, Data2, … Datan respectively Without sharing: With sharing ( n objects can be merged into one): 19 Cost Model Definition α: $/GB of standard cloud storage β: $/GB of data transfer into cloud γ: $/GB of data transfer out from cloud Assumption n clients request Data1, Data2, … Datan respectively Without sharing: With sharing ( n objects can be merged into one): 19 Outline • • • • • Background and Motivation Problems and Challenges Design and Implementation Evaluation Conclusion and Future Work 20 Experimental Setup Aerospace App OpenStack Swift GTS Aero Cluster Vogue 63 21 Experimental Setup Aerospace App OpenStack Swift GTS Aero Cluster Vogue Images Processing Jedi Cluster 64 21 Experimental Setup Visualization Aerospace App OpenStack Swift GTS Aero Cluster Vogue Images Processing Jedi Cluster GeorgiaTech (Atlanta) WSU (Detroit) OSU(Columbus) 65 21 Workloads Synthetic Workloads • 10 variables shared by multiple consumers • 1,000 requests generated by each consumer • 8 types of DR functions, uniformly distributed • 1 data producer serving 1,000 requests x #client servers • 3 self-defined DR-functions: FFT, histogram diagnosis, and average of row values of a matrix 22 Workloads Synthetic Workloads • 10 variables shared by multiple consumers • 1,000 requests generated by each consumer • 8 types of DR functions, uniformly distributed • 1 data producer serving 1,000 requests x #client servers • 3 self-defined DR-functions: FFT, histogram diagnosis, and average of row values of a matrix Real Workloads • GTS workload 128 parallel processes, consumers are from 3 different states in USA • Combustion workload 10, 000 512X512 12-bit double framed images (~1.5 MB per image) 22 Latency Breakdown of Swift Object Store Data Transfer & Server Processing Authorization & Container Checking 100% 0.43 s 0.61 s 0.92 s 1.49 s Disk Read Software Overhead & Others 2.62 s 5.05 s 9.36 s 100% Headers Transfer Disk Write & CheckSum Software Overhead & Others 0.88 s 0.48 s 1.28 s Data Transfer & Server Processing Authorization & Container Checking 2.17 s 3.65 s 6.99 s 14.64 s 84.93% 88.69% 91.30% 93.28% 64 128 17.04% 80% 41.77% 54.38% 67.33% 60% 75.62% 78.78% 83.20% Percentage Percentage 80% 34.63% 40% 40% 20% 20% 0% 0% 1 4 8 16 32 Object Size (MB) Put 64 128 63.82% 60% 1 4 73.58% 8 16 32 Object Size (MB) Get 23 Latency Breakdown of Swift Object Store Data Transfer & Server Processing Authorization & Container Checking 100% 0.43 s 0.61 s 0.92 s 1.49 s Disk Read Software Overhead & Others 2.62 s 5.05 s 9.36 s 100% Headers Transfer Disk Write & CheckSum Software Overhead & Others 0.88 s 0.48 s 1.28 s Data Transfer & Server Processing Authorization & Container Checking 2.17 s 3.65 s 6.99 s 14.64 s 84.93% 88.69% 91.30% 93.28% 64 128 17.04% 80% 41.77% 54.38% 67.33% 60% 75.62% 78.78% 83.20% Percentage Percentage 80% 34.63% 40% 40% 20% 20% 0% 0% 1 4 8 16 32 Object Size (MB) Put 64 128 63.82% 60% 1 4 Data transfer dominates the request latency. 73.58% 8 16 32 Object Size (MB) Get 23 Execution Time of DR-functions 7 4 DR1 DR2 DR3 6 Execution Time (seconds) 3 2.5 2 1.5 1 0.5 0 64 MB 128 MB 256 MB 512 MB 1 GB 1.5 GB Variable Size DR4-1K DR4-64M DR4-1M DR4-128M DR4-16M 5 4 3 2 1 0 64 MB 128 MB 256 MB 512 MB 1 GB 1.5 GB Variable Size 40 DR5 DR6 DR7 Recall: DR6:var.value where var.value>Mean(var). Double scan of input data. 35 Execution Time (seconds) Execution Time (seconds) 3.5 30 25 20 15 10 5 0 64 MB 128 MB 256 MB 512 MB 1 GB 1.5 GB Recall: DR7:Select var2.value where var1.value in (r1, r2). var1 is small. Variable Size 24 SciBox System Scalability 5000 Stock System 4500 Stock System 80 Latency (seconds) Scibox 4000 Execution Time (seconds) 90 4962.91 3500 3000 2643.06 2500 2000 1500 81.91 Scibox 70 60 50 42.25 40 30 1329.83 1000 20 968.86 842.81 500 109.65 92.39 0 1 • • 2 151.44 4 8 Number of Producers 412.12 271.46 10 9.54 4.34 1.98 0 16 21.94 19.66 2 5.1 2 12.68 6.48 3.09 4 8 16 32 Number of Consumers in the Same Sharing Group 64 With Scibox, data is merged before upload With Scibox, partial object access is supported 25 GTS Workload 1600 Post-Computation Download Filter-Computation GTS-Computation 1400 Latency (seconds) 1200 1000 800 600 400 200 0 Gatech-Scibox Gatech-FTP OSU-Scibox OSU-FTP Data Sharing Schemes GT WSU-Scibox WSU-FTP WSU OSU GT 900 KB/s 4.4 MB/s 44 MB/s 26 Combustion Workload 2 1 Process 8 Processes 1.8 2 Processes 16 Processes 4 Processes 32 Processes Speedup of Performance 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 1 • • 2 4 8 Number of Clients in the Same Sharing Group 16 DR-function: (ImageName, DR8, FFT) 10, 000 images (~1.5 MB/image) shared via Scibox 27 Outline • • • • • Background and Motivation Problems and Challenges Design and Implementation Evaluation Conclusion and Future Work 28 Conclusions and Future Work Scibox: Cloud-based support for scientific data sharing • Can operate across both public and private cloud stores 29 Conclusions and Future Work Scibox: Cloud-based support for scientific data sharing • Can operate across both public and private cloud stores Data Reduction functions • Exploit the structured nature of scientific data • Reduce the amount of transferred data 29 Conclusions and Future Work Scibox: Cloud-based support for scientific data sharing • Can operate across both public and private cloud stores Data Reduction functions • Exploit the structured nature of scientific data • Reduce the amount of transferred data Transparent to Applications/Data Producers • Implemented in ADIOS • Can be also applied to other I/O libraries 29 Conclusions and Future Work Scibox: Cloud-based support for scientific data sharing • Can operate across both public and private cloud stores Data Reduction functions • Exploit the structured nature of scientific data • Reduce the amount of transferred data Transparent to Applications/Data Producers • Implemented in ADIOS • Can be also applied to other I/O libraries Future Work • Deploy Scibox on national labs’ facilities to better understand potential use cases • Additional optimizations of cloud storage for scientific data management 29 Thanks! 30