This action might not be possible to undo. Are you sure you want to continue?
by Monowar Hasan & Sabbir Ahmed A Thesis submitted to the Department of Computer Science and Engineering in partial fulﬁllment of the requirements for the degree of
Bachelor of Science (B.Sc.) in Department of Computer Science and Engineering
Bangladesh University of Engineering and Technology 22 March 2012 Dhaka Bangladesh
Nowadays Cloud Computing become a buzz-word in distributed processing. Cloud Computing, originates from the ideas of concurrent processing from Computer Cluster, enhanced the established architecture and standards of Grid - another technology of parallel processing with the ideas of Utility Computing and Service oriented Computing. Cloud Computing is actually provide a business model as form of X-as-a-Service where X may include Hardware, Software, Developing platform or some Storage media. End-users can consume any of these service form provides pay-as-you-go basis without knowing details about underlying architecture. Hence, cloud provide a layers of abstraction to end-users and provides scope to modify the application demand for end-users, developers and providers.
We are grateful to several people for this thesis without whom it won’t be a successful one. Our heart felt thanks to our supervisor Professor Dr. Md. Humayun Kabir Sir for his support and valuable guidelines. With his continuous feedback and assistance helps us to clear our ideas and understandings on the topics.
Special thanks to Professor Dr. Hanan Lutﬁyya from University of Western Ontario, Canada and Professor Dr. Ivona Brandic, Vienna University of Technology, Vienna, Austria for proving their research publications which helps to progress our thesis.
Department of Computer Science and Engineering, Bangladesh University of Engineering and Technology provided us with sound working environment and helps us to get on-line publications.
Last but not the least, we acknowledge the contribution and support of our family members for being with us and encouraging us all the way. Without their sacriﬁce it would not end up a successful one.
. . . . .1 1. . . . . . . . . . . . . . . . . . .1 Distributed Systems . . . . Advantages of Distributed Systems . . .3 1. 1. . . . . . . . . .2 1. . . . . . Architecture of Computer Clusters . . . . . . . .4 1. . . . . . . ii iii vii viii x 1 4 5 6 7 7 8 10 12 13 14 Computer Clusters . . . . Protocols for Cluster Communication . . . . . . . . . . . . . .2 Internet Protocols . .1. . . . .5. . . . . . . . Issues and Challanges in Distributed Systems . . . . . .1. . . . . . . . . . . Cluster Interconnection .5 Centralized vs Distributed Systems . . . . . .Table of Contents Abstract Acknowledgments Table of Contents List of Tables List of Figures 1 Computing with Distributes Units: Computer Clusters 1. . . . . . . . .2 1. . .5. . . . . . . .1. . . . . 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Low-latency Protocols . iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1. .3 1.
. . . . 2 Grid Computing : An Introduction 2. . . . .4 1. . . . . . . . . .1 2. . . . . . .3 Virtualization and Grid . . . . .3 Active Messages . . . . . . . . . . . . . . . . . . .2 1. . . . . . . . . . . .8 Concluding Remarks . . . . . . . . .2. . .3. . .3. . . . . . . . . . . . . . . . . . .3 2. . . . . . Grids over Cluster Computing . . . InﬁniBand . . . . . . .1 1. . . . Grid Architecture . . . .5 1. . . . . . . . . . Object Request Broker . . . . 1. .5. . . . Fast Messages . . . . . . . . . .6 1. . . . . . . . . . . . . . . . .2. . .3. Cluster Middleware . . . . . .7. . . . . Application Layer : User deﬁned Grid Applications . . RPC-based Middleware . . . . . . .5. . . . . Resource Layer: Sharing of a Single Resource . . . . . . .5. . . . . . . . . . . .2 2. . . . . . . .1 Grid Computing: deﬁnitions and overview . 2. . . . . . . . . . . . . . . . . . .2 2. . . . . . . . . . . . . U-net . .1 1. . . . . . . . . . . .5. . . . . . . . . .2. . . . . .7. .2. . 1. . . . .3. .3. Collective Layer : Co-ordination with multiple resources . . . . . . . . . . . . . . . .4 Grid Computing with Globus . . 14 15 16 16 17 17 18 19 22 23 24 24 25 26 27 28 29 30 31 33 34 35 35 36 37 38 Standards for Cluster Communication . . . BIP . . . . . . . v . . . . . . . . 1. . . . .3. . . .7 Single System Image (SSI) . .7. .4 2. . . . . . . . . . . . . . . . . . . . . Connectivity Layer: Managing Communications . . . . . 1. . . .5 Fabric Layer: Interfaces to Local Resources . . . . . . . . . . . .1. . . . . . . . . . . . . . . .2 2. . .1 2. .3 Message-based Middleware . . .2. . . . .1.5. . . . . VMMC . .3. . .1 1. . . . .5. . . . . . . . . . . . .2 1. . . . 2.5. . . . . . . . An example of Grid Computing environment . . . . . . . . .1. . . . . . . . .2 VIA . . . . . . . . . . . . . . . . . . .3 1. . . . . . . . . . . . . . . . . . . . 2. . . . . . . . . . . .5. . .
. .3. . . . . . . Platform as a Service (PaaS) . Cloud Business Model . . . . Software as a Service (SaaS) . . . . . . . . . . . Cloud Deployment Model . . . . . .2. . . . . . . . . . . . . . . . . . 69 69 70 70 71 72 vi . . . . . . . . . . . . Conclusion . .1 2. . . . . . . . . . 3. . . . .2 Major Focus . . . . . . . . . . .3 3. . . . . . . . . . . . . . . . . . . . . .5 3. . . . . . . .7 Evolution towards Cloud Computing from Grid . . . . . . . . . . Scalability issues .1 3. . . . . . . . .2. . . . . . . .6 2. . . . . . . . . . . . . . . . . . . . . . . . .2. . . .5. . . . . . . . . . . . .3 Business Model . . . . . . . . . .Cloud ontology . . . . Cloud Architectures . . . . Multitasking and Availability .2. . . . . . 4 Grid and Cloud Computing Comparisons : Similarities & Diﬀerences 4. . .4 3. . . Cloud Services . . . . Concluding remarks . . Globus Resource Allocation Manager (GRAM) . . . . . . . . 39 40 41 42 43 45 45 47 48 55 57 61 62 62 63 64 67 68 2. . . . . . . . . . . .2. . . . . . .6 Virtualization on Cloud . . . . . . . . . . . . .2 3. . . . . . . . .2 Resource Speciﬁcation Language . . . . . . . 3. . . . .1 3. . . . . . . . . . . .3.5 Resource Management in Grid Computing . . . . .3 A layered model of Cloud architecture . . . . . . Example of a Cloud Implementation . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . .2 4. . . 2. . . . . . . . . . . . . . . . . .1 3. .1 4.5. . . . .2. . . . . . . . . .2 3. . . .2. . . . . .3 Infrastructure as a Service (IaaS) . . . . . . . . . . . . . . . . . . . .1 4. . . . . . . . . . . . . . . . . . . . . . . . . . .2 Cloud Components . . . . Points of Considerations . . . . . . . . . . . . . . . . . . . 3 An overview of Cloud Architecture 3. . . . . . . .3. . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . .
. . . . . . .2. . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . .5 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Resource Management . . . Application Model . . . . . . . .6 4. . . . . . . .2. .4 4. . . 5 Conclusion and Future works vii . . . 4. . . . . . . .4 Concluding remarks . . . . . . 72 76 76 77 77 77 79 Case Study . . Other issues . . . .2. . . .4. . . . . . . . . . .1 Comparative results . . . . .3. . . . . . .
. . 55 66 78 viii . . . . . . . Comparative analysis . . . . . . . . . .2 4. . . . . . . . . . . . . . . . . . . . .1 CPU utilization in Full Virtualization and Paravirtualization . . .List of Tables 3.r. . . . . . . . . . . . . .1 Example of existing Cloud Systems w. .to classiﬁcation into layers of Cloud Ontology . . . . . . 3. .
.4 2. . . . . . . . . . . . . .4 1. . . . . . . . . . . . . . . . . . . . . . . . . . . .1 2. . . . . . . . .8 Programmers view of Grid Architecture. . . . . . . .5 1. . . . . .10 Globus GRAM Architecture . . . . . . . . . . . . . . Serving job requests in traditional environment . .3 1. . . . . . . .1 1. . . . .2 1. . . . . . . . . . . . . . Distributed computing . ix . . . . Resource availability according to demand . . . . . . . . . Grid Protocol Architecture . . . . . . . . . . . . . . . . . . The InﬁniBand Architecture . . . . . Serving job requests in traditional environment . . . . . . . . . . . . . . . . . . . . . . . . . .9 A resource management architecture for Grid Computing environment 37 40 42 43 36 3 5 9 11 14 20 28 30 31 32 33 34 2. . . . . . Evolution of Grid Computing . . . . . . . . . . . . . . . . . . . .List of Figures 1. .2 2. . Dotted lines denotes protocol interactions where solid lines represent a direct call . . . . . . . . . . . . . . . . Collective and Resource layer protocols are combined in various ways to provide application functionality . . . . . . . .3 2. . . 2. . . . . . . . . . . . . . . 2. . . . . . . . . . . . . . .11 Enhancement of generic Grid architecture to Service Oriented Grid . Google search architecture . .5 2.6 2. . . . . . Architecture of Cluster Computing . . . . . . . . . . .7 Eras of Computing . .6 2. . . . . Categories of Cluster Interconnection Hardware. . 2. . . . . . . Traditional Protocol Overhead and Transmission Time. . .
. . . . . . . . .6 3. . Internal or Private Cloud . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Cloud computing Business model . . . . . . . . . . . . . 3. . . .12 Software as a Service . . . . . . . . . . . . . . . . . . . . . . .13 A fully virtualized deployment where operating platform running on servers is displayed . . . . . . . . . . . . . . . . .8 3. . .11 Platform as a Service . . . . External or Public Cloud . . . . . . . . . . . 51 55 59 59 61 62 63 63 64 3. Grid and Cloud Computing Cloud layered architecture : consists of ﬁve layers. . 46 48 49 3. . . . . . . . . . . . . . . .7 3. .2 Motivation of Grid and Cloud . . . . . . . . . . . . . . . . . . Hierarchical abstraction layers of Cluster. . . . . . . . . .2 3. . .10 Infrastructure as a Service . . . . . . . . . . two servers are used . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . .4 Non-cloud environment needs three servers but in the Cloud. . . . . . . . . . . . . . . 3. . . . 65 66 70 71 x . . . . . . .1 4. .5 3. . . . . .3 Components of a Cloud Computing Solution . . . . Example of Hybrid Cloud . . . . reliability and cost .3. . . . . . . .1 3. . . . . . . . . . . . . . . . . . . . . . . Correlation between Cloud Architecture and Cloud Services . . . ﬁgure represents inter-dependency between layers . . . . . . .14 A Paravirtualized deployment where many OS can run simultaneously 4. . . . . Comparison regarding performance. . . . . . . 3. .
Chapter 1 Computing with Distributes Units: Computer Clusters
Computing Industry is one of the fastest growing industries and it started since 1943. Computers [1, 2] between 1943 and 1959 usually regarded as ‘ﬁrst generation’ computers and are based on valves and wire circuits. They are  characterized by the use of punched cards and vacuum valves. All programming was done in machine code.
The ‘Second Generation’ Computers were built between 1959 and 1964 .They were based on transistors and printed circuits. So they were much smaller. These computers were more powerful, accepting English-like commands, and so were much more ﬂexible in their applications.
Computers built between 1964 and 1972 are often regarded as ‘Third Generation’ computers. They werere based on the ﬁrst integrated circuits and creating even smaller machines.
Computers built after 1972 are often called ‘fourth generation’ computers. These computers were based on LSI (Large Scale Integration) of circuits such as microprocessors - typically 500 or more components on a chip. Later developments include 1
VLSI (Very Large Scale Integration) typically 10,000 components.
The ‘ﬁfth generation’ computers are based on parallel processing and VLSI integration - but are still being developed. The recent advances in VLSI(Very Large Scale Integration) technology has played a major role in the development of powerful sequential and parallel computers. Software technology is also developing fast as well. Mature software, like Operating Systems, programming languages, development methodologies, and tools, are now available. This gives the opportunity of development and deployment of applications needs for scientiﬁc, engineering, and commercial needs. Again several challenging applications, such as weather forecasting and earthquake analysis, have become the main driving force behind the development of powerful parallel computers.
So we can show computing as two prominent eras: • Sequential Computing Era • Parallel Computing Era A graphical view of the changes in computing eras is shown in Figure 1.1. Each computing era started with hardware architectures of the system and then followed by system software specially operating systems and compilers, applications, and reaching its limit with its growth Problem Solving Environments. Each component of computing eras had to face three phases: R&D (Research and Development), commercialization, and commodity. Technology for the development of components of parallel era is not so much developed as for sequential era.
There are several reasons of using parallel computers. Some of them are – 2
Figure 1.1: Eras of Computing
In the 1980s it was believed that computer performance was best improved by creating faster and more eﬃcient processors. But this idea was challenged by parallel processing. Since the early 1990s there has been an increasing trend to move away from expensive and specialized proprietary parallel supercomputers towards networks of workstations. This means linking together two or more computers to jointly solve some computational problem. The program which runs in a distributed system are called distributed program.1 Distributed Systems A distributed system is a computing system in which several autonomous computers are linked by a computer network that appear to the users of the system as a single computer. • Developing and producing systems of moderate speed using parallel architectures is much cheaper than the equivalent performance of a sequential system. • The price performance ratio of a small cluster-based parallel computer as opposed to a minicomputer is much smaller and consequently a better value. This was the driving force for starting Cluster Computing. Later several distributed computing systems are developed like Grid Conputing and Cloud Computing. By running a distributed system software the computers are enabled to: • Coordinate their activities. 4 . The computers in the network interact with each other in order to achieve a common goal. 1. In this chapter we will going to discuss about Cluster Computing.• Parallelism is one of the best ways to overcome the speed bottleneck of a single processor.
• Illusion of single system while running upon multiple system. So now a day’s Distributed systems become more preferableThere is a central sever and several clients and they are connected together. 1.Figure 1. 5 .1. Distributed systems are useful for  breaking down an application into individual computing (Figure 1. Various parallel devices are connected to the whole system through distributed system and both operator and client can use them. So they are very cheap in comparison to single system computing.1 Centralized vs Distributed Systems Here are some  diﬀerence between Centralized and Distributed Systems. They can solve larger problems without larger computers. software. • Achieve transparancy of resources. data.2) agents so that they can be easily solve.2: Distributed computing • Share resources: hardware. • Centralized Systems: – Centralized systems have non-autonomous components. These systems are distributed over a network. They work together on a cooperative task.
• Distribution: There are applications involve. automotive system). • Reliability: There may be crash of the machines. commercial. spatially separated machines (banking.1.Distributed System has better Price/performance ratio. – Distributed systems may be built using heterogeneous technology. 6 . • Distributed Systems: – Distributed systems have autonomous components. – Multiple users share the resources of a centralized system at all times. new machines can be added incrementally.– Centralized systems are often build using homogeneous technology. For single system if machine crashes then all data will be lost but for Distributed system if some of the machines crash. – Centralized systems have a single point of control and of failure. the system can survive. Some of them are • Performance: Very often a collection of processors can provide higher performance than a centralized computer. 1. – Distributed system components may be used exclusively. • Incremental growth: As requirements on processing power grow. – Distributed systems are executed in concurrent processes. by their nature. – Distributed systems have multiple points of failure.2 Advantages of Distributed Systems Distributed system has  several advantages over single system.
1.• Sharing of data/resources: Shared data is essential to many applications (banking. usually residing in a single room 7 . programming languages and applications look like. • Security problems: Sharing generates the problem of data security. etc. • Communication: Give the opportunity of human-to-human communication. so there are more possibility of failure of the system and data transfer. reservation systems). It consists of a collection of interconnected stand-alone computers and they working together as a single. expensive printers). there are some disadvantages also.3 Issues and Challanges in Distributed Systems Though there are several advantages of  Distributed system. overloading. It is hard to ﬁnd that how should operating systems.1.2 Computer Clusters A cluster  is a type of parallel or distributed processing system. other resources can be also shared (e. All the component subsystems of a Cluster are supervised within a single administrative domain. Some of them are – • Diﬃculties of developing distributed software: It is diﬃcult to develop software for these distributed systems.integrated computing resource. computer supported cooperative work. 1.g. which have to be dealt with: loss of messages. • Networking problems: Several problems are created by the network infrastructure. • More components to fail: As Distributed systems deals with larger network.
We can also use Cluster computing as a relatively low-cost form of parallel processing for scientiﬁc and other applications that lend themselves to parallel operations. I/O facilities. • We use the Message Passing Interface (MPI)  in Cluster which is a programming interface that allows the distributed application instances to communicate with each other and share information.or SMPs with memory. some of which may depend on the results of previous tasks.3 Architecture of Computer Clusters In Cluster Computing a computer node can be a single or multiprocessor system . We can use Cluster computing  for load balancing as well as for high availability.The nodes can be PCs.They all use the same hardware. including problems with short tasks. run the same software. and MPI that provide clusters the ability to work eﬃciently on ﬁne-grained parallel problems where the subtasks must communicate many times per second.They are all on the same subnet of the same domain and often networked with very high bandwidth connections. Some properties of cluster computing: • The computers also known as nodes on a cluster are networked in a tightlycoupled fashion . workstations.and managed as a single computer system. 1. • In Cluster Computing we use Dedicated hardware. and 8 . high-speed interconnects. • The nodes of a Cluster are homogeneous. Each node in a cluster is a dedicated resource generally only the cluster applications run on a cluster node. and are generally conﬁgured identically.
These nodes can exist in a single cabinet or be physically separated and connected via a LAN. The following are some prominent components of cluster computers: • Cluster is consist of Multiple High Performance Computers. This LAN-based inter-connected cluster of computers appear as a single system to users and applications. The typical architecture of a cluster is shown in Figure 1. A Cluster Computing system is consist of several components. 9 . There can be PCs. In Cluster Computing two or more nodes are connected together. • There is a state-of-the-art Operating Systems. Among them Gigabit Ethernet and Myrinet are most common.Figure 1. Cluster Computing can provide a cost-efective way to gain features and beneﬁts like fast and reliable services that could previously found only on more expensive proprietary shared memory systems. Operating System can be Layered or Micro-kernel based. Workstations. • Several high Performance Networks/Switches are used to connect the nodes of the Cluster.3: Architecture of Cluster Computing an operating system. • Cluster Interconnection use Network Interface Cards . or SMPs.3.
– Applications and Subsystems that consist of several applications. ∗ Applications such as system management tools . Middleware provides the system Single System Image (SSI) and System Availability Infrastructure. Fast Messages are such type of Protocols. Middleware consist of – Several hardwares like Digital (DEC) Memory Channel and Operating System Kernel or Gluing Layer such as Solaris MC and GLUnix .• Several Fast Communication Protocols and Services are used to communicate within nodes.4 Cluster Interconnection In Cluster Computing The choice of interconnection technology is a key component. These four 10 . ∗ Runtime Systems such as software DSM and parallel ﬁle system. • Both Sequential and Parallel or Distributed Applications. MPI (Message Passing Interface). ∗ Resource Management and Scheduling software such as LSF (Load Sharing Facility). – Sequential – Parallel or Distributed 1.runtime systems and resource management and scheduling software. We can classify the Interconnection technologies into four categories. Active messages. • There is a Middleware which sits between operating system and application. • Cluster includes Parallel Programming Environments and Tools such as compilers. Later we get some standards like InﬁniBand for communicate .
4 illustrates the four types of interconnection.Most of the time they are implemented in software or with memory-mapped I/O. Factors like compatibility with the cluster hardware and operating system. It also includes several recent products that are speciﬁcally designed for cluster computing. Among the four interconnection categories I/O attached message-based systems are by far the most common. Example of a Hybrid system the Inﬁniband standard. many memory-attached systems are implemented. categories depends on the internal connection and how the nodes communicate each other . and performance. price. I/O attached shared storage systems include computers that share a common disk sub-system.Figure 1. Inﬁniband  is an I/O attached interconnection. The internal connection can be from the I/O bus or the memory bus and the communication between the computers can be performed primarily using messages or using shared storage .since the memory bus of an individual computer generally has a design that is unique to that type of computer. However. It can be used to send data to a shared disk sub-system as well as to send messages to another computer. This system includes all commonly-used wide-area and local-area network technologies.Performance of a Cluster depends on the latency and bandwidth. There are several Hybrid systems that combine the features of more than one category. such as Reﬂective Memory .4: Categories of Cluster Interconnection Hardware.There are many factors that aﬀect the choice of interconnect technology for a cluster. Memory attached systems are not common like I/O attached systems. Figure 1. 11 .
The latency is a function of both the communication software and network hardware. which may be zero. • Communication can be not buﬀered which is synchronous. or more. Latency also includes overhead for the software to construct the message as well as the time to transfer the bits from one computer to another. 12 . or buﬀered which is asynchronous. • Oﬀering various levels of reliability.5 Protocols for Cluster Communication A communication protocol deﬁnes a set  of rules and conventions for communicating between nodes among the cluster.Applications that send large messages will have better performance particularly as the bandwidth increases. Each protocol uses diﬀerent technology to exchange information. Applications that utilise small messages will have better performance particularly because the latency is reduced. • By the number of intermediate data copies between buﬀers.Protocol can be reliable that fully guaranteed to arrive in order or can be unreliable that not guaranteed to arrive in order.• Latency is the time needed to send data from one computer to another. one. • Bandwidth is the number of bits per second that can be transmitted over the interconnect hardware. 1. Communication protocols can be classiﬁed as: • Connection-oriented or connectionless.
• User application constructs the message in user memory. • Internet Protocol use one or more buﬀers in system memory with the help of operating system services. and then makes an operating system request to copy the message into a system buﬀer. 13 .Several protocols are used in clusters. Later several protocols that have been designed speciﬁcally for cluster communication . As network hardware became faster during the 1990’s. the overhead of the communication protocols became signiﬁcantly larger than the actual hardware transmission time for messages.5. as shown in Figure 1. In Internet protocol Operating system overhead and the overhead for copies to and from system memory are a signiﬁcant portion of the total time to send a message. • A system interrupt is required for send and receive. The Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) are both transport layer protocols built over the Internet Protocol. So there needed the necessity of new types of protocols for cluster computing.Finally two new protocol standards have been specially designed for use in cluster computing.5.1 Internet Protocols The Internet Protocol (IP) is the standard for networking worldwide. TCP and UDP protocols and the de facto standard BSD sockets Application Programmer’s Interface (API) to TCP and UDP were among the ﬁrst messaging libraries used for  cluster computing. 1. Formerly Traditional internet protocols are used for clustering.
among others.Figure 1. These protocols at the same time providing user-level messaging services across high-speed networks.These projects led to the development low-latency protocols. Fast Messages. Low-latency protocols developed during the 1990’s include Active Messages. To transfer the data.5: Traditional Protocol Overhead and Transmission Time.2. • The sender replies by copying the message from the user buﬀer on the sending 14 .5.2 Low-latency Protocols For avoiding operating system intervention several research projects were done during the 1990’s. U-net and Basic Interface for Parallelism (BIP). It  is the enabling low-latency communications library for the Berkeley Network of Workstations (NOW) project . • Sending user-level application constructs a message in user memory.5. the receiving process allocates a receive buﬀer in user memory on the receiving side and sends a request to the sender. the VMMC (Virtual Memory-Mapped Communication) system. 1.1 Active Messages Active Messages was developed in the university of Berkeley. 1. Short messages in Active Messages are synchronous and based on the concept of a request-reply protocol.
and then the message is transferred from the network to the receive buﬀer in user memory. 1.side directly to the network. thus causing messages to be lost.Once the pinned user memory buﬀers are established.The reason behind it so that it will not be paged out during the network operation.5. 15 . • Fast Message using ﬂow control to ensure that a fast sender cannot overrun a slow receiver. even if the underlying network hardware does not. To support multiple concurrent parallel applications in a cluster Active Messages was extended to Generic Active Messages (GAM). • Network hardware transfers the message to the receiver. the protocol is referred to as a ‘one-copy’ protocol. In GAM. this protocol is known as a zero-copy protocol.Itl similar to Active Messages .2 Fast Messages Fast Messages was developed at the University of Illinois. In this case. no operating system intervention is required for a message to be sent. No buﬀering in system memory is performed. Since no copies from user memory to system memory are used. Fast Messages extends Active Messages by imposing stronger guarantees on the underlying communication. • Fast Messages guarantees that all messages arrive reliably and in-order. It is required in Active Messages that user virtual memory on both the sending and receiving side be pinned to an address in physical memory . a copy sometimes occurs to a buﬀer in system memory on the receiving side so that user buﬀers can be reused more eﬃciently.2. Flow control is implemented in Fast Messages with a credit system that manages pinned memory in the host computers.
VMMC is an example of a paradigm known as distributed shared memory (DSM).3 VMMC The Virtual Memory-Mapped Communication(VMMC)  system was low-latency protocol for the Princeton SHRIMP project. 16 .This hardware allows the network interface to snoop writes to memory on the local host and have these writes automatically updated on the remote hosts memory. One goal of VMMC is to view messaging as reads and writes into the user-level virtual memory system.5. • Each communication endpoint of the application is viewed as a virtual network interface mapped to a real set of network buﬀers and queues on demand. Various optimisations of these writes have been developed that help to minimize the total number of writes. but processes in an application may view shared memory locations as identical and perform reads and writes to the shared memory locations. and overall application performance.It makes a correspondence between pages on the sending and receiving sides. U-net provides zero-copy messaging where possible. network traﬃc.5. Just as an application has a virtual memory address space that is mapped to real physical memory on demand.4 U-net The U-net network interface architecture  was developed at Cornell University.2. • VMMC works by mapping a page of user virtual memory to physical memory. • U-net adds the concept of a virtual network interface for each connection in a user application.2.1. In DSM systems memory is physically distributed among the nodes in a system. 1. • It uses specially designed hardware .
2. During a similar period of time industrial researchers worked on standards for shared storage subsystems. the Virtual Interface Architecture (VIA). The result is that communication can occur with very low latency.It also provides a zero or single memory copy of user data.5. • BIP is designed as a low-level message layer over which a higher-level layer such as Message Passing Interface (MPI) can be built. although some ﬂow control issues for small messages are passed to higher software levels. 1.So new standard for low-latency messaging to be developed.The advantage of this architecture is that once the mapping is deﬁned. BIP guarantees in-order delivery of messages. Later versions (BIP-SMP) provide multiplexing between the network and shared memory under a single API for use on clusters of symmetric multiprocessors. To simply the design and keep the overheads low.5. • The initial BIP interface consisted of both blocking and non-blocking calls.3 Standards for Cluster Communication Research on low-latency protocols had progressed suﬃciently during those years. Programmers can use MPI over BIP for parallel application programming. The combination of the eﬀorts of many 17 .5 BIP BIP  (Basic Interface for Parallelism) is a low-latency protocol that was developed at the University of Lyon. 1. each active interface has direct access to the network without operating system intervention. BIP achieves low latency and high bandwidth by using diﬀerent protocols for various message sizes.
• there was no need of system calls after the buﬀers and associated data structures are allocated. send and receive buﬀers must be allocated and pinned to physical memory locations. • A send or receive operation in a user application consists of posting a descriptor to a queue. including Intel.1 VIA The Virtual Interface Architecture (VIA)  is a communications standard that combines many of the best features of various academic projects. VIA implementations can be classiﬁed as native or emulated. 1.3. developed the standard. • VIA supported heterogeneous hardware and was available as of early 2001. 18 . • It was based on the concept of a virtual network interface.5.researchers has resulted in the InﬁniBand standard. 25] products. Several hardware vendors and some independent developers have developed VIA implementations for various network [24. or can continue host processing while the message is being processed. • A native implementation of VIA oﬀ-loads a portion of the processing required to send and receive messages to special hardware on the network interface card.Before a message can be sent in VIA. and Microsoft. The application can choose to wait for a conﬁrmation that the operation has completed. A consortium of academic and industrial partners. Compaq.
Host channel adapters(HCA) and target channel adapters(TCA). since the communication may not be guaranteed to arrive reliably in VIA. the host CPU performs the processing to send and receive messages. • Multicast connections and • Raw packets. In InﬁniBand data is sent in packets. IBM. • An emulated VIA implementation.6.3. switched fabric. 1. All systems and devices attach to the fabric through host channel adapters (HCA) or target channel adapters (TCA). scalable.Intel. message-passing. an emulated implementation of VIA has less overhead than TCP/IP. Microsoft and Sun Microsystems. and six types of transfer methods are available. However. The InﬁniBand architecture replaces the standard shared bus for I/O on current computers with a high-speed serial. • Reliable and unreliable datagrams. Dell. There are two types of adaptors. including: • Reliable and unreliable connections. 19 . including Compaq. HewlettPackard.5.When a message arrives in a native VIA implementation. Although the host processor is used in both cases. channel-based. the network card performs at least a portion of the work required to copy the message into user memory. as shown in Figure 1.2 InﬁniBand The InﬁniBand standard  was an another standard for cluster protocol was supported by a large consortium of industrial partners. the services provided by VIA are diﬀerent than those provided by TCP/IP.
processor. It includes an I/O controller that is speciﬁc to its particular device’s protocol.Figure 1. data mirroring and much more.It allows many HCAs and TCAs to connect to it and handles network traﬃc. • Target channel adapter(TCA): Target channel adapter enables I/O devices to be located within the network independent of a host computer. There are several components of InﬁniBand: • Host channel adapter(HCA): Host channel adapter is an interface that resides within a server. • Switch: Switch is virtually equivalent to a traﬃc cop.This allows one processor to read or write the contents of memory at another processor. Oﬀers higher availability. It guarantees delivery of data and can recover from transmission errors. target channel adapter or a switch.6: The InﬁniBand Architecture InﬁniBand supports remote direct memory access (RDMA) read or write operations. and also directly supports IPv6  messaging for the Internet. higher aggregate bandwidth. TCAs can communicate with an HCA or a switch.Communicates directly with the server’s memory. Looks at the ‘local route header’ on each packet of data and forwards it to the 20 . load balancing.
management and data. • Link Layer: Includes packet layout.1X link cable has four wires. The IBA is comprised of four primary layers that describe communication devices and methodology. • Subnet Manager: It is an application responsible for conﬁguring the local subnet and ensuring its continued operation.appropriate location. including the cables. Every device in a local subnet has a local ID (LID) for forwarding data appropriately. If a host computer is down. Data packets carry up to 4 kilobytes of transaction payload. Management packets handle link conﬁgurations and maintenance. • Physical Layer: Deﬁnes the electrical and mechanical characteristics of the IBA. the switch still continues to operate. A group of switches is referred to as a fabric.Rebuilds each packet with the proper local address header as it passes it to the new subnet. Reads the ‘global route header’ and forwards to appropriate address. There are three link speeds speciﬁed as 1X.Two types of packets. The switch also frees up servers and other devices by handling network traﬃc. • Router: Router forwards data packets from a local network (called a subnet) to other external subnets. 4X and 12X. point-to-point link instructions. Handles data integrity by 21 . connectors and hot-swap characteristics. copper and backplane connectors.Conﬁguration responsibilities include managing switch and router setups and reconﬁguring the subnet if a link goes down or a new one is added. two for each direction of communication (read and write). switching within a local subnet and data integrity. IBA connectors include ﬁber.
powerful. 32]. user interface.These resources can range from access and manipulation of remote processes to the use of a global ﬁle-system. It also ensures that the nodes are evenly loaded.6 Single System Image (SSI) Single System Image (SSI) is a property through which we can view a distributed system as a single uniﬁed computing resource. 1. The variant CRC checks ﬁelds that change from point-to-point and the invariant CRC provides end-to-end data integrity. • Transport Layer: Handles the order of packet delivery. uniﬁed computing resource . 31. the network layer information is not used.including variant and invariant cyclic redundancy checking (CRC). The global route header located within a packet includes an IPv6 address for the source and destination of each packet. pro22 .Also handles partitioning. scalable performance and system availability in supporting user applications [28. 29.the system can operate after some failure. multiplexing and transport services that determine reliable connections.There are several key attributes of SSI.SSI provides high availability. The following are among some of the desirable key SSI attributes : point of entry. SSI cluster-based systems are mainly focused on complete transparency of resource management. This property hides the distributed and heterogeneous nature of the available resources and represents them before the users as a single. • Network Layer: The network layer is responsible for routing packets from one subnet to another. 30. For single subnet environments. A system using SSI gives the users a system view of the resources available to them but they don’t have to know the node to which they are physically associated.
1. I/O and memory space.It has re-emerged as a means of integrating software applications that run in a heterogeneous environment. • Rapid application development. 23 . Middleware helps a developer overcome three potential problems with developing applications on a heterogeneous cluster: • Gives the ability to access to software inside or outside their site. • The end-userdon’t have to know where in the cluster an application will run. • Helps to integrate softwares from diﬀerent sources. • It oﬀers the same command syntax as in other systems and thus reduces the risk of operator errors. job-management system and point of management and control. • SSI greatly simpliﬁes system management and thus reduced cost of ownership. with the result that end-users see an improved performance.cessspace.7 Cluster Middleware Middleware is the layer of software sandwiched between the operating system and applications.The user don’t have to think about their physical location. • It promotes the development of standard tools and utilities. The most important beneﬁts of SSI  include: • SSI allows the use of resources in a transparent way. reliability and higher availability of the system.There is large overlap between the infrastructure that is provided to a cluster by high-level Single System Image (SSI) services and those provided by the traditional view of middleware.
1.The services that middleware provides are not restricted to application development. Examples of this type of middleware are the three upper layers of the OSI model . • They enforce clean and simple interfaces.1 Message-based Middleware Message-based middleware uses a common communications protocol to exchange data between applications. • They allow communications between separate processes over a computer network.2 RPC-based Middleware There are many applications where the interactions between processes in a distributed system are remote operations. or use some combination of the two.The implementation of the client/server model in terms of Remote Procedure Call (RPC) allows the code of the application to remain the same whether the procedures are the same or not. the session. Inter-process communication mechanisms serve four important functions : • They oﬀer mechanisms against failure. Message-based middleware software can pass messages directly between applications. send messages via software that queues waiting messages.Middleware also provides services for the management and administration of a heterogeneous system. For these applications (RPC) Remote Procedure Call is used. 24 . often with a return value.7. Thay also provides the means to cross administrative boundaries.7. thus providing a natural aid for the modular structure of large distributed applications. presentation and applications layers. The communications protocol hides many of the low-level message passing primitives from the application developer. 1.
to synchronize with other application. 1. It is supported by more than 700 groups and managed by the Object Management Group (OMG) . • Object services: These are speciﬁc system services for the manipulation of objects.Their goal is to simplify the process of constructing applications. thus allowing static or dynamic reconﬁguration.7. • Application services. to printing services.3 Object Request Broker An Object Request Broker (ORB) is a type of middleware that supports the remote execution of objects.• They hide the distinction between local and remote communication. • Application objects: These allow the rapid development of applications.The OMG is a non proﬁt-making organization whose objective is to deﬁne and promote standards for object orientation in order to integrate applications based on existing technologies. These oﬀer a set of facilities for allowing applications access databases. An international ORB standard is CORBA (Common Object Request Broker Architecture). The Object Management Architecture (OMA) is characterized by the following: • The Object Request Broker (ORB): It is the controlling element of the architecture and it supports the portability of objects and their interoperability in a network of heterogeneous systems. and so on.A new application can be formed from objects in a combined library of application services. 25 .
The motivation of distributed processing using Computer Cluster turns into more advance technology named Grid Computing which we will going to discuss in next Section. 26 . we are studying the necessity and issues related of parallal computation and focusing architectures.8 Concluding Remarks As a begining of thesis.1. protocols and standerds of Computer Clusters.
6 introducing a new approach of distributed processing named Cloud Computing. Grid Computing is the advanced form of distributed processing which is the combination of decentralized architecture for managing computing resources and a layered hierarchical architecture for providing services to the user . Resource management architecture is discussed in Section 2. The rest of the chapter is organized as follows.5.2 .Chapter 2 Grid Computing : An Introduction Grid Computing. more specially ’Grid Computing System’ is a virtualized distributed environment. sharing and aggregation of geographically distributed resources based on resources availability. 27 . We begin our discussion with deﬁnition of Grid Computing and the beneﬁts of virtualization on Grid in Section 2.4 we consider the underlying layers of Grid Computing in details.3 and 2. We Conclude our discussion in Section 2. In Section 2. Fundamentally.1.5 and the a protocol for resource management (GRAM) is discussed in Section 2. performance and cost of these computing resources. Grid environment provides dynamic runtime selection. capability.
pervasive.1: Evolution of Grid Computing The basics of Grid is to co-allocation of distributed computation resources.1 Grid Computing: deﬁnitions and overview The concept of Grid was introduced in early 1990s. ”A grid is a collection of distributed computing resources available 28 .and data-intensive scientiﬁc applications. Figure 2.2. where high performance computers were connected by fast data communication. according to IBM deﬁnition . consistent. and inexpensive access to high-end computational capabilities. The most cited deﬁnition of Grid is : ”A computational grid is a hardware and software infrastructure that provides dependable.” Again.1  shows the evolution of grid over time. The motivation of that approach was to support calculation. Figure 2.
whereas HPC does not necessarily involve sharing of resources . 2. These standard should be applied for resource discovery.1. and resources. larger. Open Grid Services Infrastructure (OGSI)  and Open Grid Services Architecture (OGSA)  was published by the Global Grid Forum (GGF) as a proposed recommendation for this approach. Open standard protocols and frameworks: Open standards can provide interoperability and integration facilities. coordinated resource-sharing among individuals.1 Virtualization and Grid Virtualization is the process of making resources accessible to a user as if they were a single. Figure 2. Grid Computing can be distinguished also from High Performance Computing (HPC) and Clustered Systems in following way: while Grid focuses on resource sharing and can result in HPC.2 shows the necessity of virtualization 29 . Virtualization supports the concept of dynamically shifting resources across various platforms so that computing demands can be scaled with available resources . homogeneous. resource. The vision is to create virtual dynamic organizations through secure.over a local or wide area network that appear to an end user or application as one large virtual computing system. resource access and resource co-ordination.” A Grid Computing environments must include: Coordinated resources: Grid environment must be facilitated with necessary infrastructure for co-ordination of resources based upon policies and service level agreements. institutions.
3 and 2.4  compares the Grid environment over the traditional computations. The Clusters are designed to resolve the problem of inadequate computing power. It provides more computation power by pooling of computational resources and parallelizing the workload.2: Resource availability according to demand Grid environments can supports the beneﬁts of virtualization. Such abstraction provides continuous access to large pool of IT capabilities. 2. As Clusters provide dedicated functionality to local domain. they are not suitable solution for resource sharing between users of various domains. Nodes in the Cluster controlled centrally and Cluster manager is monitoring the state of the node 30 . Figure 2. during peak cycles the server might be overtaxed and resources may not be available. Figure 2.1. In Figure 2.2 Grids over Cluster Computing Computer Clusters detailed in Chapter XX are local to the domain. Although average utilization of the resources may be relatively low. network bandwidth and data storage to create a single system image.to support the proper utilization of resources. Grid enables the abstraction of distributed systems and resources such as processing.4 and organization-owned computational grid is shown where a scheduler sets policies and priorities for placing jobs in the grid infrastructure.
index servers perform a logical AND operation and return the reference of the websites containing query (searching phrase). Store Servers maintain compressed copies of all the pages known to Google. Each of this query is ﬁrst received by one of the Web Servers. Google process tens of thousands of queries per second.2 An example of Grid Computing environment We consider searching world wide web in Google as an example of Grid Computing. then passes it to the array of Index Servers. Cluster units only provide a subset of Grid functionality. in brief. Index Servers are responsible for keeping index of words and phrases found in websites.3: Serving job requests in traditional environment . 2. In fraction of second. The resultant references then sent to Store Servers. So.5 shows the abstract view of Google search architecture . These compressed copies are used to prepare page snippets and ﬁnally presented to the end user in a readable form. Figure 2. The servers are distributed in several machines and hence the searching should run concurrently. 31 .Figure 2.
As it stated earlier the servers are distributed and searching should be parallel in order to achieve eﬃciency. Google is also shared its computing cycles. The infrastructure also need to scale with the growth of web as the number of pages and indexes increased.Figure 2. Grid Computing can facilitates the above scenario of eﬃcient searching. Copy the content and transforming it into its local resource is allowed by Google. the Store Servers actually contains relatively recent and compressed copies of all the pages available in the web. Google shares its computing resources. So. The resources partially shared with end-users who send queries through their browsers. Diﬀerent organizations and numerous servers are shared with Google. Users can then directly contact with the original servers to request the full content of the web page. such as storage and computing capabilities with the end-user by performing data 32 . Local resources contain keyword database of the Index Servers and cached content in the database of the Store Servers.4: Serving job requests in traditional environment Crawler Machines synchronizing through the web and updating the Google database of pages stored in Index and Store servers.
this layered Grid architecture also indicates how these components actually interacts with one another. However. the Resource and Connectivity protocol is respon- 33 .6 shows the Grid layers from top to bottom. Here we present Grid architecture in accordance with Internet protocol architecture.Figure 2.3 Grid Architecture In this section we will discuss about grid architecture. which identiﬁes the basic components of a grid system/ It also deﬁnes the purpose and functions of such components. Grid architecture described in . 2. however. we can relate the Grid layers into Internet layers . Figure 2. As Internet protocol architecture extends from network to application.5: Google search architecture caching. ranking and searching of query.
Grid architecture do not deals with logical resources for example distributed ﬁle systems. Components of the Fabric layer implement the local and resource-speciﬁc operations on speciﬁc resources. Such resources are physical or even logical. 34 . 2. The protocols in this layer are designed to implement on a top of various types of resources which we identiﬁed as Fabric layer.3.6: Grid Protocol Architecture sible for sharing individual resources.Figure 2. In order to support sharing mechanisms we need to provide  : • an inquiry mechanism so that the components of Fabric are allowed to discover and monitor resources.1 Fabric Layer: Interfaces to Local Resources Fabric layer provides the resources that can be shared in Grid environment. These resourcespeciﬁc operations provides functionalities of sharing operations at higher levels. An example of such resources may be computational resources. sensors and network systems. however. can be used to support application speciﬁc requirements. The raw Fabrics. storage systems. where resource implementation requires individual internal protocols .
monitoring. Authentication protocols. routing. The communication protocol can work with any of the networking layer protocols that support transport.3. TCP/IP Internet protocol stack is commonly used .• an appropriate (either application dependent or uniﬁed or both) resource management functionalities to control the QoS in Grid environment. Resource layer uses Fabric layer interfaces and functions to access and control local resources. 2.2 Connectivity Layer: Managing Communications Connectivity layer deﬁnes the core communication and authentication protocols necessary for grid networks. ignores global resource management issues . The protocols specify resource re35 . build on communication services for providing cryptographically secure mechanisms to the Grid users and resources. initialization. current load state. 2. however. To share single resource. control and payment of sharing operations on individual resources.3 Resource Layer: Sharing of a Single Resource Resource layer is on top of Connectivity layer to deﬁne the protocols along with API and SDKs for secure negotiation. In computational Grid. we need to classify two resource layer protocols : • Information protocols: Information protocols are used to discover the information about state and structure of the resource for example .the conﬁguration of resource. • Management protocols: Management protocols in Resource layer are used to control and access to a shared resource. usage policy or costing of the resource.3. This layer entirely consider local and individual resources and therefore. and naming functionalities. Communication protocol transfers data between Fabric layer resources.
2. which includes advanced reservation and QoS and the operations on resources.3. Figure 2.quirements. described in Section 2. In the top of this. Figure 2. Such operations include process creation. But for global resource co-ordination Collective layer protocols have been used. fault tolerance etc. An appli- 36 . There need to present some protocols to support monitoring application status and termination of an operation. data access etc.7 shows a Collective coallocation API and SDK that uses a Resource layer management protocol to control resources.4 Collective Layer : Co-ordination with multiple resources Resource layer. This layer provides necessary API and SDKs not associated with speciﬁc resource rather the global resources in overall grid environment. we deﬁne a co-reservation service protocol and the service itself.3 deals with operation and management of single resource.3.7: Collective and Resource layer protocols are combined in various ways to provide application functionality The implementation of Collective layer functions can be built on Resource layer or other Collective layer protocols and APIs . So by calling the co-allocation API to implement co-allocation operations provide additional functionality such as authorization.
However.5 Application Layer : User deﬁned Grid Applications The top layer of the Grid consists with user applications. data access. Dotted lines denotes protocol interactions where solid lines represent a direct call 37 .3. which are constructed by utilizing the services deﬁned at each lower layer. 2. it may combine protocol operations with calls to additional APIs to implement local functionality. Higher level SDKs can also provide functionality so that it is not directly mapped to a speciﬁc protocol. At each layer. Figure 2. which use Grid protocols to provide functionalities to end user.cation then use the co-reservation service protocols to request and perform end-to-end reservations. resource discovery etc.8: Programmers view of Grid Architecture. APIs are implemented by SDKs. we have well-deﬁned protocols that access some useful services for example resource management.8 shows the correlation between diﬀerent layers . Figure 2.
An 38 . • Fabric Layer: Globus toolkit is designed to use existing fabric components . 50] for authentication. available spaces) etc.e. OS version.e. The HTTP-based Grid Resource Access and Management (GRAM)  protocol is used for allocation of computational resources and also for monitoring and controlling the computation of those resources. In the higher level protocols (particularly at the Resource layer) implementation of Resource management. delegation. GSI extends the Transport Layer Security (TLS) protocols  to address the issues of single sign-on. storage systems (i. enquiry software is provided for discovering and state information of various common resources such as computer information (i.4 Grid Computing with Globus Globus  provides a software infrastructure so that applications can distributed computing resources as a single virtual machine .2. Globus Tooklit. the core component of the infrastructure deﬁnes basic servise and capabilities required for computational Grid. communication protection. hardware conﬁguration etc). Globus is designed as a layered architecture where high-level global services are built on the top of low-level local services. In this section we will discuss how Globus toolkit protocols actually interacts with Grid layers. For example. integration with various local security solutions. and authorization. is normally assumed to be the domain of local resource managers. • Resource Layer: A Grid Resource Information Protocol (GRIP)  is used to deﬁne standard resource information protocol. • Connectivity Layer: Globus uses public-key based Grid Security Infrastructure (GSI) protocols [49.
There is an on-line credential repository service known ’MyProxy’ provide secure storage for proxy credentials . This speciﬁcation of request 39 .5. GridFTP . The Globus Toolkit deﬁnes client-side C and Java APIs and SDKs for these protocols. Server-side SDKs can also provided for each protocol. to provide the integration of various resources for example computational. is used for partial ﬁle access and management of parallelism in the high-speed data transfers . Also couple of replica catalog and replica management services are used to support the management of dataset replicas. To communicate request for resources between components we use an Resource Speciﬁcation Language (RSL) which is described details later in Section 2. With the help of the process called specialization. The The Dynamically-Updated Request Online Coallocator (DUROC) provides an SDK and API for resource co-allocation . LDAP information protocol used to access resource-speciﬁc GRISs to obtain resource state and Grid Resource Registration Protocol (GRRP) is used for resource registration. network into the Grid . 2.5 Resource Management in Grid Computing In this section we will discuss about a resource management architecture for Grid environment described in .9. • Collective Layer: Grid Information Index Servers (GIISs) supports arbitrary views on resource subsets. However.1. storage. The block diagram of the architecture is found in Figure 2.extended version of the FTP. Resource Brokers transfer the high level RSL speciﬁcation into concrete speciﬁcation of resources.
1 Resource Speciﬁcation Language Resource Speciﬁcation Language (RSL) is combination of parameters including the operators: • & : conjunction of parameter speciﬁcations • | : disjunction of parameter speciﬁcations • + : combining two or more request into single compound request or multi-request Resource broker.Figure 2. The information service. Resource managers generally recognize two types of parameter-name in order to com40 .5. working between Resource Broker and Co-allocator is responsible for giving access to availability and capability of resources.9: A resource management architecture for Grid Computing environment named ground request is passed to a co-allocator. which is responsible for allocating and management of resources at multiple sites. 2. A multi-request is a request which is involved resources at multiple sites. Resource co-allocators can brake such multirequest into components and pass each element into appropriate resource manager. co-allocators and resource managers each deﬁne a set of parameter-name.
municate with local schedulers. 41 . i. &(executable=myprog) (|(&count=5)(memory>=64)) (&(count=10)(memory>=32))) requests 5 nodes with at least 64MB memory or 10 nodes with atleast 32 MB memory. Again.5. monitoring. • Scheduler parameters: used to communicate information related to job. • MDS attribute name: to express constraint on resources.2 Globus Resource Allocation Manager (GRAM) Globus Resource Allocation Manager (GRAM) is designed to run jobs remotely and providing an API for submitting. the following is an example of multi-request: +(&count=80)(memory>=64) (executable=my_executable) (resourcemanager=rm1) (&(count=256)(network=atm) (executable=my_executable) (resourcemanager=rm2) Here two requests are concatenated by + operator. This is also an example of ground request as every component of the request requires a resource manager. Here. GRAM is the lowest level of Globus resource management architecture . environment (environment variables) etc. and terminating job. executable and count are scheduler parameters. For example the following simple speciﬁcation taken from . max_time (maximum time required). executables . For example: memory>64 or network=atm etc. count (number of nodes required).e. 2.
The gatekeeper handles the request and creates a job manager for the job. Service-oriented Grid oﬀers virtualization of the available resources which increase the versatility of Grid . the job manager also terminates . communicating state changes back to the user on the local machine. The job manager then starts and monitors the remote program. the request is sent to the gatekeeper of the remote computer. When a job is submitted. Based on the convergence with 42 . With the help of Grid Computing it is possible to integrate heterogeneous physical resources in to virtualized and centrally accessible computing unit. When the remote application terminates (either normally or by failing).Figure 2.10 shows the basic architecture for GRAM. 2. It also binds Grid speciﬁc services on the hardware level and application services.10: Globus GRAM Architecture Figure 2.6 Evolution towards Cloud Computing from Grid The convergence of Grid Computing with Service-Oriented Computing (SOC) resembles the Grid functionality in form of services.
7 Concluding remarks In this Chapter.11. As an implementation method of Grid.11: Enhancement of generic Grid architecture to Service Oriented Grid In order to meet market demands. 2. that provides X-as-a-Service products which we will going to discuss in next Chapter. providers approach to oﬀer the following functionality  : • Scalable. Grid Computing is oﬀered in form of Grid services  as shown in Figure 2. robust and reliably physical infrastructure • Platform services to enable programming access to physical infrastructure with abstraction in interfaces • SaaS (described in Chapter XX) supported scalable physical infrastructure All this is emerging in new on-line platforms referred as Cloud Computing. Figure 2.SOC. we consider 43 . Besides we have also discussed about layered architecture of Grid. ﬂexible. we have discussed about the brief of Grid Computing environment and comparing it with traditional Clusters.
we also discuss about the resource management issues in Grid and focusing how GRAM protocol actually used in Globus toolkit to manage resource requests. Later. We conclude the chapter introducing Cloud Computing – a new trend in distributed systems inspired form Grid and Service-oriented Computing.Globus toolkit and correlates Grid layers with Globus implementations. 44 .
SaaS) is discussed in Section 3. The rest of the chapter is organize as follows: we began our discuss with detail architectural overview of Cloud Computing environment in Section 3. 45 .3 and Virtualization on Cloud is discussed in Section 3.1 Cloud Components Cloud environments consist with the following elements : Clients. 3.5. We conclude the Chapter by explaining a practical Cloud implementation in Section 3.1. rather spreading over a single computer connected through Internet. A details of Cloud services (PaaS. These Cloud services are consumed via web browser or a deﬁned API .Chapter 3 An overview of Cloud Architecture In a Cloud environment hardware and software services needed to be stored on web servers – ‘the Cloud’. IaaS. Each element has distinct functionalities which will describe next.2 . Data-centers and Distributed Servers . These components are combined together to build a Cloud Computing Solution as shown in Figure 3. Cloud computing responsible for delivering IT functionalities to external users by obtaining that functionality from external providers with the services in pay-peruse manner over the Internet.4.
1: Components of a Cloud Computing Solution i. • Thick Clients: are regular computer. iPhone/iPad etc. clients are computers or machines used for accessing functionalities. server do all the work. Generally used as a terminal. PDAs because of their mobility. instead. the the clients task to display the information. using a web browser to connect in the Cloud. Clients: Clients are same as in traditional Local Area Networks (LAN). ii. These machines may include laptops.Figure 3. Clients are generally classiﬁed into following three categories: • Mobile Clients: includes mobile devices like PDA or Smartphones. In general. Windows Mobile Smartphone. • Thin Clients: the computers that do not have their internal hard drive. tablet computers. Data-centers: 46 . Examples are Blackberry. mobile or cellular phones.
Job allocation is another problem: often it is diﬃcult to distribute and maintain largescale jobs on diﬀerent machines. iii. Using this principle. Number of virtual server in a physical server depends upon type of the application. service provided by system can still accessed thorough other distributed server(s). Cloud architectures. This gives ﬂexibility in operations and enhance security and privacy. 47 . in contrast to traditional approaches. We need to provide recovery mechanism by another machine in for avoiding failures. concentrates to solve these problems . In traditional approach it is diﬃcult to allocate processing units as per application demand. Also. In virtualized severs. it is diﬃcult to scale-up and scale-down automatically. often servers are in geographically disparate locations.Data-center is collection of servers where the processes or application is hosted. If any of the servers downs due to failure or maintenance purpose. Distributed Servers: As said earlier. size and speed of the server and service provided by provider. Also sometimes it is diﬃcult to access CPU according to users requirement. Severs can be physically grouped in a room or building or can be distributed throughout the world. application is installed and allow multiple instances so the all virtual servers can access it.2 Cloud Architectures Cloud architectures focus the diﬃculties arise in large-scale data processing. 3. scalability is another issue in traditional approach. several virtual severs can run into one physical servers. But to the end-users servers act as if they are operate right next to each other.
Grid and Cloud Computing Rest of the section we will discuss about various approaches on Cloud architectures and give a brief about underlying layers. Figure 3. Cloud software environment mainly targeted to programmers or developers. computational resources are provided as services. When Cloud services and platform has been created.2. it determines the work-ﬂow in Cloud.2: Hierarchical abstraction layers of Cluster.1 A layered model of Cloud architecture . Services with same level of abstraction (determined by their targeted users) belongs to same layers .2. 3.known as X-as-a-Service. Cloud software environment and Cloud applications classiﬁed as diﬀerent layer. Grid and Cloud architecture is shown in Figure 3. For example.In Cloud computing. One possible distinction of Cluster. Each layer consist with one or more Cloud services. On the other hand. The ordering in Cloud stack is important. generally XassS .Cloud ontology The Cloud ontology is considered as stack of layers. In particular. Cloud is vritualization of grid and traditional web services. So. 48 . it is possible to access virtual Grid to the companies which request it by creating Guest Virtual Organizations (GVO) . Cloud applications target end-users.
g. Total procedures are abstracted to the end-users and provides the outputs of CPU-intensive and memory intensive large scale tasks in their local machine. application layer is in upper position in Cloud stack. Hence. The application is deployed in provider’s infrastructure. hence. data centers) in where the applications are hosted. Users can access these services through Internet by paying necessary fees.3 which is depicted as stack of ﬁve layers : a) Cloud Application Layer b) Cloud Software Environment Layer c) Cloud Software Infrastructure Layer d) Software Kernel Layer e) Hardware Layer Figure 3.3: Cloud layered architecture : consists of ﬁve layers. higher manageability can be achieved. Cloud applications are composed from Cloud Software environments. It carried out computational works from users terminal (input) to processing units (e. ﬁgure represents interdependency between layers (a) Cloud Application Layer: Application layer is top of cloud layer and most visible to the end-users. From providers persecutive. The Cloud ontology is shown in 3. they can maintain or upgrade system without interrupting users. 49 .For example. not in client machine.
Providers of this layer provide suitable programming-language level developing environment by means of well deﬁned and documented API. provides developers a programming environment (MapReduce . That is how developers can beneﬁted by several services as per necessity.programming model for data processing in large clusters ). The API integrates developers softwares as well as provides necessary deployment and scalability support. authentication services. (b) Cloud Software Environment Layer: The layer just below the Application layer is Software Environment layer. Developers can add necessary services to their application ondemand. a Cloud Software Environment. Cloud applications can be developed in the Cloud software environments or sometimes in Cloud infrastructure components. The layer mainly targets the developer. 50 . The services provided by this layer is known as Platform as a Service (PaaS). Hadoop . e-mail services etc. which makes application development is less tidier and minimize logic faults . Developers are beneﬁted by developing their application in Cloud Programming environment with a support of automatic load balancing. who build and deploy softwares for end-users in the Cloud.The model generally known as Software as a Service (SaaS). Yahoo’s Pig  is a high level language which can process very large ﬁles in hadoop environment. Cloud applications can be grouped as a service for another Cloud services.
ii. At the same time.(c) Cloud Software Infrastructure Layer: Software Infrastructure Layer provides necessary resources to the higher level layers. i. On the other hand. it protects the physical infrastructure of providers data center . Data Storage and iii. Services oﬀered in this layer classiﬁed into following subclasses : i. Virtualization shown in Figure 3. Communications.4 where traditional non-cloud environment runs three diﬀerent applications on its own server. Computational Resources: Cloud users get the computational resources by Virtual Machines (VMs) in this layer.4: Non-cloud environment needs three servers but in the Cloud. Computational Resources. Figure 3. Services provided is often known as Infrastructure as a Service (IaaS). Virtualization providers the user ﬂexibility in conﬁguring settings. two servers are used 51 . Cloud shares the servers for OS and applications which results fewer servers .
52 . practically commercial Cloud storage systems use hundreds if data servers. clients can still access and manipulate data even in case of power failures . For server maintenance or repairing purpose it is necessary to keep multiple machines to fulﬁll users demand. The service provided by Cloud providers is known as Database as a Service (DaaS). Data Storage: Data storage is another infrastructure resource in this layer which allows user to store their data in remote storage devices and provide an access mechanism anytime and from anywhere. ii. In preliminary level. Server may send the ﬁle back kept by user or provide functionality to manipulate the data on-line. However. Still.4. Which ensures. the problem of performance interference between VMs and sharing same cache and TLB hierarchy remains unsolved. Cloud storage system needs one data server for connecting to Internet. providers keep data on servers running in diﬀerent power supplies. that share same physical node is problematic for optimal performance . Modern multi-core machines in main servers sometimes create performance isolation problem. DaaS facilitates scalability to cloud applications for both users and developers. Often.IaaS get beneﬁted by two type of virtualization technologies : Paravirtualiztion and Hardware-assisted virtualiztion. We will cover more on virtualization in Section 3. This lack of performance isolation between VMs. Client can access data by interacting with database server using a web-based interface. Which creates redundancy but without this redundancy clients might not access information at any given time.
network monitoring etc. To meet QoS. guaranteed message delay. Google File System ). key-value stores give much importance on the availability on data loosen up consistency model . Bayou ) and key-value stores (e. (d) Software Kernel: Software kernel layers provides software management functionalities for physical servers in Cloud.Some example of Data storage systems are: distributed ﬁle systems (e. 75. For providing Quality of Service (QoS) communication plays vital role in Cloud infrastructure.g. On the other hand. Though CaaS is least discussed topic in literature. . VoIP telephone systems and instant messaging softwares in Cloud can also use CaaS for better network utilization. communication encryption. dynamic traﬃc isolation or dedicated bandwidth. Also.g. Such software kernel can be implemented as an OS kernel. 73] but paid the cost of availability of data.g. iii. concept of Communication as a Service (CaaS) introduces which consist of network security. 53 . A practical example of CaaS is Microsoft’s new Connected Service Framework (CFS) . RDBMS model gives more focus on consistency model [72. replicated relational databases (RDBMS) (e. Dynamo ). Communication: The rate of data transfer is high in Cloud environment. 76] focus design and architecture of CaaS for providing QoS in communication systems. there are couple of research publications and articles [74.
Providers sometimes facilitates Hardware as a Service (HaaS).hypervisor. Remote scriptable bootloaders (for example UBoot  is one solution to boot the system remotely and deploy applications hosted in distributed data centers. Two such middleware for Grid are Globus  and Condor . periodic check-pointing and load balancing is bit complicated because jobs are mainly tied in actual hardware infrastructure. This model helps enterprise clients so that they need not build and maintain large data centers. infrastructure components. . Grid applications can run in this layer connected through several clusters of machines. Users of this layer are organizations with massive IT requirements. Eﬃciency in speed in large scale systems is a challenging issue. Some technical challenges still exist to implement HaaS eﬀectively. Virtual Machine Monitor (VMM) and/or as a clustering middleware . notebooks. scheduling power consumption optimizations etc. actual physical hardware and switches which are so-called backbone for the Cloud . Another challenges in HaaS are data center management. In Table 3. 54 .e. . desktops. licensing etc. Services included (but not limited to) in HaaS are servers. But due to lack of virtualization in Grid. (e) Hardware and Firmware: The bottom layer in Cloud layered architecture is fabric layer i.1  we provide example of some existing Cloud system and then classiﬁed into the layers of Cloud Ontology . not in kernel.
to classiﬁcation into layers of Cloud Ontology 3.r. Salesforce Customer Relation Management (CRM) Google App Engine. EMC Storage Manages Service Communication: Microsoft Connected Service Framework (CSF) Software Kernel Grid and Cluster Computing Systems (for example : Globus and Condor) Firmware or Hardware IBM-Morgan Stanley’s Computing Sublease.2. hardware and platform resources (which is actually provided as services) are available as per demand.5: Cloud computing Business model Cloud services generally grouped into three categories : a) Infrastructure as a Service 55 . In other words.Cloud Layers Cloud Application Layer Cloud Software Environment Example of existing Cloud Solutions Google Apps. IBM Kittyhawk Project Table 3. In Cloud. Figure 3. Each layer discussed in the layered architecture can be used as a service to the upper layer.1: Example of existing Cloud Systems w. every layer is considered as consumer to the lower level layer. Enomalism Elastic Cloud Software Infrastructure Cloud Storage: Amazon S3.2 Cloud Business Model Cloud computing provides a service-driven business model . Salesforce Apex System Computational Resources: Amazon EC2.
On the other hand. PaaS providers run on top of IaaS provider’s services. (b) Platform as a Service (PaaS): PaaS provides platform level resources which may include support for operating systems and software development frameworks . MySQL. Google App Engine . Figure 3. But. PHP) ensures manageability and scalability of Cloud environment . networking devices. Microsoft Windows Azure .Linux. Force. in current business markets. data center space etc. Common example of IaaS providers include Amazon EC2 .5 illustrates typical Cloud business model. providers are beneﬁted because of only single instance of the software (service) needs to be hosted and maintained. (a) Infrastructure as a Service (IaaS): In IaaS. customer can deploy his own software on the infrastructure. (c) Software as a Service (SaaS): SaaS provides on-demand applications through Internet. Organization oﬀers the IaaS know as IaaS provider.Com  are common example of PaaS providers.(IaaS). Customers beneﬁted by saving their equipment investment and software licensing cost. storage systems. GoGrid  and 3Tera . IaaS and PaaS providers provides services jointly (for example Google and 56 . Single instance of the service (single or multiple softwares) runs on the Cloud and multiple users connected through Cloud can access it. IaaS provides infrastructural resources (for example: servers. ) based upon demand with the beneﬁt of Virtual Machines (VM). Apache. SaaS is oﬀered by Google . Based upon layer architecture of Cloud. The combination of operating systems and software development frameworks (for example LAMP platform . Rackspace . b) Platform as a Service (PaaS) c) Software as a Service (SaaS). Microsoft .
Regardless of this debate. But. each with its own advantages and drawbacks are discussed here. some would argue that.3 Cloud Deployment Model Cloud Deployment Model describes Cloud deployment scenarios available to any typical organization. Deployment model mainly deﬁnes : a) External (or Public) Cloud. commonly known as Private Cloud.Salesforce) . For that reason PaaS and IaaS providers often considered as Infrastructure providers or Cloud providers . organization can implement Cloud internally. In Private Cloud business organization can provide eﬀective utilization of computing resources. As a matter of fact. In traditional (public) Cloud. end-users need not pay infrastructure costs once they purchase services form the providers. b) Internal (or Private) Cloud. Main focus of traditional Cloud is obtaining computing resources form a network of Cloud service provider based upon demand with a provision of dynamic addition or subtraction of capacity. Public Cloud actually use of internal resources through a highly virtualized hardware and application wrapper . 3. Many analysts suggest that implementing Cloud systems internally inside organization actually defeats the main objective of Cloud .2. These diﬀerent types of Cloud. c) Hybrid (or Integrated) Cloud and d) Community (or Vertical) Cloud. security and privacy of data can be ensured. Other than traditional Cloud solutions. like internal data centers incur depreciated costs. We will cover details of these services on section 3. 57 .3. at the same time. Implementing internal Cloud means internal capacity. Private Cloud.
Service providers oﬀer their resources as services to all (general public to business organizations). operating system. • Well documented user guides. • Provision of diﬀerent types of Cloud resources: for example. But there is a controversy that Public Clouds lack control over data.Amazon Simple Storage Service (S3). 58 . • Availibilty of multiple virtual machines with various conﬁgurations based upon requirements (which includes conﬁguration of processor. network and security settings which may hamper eﬀectiveness in many business organizations . application server. • Service Level Agreements (SLA) between clients and providers.(a) External (Public) Cloud: This Cloud solutions is Provided by independent third-party cloud service providers. memory. Example of External (Public) Cloud Deployment Model are Amazon. Amazon Simple DB for storage. Google and other Cloud service providers. Amazon provide diﬀerent services targeting diﬀerent group of users . API’s and technical support. Salesforce. development environments and so on). Key attributes  of this deployment model are: • Services are accessed through web with a self-service user interface. One of the major Beneﬁts of Public Cloud includes no initial investment for infrastructure.6 shows example of Public Cloud. Amazon Elastic Compute Cloud (EC2) for computation etc. Figure 3.
But as said earlier. Figure 3. Private Clouds are being criticized due to similarity with traditional proprietary servers or data centers and hence do not provide beneﬁts of no up-front capital costs .7: Internal or Private Cloud Private vs.7 shows example of Public Cloud. Public Cloud Computing: Several distinguish characteristics  of a Private Cloud actually diﬀers it from traditional distributed systems. Beneﬁts of Private Cloud includes highest degree of control over performance. 59 . security and privacy.6: External or Public Cloud (b) Internal (Private) Cloud: Internal or Private Clouds are mainly designed for single organization. Figure 3. reliability. These type of Cloud can be built and manage by organization itself or by external providers.Figure 3.
often this model is known as Integrated Deployment Model. Secondly. but the organization that has security issues and risk concerns make adopt tighter security accessories. Hence. business partners. Hybrid Clouds provide strong security features and more control over application and data compared to Public Clouds. Private Cloud diﬀers from Public Clouds that the infrastructure in Private Cloud is solely dedicated to a single business enterprise and which is not shared with others. (c) Hybrid (Integrated) Cloud: Combination of Public and Private Cloud model is Hybrid (or Integrated) Cloud. Hybrid Deployment Model provide more adaptability which makes it ﬂexible than Public or Private models. But. Cloud integration and interoperability standards. intranet vendors or any other groups. tools for cross-cloud composition exists to meet the business 60 . There are some Cloud interfaces and APIs. Hybrid Cloud requires Cloud integration. So.Firstly. Security credentials are generally strict in Private Cloud Deployment Model. the complex part is to determine the optimum partition or splitting boundary of public and private components . part of the services runs in Private Cloud while rest of services runs under Public Cloud. Though Private Cloud is not inheretently more secure than Public Cloud. This infrastructure may include corporate clients. More generally. Besides it is still able to provide scalability and can serve client’s on-demand requests. Cloud integration and interoperability is one of major research challenges in Cloud industry . In this type of Deployment model.
Now in this Section. we will cover the the services in more detail and describe how they logically connected to each other.2 we give a brief of Cloud Services.3 Cloud Services In Cloud Business Model in Section 3. • Beneﬁts of cost-eﬀectiveness of external third-party Clouds with mitigation of risks by maintaining internal Private Cloud for critical process (and application data). 61 . 3.8: Example of Hybrid Cloud Major attributes  of Hybrid Clouds are: • A combination of Private (Internal) Cloud and Public (External) Cloud enabled resources. Figure 3. • Integration of external and internally provided capabilities which includes integration of vendor proprietary APIs with internal interfaces. Figure 3.8 shows example of Hybrid Cloud.2.requirements and need to improvise for optimized performance and meet future demands.
Developers write and 62 . Raw hardware resources. Figure 3. Figure 3. CPU cycles. 3.3.9. are considered as the fabric layer. based on the application demand of resources. Storage space etc . Network equipment.2 Platform as a Service (PaaS) Platforms are an abstraction layer between the software applications (SaaS) and the virtualized infrastructure (IaaS). such as compute.9: Correlation between Cloud Architecture and Cloud Services IaaS allows to provide resources such as Server space. hardware level resources are abstracted and encapsulated and exposed to end users through a standardized interface  as shown in Figure 3.1 Infrastructure as a Service (IaaS) IaaS provides computing resources such as processing or storage that can be received as a service.3. PaaS are targeted for software developers. Typically by virtualization. Developers can write applications based on speciﬁcations of a particular platform without going deeper about the underlying hardware infrastructure. Memory. storage and network resources.3.10 shows an example of IaaS. The infrastructures can be dynamically scaled up or down. IaaS providers typically oﬀer virtualised infrastructure as a service so that end-users need not to buy raw hardware infrastructure.
3. SaaS is actually a software which is owned. 3.10: Infrastructure as a Service upload their application code to a platform. The end-user of a SaaS oﬀering usually 63 . which upscales automatically in general as per application usage .11: Platform as a Service PaaS should cover all phases of software development or may be specialized in a speciﬁc area like content management. Figure 3. delivered and managed remotely by one or more providers and is oﬀered in a pay-per-use basis. Figure 3. The PaaS layer built on standardized interface of the IaaS layer that virtualizes the access to the available resources on Cloud. It also provides provides a development platform for the SaaS layer .3 Software as a Service (SaaS) SaaS.12 is the most visible layer of Cloud Computing for endusers as the actual software applications are actually accessed by users. as shown in Figure 3.Figure 3.11 shows an illustration of PaaS.
has neither knowledge nor control of the underlying infrastructure . for example.4 Virtualization on Cloud As stated in Section 3. unauthorized copies of the software used in the organization • Maintenance. Virtualization is related to Cloud environment because of its functionality to access services on the Cloud. support and patch revision processes 3.12: Software as a Service SaaS eliminates the issues related to traditional model : • Compatibility with hardware. IaaS is beneﬁted by two type of virtualization techniques .2. SaaS applications can be developed on an existing platform and run on infrastructure of a third party. Figure 3.1. Full virtualization: 64 .Full virtualization and Paravirtualization which will concentrated next. other software and operating systems • Licensing issues. virtualization provides more ﬂexibility in conﬁguring settings.
In Full virtualization. shows in Figure 3.) is emulated.In fully virtualized environment. drivers etc. allows multiple operating systems to run on a single hardware device.13: A fully virtualized deployment where operating platform running on servers is displayed Full virtulization is successful for following intentions : • Sharing computing environment among multiple users • Isolation of users from each other and from main control (administrative) application • Emulating hardwares into another machine Paravirtualization: Paravirtualization. Figure 3. Figure 3.13 shows a fully virtualized deployment.14. In general. all elements 65 . management components operates with OS and provide necessary adjustment to communicate with a virtual machine . the entire system (for example BIOS. complete installation of one machine is capable to run on another . It provides better and eﬀective utilization of system resources with processors and memory. The result of this type of virtualization is a system in which all application instances running on the server is within a virtual machine. Paravirtualization runs better than fully virtualized environment because in a fully virtualized deployment. But in the case of Paravirtualization deployment.
in the above scenario.5 10% (50% to.2  illustrates the comparisons in detail. processor utilization ≤ 50% ).must be emulated but in case of Paravirtualization which is not required.e.100% tion tal) tal) Paravirtualization 8 2% (16% total) 10% (50% to.14: A Paravirtualized deployment where many OS can run simultaneously Better scalability is one of major beneﬁts of Paravirtualization. Paravirtualization requires only 2% of processor utilization per guest instances with 10% availability for the guest OS. Table 3.10% (50% to. at most 5 systems could be run on the host system without aﬀecting performance (i.Virtualization System Total stances overhead Processing Needs Full Virtualiza.2: CPU utilization in Full Virtualization and Paravirtualization 66 . For example. Virtualization type Guest in.96% tal) Table 3. if a fully virtualized solution require 10% of processor utilization. Figure 3. But.
Drawback of Paravirtualization is reduced ﬂexibility and security . Due to inability of a particular OS or distribution can reduce ﬂexibility. For example, a new Windows deployment environment may not be available as a guest OS for the entire solution. Security concern because the guest OS often has more control over the underlying hardware due to nature of paravirtualization technique.
Paravirtualization is suitalbe for following deployments : • Disaster recovery: In case of catastrophic failures, guest instances can be moved to other hardware until recovery. • Migration: Moving to a new system in paravirtualization is easier and faster because guest instances can be separated from underlying hardware. • Capacity management: As a result of easier migrations, management of capacity is simpler to implement. It is also easier to add more processing power or storage capacity in this type of virtualized environment.
Example of a Cloud Implementation
Here we are going to illustrate a possible scenario of Cloud oriented infrastructure . Let consider a search engine which is running on a Grid Computing system. The search engine is managed by software layer in Cloud stack, on which it can able to run thousands of diﬀerent program (or processes) and services. Underlying grid is divided into interconnected clusters distributed worldwide. The following setup incorporates: – the advantage of best possible geographic conditions for the servers and
– the beneﬁts of load balancing ’DNS-based’ system, to send queries to the cluster and to the user physically nearest so that Round Trip Time (RTT) is reduced. Every cluster is made with large number of (possibly more than hundreds of thousands) computing nodes. Such conﬁguration can store various copies of the web and can replicate services massively. Execution of a service or serving a query request by users need diﬀerent processors. But all these required processors are reside within speciﬁc clusters. CPU clock here is not considered as an important factor as they can be divided into multiple processors or can be done in a single processor based upon workload.
In this Chapter, we are focusing the most recent trend in the distributed computing community – The Cloud. Many believe that Cloud is going to reshape the IT industry as a revolution. However, we are trying to understand what the Cloud actually is, the architectural overview of Cloud and what functionalities a Cloud environment can provide to its users. On next Chapter, we are trying to investigate how Cloud actually diﬀer and relates with another distributed paradigm – the Grid.
Chapter 4 Grid and Cloud Computing Comparisons : Similarities & Diﬀerences
There is a myth  that ‘Cloud Computing is just Grid Computing by a diﬀerent name’. In spite of their similarities, there are several factors that make two technologies distinct. The idea of cloud is not completely new concept. Based upon well established grid technology, cloud computing combines diﬀerent distributed techniques with service orientated architectures.
The rest of the following chapter we have discussions about similarities and diﬀerences of these two architectures based on way of implementations and some other possible criterion. At the end of the chapter we presented a side by side comparison between existing Grid and Cloud distribution named ‘EGEE Grid’ and the ‘Amazon Cloud’.
Cloud Computing may overlap with existing technologies for example Grid Computing, Utility Computing, Service Oriented Computing etc. But the trend actually shift form and base infrastructure (like storage or processing power - provided by Grid) to
1: Motivation of Grid and Cloud economy based services with more virtualization and abstraction like in Cloud. 4. On the other hand.0. Figure 4.2 4. Supercomputers and Clusters are mostly traditional non-service oriented applications. Clusters. reliability and cost .Figure 4. But. where there is certain 70 .1 Points of Considerations Business Model Traditional business model consists of unlimited use of single PC by single time payment. Grids and Clouds with respect to performance.2. The Figure 4.2 shows the comparison between Supercomputers. in Cloud users pay as per resource or service consumption. business model for Grid generally project or task oriented and community based. hence the concept of Utility Computing come into light. Grid actually overlaps the boundary and moving the trend through present concept of Service oriented Computing using the beneﬁt of Web 2.1 shows relationship between Cloud and other existing co-related architectures .
On the other side. hence. resources like storage capacity scales up or down depending number of active users. So.Figure 4. 71 . Cloud is very speciﬁc on user/consumer’s requirements. Grid generally provide persistent use of all available resources. These application instances might run on diﬀerent operating systems and managed by web services.2 Scalability issues Both Grids and Clouds are scalable. reliability and cost agreement  about consumption of service unit like CPU hour or storage amount etc. Scalability can be achieved by load balancing of diﬀerent application instances. 4. solves the burden of overpositioning resources .Resources like processing power and network bandwidth can be allocated and de-allocated on-demand. scalability of Grid means scaling the computational resources and scalability of Cloud depends upon the end-users according to their demand of scaling application resources . application instances require data and amount of data required at the point of instance .2. Also.2: Comparison regarding performance.
Resource management between group of users reducing infrastructure cost for the business organizations and enables users to access resources even in peak demand. Thus. Most of the Grid system does not support because of long queue time (as the resources monitored by a queueing system) and costly scheduling decisions. On the other hand. latency sensitive applications can run on Cloud. Grid and Cloud providers ensures users the availability of resources and services. Users can use single or multiple application instances at the same time. Oracle Grid Engine  manages computational resources for a Grid site. 4.2. A Local Resource Manager for example Condor. users get guaranteed uptime availability [104. Users submit batch job using protocols such as GRAM  to request resources for certain amount of time. resources in the Cloud is shared by all the users at the same time. also. 72 .3 Multitasking and Availability Grid and Cloud technology have the multitasking functionality . 101].4. Compute Model Most of the Grid systems use a batch-scheduled compute model . Providing QoS in such applications might be a challenging research issues when the size of the applications and users increased. With the beneﬁt of Service Level Agreement. which provides number of users to perform diﬀerent tasks.4 Resource Management We consider resource management issues using following point of views: i. There are several approaches taken to overcome this problem using multilevel scheduling so that applications with short running tasks can run eﬀectively in Grid .2. it eliminates the problem of single point of failure .
Data Grids  are designed specially for data oriented applications in which the concept of virtual data . The Contour System  proposed to optimize computation by placement of data and maximize throughput. Cloud application mostly depend on distributed storage systems which provide abstraction to users and hides complexity. Also it ensures privacy and access control. Representation transparency : means data can be generated and used re73 . Data Model: Data management plays important role in Cloud systems due to increase of dataintensive applications.e. data transaction needed to be active to the users even when Internet connectivity or the Cloud itself is down. a separate module (for example. There are several approaches. But the improvement of hardware helps to transfer large amount of data (i. data needed for multimedia applications) and process it locally. or in slow network communications. for example. Materialization transparency : data can be computed remotely or can be transferred as per request. actual application needs to know the location of data in the network. but mostly depends on how much data is available and how much it costs to re-compute. distributed metadata catalogue  keep tracks of locations of the data along with its backup duplicates. Virtual Data System generally provides group of components and services which helps users to organize and manipulate large scale data and computation resources . Also. Virtual data also deals with diﬀerent kind of abstraction like : Location transparency : data can be requested regardless of data location. Though application interface is quite user friendly.ii.
Each application is encapsulated with certain level of abstraction to provide enhanced maintenance.e. Virtualization enables diﬀerent level of abstraction so that users can use pool of resources as a service (say data storage service). But. generally based on shared ﬁle systems where no explicit data locality is applied due to complexity. Data mapped into internal abstract representation and can be computed based on way of representation. Cloud need to run number of applications simultaneously. Cloud provider must have functionality so that users can access any resource available in Cloud. data processing and data storage occur simultaneously. For example. network resources). there are sev74 . To provide the functionality of data locality we need to improve schedulers so that it preserves the information of data locality on the time of scheduling computational task . Which allow users to connect with provider’s resources . iii. Thus. a separate module might run on top of ﬁle system. All the lower level architectures are totally hidden from end-users. processing power. it is partitioned into chunks and each chunk then replicated. user and resource interfaces both must be shared. security and isolation . Data Locality: In distributed systems like Grid and Cloud data must be placed appropriately for minimizing communication overhead as moving data form remote processing/storage unit increase data overhead . In Grid. Grid systems. using underlying fabrics (i.gardless of the actual physical representation and storage criterion. Virtualization is not shown in Grid like Cloud. Resource interfaces are hidden to the users using abstractions . iv. when data is loaded. Virtualization: Cloud Computing ensures sharing only user interface. storage.
with the help of virtualization. 75 . so an user might not get enough detailed status of resource. users are oﬀered diﬀerent services. where lower fabrics are totally abstracted to user. But. users can access resources of various grids using their credentials. and b) Grid resources are not highly abstracted and virtualized like Cloud [115. Some Grid applications (for example TeraGrid ) induce restrictions about the type of modules. 118]. sensors or services that can user launch. Virtual Workspace Service  presently known as Nimbus [117. lack of performance factor reduces comparing with traditional operating systems. Users do not have access to deploy their monitoring infrastructure. This is also problematic for the developers as well because due to diﬀerent levels of abstraction and encapsulation. Also. But in Cloud. 98]. Resource Monitoring: Diﬀerent levels of abstraction due to virtualization makes it diﬃcult to take control in resource monitoring in Cloud. provides abstraction in Grid. we can add another extra layer  . as hardware support for virtualization improved nowadays. monitoring of resources and providing QoS independent of application requirements. monitoring is not such simple. Trust model might not exists.eral attempts. In Cloud. if the Cloud become more autonomic. Besides. mainly because of : a) Grid has diﬀerent trust model. tracing in lower level of hardware and software stack may not possible all the time. which is responsible for failure management. because everything held inside Cloud [cite security]. explicit monitoring might less important in future. for example. v.
e. But at present there are several open source cloud computing platform (for example Eucalyptus . OpenStack ) exists which may solve the problems. The types of application varies form High Performance Computing (HPC) to High Throughput Computing (HTC). Comparative Study: Grids and Clouds. Cloud can also have similar set of applications described above.4. transaction oriented and interactive . They generally use a Message Passing Interface (MPI)  for inter-process communication. These applications are collection of several tasks. Individual schedule helps to peak diﬀerent computing resources with various administrative boundaries that helps to solve the large scale application. 4. CERN ]. might be dependent of independent and can be scheduled individually. which creates interoperatibility problems between today’s Clouds . Again. where in Grid they are batch scheduled. Grid can run loosely coupled application (i. which resides in low-latency interconnection machine and not execute in WAN Grid’s in general. 76 . But. Application domain in Cloud is still unclear. Clouds have diﬃculties in HPC applications where fast and low latency interconnection is necessary for scaling to many processors .2. HTC applications). in contrast to Grid. and we assumed the applications generally loosely coupled. Evolution or revolution.6 Other issues It is often said that Grid computing is open-source but Cloud Computing is not [MarcElian Begin.2. HPC applications are designed to execute tightly coupled parallel job. May 2005.5 Application Model Processing power and resources of distributed computers in the Grid network are more concentrated to solve a speciﬁc problem [book cloud security].
EGEE Grid is based on an open source distribution gLite . Cloud: We consider Amazon’s commercial cloud oﬀering called the Amazon Web Services (AWS).3 Case Study In the following section we compare Grid and Cloud architectures based upon two existing distributions. as Cloud provides all the beneﬁts of Utility Computing. AWS provide two types of service : Computing (Elastic Computing Cloud : EC2) and Storage (Simple Storage Service : S3) . Cloud. Sometimes storing small ﬁles (like ﬁle with size of 1-byte) in Grid might not be economically beneﬁcial . 4. size of ﬁle does not aﬀect cost-eﬀectiveness.4 Concluding remarks In this chapter we discussed the similarities and diﬀerence of tow distributed paradigms – Grid and Cloud with diﬀerent point of views.1 Comparative results Here we present the overall ﬁndings in the tabular form . Grid: We consider EGEE Grid Infrastructure  as our Grid computing platform. For comparison purpose we refer tow well-known and documented implementations: the ‘Enabling Grids for E-sciencE (EGEE) Grid’ and the ‘Amazon Cloud’ .Grid has multiple research user communities in which users can access resources from diﬀerent administrative domain and also grouped in Virtual Organizations (VO). Both the systems are processed par- 77 . generally consists of a common group of system administrators . 4. 4. But.3.
virtulization etc. however. 78 . as we have discuss in deeply in chapter 2 and Chapter 3.Features SLA Grid (EGEE Grid) Data File Transfer Service Data metadata Workload Management Metering BitTorrent interface storage Based on standards Resource Pool Queue prioritisation User Platform Support Geographic distribution Scalable File Size Limit Compute scale Storage capacity Cost of data transfer Secured Service Cloud (Amazon Web Service) Local (between the Global ((between EGEE project and the Amazon and users) resource providers) Yes No Yes Yes Yes No Partially Federated institutional Yes RedHat compatible International (50 Countries) Yes Not known 55000 CPUs ?20PB Paid by data centres Yes Yes No Yes Yes No Commercial access No All Mainly USA. we skipped the architectural comparison between Grid and Cloud. Cloud is. more service oriented to the end-users. In our comparisons. partially Europe Yes 5GB Unknown but large Unknown but large Pay-as-you-go Yes Table 4.1: Comparative analysis allel computations by sharing resources to distributed units but diﬀers their way of implementation in the factors like scalability.
we limit our scope by understanding only the basic architectures. we are trying to investigate the evolotion of computing towards Cloud. ﬁnd the Cloud is actually build on well-established Grid Computing technology with more service oriented by nature. In our thesis.Chapter 5 Conclusion and Future works In our thesis. trust and privacy b) lack of standardization c) insuﬃcient virtualization d) data movement and management e) programming models to provide the required elasticity f) systems and services development methods • Non-Technical Concerns: a) business or cost models for Cloud Computing b) legalistic issues concerning data processing 79 . Upon conclusion our review. We are going in details of architectural overview of both Cluster and Grid Computing and correlates it with a relatively newer Cloud Computing technology. In our research we. We are then trying to understand the basics of distributed processing beginning with Computer Clusters and then Grid environment. 127] in Cloud. which needs more research: • Technical Concerns: a) security. we address couple of unresolved areas and implementation issues [93. operation ﬂow control and resource management issues and skipped security related concerns. 126.
Cluster Computing and Applications.org.wikipedia.org/wiki/History_of_computing.Bibliography  http://en.  Wanlei Zhou.  Jim Waldo.html. org/index. A Brief History of Computing-The various eras that the history of computer has passed through.  Mark Baker. Springer. http://labs.  Stephen White.randomstuff. Ann Wollrath.pdf. Cluster Computing White Paper.eingang.pdf. 80 . Distributed network systems: from concepts to implementations. A Note on Distributed Computing. Rajkumar Buyya. Amy Apon.cs.com/techrep/1994/smli_ tr-94-29.rutgers. 18th September 2000 .  http://www. University of Portsmouth. http://lecture. 2005.UK.  www. Computers from past to present. and Hai Jin.ece. Geoﬀ Wyant.  Mark Baker. Weijia Jia. and Sam Kendalll. http://trillian.oracle.iit.Hoyle. uk/˜stephen/history/.ppt.  Michelle A.edu/˜parashar/Classes/ece572slides/ dist-compintro.edu/˜ren/cs447/lectures/dsIntro-2.
81 .  InfinibandArchitecture. Incorporating Memory Management into User. C. Jacunski et al.org. index.  M.http://www. February 1995. Morgan Kaufmann Publishers. D.  G. http://now. Pakin. Lauria.G. Active Messages: a mechanism for integrated communications and computation. Davie.R. Patterson. IEEEMicro. Computer Networks. E. Chien. Cluster Computing White Paper. 1998.W.  T. Virtual Memory Mapped Network Interfaces. Blumrich. Culler and D.infinibandta.html. Supercomputing 1995.2nd Edition. Anderson and D.anl. 1995. L. Shauser. Architecture and Applications for Network-Based Parallel Computing (CANPC).Level Network Interfaces. and A. In Search of Cluster. Li.  L. Culler and K. von Eicken.A.edu/Case/now. Message Passing Interface Standard. Proceedings of the International Symposium on Computer Architectures. Feb. Presented at Hot Interconnects V.  M.html. A Case for NOW. Cluster Computing at a Glance.gov/mpi/  Mark Baker and Rajkumar Buyya. In Workshop on Communication. M.  S. Mesarin. E. A.F.  S. A Systems Approach. Goldstein T. Dubnicki. 1999. High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet. E. 2000. Second Edition. K. Pﬁser. Peterson and B. Low-Latency Message Passing for Reﬂective Memory Networks. von Eicken. http://www-unix. Basu and T. UK . S.berkeley.  M. Felten.  Mark Baker. Prentice Hall PTR.cs. Welsh A. ITEE Micro. University of Portsmouth. and M..mcs. 1992. August 1997.
-L.60.cornell. 1. Buyya. Tourancheau. Orlando.intel.  K. In the PC-NOW workshop. 82 . Popek and B. http://www. Culler. gov/research/FTG/via/ . Jin. and D. vol. http://www.com/design/servers/ http://www.  P. http://computer. http://developer. IEEE Concurrency.  Virtual Interface Architecture. Jan – March. USA. BIP: a new protocol designed for high performance networking on Myrinet. Orlando. The Locus Distributed System Architecture.J.org/channels/ds/gc/. A.cs.  DS-Online Grid Computing. TR97-1620 – http://www2. H. An Implementation and Analysis of the Virtual Interface Architecture. Hwang.html. USA. 1999. and Z. Designing SSI Clus- ters with Hierarchical Checkpointing and Single I/O Space. future_server_io/index. MIT Press.edu/U-Net/papers. Prentice Hall PTR. Geweke. Technical Report.  G. Vol. Walker (Ed. Florida.org/.  InﬁniBand Architecture.Stanford University and also a Cornell University.viarch. 1998. Proceedings of SC98. November 1998.7(1). Buonadonna.htm. Chow. IPPS/SPDP 1998. NJ. Xu. C.nersc. Prylli and B. 1999.  Internet Protocol Version 6 Information Page. pp.ipv6. High Performance Cluster Computing: Architectures and Systems.  L.69. 1996.).  R. E.org/.  M-VIA: A High Performance Modular VIA for Linux. Wang.
201-62427-3. 1998.org/documents/GFD.15.iso. http://www.  International Organization for Standardization.pdf. 2nd Edition. B.  Daniel Minoli. Chapter 2. A Networking Approach to Grid Computing. 2008. 83 .  C. http://www. 2010. Zhang and Q. Implementing a Full Single System Image UnixWare Cluster: Middleware vs.  Object Management Group. Distributed Systems. October 1. In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’99).ch/. Zhou. Grid and Cloud Computing A Business Perspective on Technology.R Pravu.  Thomas Wozniak Katarina Stanoevska-Slabeva.pdf. http://www. part 1: Introduction of a grid architecture and toolkit for building grid solutions. 1999. http://www. (Ed). S.-Y.3. 80. Grid and Cluster Computing.ggf. Underware. 1 edition.S. version 1.-J. Computational grids. 1993.org/documents/GFD. USA.ogf. Adison-Wesley. 2004. Chung L.  The Open Grid Services Architecture. Steel.omg. 2002. November 1. Grid Basics. Springer.  Ian Foster and Carl Kesselman. Las Vegas.0. “developing grid computing applications. chapter 3. Proposed Recommendation.  Open Grid Services Infrastructure. ISDN 0. Walker and D.  Mullendar.  J.org/. Wiley-Interscience.
Published by Windows & . Appl. and Steven Tuecke. Morgan Kaufmann.  Ian Foster and Carl Kesselman. Grid Computing. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. and Steven Tuecke.  Ian Foster. a Division of Penton Media Inc.org/rfc/rfc2246. Int. Comput. Globus: A Metacomputing Infrastructure Toolkit. 1999. J. Baker and Nicholas R. http: //www. 1999. M. IBM Press. 15(3):200–222.  Joshy Joseph and Craig Fellenstein.  Pawel Plaszczak and Jr.ietf.Net Magazine Network.  David De Roure and Mark A. Steven Tuecke. Von Welch.txt. Design and Deployment of a NationalScale Authentication Infrastructure. 1998. Carl Kesselman. ietf. Carl Kesselman. John Wiley & Sons. Grid Computing: The Savvy Manager’s Guide. Y Butler. Dierks and C. International Journal of Supercomputer Applications.  T. Grading grid computing. rfc 2246. Ian Foster. Otey. January 9. Grid Information Services for Distributed Resource Sharing. January 2004. High Perform.  Ian Foster. Richard Wellner.. In Proceedings of the 10th IEEE International Symposium on High Performance 84 . The Evolution of the Grid. Gene Tsudik. 1996. 11:115–128. Jennings and Nigel R. 2004. Doug Engert. In Grid Computing: Making the Global Infrastructure a Reality.. Shadbolt. A security architecture for computational grids. 2006. The tls protocol version 1.  Steven Fitzgerald.  Randy Butler. August 2001. Allen.0. Chapter 1. and John Volmer. Carl Kesselman. pages 65–100.
Resource Co-Allocation in Computational Grids.  Karl Czajkowski. IEEE Press. chapter 4. Springer. Ian Foster. 2001. John Bresnahan. 1999. Cloud Basics – An Introduction to Cloud Computing. http://www-unix. pages 181–. In In: Proc. HPDC ’01.  Katarina Stanoevska-Slabeva and Thomas Wozniak. and Carl Kesselman.globus. 1997. In In Proceedings of The Eighth IEEE International Symposium on High Performance Distributed Computing (HPDC-8. DC. and Bernd Freisleben.4/globus_gram_documentation/html/. Eﬃcient data transport and replica management for high-performance data-intensive computing.  Matthew Smith. Washington.Distributed Computing. Thomas Friese. USA. Grid and Cloud Computing A Business Perspective on Technology. S. IEEE Computer Society. Novotny. In in Mass Storage Conference. Tuecke. 2001. pages 139–146.  J.  Bill Allcock. 85 . and V Welch. Ann L. Sam Meder. Initial Experiences with an Online Certiﬁcate Repository for the Grid: MyProxy. Model driven development of serviceoriented grid applications. Chervenak. pages 219– 228. of the International Conference on Internet and Web Applications & Services. Carl Kesselman. 2006. Ian Foster. Joe Bester. A Resource Management Architecture for Metacomputing Systems. 2001. IEEE Computer Society.  Karl Czajkowski and Ian Foster and Nick Karonis and Carl Kesselman and Stuart Martin and Warren Smith and Steven Tuecke.  Globus GRAM Architecture.org/api/ c-globus-2. 2010. and Darcy Quesnel Steven. Veronika Nefedova.
and Google Inc. McGraw-Hill.  ‘Hadoop’ http://hadoop. Ravi Kumar.apache. Velte. 2008. Pig Latin: A Not-So-Foreign Language for Data Processing. and S. In Applications of Digital Information and Web Technologies. and Andrew Tomkins. Toby J. chapter 1..  Anthony T. McGraw-Hill.  Jinesh Varia.  F. USENIX Association.  Christopher Olston. 2010. pages 1–10.  Borko Furht. Surcis. Youseﬀ. Toward a Uniﬁed Ontology of Cloud Computing.org/. An approach to a Cloud Computing network. Toby J. pages 113–118. and Robert Elsenpeter. Aymerich. Anthony T. Sanjay Ghemawat. 2010. Velte. Springer. Benjamin Reed. Velte. 2008. Butrico. In In OSDI’04: Proceedings of the 6th conference on Symposium on Operating Systems Design and Implementation. Cloud architectures. Velte. and Robert Elsenpeter. chapter 1. ICADIWT 2008. Cloud Computing Fundamentals. MapReduce: simpliﬁed data processing on large clusters. and D.  L. GCE ’08. chapter 7. Fenu. Amazon Web Services. 2004. Cloud Computing: A Practical Approach. Utkarsh Srivastava. 86 . Da Silva. Cloud Computing: A Practical Approach. November 2008. Technical report. June 2008.  Jeﬀrey Dean. M. 2008. In Grid Computing Environments Workshop. M. G. Handbook of Cloud Computing. 2010.
In Published in: “High Performance Computing and Grids in Action. Alex Pilchin. ACM. and Ching-Hsien Hsu. Michael Collins. USA.  Karin Petersen.  J. and Shun-Tak Leung. Deniz Hastorun.wikipedia. The Google ﬁle system. J´rˆme Dur. Madan Jampani. ISBN. In In Proceedings SOSP. ACM. Boyd. pages 29–43. Mike Spreitzer. pages 364 – 373. Eli Dart.  Chao-Tung Yang. Jim Gagliardi. New York. pages 205–220. 1996. In Asia-Paciﬁc Service Computing Conference. SOSP ’03.” Volume 16 Advances in Parallel Computing. 2003. and Kevin Oberman. Bayou: Replicated database services for world-wide applications. Sanjay Ghemawat. and Jason Zurawski.org/wiki/Consistency_model. Grandinetti. Gunavardhan Kakulapati. Joe Metzger.  Andreas Hanemann. Loukik Kudarieo moti. Editor: L. Swaminathan Sivasubramanian. NY. D. 2007.microsoft.com/ en-us/library/bb896003. Douglas Terry. In In Proceedings 7th SIGOPS European Workshop. Communications as a Service. Dynamo: amazon’s highly available key-value store. Hofstader. Boote.aspx. http://msdn. Howard Gobioﬀ. Avinash Lakshman. Peter Vosshall. March 2008. pages 275–280.  William Johnston.  Giuseppe DeCandia. Chin Guok. 87 . and Werner Vogels. and Marvin Theimer. Network Communication as a Service-Oriented Capability. Roman Lapacz. 2007. Jeﬀ W. Szymon Trocha. Martin Swany. Ericl. Wen-Chi Tsai. IOS Press. A One-Way File Replica Consistency Model in Data Grids. The 2nd IEEE. In Proceedings of the nineteenth ACM symposium on Operating systems principles. Tsui-Ting Chen.  Consistency model: http://en.
aspx.com/en-us/ http://www. 11:115–128.mspx. 17:2–4.amazon.  GoGrid Cloud Hosting: http://www. CLOUD COMPUTING – An Overview.  Microsoft Connected Service Framework. 2010.com/ serviceproviders/solutions/connectedservicesframework. ACM Sigsoft and Sigweb.  Torry Harris. and Miron Livny. Springer.com/Cloud-computing/.  Ian Foster and Carl Kesselman.  Das U-Boot: The Universal Boot Loader. Concurrency and Computation: Practice and Experience. 2005. http://www.  Douglas Thain. Todd Tannenbaum. Distributed computing in practice: The condor experience.  Windows Azure MSDN library: http://msdn. http://www. equuscs. In In Proceedings of the Third International Conference on Service Oriented Computing (ICSOC 2005).microsoft.  Qi Zhang. 2005.denx.com/cloud-hosting/.com/hardware-as-a-service. J Internet Serv Appl (2010) 1: 7–18.  Equus Computer Systems : Hardware as a Service (HaaS).microsoft. and Raouf Boutaba.gogrid. Lu Cheng.  Amazon Elastic Cloud: http://aws.de/wiki/U-Boot/ WebHome. Cloud computing: state-of-the-art and research challenges.  3Tera Cloud Computing: http://www. 1996.Perfsonar: A service oriented architecture for multi-domain network monitoring.3tera. 88 . International Journal of Supercomputer Applications. library/windowsazure/dd163896. Globus: A metacomputing infrastructure toolkit.com/ec2/.
 Google Apps: http://www.salesforce.com.edu/ 89 . Cloud Security .Software as a Service .com/enterprise/cloud/ appengine/.A Comprehensive Guide to Secure Cloud Computing.  Eric A. and Design. Above the Clouds: A Berkeley View of Cloud Computing.ucsb. microsoft. http://eucalyptus.com/ 2008/05/26/define-cloud-computing/. 2009. Wiley Publishing. 2010. http://www.  Deﬁne Cloud Computing. Google App Engine Overview: http://www. Executive’s Guide to Cloud Computing. John Wiley & Sons.  Cloud Computing Myths Dispelled.  SalesForce Cloud: http://www. Randy H. Anthony D. Andrew Konwinski. Technical report. resources/cloud-myths-dispelled#q2. Inc. chapter 6 : Cloud Architecture.google. Accessed: 9 Jun 2009.  Microsoft SaaS . html. chapter 2 : Cloud Computing Architecture.cs. Managed Hosting. Armando Fox.Service Providers. Marks and Bob Lozano. http: //www. RightScale Blog. Patterson. 26 May 2008. Modeling. Gunho Lee. Krutz and Russell Dean Vines. Rean Griﬃth. http://blog.com/platform/.com/apps/intl/en/business/details.rightscale.  Dedicated Server. Katz. Inc.  Michael Armbrust. and Matei Zaharia.  Ronald L.com/err/serviceproviders/saas/.rackspace. Joseph. David A. Web Hosting by Rackspace Hosting..google. Ariel Rabkin.
org/wiki/Oracle_Grid_Engine.  Akshaya Bhatia. Cloud computing versus grid computing Service types. June. Carl Kesselman. 1998.  Derrick Kondo.  Judith M. Grid vs Cloud . Stuart Martin.com/wiki/index.pdf. Yong Zhao. Ian Foster. 90 . Nick Karonis. html. January. Job Scheduling Strategies for Parallel Processing.ibeehosting. Warren Smith.twgrid. Volunteer Computing and Cloud Computing: Opportunities for Synergy.A Technology Comparison.  Ivona Brandic and Schahram Dustdar. A Resource Management Architecture for Metacomputing Systems. 2009.org/isgc2009/asiaathome/wiki/images/b/b7/ Derrick_talk. Ioan Raicu.  What Grid is the diﬀerence between Cloud computing and Computing? http://www.php/Comparison_of_Cloud_ computing_with_Grid_computing. Myerson.  Oracle Grid Computing. 53(4):173–179.  http://en. developerWorks.Information Technology. Cloud computing and grid computing 360-degree compared. and Steven Tuecke.  Karl Czajkowski.com/blog/ what-is-the-difference-between-cloud-computing-and-grid-computing. and things to consider. Ian Foster. March 2009. it .toolbox. Comparison of Cloud computing with Grid com- http://it. similarities and diﬀerences.wikipedia. An Oracle White Paper. 2011. IBM. and Shiyong Lu. event. puting. 2010.
Foster. concurrency and computation: Practice and experience. 91 .HPDC-15.  Yong Zhao. Szalay.  Ian Foster. IEEE/ACM SuperComputing. James Dobson. I. Aguilera. Michael Wilde. and Steven Tuecke. and Automating Data Derivation. C. NSF Workﬂow Workshop. Virtual data grid middleware services for data-intensive science’. Michael Wilde. pages 37–46. CCPE. Distributed metadata with the amga metadata catalog. JOURNAL OF NETWORK AND COMPUTER APPLICATIONS. Y. and M. Zhao. Chimera: A Virtual o Data System For Representing. Wilde. I. 2002. Carl Kesselman. Falkon: a Fast and Light-weight tasK executiON framework. Querying. Hitesh Ballani. In In Proceedings of the 14th Conference on Scientiﬁc and Statistical Database Management. Location. J.  Birjodh Tiwana. Eric Glibert. Z. Charles Salisbury. Ian Foster. 2007. Morley Mao. The Importance of Data Locality in Distributed Computing Applications. Thomas Jordan. Dumitrescu. 1999. and Yong Zhao. Bunn. Jens V¨ckler. Jens Voeckler. and I. The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientiﬁc Datasets. Raicu. Gray. I. Foster. A. and Elizabeth Quigg. Location. Location! Modeling Data Proximity in the Cloud. 2006. 2006. 2006. 23:187–200.  Ann Chervenak. Mahesh Balakrishnan.  Nuno Santos Nuno. 18:595–608.  A. Ian Foster. and Marcos K. In In Workshop on NextGeneration Distributed Data Management . Raicu.
org/wiki/Eucalyptus_(computing).Engineering and Equipment Data Management Service. 2005. Y.  http://en. Virtual Workspaces: Achieving Quality of Service and Quality. Zhang. In In Proc. 2010.wikipedia.  Maytal Dahan. and T. and Xuehai Zhang.org/wiki/GLite.llnl. and Technologies.  Marc-Elian B´gin. Foster.wikipedia. Brian Coghlan.  John Walsh.  Katarzyna Keahey.gov/tutorials/mpi/. Seminar on Network Security. CERN . An EGEE comparative study: Grids and clouds . pages 265–276. Accelerating Largescale Data Exploration through Data Diﬀusion.com/documentation/. Freeman X. TeraGrid User Portal v1. Aalto University. Comparison between security solutions in Cloud and Grid Computing. International Workshop on Data-Aware Distributed Computing. and A. of Euro-Par Conf. I. Szalay. Eric Roberts. An Introduction to Grid Computing Using EGEE. 2008.0: Architecture.  David Munoz Sanchez. 2005. 2009.  http://en.amazon. Scientiﬁc Programming Journal. 2008. Timothy Freeman. Keahey.  http://www.nimbusproject. I. Technical report. Virtual Workspaces in the Grid. and Stephen Childs. Raicu. Foster. In of Life in the Grid. pages 421–431.evolution e or revolution. 92 .  https://computing. Ian Foster.org/about/. I. and Jay Boisseau.  http://aws. Design. Zhao.  K.
 Keith Jeﬀery. Advanced Information Networking and Applications. International Conference on. http://ercim-news. 0:27–33. 2010. Cloud computing: Issues and challenges.eu/en80/es/ the-future-of-cloud-computing. and Elizabeth Chang. Chen Wu. The Future of CLOUD Computing .Report from EC CLOUD Computing Expert Group. 93 .  Tharam Dillon.ercim.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.