A Grid Framework for Optimistic Resource Sharing

1 downloads 1918 Views 93KB Size Report
infrastructure: hardware, software, communication channels and security measures which are its building .... Free Space. M1 p. M2 q. M3 ... [5] Kim, W. and J.Seo: “Classifying schematic and data heterogeneity in multidatabses system”, IEEE ...
A Grid Framework for Optimistic Resource Sharing Norlaily Yaacob, Rahat Iqbal {n.yaacob, r.iqbal}@coventry.ac.uk School of Mathematical and Information Sciences, Coventry University, CV1 5FB, United Kingdom Abstract: Grids are gaining more importance in this era of Internet technology to maximize the use of resources such as hardware and software infrastructure. The grid provides a platform to share information across the Net. Any application on the grid should be able to share available resources concurrently. In this paper, we present a grid framework for an optimistic resource sharing, which consists of different elements such as authentication, sharing, coordination and synchronization of resources. We discuss issues related to the resource sharing problem and propose a solution to it using reflective computation. Different classes of grid applications are also presented and some scenarios are used to elaborate each of them focusing on underlying issues related to the framework.

1. Introduction The success of the Web for information sharing has promoted the idea of the Grid for computation [2]. In the last few years, a lot of time and resources have been spent for the exploration, classification and development of grid applications. Grids typically consist of a number of machines connected with each other through network infrastructure: hardware, software, communication channels and security measures which are its building blocks. The grids are used in concurrent and distributed computing, on-demand computing, data intensive computing and collaborative computing [1]. In this paper, we present a grid framework for an optimistic resource sharing, which consists of four elements of grid framework. We discuss issues related to the resource sharing problem and propose a solution to it using reflective computation.

2. Grid Framework Computational grids evolve around sharing of networks, computers, and other resources. They provide support for services, which are distributed over multiple networked computers known as clusters. The proposed framework (figure 1) consists of elements such as authentication, sharing, coordination and synchronization. These elements reside on top of an Internet application. In order to propose a suitable framework, we need to understand the grid properties [1].

1

Sharing

Coordination

Authentication

Synchronisation

Grid Computational Architecture

Internet

2.1 Authentication

Figure 1: A Framework of Grid

Authentication is a process of establishing the identity of the user. This process, establishes the right of the user to share and use available resources on the grid. There is also a need to consider the integration with various local security constraints [2]. Once the user becomes member of the grid environment, he can access all available resources for which he is authorized. 2.2 Sharing Sharing involves accessing authorized resources. These resources include hardware and software. All machines on the Internet can share these resources in order to carry out their activities given that authentication and authorization has been granted. There is also a need to monitor available resources at any time. To do so, all the machines in grid environment need to register their available resources, which are then maintained and updated dynamically during computation. 2.3 Coordination And Synchronization Coordination manages dependencies between activities [9]. For instance, a program which needs to run on multiple machines due to lack of resources on its own machine must be divided into independent sub-programs. These sub-programs need to be coordinated and synchronized to complete the task. Lets consider two cases of subprograms running in parallel. The first case consists of three sub-programs with two available resources, while any two of the three sub-programs are executed until completion. The third one will have to wait until one of the two sub-programs releases its resources. The second case is where the third sub-program depends on the completion of first two sub-programs, i.e. the results of the two sub-programs enable the execution of the third one. Any delay in the completion of either of the program will effect the execution of the third one.

2

3. A Reflective Computational System This section introduces a reflective computational system [9], which is a potential implementation technique to support grid applications. Computational systems based on a reflective architecture have the ability to change and control part or all of the system during execution. Computational reflection is the process of reasoning about and acting upon the computational system itself. In addition, there must be a causal connection between this self-representation at the meta-level and the actual computation being performed at the base-level, so that any changes at the meta-level are reflected in the system. Reflective computation enables the behaviour of an object in a system to be monitored from the outside through its meta-object and the results can be used to modify methods for optimized computation during program execution.

4. Grid Applications In this section, we present different scenarios of grid applications such as resource sharing, scheduling and simulation. Each of them differs in the number and type of participants, the types of activities, the duration and scale of the interaction, and the resources being shared. Scenario 1: A computer linked to the Net needs to complete a task but faces difficulties due to its RAM limitation. Any idle computers on the Net should be integrated to complete this task. A machine should be able to decide on how much of its resources such as function, operation, and data can be shared with other machines. At the user level, a table of available resources is created. This table acts as a reference, which is maintained and updated dynamically during computation. Figure 2 illustrates this scenario. If machine M1 is sharing a resource with machine M2, there is a possibility at a later stage that M2 does not give the authority to access its resources due to lack of resources. Scenario 2: The timetable scheduling at the university is a complex task to perform manually. The person in-charge i.e. the timetable scheduler needs to gather relevant information on the chosen modules from various databases available on different machines. Heterogeneity issues need to be considered in order to access information from different databases [6,7]. They are grouped under three categories: syntax, structure and semantic. They can be solved by establishing mapping between heterogeneous databases and building a shared ontology. The shared ontology also plays a pivotal role in multi-agent communication [8]. Scenario 3: A car manufacturer planned to develop a feasibility study for components of a new concept car. This simulation integrates software components developed by different suppliers, with each element operating on the suppliers’ computers. In simulation, authentication is required between different suppliers and manufacturer to share related databases. The coordination between suppliers and, between suppliers and manufacturer is required in order to coordinate and cooperate activities with each other. In this case, an efficient synchronization technique [9] needs to be introduced between suppliers’ databases and between the suppliers’ and manufacturer’s databases.

3

Machine

Free Space

M1 M2 M3 M4

Free Space p Free Space r

p q r s

Free Space M1

q

Internet Server

M2

Free Space s

M3

M4

Figure 2: Sharing Resources

5. CONCLUSION This paper has presented a framework of grid, which emphasizes on authentication, sharing of resources, coordination and synchronization. Reflective computation has been discussed as a potential implementation technique to support grid applications. The benefit of reflection is that it allows the sharing and control mechanism to be encapsulated at the meta-level. As a result, this will enhance the modularity of the system. Our future work includes the development of the framework and its evaluation.

REFERENCES [1] I Foster and C Kesselman (eds). “The Grid: Blueprint for a New Computing Infrastructure”. Morgan Kaufmann, San Francisco, 1999.

[2] Foster, I, Kesselman, C, & Tuecke, S, “The Anatomy of the Grid: Enabling scalable virtual organizations”, Int J High Performance Comp Appl 15(3), 2001.

[3] D.B.Skillicorn. “Motivating Computational Grids”, In Workshop on Global and Peer-toPeer Computing on Large Scale Distributed Systems at CCGrid 2002.

[4] Visser, U., Stuckenschmidt, H., Schlieder, C., Wache, H., & Timm, I., “Terminology Integration for the Management of distributed Information”, 2002.

[5] Kim, W. and J.Seo: “Classifying schematic and data heterogeneity in multidatabses system”, IEEE computer, 1991

[6] Stuckenschmidt et.al. “Adaption Communication Vocabularies using Shared Ontologies”. In Pro of the 2nd International Workshop on Ontologies in Agent Systems, Italy, 2002

[7] Kashyap, V., and Sheth, A., “Semantic Similarities between objects in multiple databases”. Management of Heterogenous and Autonomous Database Systems, 1999.

[8] Thomas W. Malone, Kevin Crowston, “Interdisciplinary Study of Coordination”, ACM Computing Survey, vol. 26, NO.1, March 1994.

[9] Norlaily Yaacob, “Reflective Computation in Concurrent Object-Based Languages”, PhD Thesis, University of Exeter, England, 1999.

4

Suggest Documents