Towards enabling Cyberinfrastructure as a Service in Clouds

Towards enabling Cyberinfrastructure as a Service in Clouds

Computers and Electrical Engineering 39 (2013) 3–14 Contents lists available at SciVerse ScienceDirect Computers and Electrical Engineering journal ...

496KB Sizes 0 Downloads 58 Views

Computers and Electrical Engineering 39 (2013) 3–14

Contents lists available at SciVerse ScienceDirect

Computers and Electrical Engineering journal homepage: www.elsevier.com/locate/compeleceng

Towards enabling Cyberinfrastructure as a Service in Clouds q Lizhe Wang a,b, Dan Chen a, Yangyang Hu a, Yan Ma b, Jian Wang b,⇑ a b

School of Computer Science, China University of Geosciences, Wuhan 430074, Hubei, PR China Center for Earth Observation and Digital Earth, Chinese Academy of Sciences, PR China

a r t i c l e

i n f o

Article history: Available online 26 June 2012

a b s t r a c t A modern cyberinfrastructure is normally viewed as a highly complicated system due to complex user interfaces, heterogeneous and distributed software implementation flavors, and different hardware platforms. To mitigate the difficulties of developing a cyberinfrastructure, this study proposes a new computing paradigm: Cyberinfrastructure as a Service (CaaS), i.e., providing a service to enable building a cyberinfrastructure on demand. The paradigm of CaaS has been developed a lightweight as a distributed middleware, namely Cyberaide Creative. The Cyberaide Creative service can on-demand create distributed virtual machines, install operating systems, deploy user-required software, and finally deliver a cyberinfrastructure to users. We demonstrate the its usage via a real application, the Emergency Services Directory (ESD) system, and test it with a High Performance Computing (HPC) benchmark. Experimental results justify the design of CaaS and the implementation of the Cyberaide Creative service. Ó 2012 Published by Elsevier Ltd.

1. Introduction Modern cyberinfrastructure becomes more important in today’s society, for example, in the fields of scientific and engineering computing [1–3], enterprise computing and entertainment computing. The increasing demands for computing and storage, and as a result, the growing scales of modern computing systems, have made a modern cyberinfrastructure very complicated [4,5]. It is therefore a difficult task to build a cyberinfrastructure for users, who have little experience of IT infrastructure design and implementation. We propose a new computing paradigm, Cyberinfrastructure as a Service (CaaS), which can provide on-demand cyberinfrastructure deployment via invoking a Web service. The proposed CaaS computing paradigm employs virtual machine technologies, creates a common platform abstracted away from the hardware and software resources and then deploy a cyberinfrastructure for users. This allows for end-users to specify the necessary resource requirements and have them immediately deployed without needing to understand the configuration and underlying infrastructures. The advantages of building cyberinfrastructure on Cloud resources are the ability to easily construct specific computing resources, add and remove resources on demand, change and create snapshots to preserve the current state of system progress. These features provide users more flexibility with computing resources with a minimal overhead cost. To demonstrate the capabilities of the CaaS computing paradigm, this paper has developed a Cyberaide Creative service, which is capable of deploying an individual workstation, a self-configuring cluster or a Grid cyberinfrastructure on-demand. The contribution of this paper include:  We propose a new computing paradigm of Cyberinfrastructure as a Service – users can build a cyberinfrastructure on demand via invoking a software service.

q

Reviews processed and approved for publication by Editor-in-Chief Dr. Manu Malek.

⇑ Corresponding author.

E-mail address: [email protected] (J. Wang). 0045-7906/$ - see front matter Ó 2012 Published by Elsevier Ltd. http://dx.doi.org/10.1016/j.compeleceng.2012.05.001

4

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

 We implement a lightweight middleware, the Cyberaide Creative, which can provide the function of cyberinfrastructure as a service.  We develop an application of Emergency Services Directory as a case study for the ‘‘Cyberinfrastructure as a Service’’ paradigm and Cyberaide Creative software implementation. The rest of this paper is organized as follows. Section 2 introduces the background and related work of this research. Section 3 presents the Cyberinfrastructure as a Service paradigm and Section 4 discusses the use cases of Cyberinfrastructure as a Service paradigm. The design and implementation of the Cyberaide Creative, which implement the paradigm of Cyberinfrastructure as a Service, are detailed in Section 5. Section 6 presents how the Cyberaide Creative is used in a real world application, the Emergency Services Directory (ESD) system. Section 7 evaluates the Cyberaide Creative implementation with an HPC benchmark. Finally this paper is concluded in Section 8.

2. Background and related work This section introduces the background and related work of our research, such as Cloud computing, virtualization, Infrastructure as a Service, and the Cyberaide Toolkit.

2.1. Cloud computing Cloud computing has recently become a hot topic. A computing Cloud is a set of network enabled services, providing scalable, Quality of Services (QoS) guaranteed, normally personalized, inexpensive computing infrastructures on demand. The services can be accessed in a simple and pervasive way [6–8]. Conceptually, users acquire computing platforms, or IT infrastructures, from computing Clouds and execute their applications inside. Computing Clouds render users with services to access hardware, software and data resources, thereafter an integrated computing platform as a service. The Cloud computing paradigm distinguishes itself from other computing paradigms, such as Grid computing [9–11], Global computing, Internet Computing in the following aspects [12,13]:  Utility computing model: Users obtain and employ computing platforms in computing Clouds as easily as they access a traditional public utility (such as electricity, water, natural gas, or telephone network).  On-demand service provisioning: Computing Clouds provide resources and services for users on demand. Users can customize and personalize their computing environments later on, for example, software installation, network configuration, as users usually own administrative privileges.  QoS guaranteed offer: The computing environments provided by computing Clouds can guarantee QoS for users, e.g., hardware performance like CPU speed, I/O bandwidth and memory size. A computing Cloud renders QoS in general by processing a Service Level Agreement (SLA) with users.  Autonomous System: A computing Cloud is an autonomous system and it is managed transparently to users. Hardware, software and data inside Clouds can be automatically reconfigured, orchestrated and consolidated to present a single platform image, finally rendered to users. This paper aims to bring the aforementioned advantages of Cloud computing methodologies by implementing the CaaS computing paradigm for users.

2.2. Virtual machine and virtual appliance Many implementations of Cloud computing projects use virtual machines and virtual appliances as basic building blocks [14,15]. Nowadays, popular virtual machines include XEN [16], VMware [17], KVM [18] and Microsoft Virtual PC [19]. The virtual machine technologies can help provide a convenient software deployment. For example, some software systems are difficult to compile, to link, to install, and have been well tested only on a specific version of tools and platforms. To reduce the complexity of software development, a relatively new approach is to use virtual appliances. A software publisher can bundle the necessary tools in an appliance and distribute it to users [20]. One interesting appliance is CERN Virtual Machine [21], which is built using rBuilder [22] and provides a minimal Linux base to run LHC Computing Grid (LCG [23]) applications. The Grid Appliance [24] provides an example of small, easily distributable virtual machines that will be efficiently utilized within a Cloud computing environment. The Grid Appliance is a self-configuring virtual machine that has the Condor [25] middleware already installed and allows the machine to immediately come online into a Condor Grid to provide resources. In this study, we use Cloud resources and virtualization technologies to provide a cyberinfrastructure for users on demand.

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

5

2.3. Infrastructure as a service Infrastructure as a Service (IaaS) is a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. In this section, we give several examples of IaaS. The Nimbus [26] project provides the ability to convert an existing cluster into an IaaS Cloud to share the resources externally. It utilizes the virtualization function of Xen hypervisor to provide a virtual platform for clients to setup and lease remote resources. This project develops the Cloud but it is currently limited by the utilization of the resources provided. In order to use Nimbus, users also have to be familiar with the Globus Toolkit [27] and Globus Workspace Service. As a contrast, our Cyberaide Creative creates a virtual cluster on top of a Cloud provided by VMware ESXi server without the need for an existing cluster infrastructure. This feature provides users more flexibilities in terms of the number of actual machines and network hardware. The Eucalyptus project [28] has been developed as an open-source software infrastructure, which aims to provide a Cloud computing environment upon Web services. The Cloud developed by Eucalyptus on Amazon’s EC2 creates a cluster of virtual machines without any initial middleware pre-configured leaving this task up to researchers. To our experiences, installation and configuration of Grid middleware is a daunting task even for an experienced system administrator. Therefore, it makes the cluster more accessible to novice users by integrating the creation of virtual machines with the configuration of the middleware software package. The above solutions can provide virtual machine resources from Clouds on demand. In contrast, our contribution is that we go a further step by proposing a new computing paradigm: on demand provision of cyberinfrastructure on Clouds and on-demand access the provided cyberinfrastructure. We design and implement an lightweight middleware, Cyberaide Creative, a part of Cyberaide project [29], which can combine the functionalities of cyberinfrastructure creation, configuration, management and access in an integrated solution. 2.4. Cyberaide Toolkit: A light weight middleware for cyberinfrastructure The term of ‘‘Cyberinfrastructure’’ was coined in 2003 by the National Science Foundation [30] to describe the resources, tools and related services for science and engineering research. It includes everything from supercomputers, high-capacity storage systems, and software suites developed and used in conjunction with these resources. This project continues working towards the objectives of the Office of Cyberinfrastructure with the development of a tool that can be used to provide resources to the scientist while hiding the ‘‘complexities and heterogeneity of contemporary cyberinfrastructure’’ [31]. The Cyberaide Toolkit is an open-source software toolkit (see Fig. 1), which can be used to developing tools and services to make the cyberinfrastructure more tangible. It is being developed by the Cyberaide project [29] and used by various scientific applications [32].

Web client

Portal Workflow composite & management JavaScript CoG API

Collaborative task queue Data

persistence

Grid info. service

Job submission status query Execution result retrieval

Authentication Authorization User identity

management

Server

Web services interface / Agent service

SSH / Globus Toolkit / Java CoG / Karajan

Cyberinfrastructure

My proxy server

Fig. 1. The Cyberaide Toolkit system architecture.

Job DB

User DB

Application logic / mediator service

6

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

The Cyberaide Toolkit enjoys the following essential features:  Ease of use: The Cyberaide Toolkit makes the JavaScript based API and interfaces useful for Grid and Web developers.  Low installation footprint: The Cyberaide Toolkit supports fast downloads as well as an easy maintenance through a small manageable code base.  Security: The Cyberaide Toolkit gains access to Grid resources in order to avoid compromising the system.  Basic Grid functionality: The Cyberaide Toolkit supports developers to create Grid-based client applications.  Advanced functionality: The Cyberaide Toolkit offers advanced functionalities for Grid application development. The Cyberaide Toolkit framework has a layered design. As shown in Fig. 1, a Web client provides access to Grid functionalities and components that can be deployed in a Web server. A service called ‘‘mediator service’’ mediates tasks to the Grid and it basically functions as a secure server that provides most of the functionalities in regard to the Grid. Development of Cyberaide shell is enabled because the service and the client can be separated. Cyberaide shell is a system shell that facilitates the use of cyberinfrastructures. It contains four high level design components: object management, cyberinfrastructure backends, command line interpreters, and services (Fig. 2). We implement a middleware of Cyberaide Creative, which is a part of the Cyberaide Toolkit, for on-demand provision of Cyberinfrastructure. Our work uses Cyberaide shell as an access interface for newly created cyberinfrastructure. 3. The paradigm of Cyberinfrastructyure as a service The paradigm presented using Cyberaide Creative is an on-demand cyberinfrastucture provisioning, which creates an environment, where resources can be optimally utilized per users’ demands. Fig. 3 shows the computing paradigm of Cyberaide Creative: 1. A users sends a request to the Cyberaide Creative for a cyberinfrastructure from Clouds, e.g., a condor cluster or a computational Grid with Globus Toolkit, as a middleware. 2. The Cyberaide Creative then constructs a cyberinfrastructure for users, which is pre-installed with some Grid middleware, such as Condor [25], Globus and Cyberaide shell. 3. The user then on-demand accesses the cyberinfrastructure with the aid of Cyberaide Shell. 4. Use cases This section introduces several typical use cases of the CaaS paradigm. 4.1. Request an on-demand access to cyberinfrastructure Sometimes users may require accesses to certain cyberinfrastructures. The user side normally needs to install and configure some clients of cyberinfrastructure middleware. Installation and configuration of cyberinfrastructure middleware clients is typically an onerous task. To cope with this problem, a user can on-demand create a virtual machine with pre-configured access client and interface, such as Cyberaide Shell, for existing cyberinfrastructures. Fig. 4 illustrates the process for building a virtual machine accessible on demand via Cyberaide Shell:

Object Management Literate Semantic Objects Job, File, Queue Calendar Sets, Groups, Maps Persistence

Commandline Interface Scripts Shell Manpages

Cyberaide Shell Cyberinfrastructure backends Gloubs, Condor, SSH Amazon EC2, CoG kit

Services Calendar,Groups,jobs, Experiments, Events, Shell service, Authentication Scripts, Workflow,

Fig. 2. High level design of Cyberaide shell.

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

7

1

Cyberaide

User

Creative 2

3 Cyberaide Shell

Cloud Resources

Cyberinfrastructure Fig. 3. The Cyberaide Creative paradigm.

existing Cyberinfrastructure 5 4

User

Cyberaide Shell virtual machine

1

3 2

Web Service

ESXi Server

Fig. 4. Request an on-demand access to cyberinfrastructure.

1. A user has a pre-existing computing cluster or other cyberinfrastructures and requires a simple job submission interface. The user then proceeds to connect to the on-demand Web interface. 2. The Web service obtains the necessary configurations from the user and then requests a Cyberaide Shell virtual machine from a VMware ESXi server. 3. The VMware ESXi server creates a new Cyberaide Shell virtual machine and passes along the configurations. 4. The Cyberaide Shell virtual machine allows for remote connections to be made from the user to handle job submissions. 5. The Cyberaide Shell handles all coordination to the existing clusters or cyberinfrastructures simplifying the end-user interface. In this use case, we do not need an existing cyberinfrastructure. A virtual machine with pre-installed and pre-configured client software package, i.e., the Cyberaide Shell, can be on-demand created for users. 4.2. Request a single virtual machine workstation Another use case is to request a simple single user workstation virtual machine. Fig. 5 shows the procedure of requesting a user workstation: 1. A user requires a new workstation for running his tasks. He then logs into the on-demand Web interface and selects the specifications of the workstation required. 2. The Web service uses these specifications to instantiate a virtual machine on the VMware ESXi server.

4 User 1

Virtual workstation 3

2 Web Service

ESXi Server

Fig. 5. Request a workstation use case.

8

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

3. The VMware ESXi server launches the virtual machine and returns the IP address and login information to the Web service. 4. The Web service identifies the location of the newly created workstation to the user, allowing the scientist to directly login into the new virtual machine. 4.3. Request a compute cluster Another common functionality is to generate a cluster per users’ needs. The following use case demonstrates the routine operations of this use case (see Fig. 6): 1. 2. 3. 4.

A user proceeds to log onto the on-demand Web interface and specify the required compute cluster. The Web service communicates the ESXi server and virtual machine repository for resource allocation. The VMware ESXi server obtains appropriate virtual machine images. The VMware ESXi server then instantiates a cluster and returns interfaces to the user to access the cluster.

5. Design and implementation of Cyberaide Creative This section details the design of implementation of the Cyberaide Creative service. 5.1. Design To develop the Cyberaide Creative service we use several technologies to increase accessibility and flexibility of the system. There are three main components of the Cyberaide Creative project: (1) a Web interface, (2) a VMware ESXi server, and (3) a virtual machine repository (see Fig. 7). The Web interface aims to provide an easy access to deploying resources. The Web interface is currently developed using Web service technology to support a simple and interoperable platform. The ability of linking different systems to Web service makes it an easy job for an administrator to create user interfaces and integrate them into the Cyberaide software package. The backend of the Web service interface is Virtual Infrastructure Java API [33] which links the interface to the VMware Web service via HTTP protocol. It can pass through firewalls and other security measures with minimal modifications. We only need to specify the server’s URL, administrator username and password for the Web interface to connect to the ESXi server. This allows for easy re-configuration of the Web interface if new ESXi server becomes available. The VMware ESXi server provides the Cloud resources as a scalable platform to create a cyberinfrastructure. Currently our installation of ESXi server handles the storage of virtual machine images along with the administration controls over the virtual machine instantiations. It is possible to link several ESXi servers together to create a larger pool of resources exploitable via Cyberaide Creative. The ESXi server handles all of the downloading and configuring of the virtual machine instantiation via commands issued through the Web interface. The communication between the Web service and ESXi server is maintained by a Common Information Model (CIM) [34]. CIM is an industry standard developed by Distributed Management Task Force (DMTF), which defines managed elements within the IT environment and sets relationships between the objects. CIM consists of a schema and a set of specifications that make the integration of components from different providers easier. The schema defines the objects in a common XML based format similar to WSDL documents for Web services and the specifications define the usage of these objects within the communication. We have included this type of protocol between the Web service interface and the ESXi server because it will allow us to easily change the backend server to another solution such as Xen or VirtualBox. The NFS virtual machine repository provides a database that stores virtual machine images which can updated and deployed by the user. The repository persists an NFS disk attached to the ESXi server, which allows the storage size to change

5 User

Compute cluster

1

4 2

Web Service

2

ESXi Server 3 VM repository

Fig. 6. Request a compute cluster use case.

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

9

Web Service ESXi Service Proxy

ESXi Server

NFS proxy

NFS

Fig. 7. Architecture of Cyberaide Creative service.

and move as updates to the entire system. The virtual machine repository stores and manages the Open Virtual Format (OVF) [35]. As a open industry standard, OVF provides a common configuration that can be accepted by a variety of hypervisors. The repository can then be used with any assortment of virtual platform solutions such as Xen, VMware, and VirtualBox. This contributes ro the usability by relieving restraints on specific platforms and makes future upgrades feasible. The flexibility within the system lies with the distributed nature of the Web service interface, VMware ESXi server and the virtual machine image repository. By separating these three components, it allows for a highly upgradeable and adaptable system capable of being run a variety of configurations regardless of the component network domains, geographical locations, or infrastructures. 5.2. Implementation The Cyberaide Creative implementation uses the Java framework to allow for platform operability and simple integration into the existing Cyberaide software package. This also provides a wide variety of developed packages to interface to the ESXi server and the NFS. The Web service is currently developed as a Weblet within the Apache Tomcat server and incorporates both the Virtual Infrastructure (VI) API and Yet Another Network Filesystem (YANFS) to provide connectivity to the other components within the system. Currently the entire tool has been developed within the Netbeans IDE to minimize Web service configuration and integration to an HTTP server. The ESXi server has a Web service interface with default installation that allows for the VI API easily connect to and issue commands such has power on, power off, create virtual machine and delete virtual machine. The only change made to the default installation of the ESXi server was to include access to the virtual machine repository. The YANFS package is used to view, upload, and delete virtual machine images within the virtual machine repository. The Web service combined with these two packages allows the Cyberaide Creative to create an interface that provides all of the features a user would need in order to setup, configure and maintain a virtual Grid infrastructure. The virtual machine repository is implemented as a NFS server that has been deployed on a default Linux Ubuntu installation with a local area network connection to the ESXi server. We realize that to utilize this as a high performance computing system it is necessary to upgrade this connection in the future to increase system performance. 6. Emergency services directory: a real world example In this section, we describe the way in which the Cyberaide Creative service is employed for building a cyberinfrastructure in the ESD application. 6.1. Emergency services directory The Emergency Services Directory (ESD) is a nation wide directory maintaining information about emergency service resources, such as fire departments, ambulances, and law enforcement agencies. The directory services several different classes of users from the general public, to state and national level government officials. Each class of users requires some levels of access to the data and also needs to perform role specific tasks. For example, a regional fire chief may need to send an alert all nearby fire stations, while ambulance providers may need to know what capabilities neighboring ambulance providers may offer. ESD also has an on-demand printing service that allows designated users to export information from the database into a customized format. The Society for Total Emergency Programs (STEP) council currently distributes a printed version of the directory to 911 dispatchers, ambulances, and other emergency service providers in Rochester, NY area. Additionally, the printing service must be scalable so multiple users can print on-demand customized documents simultaneously. The printing service consists of a set of Perl and shell scripts and can be operated independently from the Web site. This real-life health-care application is a complex IT system as it relies on harmonious operations between independent technologies. Built on top of a LAMP (Linux, Apache, MySQL, and PHP), the on-line directory uses the Drupal content

10

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

management system to handle user requests and to render the site Web pages. For added functionality, a developer may create custom PHP modules within Drupal or download and install pre-compiled modules supported by Drupal. ESD uses both methods as illustrated in Fig. 8. Role-based access control (RBAC) controls fine-grained accesses to the site and the underlying MySQL database. Drupal provides RBAC out of the box, but this access control is limited only to content contained with in the Drupal system, such as the various Web pages and modules. ESD was chosen as a case study for this project because it is a real live example of a complex IT system, and has very detailed and well defined technical requirements. The CaaS paradigm must be able to accurately create a cyberinfrastructure and deploy a project to adapt to ESD’s complexity.

6.2. Deployment strategy The first step in the deployment process is to determine the dependencies between the components and operations in the deployment process. First, we have Linux as our base operating system and use Canonical’s Ubuntu operating system for distribution. Next, the Drupal content management system requires a MySQL database and an Apache Web server with PHP capabilities. PHP’s installation and configuration strongly depends on Apache. The printing service requires two tools, i.e., Perl and Latex, which have no dependencies between them. But naturally, they must be completed after the OS configuration. After understanding the dependencies, we can begin resolving the dependencies by performing the operations in order. After the LAMP stack is in place, we can install and configure Drupal. Unfortunately, there are several steps in Drupal’s configuration process that cannot be automated, so the user will have to be present during the deployment to select some simple configuration options. Drupal is modular, and it is still possible to migrate any custom modules, codes, or themes by placing them in the appropriate location in Drupal’s directory structure. Since the directory structure is well defined, the migration of the modules can be included in our deployment scripts. After installing the MySQL database, we can load the database with the appropriate information. A Drupal maintains it’s user and site information in the database, we need to consider the dependencies between populating the MySQL database and installing Drupal. The data containing information about ESD’s emergency services is also stored in the MySQL database. While the ESD content is not related to Drupal, the process is simplified by having only one database migration step. If the ESD and the Drupal information is stored in separate databases, the two steps may be required. In summary, we can define the steps required for the ESD deployment process as follows: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Select the appropriate operating system or VM image. Install and configure Apache Server. Install and configure PHP support for Apache Server. Install and configure MySQL. Install Perl (usually not needed). Install Latex for printing service. Install Printing Service source files. Install Drupal CMS. Configure Drupal CMS during installation. Migrate database contents for Drupal and ESD.

Fig. 9 displays the dependency chart for ESD’s deployment process.

Contents

Drupal Server User Apache

PHP

MySQL

Linux

Fig. 8. ESD design.

Printing Service

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

11

1

2

4

5

3

6

7

8

9

10 Fig. 9. ESD dependency graph.

In the next section, we show how we can contain steps 1–6 with in the virtual appliance. By adding a few installation scripts to the virtual appliance image, we can automatically finish steps 7–9.

6.3. On-demand cyberinfrastructure creation and deployment for ESD In this section, we describe how we create the virtual appliance on demand, and how we then deploy the application automatically. Both steps are implemented using the Cyberaide Creative tool. According to VMWare, the creation of a virtual appliance can be generalized into three steps: 1. Install the guest operating system, 2. Install the specific software, such as Apache and MySQL, needed by the service, and 3. Provide an interface so the user can oversee and participate in the virtual appliance creation process. It is important that the user participates in the appliance creation process as there are several configuration parameters that require a user’s input, for example the network configuration. Cyberaide Creative provides us with such an interface via a Web service. Using Cyberaide Creative, here are the steps needed to deploy the virtual appliance and to move the service contents to the platform: 1. The user logs into the Cyberaide Creative Web service and selects the type of VM image required. 2. The Web service sends these parameters to the ESXi Server, which then provides the required VM image. 3. The user then specifies the packages needed and the dependencies between these packages. VMWare requires that the user specifies the dependencies. 4. The user provides the Web service with any custom installation or data migration scripts. 5. The Web service then forwards these requirements and scripts to the ESXi Server, which then installs the required packages. 6. The ESXi Server then launches the appliance to a host machine, runs the scripts and returns the address and login information to the Web service. 7. The Web service forwards the address and login information to the user. The user can now directly login to the instantiated appliance. In this implementation, scripts were written to handle the download and installation of the Drupal CMS, the creation of the database tables needed for the ESD and Drupal applications, and then for the migration of the database contents. It should be noted that (1) the installation of Drupal is not completed until the user logs in to the virtual appliance and agrees to certain licenses and specifies certain parameters and (2) the VMware hypervisor only installs the appliance (OS and basic packages). The rest of the installation is done on the appliance via the provided scripts.

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

LinPelican performance (GFlops)

12

Bare metal machine

2.5

Virtual machine

2 1.5 1 0.5 0 1

1 2 4 Machine number

8

Fig. 10. Benchmark results.

7. Performance evaluation and discussion To demonstrate the capabilities provided by Cyberaide Creative we have run some tests for performance evaluation. Our main concern is the overhead created by virtualization and the overhead introduced instantiating virtual machines via Web services. 7.1. Virtualization overhead A primary concern for virtualization in the HPC industry is its overhead. In our test, we used the task execution time of HPC benchmark (Pelican HPC pack benchmark [36]) as a performance metric. We compare the task execution times of running the HPC benchmark on virtual machines and barebone machines. Same system has been utilized to determine the impact of the overhead and to develop of the Cyberaide Creative service with specifications: two 2 GHz Dual Core AMD processors with 8 GB of RAM and four 250 GB IDE hard drives. To analyze the overhead introduced by the ESXi server, we used Pelican to load the Debian based system via a USB drive and to launch virtual clusters. The USB drive was configured to load all the necessary operating system components into the RAM without modifying any of the existing hard drive data, this allows a quick test of the virtualization overhead. The virtual clusters were created using a single node as the head node with additional 2, 4, or 8 compute nodes respectively. The results in Fig. 10 show an expected decrease of approximately 20% decrease in performance from the same host machine natively running the Pelican HPC. This can be attributed to the ESXi server’s need for properly emulating the underlying hardware and providing features such as snapshot and migration. Additionally it is obvious from Fig. 10 that with the creation of a larger cluster on our limited resources the management and message passing between compute clusters consume a considerable portion of the resources without any added benefits to the system.

Web service invocation

Response time (Second)

250

local invocation

200 150 100 50

1

2

4

Virtual machine number Fig. 11. Web service overhead.

8

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

13

7.2. Web service implementation overhead To demonstrate the capability of the cyberinfrastructure we have attempted to identify concerns that scientists will have when switching to a more flexible yet slightly reduced performance platform. The Web service and virtual machine repository are running on separate systems to determine the impact of using Web service. To determine the Web service’s impact on virtual machine instantiation (power on and power off) we compared the time taken to start a virtual machine using our Web service interface and the ESXi server’s local command line interface. To accurately measure the duration taken to instantiate a virtual machine from the Web service we integrated a timer within the Web service. The timer is first started when a command to start a virtual machine is made and then the timer is stopped upon the detection of the IP address, showing that the virtual machine is available for use. In order to detect the IP address of the virtual machine the ESXi server is continually polled requesting the information about the specified virtual machines. The results in Fig. 11 show the overhead produced by the Web service interface in launching virtual machines. The Web service only incurs a minimal increase to the overall time to start virtual machines. 8. Conclusions In this study, we attempted to address the increasing complexity of contemporary cyberinfrastructure due to a rapid growth and a large diversity of hardware and software configurations and implementations. We proposed a new computing paradigm, Cyberinfrastructure as a Service (CaaS), as a method to easily and efficiently establish a cyberinfrastructure. CaaS can on-demand provide a cyberinfrastructure to users via invoking a Web service. In this paper, we demonstrated several typical use scenarios including ‘‘Request an On-demand Access to Cyberinfrastructure’’, ‘‘Request a Single Virtual Machine Workstation’’, and ‘‘Request a Compute Cluster’’. We first implemented the CaaS paradigm as a Web service (namely the Cyberaide Creative service) upon the Cyberaide Toolkit, which is a lightweight middleware for access and manage modern cyberinfrastructures similar to Grids and Clouds. The service conforms to a component architecture that consists of (1) a Web interface, (2) a VMware ESXi server, and (3) a virtual machine repository. We then explored the feasibility of using Cyberaide Creative service in a real world use case, i.e., the Emergency Services Directory (ESD) system. The ESD system is a large distributed cyberinfrastructure that contains complex software stacks, such as Apache Web server, MySQL database, PHP program, and various applications. We successfully employed the Cyberaide Creative service to deploy the ESD system. A performance evaluation has also been carried out to examine the Cyberaide Creative service with a HPC benchmark. Two types of overheads have been considered: (1) the overhead introduced by the virtualization and (2) the overhead of remote invocation of Web service implementation. The experimental results show that the implementation overhead is acceptable. Eventually, the use case and the performance evaluation justified the ‘‘Cyberinfrastructure as a Service’’ paradigm and the implementation of Cyberaide Creative service. Acknowledgement Dr. Lizhe Wang’s work in this paper is supported in part by ‘‘One Hundred Talents Programme’’ of Chinese Academy of Sciences and ‘‘Strategic Priority Research Program’’ of CEODE, Grant No. 135010101. Dr. Dan Chen is funded in part by National Natural Science Foundation of China (Grant No. 60804036), the Hundred University Talent of Creative Research Excellence Programme (Hebei, China), the Fundamental Research Funds for the Central Universities (CUGL100608, CUG, Wuhan), the Specialized Research Fund for the Doctoral Program of Higher Education (Grant No. 20110145110010), the Programme of High-Resolution Earth Observing System (China), and the Program for New Century Excellent Talents in University (Grant No. NCET-11-0722). References [1] Chen Chunpeng, Yao Yiping, Wang Huaimin. Hierarchical federation community and time management. Simulation 2008;84(7):373–83. [2] Chen Dan, Li Duan, Xiong Muzhou, Bao Hong, Li Xiaoli. GPGPU-aided ensemble empirical-mode decomposition for EEG analysis during anesthesia. IEEE Trans Info Technol Biomed 2010;14(6):1417–27. [3] Chen Dan, Wang Lizhe, Ouyang Gaoxiang, Li Xiaoli. Massively parallel neural signal processing on a many-core platform. Comput Sci Eng 2011;13(6):42–51. [4] Lee Liang-Teh, Tao Der-Fu, Tsao Chieh. An adaptive scheme for predicting the usage of grid resources. Comput Electr Eng 2007;33(1):1–11. [5] Yin Fei, Jiang Changjun, Deng Rong, Yuan Jianjun. Grid resource management policies for load-balancing and energy-saving by vacation queuing theory. Comput Electr Eng 2009;35(6):966–79. [6] Wang Lizhe, von Laszewski Gregor, Younge Andrew J, He Xi, Kunze Marcel, Tao Jie, et al. Cloud computing: a perspective study. New Gener Comput 2010;28(2):137–46. [7] Wang Lizhe, Fu Cheng. Research advances in modern cyberinfrastructure. New Gener Comput 2010;28(2):111–2. [8] Buyya Rajkumar, Yeo Chee Shin, Venugopal Srikumar, Broberg James, Brandic Ivona. Cloud computing and emerging it platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 2009;25(6):599–616. [9] Chen Dan, Turner Stephen J, Cai Wentong, Theodoropoulos Georgios K, Xiong Muzhou, Lees Michael. Synchronization in federation community networks. J Parallel Distrib Comput 2010;70(2):144–59.

14

L. Wang et al. / Computers and Electrical Engineering 39 (2013) 3–14

[10] Chen Dan, Theodoropoulos Georgios K, Turner Stephen J, Cai Wentong, Minson Robert, Zhang Yi. Large scale agent-based simulation on the grid. Future Gener Comput Syst 2008;24(7):658–71. [11] Chen Dan, Wang Lizhe, Wu Xiaomin, Chen Jingying, Khan Samee U, Kolodziej Joanna, et al. Hybrid modelling and simulation of huge crowd over a hierarchical grid architecture. Future Gener Comput Syst 2012. [12] Wang Lizhe, Chen Dan, Deng Ze, Huang Fang. Large scale distributed visualization on computational grids: a review. Comput Electr Eng 2011;37(4):403–16. [13] Wang Lizhe, Chen Dan, Huang Fang. Virtual workflow system for distributed collaborative scientific applications on grids. Comput Electr Eng 2011;37(3):300–10. [14] Wang Lizhe, Laszewski Gregor von, Tao Jie, Kunze Marcel. Grid virtualization engine: design, implementation, and evaluation. IEEE Syst J 2009;3(4):477–88. [15] Wang Lizhe, Laszewski Gregor von, Chen Dan, Tao Jie, Kunze Marcel. Provide virtual machine information for grid computing. IEEE Trans Syst Man Cybern, Part A 2010;40(6):1362–74. [16] Barham Paul, Dragovic Boris, Fraser Keir, Hand Steven, Harris Timothy L, Ho Alex, et al. Xen and the art of virtualization. In: Scott Michael L, Peterson Larry L, editors. SOSP. ACM; 2003. p. 164–77. [17] VMware server. . [18] KVM – Kernel based virtual machine. . [19] Microsoft virtual pc. . [20] Sapuntzakis Constantine P, Brumley David, Chandra Ramesh, Zeldovich Nickolai, Chow Jim, Lam Monica S, Rosenblum Mendel. Virtual appliances for deploying and maintaining software. In: LISA. USENIX, 2003. p. 181–94. [21] CERN Virtual Machine. . [22] rBuilder. . [23] LHC Computing Grid. . [24] Grid appliance user interface, 2009. [25] Condor: High Throughput Computing. . [26] Nimbus. . [27] Globus Toolkit. . [28] Nurmi Daniel, Wolski Rich, Grzegorczyk Chris, Obertelli Graziano, Soman Sunil, Youseff Lamia, et al. The eucalyptus open-source cloud-computing system. In: Proceedings of cloud computing and its applications, October 2008. [29] Cyberaide project. 2009. . [30] Katherine Kantardjieff, The nsf cyberinfrastructure vision for the 21st century discovery. 2007. . [31] NSF Office of Cyberinfrastructure. 2009. . [32] von Laszewski Gregor, Younge Andrew J, He Xi, Mahinthakumar Kumar, Wang Lizhe, Experiment and workflow management using cyberaide shell. In: CCGRID, 2009. p. 568–73. [33] Virtual Infrastructure Java API. 2009. . [34] Common Information Model (CIM). . [35] Open Virtualization Format (OVF). . [36] Pelican HPC. 2009. .

Lizhe Wang is a professor at Center for Earth Observation and Digital Earth (CEODE), Chinese Academy of Sciences. Dr. Wang received his Bachelor and Master degree from Tsinghua University, China and Doctor degree from University Karlsruhe, Germany. Dr. Wang’s research interests include high performance computing, Grid computing and Cloud computing. Dan Chen is a full professor and the director of Scientific Computing Lab with the School of Computer Science, China University of Geosciences, China. His research interests include computer-based modeling and simulation, high-performance computing, and neuroinformatics. He has published more than 60 research papers in these areas. Yangyang Hu is a Ph.D. student at the School of Computer Science, China University of Geosciences, China. Yan Ma is now an assistant researcher at CEODE (The Center for Earth Observation and Digital Earth), Chinese Academy of Sciences. Her research interests include parallel remote sensing image processing, parallel programming, and storage and management for massive remote sensing data. Jian Wang obtained his doctoral degree from Institute of Software, Chinese Academy of Sciences in 2005. He is currently a Senior Research Engineer at CEODE (The Center for Earth Observation and Digital Earth), Chinese Academy of Sciences. His research areas include high performance geographic computing, parallel computing, and data-centric computing.