Scibox: Online Sharing of Scientific Data via the Cloud Jian Huang

advertisement
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
Download