Скачиваний:
50
Добавлен:
20.06.2019
Размер:
50.48 Mб
Скачать

96

V.D. Cunsolo et al.

It is the basis of the “@home” philosophy of sharing/donating network connected resources for supporting distributed scientific computing.

We believe that the Cloud-computing paradigm is also applicable at lower scales, from the single contributing user who shares his/her desktop, to research groups, public administrations, social communities, and small and medium enterprises, who can make their distributed computing resources available to the Cloud. Both free sharing and pay-per-use models can be easily adopted in such scenarios.

From the utility point of view, the rise of the “techno-utility complex” and the corresponding increase in computing resource demands, in some cases growing dramatically faster than Moore’s Law, predicted by the Sun CTO Greg Papadopoulos in the red shift theory for IT [15], could take us in a close future, toward an oligarchy, a lobby or a trust of few big companies controlling the whole computing resources market.

To avoid such a pessimistic but achievable scenario, we suggest addressing the problem in a different way: instead of building costly private data centers that the Google CEO, Eric Schmidt, likes to compare with the prohibitively expensive cyclotrons [3], we propose a more “democratic” form of Cloud computing, in which the computing resources of single users accessing the Cloud can be shared with others in order to contribute to the elaboration of complex problems.

As this paradigm is very similar to the Volunteer computing one, it can be named as Cloud@Home. Both hardware and software compatibility limitations and restrictions of Volunteer computing can be solved in Cloud computing environments, allowing to share both hardware and software resources and/or services.

The Cloud@Home paradigm could also be applied to commercial Clouds, establishing an open computing-utility market where users can both buy and sell their services. Since the computing power can be described by a “long-tailed” distribution, in which a high-amplitude population (Cloud providers and commercial data centers) is followed by a low-amplitude population (small data centers and private users) that gradually “tails off” asymptotically, Cloud@Home can catch the Long Tail effect [1], providing similar or higher computing capabilities than commercial providers’ data centers, by grouping small computing resources from many single contributors.

In the following, we demonstrate how it is possible to realize all these aims through the Cloud@Home paradigm. In Section 2, we describe the functional architecture of the Cloud@Home infrastructure, and in Section 3, we characterize the blocks implementing the functions previously identified into the Cloud@Home core structure. Section 4 concludes the chapter by recapitulating our work and discussing challenges and future work.

6.2  Cloud@Home Overview

The idea behind Cloud@Home is to reuse “domestic” computing resources to build voluntary contributors’ Clouds that are interoperable and, moreover, interoperate with other foreign, and also commercial, Cloud infrastructures. With Cloud@Home,

6  Open and Interoperable Clouds: The Cloud@Home Way

97

anyone can experience the power of Cloud computing, both actively by providing his/her own resources and services, and passively by submitting his/her applications and requirements.

6.2.1  Issues, Challenges, and Open Problems

Ian Foster summarizes the computing paradigm of the future as follows [9]: “... we will need to support on-demand provisioning and configuration of integrated ‘virtual systems’ providing the precise capabilities needed by an end user. We will need to define protocols that allow users and service providers to discover and hand off demands to other providers, to monitor and manage their reservations, and arrange payment. We will need tools for managing both the underlying resources and the resulting distributed computations. We will need the centralized scale of today’s Cloud utilities, and the distribution and interoperability of today’s Grid facilities....”

We share all these requirements, but in a slightly different way: we want to actively involve users into such a new form of computing, allowing them to create their own interoperable Clouds. In other words, we believe that it is possible to export, apply, and adapt the “@home” philosophy to the Cloud-computing paradigm. In this way, by merging Volunteer and Cloud computing, a new paradigm can be created: Cloud@Home. This new computing paradigm gives back the power and control to users, who can decide how to manage their resources/services in a global, geographically distributed context. They can voluntarily sustain scientific projects by freely placing their resources/services at the scientific research centers’ disposal, or can earn money by selling their resources to Cloud-computing providers in a pay-per-use/share context.

Therefore, in Cloud@Home, both the commercial/business and volunteer/ scientific viewpoints coexist: in the former case, the end-user orientation of Cloud is extended to a collaborative two-way Cloud in which users can buy and/or sell their resources/services; in the latter case, the Grid philosophy of few but large computing requests is extended and enhanced to open Virtual Organizations. In both cases, QoS requirements could be specified, introducing in to the Grid and Volunteer philosophy (best effort) the concept of quality.

Cloud@Home can also be considered as a generalization and a maturation of the @home philosophy: a context in which users voluntarily share their resources without compatibility problems. This allows knocking down both hardware (processor bits, endianness, architecture, and network) and software (operating systems, libraries, compilers, applications, and middlewares) barriers of Grid and Volunteer computing. Moreover, Cloud@Home allows users to share not only physical resources, as in @home projects or Grid environments, but any kind of service. The flexibility and extensibility of Cloud@Home can allow to easily arrange, manage, and make available with significant computing resources (greater than those in Clouds, Grids, and/or @home environments) to everyone who owns a computer. Another significant improvement of Cloud@Home with regard to Volunteer computing

98

V.D. Cunsolo et al.

paradigms is the QoS/SLA management: starting from the credit management system and other similar experiments on QoS, a mechanism for adequately monitoring, ensuring, negotiating, accounting, billing, and managing, in general, QoS and SLA will be implemented.

On the other hand, Cloud@Home can be considered as the enhancement of the Grid-Utility vision of Cloud computing. In this new paradigm, user’s hosts are not passive interfaces to Cloud services, but can be actively involved in computing. At worst, single nodes and services could be enrolled by the Cloud@Home middleware to build own-private Cloud infrastructures that can with interact with other Clouds.

The Cloud@Home motto is: heterogeneous hardware for homogeneous Clouds. Thus, the scenario we prefigure is composed of several coexisting and interoperable Clouds, as depicted in Fig. 6.2. Open Clouds (yellow) identify open VO operating for free Volunteer computing; Commercial Clouds (blue) characterize entities or companies selling their computing resources for business; and Hybrid Clouds (green) can both sell or give for free their services. Both Open and Hybrid Clouds can interoperate with any other Clouds, as well as Commercial, while these latter can interoperate if and only if the Commercial Clouds are mutually recognized. In this way, it is possible to make federations of heterogeneous Clouds that can work together on the same project. Such a scenario has to be implemented transparently for users who do not want to know whether their applications are running in homogeneous or heterogeneous Clouds. The differences among homogeneous and heterogeneous Clouds are only concerned with implementation issues, mainly affecting the resource management: in the former case, resources are managed locally to the Cloud; in heterogeneous Clouds, interoperable services have to be implemented in order to support discovery, connectivity, translation, and negotiation requirements amongst Clouds.

Sun

 

Commercial

Amazon EC2

 

 

 

Network.com

 

 

Cloud

 

 

 

 

 

 

 

 

Hybrid Cloud

Academic

 

 

 

 

 

 

 

 

Cloud

Hybrid Cloud

Open Cloud

 

 

 

 

 

 

 

 

IBM Blue

 

 

 

 

Cloud

 

 

Scientific

 

 

Microsoft

 

Cloud

Open Cloud

 

Azure S.P.

Fig. 6.2Co-existing and interoperable Clouds anticipated for the Cloud@Home Scenario

6  Open and Interoperable Clouds: The Cloud@Home Way

99

The overall infrastructure must deal with the high dynamism of its nodes/ resources, allowing to move and reallocate data, tasks, and jobs. It is therefore necessary to implement a lightweight middleware, specifically designed to optimize migrations. The choice of developing such middleware on existing technologies (as done in Nimbus-Stratus starting from Globus) could be limiting, inefficient, or not adequate from this point of view. This represents another significant enhancement of Cloud@Home against Grid: a lightweight middleware allows to involve limited resources’ devices into the Cloud, mainly as consumer hosts accessing the Cloud through “thin client” but also, in some specific applications, as contributing hosts implementing (light) services according to their availabilities. Moreover, the Cloud@Home middleware does not influence code writing as Grid and Volunteer computing paradigms do.

Another important goal of Cloud@Home is security. Volunteer computing has security concerns, while the Grid paradigm implements complex security mechanisms. Virtualization in Clouds implements isolation of services, but does not provide any protection from local access. With regard to security, the specific goal of Cloud@Home is to extend the security mechanisms of Clouds to the protection of data from local access. As Cloud@Home is composed of an amount of resources potentially larger than commercial or proprietary Cloud solutions, its reliability can be compared with Grid or the Volunteer computing and should be greater than other Clouds.

Lastly, interoperability is one of the most important goals of Cloud@Home. This is an open problem in Grid, Volunteer, and Cloud computing, which we want to address in Cloud@Home.

The most important issues that should be taken into account in order to implement such a form of computing can be listed as follows:

Resources and Services management – a mechanism for managing resources and services offered by Clouds is mandatory. This must be able to enroll, discover, index, assign and reassign, monitor, and coordinate resources and services. A problem to face at this level is the compatibility among resources and services and their portability.

Frontend – abstraction is needed in order to provide users with a high-level service-oriented point of view of the computing system. The frontend provides a unique, uniform access point to the Cloud. It must allow users to submit functional computing requests, only providing requirements and specifications, without any knowledge of the system-resources deployment. The system evaluates such requirements and specifications, and translates them into physical resource demands, deploying the elaboration process. Another aspect concerning the frontend is the capability of customizing Cloud services and applications.

Security – effective mechanisms are required to provide authentication, resources and data protection, data confidentiality, and integrity.

Resource and service accessibility, reliability, and data consistency – it is necessary to implement redundancy of resources and services, and hosts’ recovery policies because users voluntarily contribute to the computing, and therefore, can asynchronously, at any time, log out or disconnect from the Cloud.

Соседние файлы в папке CLOUD COMPUTING