Top Banner
Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang
39

Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Chapter 4Examining Cloud ComputingFrom the Perspective of Gridand Computer-Supported Cooperative Work

Jinlei Jiang and Guangwen Yang

Page 2: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Cloud computing, which refers to services provisioning and consumption over the Internet, is the latest paradigm promising to deliver computing as a utility. Though it is still in its infancy and facing many challenges, cloud computing has drawn and is drawing more interest from both academia and industry. Taking grid computing as the baseline and using the findings in computer-supported cooperative work (CSCW) research, this chapter tries to answer such questions as why cloud computing is so attractive and how to make the vision of cloud computing really come true.

Abstract

Page 3: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Delivering computing as a utility was envisioned a way back by computing pioneer John McCarthy in 1961 as [17] – “If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility… The computer utility could become the basis of a new and important industry.”, and by Leonard Kleinrock in 1969 [10] – “As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of “computer utilities” which, like present electric and telephone utilities, will service individual homes and offices across the country. ”

4.1 Instruction

Page 4: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Along the journey toward this dream, many computing paradigms have been proposed, including cluster computing, peer-to-peer (P2P) computing, services computing, and grid computing. Cloud computing, which refers to service (hardware such as CPU and storage, platform, and application) provisioning and consumption over the Internet in an on-demand approach, is the latest one joining this family.

4.1 Instruction

Page 5: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Though it is just an emerging paradigm, more and more people [3, 4, 8, 11] tend to think that cloud computing is the state-of-the-art practice and holds the promise to realize the long-held dream of “computing as a utility. ”Nowadays, cloud computing has become a trend, drawing a lot of interest from both academia and industry. On the one hand, there are lots of hypes and columns available in the media, especially the IT-related ones. For example, using Google’s exact search, the term “cloud computing” yields about 25,200,000 web pages, compared with 2,000,000 pages for “grid computing.”

4.1 Instruction

Page 6: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Another result given by Google is also surprising – it only took 10 months for the cloud computing article by Berkeley [2] to get 138 citations. On the other hand, there are quite some products and services available on the market and still more products and services are coming. For example, besides Amazon’s EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service), other well-known cloud computing products and services include Salesforce’s Force.com and SFA (Sales Force Automation), IBM’s Blue Cloud, Google’s App Engine and various Apps, and Microsoft’s Windows Azure, to name but just a few. It is notable that AT&T and Verizon, two major telecom operators in the United States, also expanded their horizons into cloud computing by launching Synaptic Hosting and CaaS (computing-as-a-service), respectively, in 2009.

4.1 Instruction

Page 7: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

In spite of the facts above, cloud computing is still in its infancy with some debates on its concept and scope [3,8]. Some people think cloud computing is just another name given to utility computing. Others treat it as an upgrade to grid computing. Yet others argue that it is a revolution in computing architecture. Given the fact that cloud computing has a history of no more than 3 years, it is natural to see such a situation and it is also natural that the debates continue. In this chapter, we do not want to give another definition of cloud computing nor outline its boundary. Instead, our aim is to explore the following two questions:

4.1 Instruction

Page 8: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

• Why is cloud computing so attractive?• What should we do to make the vision of cloud computing really come true?

4.1 Instruction

Page 9: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

To do so, we first examine the differences between cloud and grid computing in Section 2 with an aim to give a better understanding of the concept and scope of cloud computing. Afterwards, we turn to findings in computer-supported cooperative work (CSCW) research and try to give answers to the two questions. Our answers aim to give some hints for the development of cloud computing rather than solve all the challenges facing cloud computing.

4.1 Instruction

Page 10: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

It is always effective to understand a new thing by comparing it with the existing ones. Here, grid computing is selected because it is the last computing paradigm before cloud computing along the journey toward “computing as a utility” and because it looks very much like cloud computing in many aspects. Figure 4.1 illustrates the paradigms of grid and cloud computing. As both grid and cloud computing are of many shapes and colors, in the following we will concentrate our comparison on their origins, system design, and users.

4.2 Cloud and Grid: A Comparison

Page 11: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

4.2 Cloud and Grid: A Comparison

Page 12: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Though cloud and grid look very similar in the sense that they both aim to provide enormous resources to their users in an on-demand manner, differences do exist between them. In this section, we explore their origins. The purpose is to identify the driving force behind grid and cloud computing and set a solid foundation for other comparisons.

4.2.1 A Retrospective (回顧 ) View

Page 13: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Grid computing stems from academia, or more precisely the field of high-performance computing (HPC), in the 1990s with an aim to facilitate users to remotely utilize idle computing power within other computing centers when the local one is busy. This can be used to explain why the design of grid adopts a resource-centric approach. The grid at the early stage is termed compute grid. It was over nearly 1 years of development that grid technology became generally accepted as an effective way for “coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations”[7]. As a result, compute grid evolved into grid computing, drawing much attention and funding from governments around the world.

4.2.1 A Retrospective View

Page 14: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Along this transition, grid technology gets into the scope of enterprises. A milestone in the development of grid computing is the convergence of grid and service-oriented architecture (SOA) [13], resulting in first OGSA (Open Grid Services Architecture) and then WSRF (Web Service Resource Framework). It is since then that the potential of grid computing for business has fully unfolded. However, owing to a lack of explicit business model and many other factors that will be analyzed later, today there is still no widely accepted commercial-running grid service available on the market [12].

4.2.1 A Retrospective View

Page 15: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

In contrast, cloud computing stems from the industry with an aim to sell resources as a service to its customers. Three kinds of cloud services identified are infrastructure as a service (IaaS, e.g., Amazon EC2 and S3, and IBM Blue Cloud), platform as a service (PaaS, e.g., Google App Engine, Microsoft Windows Azure, and Salesforce Force.com), and software as a service (SaaS, e.g., Salesforce SFA, Google Doc, and Microsoft Dynamic CRM). Before cloud computing was born, SOA has been prevalent for quite some time and much experience has been gained with grid operation.

4.2.1 A Retrospective View

Page 16: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Cloud computing has a better starting point than any other computing paradigms mentioned in Section 1. Based on the lessons learned in the past, cloud computing adopts a user-and task-centric design as well as a “pay-as-you-go” business model. As a result, users' experiences with cloud services are enhanced greatly. Though cloud computing has a short history to now, many products and services are already available on the market.

4.2.1 A Retrospective View

Page 17: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Different starting points lead to different systems. In this section, we will examine grid and cloud computing from a system point of view. Aspects covered are the technology behind the curtain and the system management.In technical language, the purpose of grid computing is to integrate resources from different organizations forming a uniform resource pool, which can provide the ability that is impossible with a single computing/data center or that is beyond what a single organization can provide.

4.2.2 Comparison from the Viewpoint of System

Page 18: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Since these organizations are usually distributed geographically and have their own rights in determining vendors of their resources, the principal challenge facing grid computing is to shield the inherent heterogeneity and distribution of underlying resources. In contrast, the purpose of cloud computing is to divide resources into smaller pieces and delivers them to users in their desired way whenever needed. Resources in cloud computing are usually possessed or operated by a single organization and physically, they can be centralized within the same computing/data center or distributed across multiple computing/data centers, homogeneous or heterogeneous.

4.2.2 Comparison from the Viewpoint of System

Page 19: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

In other words, resource heterogeneity and distribution is no longer a key problem in cloud computing. Instead, the principal challenge is to improve scalability, availability, and reliability.Grid computing achieves its purpose through so-called grid middleware, a specific software product that provides necessary yet generic services for shielding the inherent underlying heterogeneity and distribution. Nowadays, there are well-established standards for grid middleware and quite some products and systems available, including Globus Toolkit (GT), Unicore, and gLite, to name but a few. Core services provided by the existing grid middleware are as follows:

4.2.2 Comparison from the Viewpoint of System

Page 20: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

• Information Service: maintains detailed up-to-date knowledge of all the resources or services in a grid environment. Based on the information service, suitable resources or services are identified. Information service, is also known as meta-data service or directly service.

• Security Service: resources and users in grids are from multiple autonomous administrative domains. Security service is deployed to guarantee secure cross-organizational resource access that not only protects communications but also ensures no violation of the local administration policies.

4.2.2 Comparison from the Viewpoint of System

Page 21: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

• Data Management: provides some useful mechanisms for data access, data movement, data replication and location, and data integration. In GT4, data management related services include GridFTP, reliable file transfer (RFT), replica location service (RLS), data replication service (DRS), and data access and integration (OGSA-DAI) where OGSA-DAI is supplied by the third-party rather than the Globus team.• Execution Management: deployed to fulfill a task using the resources provided, to track the progress of that task, and to manage the computing result. The key task of execution management is to determine where to run a given job according to the information provided by the information service.

4.2.2 Comparison from the Viewpoint of System

Page 22: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Cloud computing also achieves its purpose by a middleware layer, which is called cloudware in this chapter. According to the type of service supplied (e.g., IaaS, PaaS, or SaaS), cloudware may provide various functionalities In summary, the core functions of the cloudware are as follows:

4.2.2 Comparison from the Viewpoint of System

Page 23: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

4.2.2 Comparison from the Viewpoint of System

• Middleware is computer software that connects software components for their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact. This technology evolved to provide for interoperability in support of the move to coherent distributed architectures, which are most often used to support and simplify complex distributed applications. It includes web servers, application servers, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service-oriented architecture.

Page 24: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

4.2.2 Comparison from the Viewpoint of System

• Cloudware is software that runs on Internet servers rather than on your hard drive. They require little or no installation/download. It is also referred to as "Software as a Service" (SaaS) and it has some connections to what you may have heard called "thin-client devices" (hardware or even software where all the real processing is done on a server and not on the device you are using).

Page 25: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

• Maintains up-to-date information of the available physical resources (e.g., their capability, current load, and so on) as happens in grid computing. The purpose is to provide a basis for other functions such as virtual machine (VM) and application management. However, unlike in grid computing, this information is even transparent to developers.

4.2.2 Comparison from the Viewpoint of System

Page 26: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

4.2.2 Comparison from the Viewpoint of System

Create and manage VMs according to users’ request. To utilize resources effectively, some algorithms or policies are deployed to determine where to create a VM, and when to start and stop a VM based on the information maintained. It is the duty of the hypervisor to keep the resource entitlement (應得的權利 ) of a given VM.

Page 27: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

• Application deployment, configuration, and execution. Meanwhile, the execution progress or status is also tracked.• User management, pricing, and accounting. The purpose is to determine how users ' requests are charged and maintain the actual usage of resources by a certain request or user.

4.2.2 Comparison from the Viewpoint of System

Page 28: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Grid and cloud computing also show differences in system management as stated in the following.In grid computing, since resources are owned and provided by different autonomous organizations, a heavy burden is raised to system management. For each node, besides routine maintenance work, system administrators must do much extra work to coordinate local administration policies with global ones. For example, they must make sure that resources are shared in a way fully compliant (順從 ) with local regulations.

4.2.2 Comparison from the Viewpoint of System

Page 29: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

4.2.2 Comparison from the Viewpoint of System

• In addition, they must separate environment of local users from global ones to guarantee reliability and security. None of this work is trivial. Moreover, since there are quite some independent or interrelated components and services involved in a grid, installing and configuring the grid software itself implies a lot of work and presents some challenges even to experienced system administrators.

Page 30: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

On the contrary, resources in cloud computing are usually possessed or operated by a single organization and as a result, there is no need to coordinate different administration policies. In addition, since each VM in cloud computing provides an isolated and independent running environment that is fully controllable by the user who creates it, there is also no need for system administrators to install and configure users’ programs and to worry that they may interfere with each other and cause system disasters. Therefore, the burden of system management is greatly eased.

4.2.2 Comparison from the Viewpoint of System

Page 31: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Different design philosophies lead to different systems, which in turn place different constraints on their users. This section compares grid and cloud computing from the viewpoint of users. Two kinds of users distinguished here are end-users who consume resources and services, and application developers who develop new applications or services using the resources and services supplied by a grid or a cloud.

4.2.3 Comparison from the Viewpoint of Users

Page 32: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Both grid and cloud computing provide two ways for end-users to consume resources supplied. The first involves using pre-installed software services through their own interfaces. Since these services are designed to support the needs of common users, in both cases end-users with special requirements or habits have to adapt themselves to the preset operation styles and instructions. Given the fact that grids are usually operated by computer scientists who know little about the domain needs, the problem is especially severe. The second involves running a task directly in a grid or a cloud. This shows quite some differences in operations and constraints as stated below.

4.2.3 Comparison from the Viewpoint of Users

Page 33: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

To run a task in a grid, end-users need to specify the type and quantity of resources desired, information used for authentication (確證 ), the program to be run and its arguments, sources of the input, and the output and its destination. This is an annoying procedure that often makes users stop. For example, globusrun-ws, the command supplied by GT4 for job submission and management, has 30 options for submitting a job and 15 options for monitoring a job. Though some tools have been provided as a help, much work is still needed, for example, to compose a job description file. Even if end-users have done all the work perfectly, there are still other risks that prevent their jobs getting done.

4.2.3 Comparison from the Viewpoint of Users

Page 34: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

One thing often ignored is that, because each grid middleware itself is a software system and has its special requirements on the running environment, the existing grids are very tightly bound to a specific operating system (OS), software libraries, or applications. For example, gLite presently can only run on Scientific Linux 4 and 5, and Debian 4. As a result, if the program corresponding to a job is not executable on the platform on top of which a grid middleware is running, or if one or more libraries needed by the program are unavailable, the job just could not get done even if there are enough resources available. Another depressing thing is that, because different grid systems in the real world deploy quite different ways for users to express their needs, the job description file prepared for one grid usually cannot be used in another one.

4.2.3 Comparison from the Viewpoint of Users

Page 35: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

In contrast, running a task in clouds is much easier and faces fewer constraints. The only thing needed is to reserve the desired resources and configure them for the task to be run. Resource reservation can be done by several mouse clicks and resource configuration makes no difference when compared with activity using local machines. Owing to the VM technology, users in cloud computing can always set up an environment capable of running their programs and thus the constraints laid by grids on the running programs as mentioned above no longer exist.

4.2.3 Comparison from the Viewpoint of Users

Page 36: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Grid and cloud computing also impose different requirements on application developers. Generally speaking, developing applications on a grid is a complex task. First, this implies that developers should know many details about the grid environment, for example, the way to stage data to and from the execution site, the way to find a specific service to be invoked, to name but a few. In addition, they must spend much time learning the related APIs (Application Programming Interfaces) – even the Simple API for Grid Applications (SAGA) has a document of more than 300 pages.

4.2.3 Comparison from the Viewpoint of Users

Page 37: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

Second, since the grid is a highly dynamic environment, developers must pay more attention to such issues as exception handling, fault tolerance, scalability, performance, and so forth. Third, there are no mature tools for debugging and measuring the behavior of grid applications. Developers must struggle in their own ways (e.g., setting up an experimental grid of their own to monitor the behaviors of the application) to ensure the correctness of the application developed. It is easy to see from the statements above that programming on a grid raises a heavy burden on application developers.

4.2.3 Comparison from the Viewpoint of Users

Page 38: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

As a comparison, programming in clouds is much easier. For IaaS, developers can always customize their working environments with their familiar tools and configurations, so there is almost no difference to programming on local machines. For PaaS, nearly every service provider supplies a platform SDK (Software Development Kit) and/or some debugging tool. For example, Google App Engine provides a fully featured local development environment with which developers can write, for example, standard Java applications.

4.2.3 Comparison from the Viewpoint of Users

Page 39: Chapter 4 Examining Cloud Computing From the Perspective of Grid and Computer-Supported Cooperative Work Jinlei Jiang and Guangwen Yang.

The Google plug-in for Eclipse provides an IDE (Integrated Development Environment) with application wizard and debug configuration for Google App Engine projects, making the development process much easier and more efficient. Similarly, Visual Studio 2010 also provides a template for developers to write Windows Azure services. In this way, the complexity of the platform is shielded from developers and the pains of application development are greatly eased.

4.2.3 Comparison from the Viewpoint of Users