Introduction
-
We implemented a cloud storage system to integrate various SDS technologies using cubic spline interpolation and distribution mechanisms. The proposed system consisted of three main components, they were the storage service, the file distribution mechanism and the user service, respectively. In addition, since the user’s file size cannot be predicted and the received files were not the same with our measured results, we successfully solve this problem by integrating the cubic spline interpolation method.
-
In the system architecture, we used open source software to make the system more compatible. In addition, a file was assigned automatically to an appropriate storage location after users uploaded files.
-
We designed a user-friendly interface, users could easily upload their files and realized the usage percentages of storage as well as the status of their uploading jobs. Also, the parameters could be set freely to make the system more flexible by managers.
Related work
System design and implementation
System design
System implementation
The deployment of storage services
The mechanism of file distribution
-
\(f_t(S)\) represents the transfer speed obtained in the transfer speed experiment when the file size is S.
-
\(f_c(S)\) represents the transfer speed obtained in the storage capacity experiment when the file size is S.
-
\(\alpha\) and \(\beta\) are the weights, with default values of 0.5. The sum of these two weights equals one.
-
\(f_K(S)\) represents the resulting transfer speed of the storage service, which is used to compare the performance of the storage services.
The experimental results
Setup of the experimental environment
Host name | CPU | Memory (GB) | Disk (GB) | OS |
---|---|---|---|---|
Controller | 16 cores | 48 | 100 | Ubuntu 14.04 |
Compute01 | 24 cores | 48 | 800 | Ubuntu 14.04 |
Compute02 | 24 cores | 48 | 800 | Ubuntu 14.04 |
Host name | CPU | Memory (GB) | Disk (GB) | OS |
---|---|---|---|---|
Controller | 4 cores | 8 | 40 | Ubuntu 14.04 |
Ceph01 | 2 cores | 8 | 40 | Ubuntu 14.04 |
Ceph02 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Ceph03 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Ceph04 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Swift01 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Swift02 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Swift03 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Swift04 | 2 cores | 4 | 40 | Ubuntu 14.04 |
Software | Version |
---|---|
OpenStack | Juno |
Ceph | Hammer v0.94 |
Swift | 2.1.0 |
Performance evaluations of our system
User interface design
-
Friendly user interface: a visualization of the upload progress is provided. This makes it easy for users to monitor and control their uploading jobs.
-
Supports the upload of multiple files: users can upload multiple files at the same time.
-
Background processing: users can upload their files in the background while accessing other functions simultaneously in the my storage page.