« Home « Kết quả tìm kiếm

Grid Computing P13


Tóm tắt Xem thử

- 13.1 INTRODUCTION.
- The goal of autonomic computing is the reduction of complexity in the management of large computing systems.
- The evolution of computing systems faces a continuous growth in the number of degrees of freedom the system must manage in order to be efficient.
- Two major factors contribute to the increase in the number of degrees of freedom: Historically, computing elements, such as CPU, memory, disks, network and so on, have nonuniform advancement.
- Secondly, the systems tend to have a global scope in terms of the demand for their services and the resources they employ for rendering the services.
- Changes in the demands/resources in one part of the system can have a significant effect on other parts of the system.
- Recent experiences with Web servers (related to popular events such as the Olympics) emphasize the variability and unpredictability of demands and the need to rapidly react to the changes.
- A system must perceive the changes in the environment and must be ready with a variety of choices, so that suitable strategies can be quickly selected for the new environment.
- the management of the functionalities, efficiencies and the qualities of services of large computing systems through logically distributed, autonomous controlling elements, and to achieve a harmonious functioning of the global system within the confines of its stipulated behavior, while individual elements make locally autonomous decisions.
- Since Grid Computing, by its very nature, involves the controlled sharing of computing resources across distributed, autonomous systems, we believe that there are a number of synergistic elements between Grid computing and autonomic computing and that the advances in the architecture in either one of these areas will help the other.
- We make some observations on the ways we perceive it to be a useful part of the Grid architecture evolution..
- The choice of the term autonomic in autonomic computing is influenced by an analogy with biological systems [1, 2].
- A vital aspect of such an organism is a symbiotic relationship with others in the environment – that is, it renders certain services to others in the environment and it receives certain services rendered by others in the environment..
- In the short term, the organism perseveres to perform its functions despite adverse circumstances, by readjusting itself within the degrees of freedom it has.
- In the long term, evolution of a new species takes place, where environmental changes force permanent changes to the functionality and behavior.
- Rapid response to external stimuli in order to adapt to the changing environment is the key aspect we are attempting to mimic in autonomic systems..
- The autonomic computing paradigm imparts this same viewpoint to the components of a computing system.
- The environment is the collection of components in a large system..
- The services performed by a component are reflected in the advertised methods of the component that can be invoked by others.
- The semantics of these methods constitute the behavior that the component attempts to preserve in the short term.
- In the long term, as technology progresses new resources and new methods may be introduced.
- these variations in the behavior of other components that it interacts with and adjusts to the variations..
- Thus, implementation of an object can proceed independent of the implementation of dependent objects, since it uses only their interface specifications.
- The rest of the system is spared from knowing or dealing with the complexity of the internal details of the implementation of the object..
- Section 13.2 describes the basic structure of a typical autonomic component, delineat- ing its behavior, observation of environment, choices of implementation and an adaptive strategy.
- While many system implementations may have these aspects buried in some detail, it is necessary to identify them and delineate them, so that the autonomic nature of the design can be improved in a systematic manner.
- Section 13.3 illustrates two spec- ulative methodologies to collect environmental information.
- Section 13.4 elaborates on the role of these aspects in a Grid computing environment..
- 13.2 AUTONOMIC SERVER COMPONENTS.
- The basic structure of any Autonomic Server Component, C, is depicted in Figure 13.1, in which all agents that interact with C are lumped into one entity, called the environment..
- As illustrated in Figure 13.1, a client is satisfied to get any one of the many possible outputs (v, v.
- All implementations of the component preserve this functional behavior..
- The external state ξ is an abstraction of the environment of C and includes information on the input arrival process, the current level of resources available for C and the performance levels of other components of the system whose services are invoked by C.
- The component C has no control over the variability in the ingredients of ξ , as they are governed by agents outside C.
- Figure 13.1 Schematic view of an autonomic component and its environment..
- An implementation, π , is the usual input–output transformation based on state π.
- available for the autonomic component in order to adapt to the situation.
- Finally, the intelligence of the autonomic component is in the algorithm α that chooses the best implementation for any given input and state.
- Thus, the strategy is a function of the form α.
- As long as the cur- rent implementation is in place, the component continues to make local decisions based on its estimate of the external state.
- When actual observation of the external state indi- cates significant deviations (from the estimate), an evaluation is made to choose the right implementation, to optimize η .
- This leads to the following two aspects that can be studied separately..
- Firstly, given that the component has up-to-date and accurate knowledge of the state of the environment, it must have an algorithm to determine the best implementation to adapt.
- Secondly, a component may keep an estimate of the external state (which is distributed and dynamically changing) and must devise a means to correct its estimate periodically, so that the deviation from the actual state is kept within bounds.
- We examine this question in the next section..
- 13.3 APPROXIMATION WITH IMPERFECT KNOWLEDGE.
- 13.3.1 Self-observation.
- It senses the temperatures as it tries to move around and organizes in its memory the gradients and if lucky, moves west and escapes the fire.) Following the analogy, an autonomic component keeps a log of the input–output history with its clients, to track both the quality that it is rendering to its clients as well as the pattern of input arrivals.
- On the basis of these observations, it formulates the estimate, ξ , of the state of its environment, which is used in its local decisions to adapt suitable implementations.
- However, the component cannot quickly react to the rapidly changing environment.
- 13.3.1.1 Example 1.
- Hence, the only external state it needs to speculate upon, ξ , is the pattern of inputs – specifically how frequently a particular size is being requested in the recent past..
- If the addresses are spread out widely in the address space, the client is likely to incur more translation overheads and prefers all the blocks to be within a compact region of addresses.
- We illustrate a P i that has two implementations: The first is a linked-list allocator, which keeps the list of the addresses and sizes of the free blocks that it has.
- When the block is returned, it searches the list again and tries to merge the block with any free adjacent portions in the free list.
- When a block (allocated from a slab) is returned to it, it links it back to the slab.
- When a slab is unused for a long time, it is returned to the linked-list..
- Thus, the allocator autonomically reorganizes its data structures based on the pattern of sizes in the inputs..
- 13.3.2 Collective observation.
- As noted before, part of the environmental state, ξ , that is relevant to a component, C, is affected by the states of other components.
- For instance, if D is a component that provides services for C, then C can make more intelligent decisions if it has up-to-date knowledge of the state of D.
- Let S ii (t ) denote the portion of the state of C i at time t , that is relevant to other components in the system.
- of the corresponding state, S jj (t.
- Thus, each component has an accurate value of its own state and an estimated value of the states of other components.
- This problem is similar to the time synchronization problem and the best solution is for all components to broadcast their states to everyone after every time step..
- For instance, let us assume that each component can estimate how its state is going to change in the near future.
- 13.3.2.1 Subscriber approach (push paradigm).
- Suppose a component C j is interested in the state of C i .
- Then C j will subscribe to C i and obtains a tuple of the form, t, S ii (t.
- Thus, the bandwidth of updates is proportional to the rate at which states change.
- 13.3.2.2 Enquirer approach (pull paradigm).
- This is a simple variation of the above approach, where an update is sent only upon explicit request from a subscriber.
- 13.3.2.3 Example 2.
- This selection is the autonomic aspect here and the objective is to minimize the response time for each transaction..
- µ j , where Q j is the length of the input queue at C j , when the transaction entered the queue there.
- In order to give best response to the transaction, C i chooses to forward it to C j , which minimizes [τ ij + (1 + Q j.
- As described in the collective observation scheme, each component, C i , maintains the tuple t, t j , Q t j , from which the queue size of C j at time t + δt can be estimated as Q t j + t j ∗ δt .
- 13.4 GRID COMPUTING.
- Thus, a protocol is independent of details such as the libraries, language, operating system or hardware employed in the implementation.
- In particular, implementation of a protocol communication between two heterogeneous entities will involve some changes in the types and formats depending upon the two systems.
- These are provided by the connectivity layer of the Grid architecture.
- A Service is an abstraction that guarantees a specified behavior, if interactions adhere to the protocols defined for the service.
- Effort is under way for standardization of the means in which a behavior can be specified, so that clients of the services can plan their interactions accordingly, and the implementers of the services enforce the behavior.
- 13.4.1 Synergy between the two approaches.
- The service abstraction of the Grid architecture maps to the notion of a component of autonomic computing described in Section 13.2.
- The behavior of a service is the BehaviorSpec of a component in Section 13.2 and an implementation must ensure that they provide the advertised behavior, under all conditions.
- In turn, this implies that a service implementa- tion must have a strategy such as α of Section 13.2, which must adapt to the changing environment and optimize the performance by choosing appropriate resources.
- particular, there must be general provisions for the maintenance of accurate estimates of global states as discussed in Section 13.3, using either the self-observation or collective observation method.
- A specialized protocol in the collective layer of the Grid architecture could possibly help this function..
- There may be one or more implementations of the data-mining service and each of them requires database services on the appropriate data repositories.
- 13.5 CONCLUDING REMARKS.
- While facets of this principle are present in various degrees in extant designs, explicit recognition of the need for being autonomic can make a big difference, and thrusts us toward designs that are robust, resilient and innovative.
- In the present era, where technological changes are so rapid, this principle assumes even greater importance, as adaptation to changes becomes paramount..
- The first aspect of autonomic designs that we observe is the clear delineation of the interface of how a client perceives a server.
- Changes to the implementation of the service should not compromise this interface in any manner.
- The second aspect of an autonomic server is the need for monitoring the varying input characteristics of the clientele as well as the varying response characteristics of the servers on which this server is dependent..
- In the present day environment, demands shift rapidly and cannot be anticipated most of the time.
- Finally, an autonomic server must be prepared to quickly adapt to the observed changes in inputs as well as dependent services.
- we outlined the kinds of protocols and mechanisms that may be supported for this purpose, there is more work to be done in the area of formulating models that capture the stability characteristics of the algorithms that govern the autonomic behavior.
- (2001) The anatomy of the grid

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt