How does the Grid extend the Internet, and what is the future vision for this development?

Size: px
Start display at page:

Download "How does the Grid extend the Internet, and what is the future vision for this development?"

Transcription

1 How does the Grid extend the Internet, and what is the future vision for this development? By Simon Adcock sja300 Abstract Grid technologies emerged in the early 1990s, built on existing Web protocols and offering large-scale resource sharing and high performance computation. This paper will show the advantages the Grid has over the Web, including how it integrates modern project techniques and architectures. The paper will finally forecast the evolution and predict the future usage of this developing technology. 1 Introduction The mathematician Alfred North Whitehead is renowned for stating that "civilization advances by extending the number of important operations which we can perform without thinking about them." This famous idea has shown uncanny accuracy, a century later, in defining the evolution of computational methods. A Grid has been defined as: a hardware and software infrastructure that provides dependable, consistent, pervasive and inexpensive access to high-end computational capabilities. [1] This definition was later extended to consider flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions and resources [2]. Based on these definitions, Foster (1998) now argues that in order to qualify as a Grid, a distributed system should follow three rules: Heterogeneity: Grids should be platform-independent, and should run across a number of administrative domains. The system should also address the security and membership issues that arise as a result. Scalability: A Grid could significantly increase in scale very rapidly, so there should be minimal degradation of service as a result. It should support standard, open protocols and interfaces, to allow possible intercommunication between Grids. Adaptability: A Grid should deliver nontrivial qualities of service. It should be tolerant of resource failure, for example extracting maximum possible performance from available resources. As a result of heterogeneity, information and resources available on a Grid should be seamlessly accessible, analogous to the way electricity is available on the electric grid; we do not see where the electricity is coming from, all we see is the wall socket. It is as if there is an infinitely large electricity storage device in our own homes.

2 A current implementation of Grid technology is the Sun ONE Grid Engine [20]. This application enables organisations to manage projects by managing distributed computing resources given specific time intervals to achieve business goals. As Grids become more widespread, it will soon be possible for InterGrid communication to be established. This will require a standardisation of the protocols and interfaces, defined in the second step above, which Grids use to handle authentication, resource discovery and access. There are several Grid construction toolkits available, including the Globus Toolkit (see Section 2.3.1), that are working to establish such standardisation. The Grid, itself, will be the entity that is born as a result of the interconnectivity of these Grids. The primary goal of the Grid at the moment is to allow coordinated resource sharing in Virtual Organisations (see Section 2.2). This level of coordination is impossible for current distributed computing methods, such as CORBA or the Internet, to handle. Researchers involved in the development of the Grid are hoping to build on these existing technologies, rather than compete with them; the Grid will act as a middleware between high-level behaviours of the Internet, such as its protocols, and the lower levels, for example the application layer. As the Grid is built on the existing Internet, it will share its capabilities, such as simple data retrieval and transfer, as well as the basic file sharing functions provided by peer-topeer applications such as Gnutella. The prospects for the future, however, are far greater, and could not only change the way we share information, but also the way computers interpret information and even, by integrating developing technologies such as Jini and Bluetooth, how we go about daily life. 2 The Grid and the Web The Internet, although very complex, is a hierarchical distributed system, with a vast number of interconnected client-server trees. The main drawback with this system is that there is a significant chance of the occurrence of bottleneck: if a large number of clients try to access a web server simultaneously, there would be a large strain on that server, and quality of service will not be provided. By contrast, the Grid will offer an architecture closer to that of peer-to-peer applications such as Gnutella. This decentralisation allows for improved scalability over the Internet. The Grid will also offer a finer granularity of control of shared resources, application of local and global policies (for example, a local user will be treated with less suspicion and more relaxed security than a remote user), and a single sign-on implementation will eliminate the need for continual authentication. The Grid will also offer a larger variety of resources, for example remote execution of software, use of computing power and secure access to remote networks, similar to Virtual Private Networks. The original idea behind the Grid was not to offer an alternative to the Internet, or to rival it in any way, but more to complement its functionality, and to add flexibility. The Grid can be viewed as an extension to the Web, building on its protocols, and offering new functionality. This section will give details of projects and methodologies, past and present, which are using Grid technology and design ideas to broaden the prospects of global communication and resource sharing.

3 2.1 Metacomputing In the sixties, the conception of the Internet set out to revolutionise how we access and transfer information on a large scale. Twenty years later, just before the World Wide Web started to prove itself as a successful global communication device, the NCSA had been working on the next stage of Internet evolution. Towards the mid 1990s, metacomputing was becoming a popular way of sharing computational resources to perform large tasks, such as cracking RSA public key encryption, using a large number of web-based computers to each perform a small subtask of the overall problem. The results of the individual subtasks were sent back, via , to a central computer and interpreted. RSA130 relies on the fact that factorising is computationally expensive, and on a single machine at the time, it would have taken years to perform. Using the early Grid, it took just seven months [5]. These early techniques were successful, yet primitive in that the distributed applications did not capitalise on the available bandwidth (i.e. increasing the bandwidth between a server and a node would not significantly increase the speed of the experiment). Al so, experiments like the RSA-cracking project, were centralised, so highly vulnerable to failure. They also relied heavily on human maintenance. 2.2 Virtual Organisations Resource sharing over the Grid generally involves individuals or groups being given direct access to shared computers or pieces of software in order to achieve a common goal. This goal may be anything from batch and scheduling tasks to distributed parallel computing on a global scale. The individuals or groups involved in this activity are referred to as a Virtual Organisation (VO). This resource sharing must maintain a precise level of control, providing clear definitions of what is being shared, and to whom the resource is given access, for the sake of security and policy. Figure 1. Each oval represents an actual organisation. Organisations 2 and 3 share some of their resources with Virtual Organisations B and A respectively. Organisation 1 shares some of its resources with both Virtual Organisations (adapted from [2]). The members of a Virtual Organisation do not necessarily have to work together on the same site, but the Grid will make it feel, to the members, as if they are on the same

4 network. Virtual Organisations may enable scientists from numerous countries and backgrounds to work together to analyse and interpret a new discovery from a deep space radio telescope. Organisations in Australia and the UK may pool their processing resources into a Virtual Organisation so that while one country sleeps, the other country, on the opposite side of the world, may use the processing power of its peer s idle computers. 2.3 Current Projects As mentioned in Section 1, modern Grids act as a middleware between Internet transport layers and large-scale applications. They should consider the issues of heterogeneity, scalability and adaptability. In this way, a user would view a Grid as a virtual machine, as if all processes and resources were available on the user s machine, and any operations were being implemented locally. Grids should also feature requirements common to many distributed services, for example DNS, resource management, information discovery, caching and security. These features are beyond the scope of this document, yet should be kept in mind when considering the possibility of a global Grid The Globus Toolkit Globus was originally established to support high performance applications across Grid architectures. It addresses crucial issues, like those of security, resource management and information discovery mentioned above. As the Grid is beginning to prove itself as a possibly effective means of conducting e-business, so the functionality of the Globus Toolkit is evolving to account for the potential growth in its users. It has now started to integrate the Open Grid Services Architecture (OGSA), whose purpose is to integrate services across distributed VOs, formed from resources within a single enterprise and/or external service providers [6]. OGSA is likely to become one of the most commonly used Grid architectures, opening the possibility of standardisation, widespread InterGrid communication, and the emergence of the Grid itself Jini Jini is a set of network protocols and APIs that provide means of connecting everyday household appliances and objects to a network, or distributed architecture like the Internet. The objects will provide a service, or perform particular task, on the network. Connecting, say, a digital camera, a hard disk and printer to the network would create a Federation, enabling a user to take pictures, upload them onto the hard disk and then printing them. The word, Federation, implies that there is no central authority, or server. There would be a lookup service with which a service provider, such as the printer, would have to register, so users and other service providers can use its service. Jini builds on the Common Object Request Broker Architecture (CORBA), which has proven to successfully provide excellent network support for such tasks as object registration, error handling and marshalling. Also, since Jini communicates using the Java Remote Method Invocation (RMI) mechanism, it comes with all the portability of the Java language, including heterogeneity and platform independence. Furthermore, it allows ad hoc networking, meaning a service provider can connect and disconnect to a

5 network with minimal human intervention. The lookup service can find service provides automatically, and can also detect when a service provider has left the network. The advantages of integrating Jini with the Grid are almost as limitless as the advantages of the Grid itself: the particle accelerator at CERN could be linked to a persistent storage device to save the output, while a graphical reconstruction device produces a virtual reality recreation of the results. One of the main issues involved with integrating Jini and the Grid are how they will communicate with each other. Figure 2 demonstrates a likely method of connecting the media. Figure 2: Possible communication structure between Jini and the Grid. The Grid Information Service (GIS) will communicate with Jini s Lookup Service (LUS) via a translation interface. It is assumed that Jini will predominantly use Java and the Grid will use C or Fortran. There should therefore be some Jini/Grid Markup Language (adapted from [7]) Grid Portals Web portals are useful pages that contain links and references to pages of a specific topic. Grid portals, however, extend this functionality, and in doing so, make themselves into a very important means of navigation. They may provide a form of authentication to ensure a user has access permissions to use a particular resource. The portal may be used to make scheduling decisions and allow manipulation of remote resources, say, stored on a database [8]. Another use of Grid portals may be the ability to delegate a user s access rights to a web server. Once the portal has authenticated a user, the user s browser may delegate (i.e. grant, or pass down) the access permissions to a web server, which will then directly

6 access the required resources. The web server can then handle computationally expensive overheads, to take the load off the browser. 3 Prospects of the Grid 3.1 Autonomic Computing Due to the estimated vast increase in scale, the Grid will become increasingly difficult for people to maintain. In light of this, researchers have put forward the idea of automation, allowing the Grid to maintain, manage and diagnose itself. There are eight requirements we must consider when implementing an autonomic system [9]: 1. The system must know its components, status, capacity and connections to other systems. 2. The system should automatically and dynamically configure and reconfigure itself. 3. It should always look for ways to optimise its performance. 4. The system should be self-diagnostic, find ways around problems and should recover from malfunction. 5. It should be prepared for, and be able to protect itself against, attack. 6. It should be aware of its environment and adapt to changes. 7. The system must be able to function in a heterogeneous world, by implementing open standards. 8. It should make optimised use of resources, while hiding its complexity from the user. An autonomous application of the Grid that is currently undergoing heavy research is the idea of the Semantic Grid [10]. This applies the idea of the Semantic Web, which emphasises the importance of metadata, to the Grid The Semantic Grid The Service-Oriented View When considering the computing infrastructure, it is necessary to characterise three conceptual layers [13]: Data: raw, meaningless bits. The physical layer. Information: data with meaning. A date could be significant to a person s birthday, for example. Knowledge: applied information. Recognition that a set of symptoms expressed by a patient represents a certain illness. The Grid in its current form, like the Internet, focuses on the data and information layers. The Semantic Grid is attempting to encapsulate all three layers. The Semantic Grid is characterised as an open system in which users, software components and resources come and go on a continual basis [10]. It can be seen as a set of services that are offered by entities (which may be software agents). The services are offered under contract, and can be accepted by any of a number of consumers in a marketplace. This is modelled in Figure 3.

7 Figure 3: The service-oriented view. The marketplace is governed by rules set by the market owner. Lines between consumers and services represent contracts (adapted from [10]). A possible conceptualisation of the service-oriented view is the Smart Laboratory. Such a laboratory may provide automatic recognition of samples as they are analysed, and comparison with similar samples. There may be some sort of notification system, which would automatically contact expert scientists in the appropriate field should a new result be found. There may be video feeds of testing, coupled with live readout of data stored in a database so scientists who did not witness the analysis can recreate the event at a later date Agents An agent is an encapsulated computer system that is situated in some environment and that is capable of flexible, autonomous action in that environment in order to meet its objectives [11]. The simplest way to view agents is by considering the Belief Desire Intention (BDI) model: an agent is programmed to have beliefs, which is pre-defined information the agent knows about its environment; its desires represent the pre - defined ultimate goals, which give the agent its raison d être; finally, an agent s intentions are the subset of its desires that are achievable when considering any given constraints. Ultimately, an agent is more suited to this autonomic implementation of the Grid, due to the advantage that it is programmed to make run-time decisions about the best course of action in order to achieve as many of its desires as possible. Agents could be programmed to consider unexpected problems, and hence make decisions about desire priority, host failure possibilities, bandwidth restrictions and time limitations. In the service-oriented view, an agent could be used as electronic representations of humans, such as a scientist or technician in the Smart Laboratory. The agents should interact with each other in the ways that humans would in a normal laboratory. This will mean that some standard Agent Communication Language (ACL) should be implemented. Agents could also be used for opening and advertising the marketplace,

8 offering services, transferring results for database storage or noticing similarities between results. 3.2 The Wireless Grid The convergence of the Internet with mobile technologies has been envisaged for several years, with the continual development of Bluetooth, a wireless network interface, and the unfulfilled hype of WAP technology. With the successful launch of the b standard for wireless communication, and with the build-up surrounding the eagerly anticipated 3G mobile phone technology, it will soon be possible to obtain mobile highbandwidth connection to LANs and the Internet. The advantages for the Grid are obvious: it will be possible to gain high-speed access to resources, services and information without the restriction of cables, and with high quality of service. This freedom could be integrated with Jini technology (see Section 2.3.2) in order to gain extra flexibility by broadening the range of devices that can benefit: field scientists will be able to obtain instant feedback on samples and readings, so they know instantly if it is worth noting their results; technicians could monitor the performance of a piece of machinery, such as a car engine, to diagnose problems before they occur, and to notify the driver of that problem, avoiding an accident; medical teams, such as paramedics, could use Jini-enabled instruments to help diagnose a patient s illness, and relay the diagnosis straight to a hospital, while a remote doctor advises them on how to treat the patient en route. There are several limitations on the technology at this time. Firstly, wireless access to information requires an Access Point (AP) to be within range of wireless host. The current range of commercial APs is roughly 200m, and coverage is limited to private LANs and hotspot wireless access areas, such as cafés and airports. Secondly, current compression and synchronisation techniques may not be suitable for sending large quantities of technical data over a wireless link [12]. If a scientist wished to transfer a sample analysis, amounting several gigabytes, across a wireless link, the quality of service would be extremely low, especially in a very remote area. 4 Conclusion This paper establishes a definition of Grid communication, and summarises how the Grid has been building on and extending Internet foundations to provide resource access and sharing, improved quality of service, a degree of autonomy and increased scalability. Specifically, the Grid offers the following advantages: It will offer a distributed, rather than centralised architecture. This will prevent bottleneck and reduce the possibility of system failure, as there is no single point of failure. There will be a finer granularity of control available, improving security and increasing efficiency. There will be a wider variety of resources available over the Grid, for example processing power. The Grid will continue to evolve, with current trends suggesting that it will adopt a service-oriented approach. It will provide a higher degree of autonomy, and increased flexibility in terms of mobility and the types of devices that can be used to communicate.

9 The discussion in this paper makes predictions and addresses the possibility of future Grid implementation. In order for these insights to be fulfilled, research is needed in the experimental areas considered by the Semantic Grid, such as agent-based and serviceoriented approaches. There also needs to be more research in the area of wireless protocols, to offer increased bandwidth and improved coverage if such technology is to be implemented on a truly global scale. 5 Appendices 5.1 Glossary of Terms 3G Mobile Phone Technology Third Generation (3G) mobile phones will support a bandwidth of millions of bits per second, in contrast to the thousands in 2G. This will open up possibilities of using mobile phones to connect infrared devices to the Web. Access Point (AP) The Access Point of a wireless network is the device that sends out and receives information to and from mobile hosts. It typically has an effective range of approximately 200m. Agent Communication Language (ACL) An ACL is the means by which agents communicate with each other, for purposes of negotiation and message passing. There are many different languages, including FIPA (Foundation for Intelligent Physical Agents) [14]. Application Program Interface (API) Defines a standard interface for invoking functionality. For example, the Java API [15] defines a set of objects, methods and interfaces. Bluetooth An industry group working on short-range wireless connectivity of mobile devices [16] Java Remote Method Invocation (RMI) An interface that enables a programmer to create distributed applications in Java [17]. Quality of Service (QoS) refers to the capability of a network to provide better service to selected network traffic. This may include providing dedicated bandwidth, controlled jitter and latency, and improved loss characteristics [4]. RSA Public Key Encryption A complex encryption algorithm that involves generating a number by multiplying two large random numbers [18]. Cracking the algorithm involves finding those two random numbers by factorising their product, a very computationally expensive process. Semantic Web This is defined as the idea of having data on the web defined and linked in such a way that machines can use it. It is based on the integration of agents, XML and metadata [19]. Service A service is a capability offered by some service provider on a network. It provides a particular behaviour using a unique protocol. For example, an FTP server allows clients to upload and download data from a host machine or collection of files, using the File Transfer Protocol. Virtual Private Network (VPN) A VPN is formed when two or more networks connect to each other transparently and securely on network level, either via TCP/IP or a leased line.

10 6 Bibliography [1] Foster and Kesselman The Grid: Blueprint for a New Computing Infrastructure (1998). [2] Foster, Kesselman and Tuecke The Anatomy of the Grid Enabling Scalable Virtual Organisations (2000, white paper). [3] Foster What is the Grid? A Three Point Checklist (2002, white paper). [4] Cisco Internetworking Technology Handbook [5] RSA Factoring-by-Web Project [6] Foster, Kesselman, Nick and Tuecke The Physiology of the Grid An Open Grid Services Architecture for Distributed Systems Integration (2002, white paper). [7] Mark Baker Jini Meets the Grid (2001, presentation). [8] De Roure, Baker, Jennings and Shadbolt The Evolution of the Grid. [9] IBM Research Autonomic Computing - [10] De Roure, Jennings and Shadbolt The Semantic Grid: A Future e-science Infrastructure. [11] M. Wooldridge Agent-based Software Engineering (IEE Proc on Software Engineering). [12] Reg Coutts Wireless and the Information Grid (2002). [13] Keith G. Jeffery (paper for the UK Research Councils Strategic Review, 1999). [14] Foundation for Intelligent Physical Agents [15] Java Technology [16] Bluetooth [17] Java RMI [18] RSA-based Cryptographic Schemes [19] Semantic Web [20] Sun ONE Grid Engine Software