PERFORMANCE ANALYSIS OF OPEN SOURCE STORAGE CLOUDS IN CLOUD COMPUTING

Cloud computing is one of the latest research area that helps in storing the information permanently on the servers and manages the different resources for the requested users to provide on-demand services. In order to create the more usable and economic value based cloud computing, the principles, goals and structure of the cloud engineering is of vital importance. The objective of this study is to analyze the CPU and memory performance of different open source clouds. We will use different open source cloud to measure the different performance metrics like CPU time for downloading and uploading of file, memory usage while downloading and uploading the file, standard deviation of CPU usage and standard deviation of memory usage.


INTRODUCTION
One of the major aspects of software engineering is to develop and manage software for commercial use [2]. But now days most organization must continue to use its local resources to operate its daily systems and to store its data but these organization don't use their resource and service efficiently and most of time they remain ideal. This leads to technology where one organization shares its service, resource and store its data on another organization server's known as cloud technique [1] [6]. So, whenever capacity or service is required at short notice it can be accessed by using linked server capacity by paying some considerable fee for such facilities. Here comes the need and role of cloud engineering. Cloud engineering is the study and applied research of the application of the engineering to "cloud".
Cloud computing [3] [9] is a technology that uses the internet and central remote servers to maintain data and applications. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth.
Clouds [1] can be defined as large pool of data storage that can be easily used and access virtualized resources such as hardware, development platform and services. In simple words one can say that cloud is the web of different types of server which share resources.
There are numbers of different cloud storage [3] [4] systems, some of these have a very specific focal point, such as storing Web e-mail messages or digital pictures. Others are available to store all forms of digital data. Some cloud storage systems are small operations, while others are so large that the physical equipment can fill up an entire warehouse. The facilities that keep cloud storage systems are called data centers.
In simple terms a cloud storage system needs just one data server connected to the Internet. In this case client sends replica of files over the Internet to the data server, which then records the information. When the client wishes to retrieve the information, it accesses the data server through a Web-based interface. The server then either sends the files back to the client or allows the client to access and manipulate the files on the server itself.
Cloud storage [4] systems generally rely on hundreds of data server. Because computers occasionally require maintenance or repair, it's important to store the same information on multiple machines. This is called redundancy. Without redundancy, a cloud storage system couldn't ensure clients that they could access their information at any given time. Most systems store the same data on servers that use different power supplies. That way, clients can access their data even if one power supply fails.
Not all cloud storage clients are worried about running out of storage space. They use cloud storage as a way to create backups of data. If something happens to the client's computer system, the data survives off-site. It's a digital-age variation of "don't put all your eggs in one basket."

PROBLEM DEFINTION
With the passage of time open source storage clouds [7][8] are getting attention. There are various different open source storage clouds exist such as Amazon cloud, google docs, Adrive, open drive etc. Cloud is one of the major challenges being faced by the SaaS users, because the introduction of cloud computing changes our thinking as what is considered to be "our system" and "our data" is no longer physically stored on a specific set of computers and disks, but rather both the concept of system and the locus of our data have evolved into something diffuse geographically distributed. In a cloud data is totally isolated, user does not know where the data is stored so there may be more effect on the performance of the end user machine. In this paper especially I am going to concentrate on analysis of the performance of end user machine in the virtual environment of open source storage clouds, such as google docs, dropbox, and skydrive. Different experiment will be conducted to measure the performance of end machines using different storage clouds. The above mentioned analysis will be conducted by following considering following performance tests on various Open source storage clouds. www.ijctonline.com Memory stress test : RAM utilization based Tests will be conducted to check the stress on system memory in different OSSCs environment.
CPU test: To test the effects of processor interference due to background load if any, it should be analyzed how each instance uses the processor.

ANALYSIS
Software metrics one of the important concepts of software engineering plays a great role in coordinating [5] and managing the software project. With the help of software metrics one is able to compute and analyze various attributes of a software project. I have analyzed different open source storage clouds while uploading and downloading the files. We have focused on computing different performance metrics like CPU time, System, Memory Usage, and their variation over different storage clouds.
The following algorithm is used for analyzing the different open source storage clouds.
Step 1: Read Z Step 2: For I=1 to Z Step 3: Read Filesize F[I] Step 4: Read units U of file Step5: Now convert unit U of the Filesize F[I] in Bytes called UB [i] Step 6: Read data transmission speed Step 7: Read data transmission unit DU Step 8: Convert DU into bytes called DTSB (Data Transmission Speed in Bytes) Step 9: Download time DT[i]=UB/ (DTSB*60) minutes Step 10: Read memory usage MU[I] while uploading/downloading a file Step 11: set X[i]=DT[i], compute square of X[i] Step 12: Step 13: Set I=I+1 Step 14: End For Step 15: Now Computer mean of X by using the formula XAM=∑x(i)/Z Step 16: Similarly compute the mean of Y by using the formula YAM=∑Y(i)/Z Step 17: Compute Standard deviation of X (CPU Time) by using formula = 2 − 2 Step 18: Compute standard deviation of Y (memory usage) as  625 804609 The following chart shows the graphical representation of CPU and memory performance of Google docs cloud storage for uploading and downloading the files.

CONCLUSIONS
From the above analysis it is clear that different storage clouds shows different behaviours in the performance of CPU and System memory usage. Google docs gives the stable output that is CPU time on Google docs is lesser than the downloading CPU time. And in regard to memory usage downloading file consumes more system memory as compare to uploading files.

ACKNOWLEDGEMENT
Authors are highly grateful to Dr. Gurdev Singh, Professor & Head, DCSE, Adesh Institute of Engineering & Technology, Faridkot for their precious guidance from time to time.