



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
The implementation of an efficient cloud compiler as a Software as a Service (SaaS) solution for open source programming languages like C, C++, PHP, Perl, Ruby, and Python. The compiler utilizes a private cloud infrastructure based on Ubuntu Enterprise Cloud (UEC) and provides significant improvements in portability, compatibility, storage space, and performance compared to traditional compilers. The document also includes experimental results demonstrating the efficiency of the cloud compiler.
Typology: Study notes
1 / 6
This page cannot be seen from the preview
Don't miss anything!
Volume 69– No.7, May 2013
Cloud computing is a model for enabling convenient, on- demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and unconfined with minimal management effort. Our work mainly targets the learning community by providing an efficient cloud compiler as SaaS by coalescing the two major concepts called cloud computing and open source which helps to diminish the troubles of portability, compatibility, power and storage space by making use of the concept of cloud compiler. The basic underlying architecture to deploy a cloud compiler is the establishment of private cloud under linux environment, which provides hosted services to a limited number of people and the service is distributed in the heterogeneous manner. Private cloud makes the cloud infrastructure based on Ubuntu Enterprise Cloud (UEC) scalable as per the requirement. And our cloud compiler allows a programmer to pick up the fastest or the most convenient tool to compile the code and remove the errors. The validity of our approach is then verified with the experimental results. Also we have made a performance analysis and the experimental results shows that the performance of cloud compiler is more efficient compared to all other normal compiler. Hence our proposed cloud compiler is considered to be the best performers among the various compilers.
Open source
controller, Ubuntu Enterprise Cloud (UEC)
Cloud computing portends a major change in how we store information and run applications. Instead of running programs and data on an individual desktop computer, everything is hosted in the cloud, a nebulous assemblage of computers and servers accesses via the internet. Cloud computing lets to access all your applications and documents from anywhere in the world, freeing you from the confines of the desktop and making it easier for group members in different locations to collaborate. The emergence of cloud computing is the computing equivalent of the electricity revolution of a century ago. Before the advent of electrical utilities, every farm and business produced its own electricity from freestanding generators. After the electrical grid was created, farms and businesses shut down their generators and bought electricity from the utilities, at a much lower price and with much reliability than they could produce on their own. Look for the same type of revolution to occur as cloud computing takes
hold. The desktop-centric notion of computing that we hold today is bound to fall by the wayside as we come to expect the universal access, 24/7 reliability, and ubiquitous collaboration promised by cloud computing. Cloud computing isn’t network computing. With network computing applications/documents are hosted on a single company’s server and accessed over the company’s network. Cloud computing is a lot bigger than that. It encompasses multiple companies, multiple servers, and multiple networks. Plus unlike network computing, cloud services and storage are accessible from anywhere in the world over an internet connection. Cloud computing builds on established trends for driving the cost out of the delivery of services while increasing the speed and agility with which services are deployed. It shortens the time from sketching out application architecture to actual deployment. The concept of cloud services development encompasses several different types of development like Software as a Service (SaaS), Platform as a Service (PaaS), on-demand computing. Our cloud compiler focuses on providing as SaaS. With SaaS, a single application is delivered to thousands of users from the vendor’s servers. Customers don’t pay for owning the software; rather they pay for using it. The recent upswing in technology and increasing concern related to portability, compatibility, storage space, performance caused a boost in providing an efficient cloud compiler for languages like C, C++, PHP, Perl, Ruby, Python based on cloud computing.
Cloud Compiler is a family of cloud compiler licensed programs for the open source operating environments. A cloud compiler is a program that functions equivalently to an actual compiler but does not require that the actual compiler be installed or licensed on the machine on which it runs. The cloud compiler utilizes web service to transmit the user’s source code to another cloud which the actual compiler is installed, compile it there and generate the output in the cloud and send the output to the user via the web services if the source program is correctly given otherwise through errors. Most of the options and features of an actual compiler are supported. The Cloud Compilers are not difficult to install. The primary tasks are the typing the programs in the client machine and send to the cloud on which compiles will be submitted [2]. Some interesting results indicating the performance of the cloud compiler are also presented. The remainder of this paper is organized as follows. In Sect. 2 compare the cloud computing with other related technologies. In Sect. 3, we describe the system framework of the open source cloud compiler and present its system design principles. The cloud compiler deployment is detailed in Sect.
Volume 69– No.7, May 2013
2. PREVIOUS WORK
Research based on cloud compiler and open source is very much limited, related to the Ubuntu Enterprise Cloud (UEC). Some of the important works are enumerated below:
Authors of [4] depicted that Private clouds can be built and managed by a company’s own IT organization or by a cloud provider. In this hosted private model, a company such as Sun can install, configure, and operate the infrastructure to support a private cloud within a company’s enterprise data centre. This model gives companies a high level of control over the use of cloud resources while bringing in the expertise needed to establish and operate the environment.
Authors in [10] portrayed Cloud computing implies a service oriented architecture, reduced information technology overhead for the end-user, great flexibility, reduced total cost of ownership and on demand services among other advantages. The National Institute of Standards and Technology (NIST) define Cloud Computing as a model for enabling easy, on-demand network access to a shared pool of configurable computing resources.
Google File System (GFS) [12] is a proprietary distributed file system developed by Google and specially designed to provide efficient, reliable access to data using large clusters of commodity servers. Files are divided into chunks of 64 megabytes, and are usually appended to or read and only extremely rarely overwritten or shrunk. Compared with traditional file systems, GFS is designed and optimized to run on data centers to provide extremely high data throughputs, low latency and survive individual server failures
Shuai Zhang et al. [7] also introduces the application field the merit of cloud computing, such as, it do not need user‘s high level equipment, so it reduces the user‘s cost. It provides secure and dependable data storage center, so user needn‘t do the awful things such storing data and killing virus, this kind of task can be done by professionals.
Borjasotomayor et al. [8] uses Open Nebula as a middleware that deploy and manage VMs, either individually or in groups that must be Co scheduled on local resources or external public clouds. It automates VM setup (preparing disk images, setting up networking, and so on) regardless of the underlying virtualization layer (Xen, KVM, or VMware are currently supported) or external cloud (EC2 or Elastic Hosts are currently supported).
Authors in [14] depicted the characteristics of cloud computing are much more complex in which can be used to distinguish cluster, grid and cloud computing systems. Cluster‘s resources are located in single administrative domain with single entity. Resources of grid system are distributed and located in administrative domain with multi entity and management policies.
Authors in [7] viewed the Cloud computing two different aspects. One is about the cloud infrastructure which is the building block for the up layer cloud application. The other is of course the cloud infrastructure. By means of several technical methods, cloud computing has achieved two important goals for the distributed computing: high scalability and high availability. SaaS provides Internet application to the customer also provides the software the off-line operation and the local data storage, lets software and service which the user all may use it anytime and anywhere to order. These studies endure from the secure and dependable data storage by reducing technology overhead for the end-user. Some of the
studies also achieved high scalability and high availability, also provides reliable access to data using large clusters. Some studies suffer from problems like usage of simplified assumptions with no investigation into the validity of those assumptions; the results of evaluation may hinge on the validity of assumptions. Thus, despite the progress that has been made in this field, there remains a clear need for large- scale empirical comparison of cloud infrastructure by utilizing the open source techniques. There is also a need for guidance on the implementation and selection of techniques.
3. SYSTEM DESIGN
The overall design process involved in the creation of the private cloud infrastructure by utilizing the open source Linux servers, open source eucalyptus packages and the design of the cloud compiler which is deployed over the private cloud infrastructure.
Fig 1 System framework of the Open source Cloud compiler
The contributions of our research work are summarized following: The Cloud Controller (CC) is the front end to the entire cloud infrastructure. CC monitors the availability of resources on various components of the cloud infrastructure, including hypervisor nodes that are used to actually provision the instances, also provides an EC2/S3 compliant web services interface to the client tools on one side and interacts with the rest of the components of the Eucalyptus infrastructure on the other side. The installation steps in the front end machine are as follows:
Step 1: Use the Ubuntu server 10.
Step 2: When boot, select Install Ubuntu Enterprise Cloud.
The Cluster Controller (CLC) is the middle end to the entire cloud infrastructure. It communicates with Cloud Controller (CC) on one side and NCs on the other side. CLC handles one or more Node Controllers and deploys/manages instances on them, and also to control the virtual network under the modes of Eucalyptus. A UEC node is a VT enabled server capable of running KVM as the hypervisor. UEC automatically installs KVM when the user chooses to install the UEC node. The VMs running on the hypervisor and
Present ation Layer
Applica tion Layer
Cloud Infrastructure (UEC)
Cloud Controller
Cluster Controller
Node Controller
Volume 69– No.7, May 2013
Fig 2: C compiler output window
Fig 3 :C++ Compiler Output window
Fig 4 : PHP Compiler Output Window
Fig 5 : Python Compiler Output Window
Fig 6 : PERL Compiler Output Window
Fig 7: Ruby compiler Output Window
Volume 69– No.7, May 2013
The portability, compatibility, storage space, performance caused a boost in providing an efficient compiler for languages like C, C++, PHP, Perl, Ruby, Python based on cloud computing. Some interesting results indicating the performance of the cloud compiler are also presented. This cloud compiler is used to execute the Programming languages like C, C++, PHP, Perl, Ruby, Python via web interface it is get the service from the gcc compiler installed in cloud. It can be able to execute all types of program similar to the gnu c compiler
5. EXPERIMENTAL RESULTS AND
DISCUSSIONS
This private cloud setup and cloud compiler experiment shows that the performance of the cloud compiler is relatively high compare with some other compilers. The result of the performance graph is explained in this chapter. The private cloud setup experiment and cloud compiler experiment have successfully implemented and the performance is calculated for the cloud compiler from various machines that shows that the cloud infrastructure uses the available resource effectively and serves the learning platform in the learning environment. As well as the performance graph shows that cloud compiler performance is superior. The execution time for various compiler by executing the Fibonacci series using recursion in the various compilers.
Table 2. Performance Calculation
Where N is the number of series generated in the Fibonacci series (numeric value). After calculating the runtime of the cloud compiler and other TURBO C compiler the graph is plotted.
Fig 8 Comparison of Performance obtained for different compilers
The following graph shows that the efficiency of the cloud compiler is high. As it can be seen from the results, the cloud compiler gives the best results in terms of execution time. This compiler overrides all the other compilers and gives the best performance.
6. CONCLUSION
The proposed system has implemented an effective cloud compiler for languages like C, C++, Perl, Python, Php and Ruby. This paper depicts a clear view of how a private cloud based on UEC under linux environment can be setup by deploying a cloud compiler, and also examines the effect of different compilers on the performance of runtime. We have demonstrated that, our proposed cloud compiler reduces the run time when compared with all other compilers. And also measured to the current scenarios, where each machine needs to install compilers separately. But our cloud compiler will eliminate the need to install the compilers separately, thus it helps for a programmer to pick up the fastest or the most convenient tool to compile the code and remove the errors at the centralized server. To the best of our knowledge, it is the first work that applies cloud compiler to enhance the performance and we compare the performance of our cloud compiler with the various compilers. Our performance graph shows that our cloud compiler gives better performance and based on some comparative results that we also obtained, we concluded our proposed cloud compiler is considered to be the best performers among the various compilers.
7. REFERENCES
[1] Abramson D., Buyya R., and Giddy J. “A computational economy for grid computing and its implementation” in the Nimrod-G resource broker.
[2] F. Bellard. QEMU, a Fast and Portable Dynamic Translator. Proceedings of the USENIX Annual Technical Conference, FREENIX Track.
[3] Bo Dong, Qinghua Zheng, Jie Yang, Haifei Li, Mu Qiao,MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University, 710049, China, An E-learning Ecosystem Based on Cloud Computing Infrastructure 2009 Ninth IEEE International Conference on Advanced Learning Technologies.
[4] B ECHTOLSHEIM , Cloud Computing and Cloud Networking talk at UC Berkeley, December 2008.
[5] Eucalyptus Beginner’s Guide – UEC, Edition (Ubuntu Server 10.04 - Lucid Lynx), v1.0, 25 May 2010.
[6] Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff, Dmitrii Zagorodnov, The Eucalyptus Open-source Cloud- computing System.
[7] Shuai Zhang Shufen Zhang Xuebin Chen Xiuzhen Huo, Cloud Computing Research and development Trend, Future Networks, 2010. ICFN '10. Second International Conference.
[8] Borja Sotomayor, Ruben S.Montero, Ian Foster Virtual Infrastructure Management In Private And Hybrid Cloud published by the IEEE computer security, (2010) by, pp.14-22.
[9] GoGrid, http://www.gogrid.com.
[10] Aamir Nizam Ansari, Siddharth Patil,Arundhati Navada, Aditya Peshave, Venkatesh Borole , Online C/C++
N value TurboC(in sec) Cloud compiler(in sec)