Grid-based data infrastructures have been used in the last decades to address the increasing needs of application in terms of data volume and throughput. Data grids have been defined as a set of storage resources and data retrieval elements, which allow applications to access data through specific software mechanisms [5]. The usual manner of providing this functionality is by means of the creation of data access and storage services. Nevertheless, the use of a grid infrastructure makes efficiently managing and tuning of these data services an increasingly complex task. This complexity can have an impact on the achievable level of QoS, mainly because the storage services performance is linked to a very large set of changing characteristics related to the underlying infrastructure.

Even today, a solution for the problem of accessing data sources in an efficient and easy way, assuring a committed QoS level, has not yet been achieved. Ross et al. identified several challenges for I/O systems emphasizing the need of increasing the manageability of I/O systems, due to their high complexity. Autonomic computing can offer self-management features to I/O systems, something that constitutes an important step forward in the I/O field. This approach is commonly known as autonomic storage.

Autonomic storage can improve I/O performance and QoS, specially when accessing large volumes of data such as those stored in data grids. Our proposal, named Grid Autonomic Storage (GAS), combines concepts from autonomic computing and I/O for the creation of an autonomic subsystem intended to provide self-management features to a data grid. This autonomic subsystem can predict the future performance of the grid components, which can vary due to dynamic changes in the grid infrastructure and, according to this prediction, decide the target resources for data placement. This contributes to improve the QoS of data access and storage services in the grid.

Providing Grid Autonomic Storage

Selecting the appropriate data resources to provide a high QoS is also a challenging area of grid storage management. The QoS for data accesses is normally more related to the read operation behavior, since data is usually read more times than it is written. As usually data is required not immediately after it has been produced, enhancing the overall QoS requires to improve the later read accesses instead of current write accesses. Thus, data placement should be chosen depending on not only on current behavior of the storage elements but also considering predictions about their future operation. Predictions must be made at long term because it is unknown when the future I/O operations will occur. This idea, based on monitoring and decision making, is much related with the way most autonomic computing applications work. Autonomic computing solutions are based on monitoring the managed resources and analyzing the retrieved data. After this analysis, they plan and execute the best actions according to the analyzed data and defined policies. The whole process follows a MAPE (Monitor-Analyze-Plan-Execute) processing loop defined by IBM. This entire loop revolves around the knowledge about how the managed system works. This knowledge is extracted from observations and past behavior. However, knowledge comes not only from monitoring phase, and it could also be obtained and/or extended by experts.

GAS is defined in the same way, following the principles of autonomic computing. GAS consists also of four phases, whose main responsibility is providing autonomic self-management features. The whole process produces a valuable, deep knowledge of the system used to improve further decisions. These four phases of GAS, following the MAPE loop, are:

  1. System Monitoring (Monitor), responsible of collecting monitoring data
  2. System Analysis and Prediction (Analyze), responsible of analyzing the monitoring data and constructing a prediction model of the storage elements
  3. Decision Making (Plan), responsible of deciding the data placement and actions to be carried out
  4. Request Execution (Execute), responsible of interpreting the made decisions and accesses the suitable elements.

GAS Architecture

In a generic grid scenario each service is independent, and it enables clients to access from one to thousands of resources simultaneously. Therefore any grid application performance always depends on which resources are being used. Brokering is a useful technique in any grid infrastructure in order to determine to which extent the user requirements are met and how efficiently the underlying resources are being used. The broker does not only perform the decision-making but it is essential in order to manage these systems. In this sense, GAS has been conceived as a brokering-based solution specially designed to work together with MAPFS-Grid, although it can be used with small changes with any grid data service, such as Storage Resource Manager (SRM), Grid Datafarm (Gfarm), etc.

GAS act as a provider of autonomic features. In order to create an autonomic broker, the GAS architecture covers the following functionalities:

  1. Monitoring grid resources.
  2. Predicting the future state of the storage elements, according to the monitored data.
  3. Decision making about the suitable data placement that provide a high QoS in their data accesses.
  4. Decision making about the adjustment of GAS internal parameters.

The GAS architecture is shown in the figure. The storage elements can be clusters of workstations, standalone servers with attached disks or storage-based systems, e.g., a Network Attached Storage (NAS). The architecture is divided into two main components: the first one is related to the monitoring phase and the second one concerned with the analyze and plan phases. These last two phases are closely related.

Want to learn more about GAS?

If you are interested in more details about the GAS you can contact Alberto Sánchez.

public/gas.txt · Last modified: 2010/11/16 18:21 by ascampos
Trace: gas

Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0