Middleware strategies for clouds and grids in e‐Science
Bruno Richard Schulze, James D. Myers · Concurrency and Computation Practice and Experience · 2011
This special issue focuses on middleware strategies for the use of Clouds and Grids in e-Science applications, and is based on selected papers from the Seventh International Workshop on Middleware for Grid, Clouds and e-Science (MGC 2009) and on the Third Latin American Grid workshop (LAGrid 2009). The authors were invited to provide extended versions of their original papers taking into account comments and suggestions raised during the peer review process and comments from the audience during the workshops. performance and deployment evaluation of a parallel application on a private Cloud; configuring large-scale storage using a middleware applying machine learning (ML); power-aware provisioning of virtual machines for real-time Cloud services; an adaptive fault tolerance mechanism for opportunistic environments with a mobile agent approach; an approach to enhance the efficiency of opportunistic grids; use of semantic content management to create knowledge spaces for e-Science; and a proposal to apply inductive logic programming (ILP) to self-healing problem in grids. Clouds have emerged to address limitations of grids, with a key focus on the use of virtualization technologies (at both platform and middleware levels) and replication through machine/service imaging. Further, both are being deployed to create interesting and scalable e-Science capabilities. However, significant challenges remain in managing cloud and grid resources and in providing higher level services that increase robustness and efficiency and simplify the creation of e-Science applications and environments. The MGC and LAGrid workshops provide exciting forums where middleware developments addressing these challenges are discussed and where techniques targeting different layers of services can be compared. As can be seen from the paper summaries below, the work presented at these conferences has significant range yet share many common concerns around acquiring metadata and providing value-added products based on that information. Similarly, while much of the work presented at the workshops focuses on early results, the papers provide results from experiments and/or initial deployments that provide useful insights. McEvoy et al. 1 discuss a case study involving deployment of a parallel application on a private Cloud and evaluation of its performance in that cloud. The overhead of migrating to Xen paravirtualization was found to be within the known interval for CPU intensive computations. The evaluation of scalability was encouraging and showed that using the hyperthreading (HT) cores as independent virtual cores was not worthwhile for their application in particular. Their evaluation also showed that using machine virtualization provided greater scalability than the equivalent native environment. This happened because they leverage VCPU pinning, which outperforms the operating system's process scheduling when used appropriately. The Nimbus Context Broker employed was compatible with Eucalyptus and its usability for their application was analyzed. The deployment was vastly simplified, because all the relevant configuration was automated by a collaboration between the Cloud front-end and an application-specific script. As future work they see the need for additional performance tests on non-HT servers in order to better understand the behavior of VCPU pinning with HT technology. Additionally, while they consider for their private Cloud the use of Eucalyptus since it seems to be a promising infrastructure that already provides great scalability, due to its hierarchical design, they also identify OpenNebula as an interesting platform to explore. Eyers et al. 2 discuss Cloud computing and other large-scale computing uses needing the support of extensible storage systems in their data centers. However, the complex and heterogeneous infrastructure involved makes it difficult to correctly configure overall systems with the current management tools. Their proposed solution introduces a layer of abstraction: a SAN configuration middleware. This middleware collects configuration data from each deployment site, translates it into a standard, homogeneous representation, and delivers it to a centralized knowledge base (KB), and thus can detect problems or potential problems in heterogeneous configurations. This KB—a repository of best practices—is shared between all of the middleware deployments for their collective benefit. The middleware provides a uniform, high-level abstraction that can be linked to SAN management applications, making reconfiguration and troubleshooting of storage infrastructures easier and much more cost effective. The introduction of configuration middleware into the SAN space is an important step toward the vision of general purpose, policy-based management for cloud storage infrastructure. Providing a uniform middleware abstraction across multiple data centers should enable a previously impossible level of coordination in the enforcement of configuration polices. Optimal policies can lead to cost reductions, improved regulation of power consumption, increases in the achievement of ‘green’ operation, and better privacy protection. Meeting these desirable, but high-level policies can require tuning a large number of parameters in each large-scale storage provider. Cooperation across data centers to both contribute to and consult a shared configuration KB will be a key mechanism for achieving these important management goals. Kim et al. 3 propose a real-time Cloud service framework where each real-time service request is modeled as RT-VM in resource brokers. They have investigated power-aware provisioning of VMs for real-time Cloud services. For hard real-time services, they have provided several schemes and evaluated them using simulations. For soft real-time services, they have analyzed power-aware profitable VM provisioning and proposed a provisioning algorithm. The simulation results have shown that data centers can reduce power consumption and increase their profit using DVFS schemes. The proposed adaptive schemes, Adaptive-DVFS and δ-Advanced-DVFS, produce higher profit with lower power consumption regardless of the system load. Their on-going work includes more analysis and improvement of the proposed adaptive schemes. For example, to compare them with other approaches, such as bin packing and linear programming, and analyze the impact of the cooling systems. They also plan to investigate deeper into the soft real-time VM provisioning with the consideration of various penalty functions. Pinheiro et al. 4 discuss grid computing middleware for hiding complexity related to distribution and heterogeneity, seeking to address issues such as management and allocation of distributed resources, dynamic task scheduling, fault tolerance, support for high scalability and heterogeneity of software and hardware components, protection, and security. They argue that a mobile agents paradigm is well suited for dealing with the complexity of building the grid software infrastructure due to its intrinsic characteristics such as cooperation, autonomy, heterogeneity, reactivity, and mobility. In this work, they present a Unified Checkpoint mechanism, which combines dynamic task replication, replica substitution, and checkpointing to provide fault tolerance for sequential and parametric applications. They used the MAG middleware as the basis for implementing these mechanisms. This middleware employs a mobile agent paradigm to encapsulate the applications submitted to the grid into mobile agents that then control the applications life cycle and exchange messages to coordinate fault tolerance actions. The improvements described move MAG towards being an adaptive middleware, capable of altering its behavior according to environment changes. Their experimental results show that, within the parameters observed, their solution helps to reduce the execution time of applications further than a previous model in which the checkpointing mechanism and replication were not integrated. The results were favorable to Unified Checkpoint, with a significant exception noted in the submission of long tasks in large clusters. The results also showed that their new solution results in higher memory consumption. They are still investigating other self-optimization and adaptive mechanisms to add to the feedback system and plan to measure the benefits of increasing or decreasing the number of replicas dynamically according to three factors: failure rate of the execution environment, number of free resources, and amount of tasks to be scheduled. They also intend to investigate the impact of changing the checkpointing interval according to the failure rate and the size of the checkpoints to optimize application completion time. Gomes and Costa 5 aim to improve the performance of applications that make use of opportunistic grids by means of a mechanism that limits the need to perform task migration in case of resource failures. Recognizing that many failures in opportunistic grids are temporary and caused by intermittent high loads, they base decisions on whether to perform a migration on analysis of information such as the duration of resource usage bursts. Given that the resource load on a machine exhibits temporary bursts that would not justify the cost of migrating a task relative to local resubmission, their paper describes a method to estimate the duration of such bursts on the resource-providing nodes. To perform this estimation they used a technique to classify monitored data representing the behavior of local applications. Their experiments show that the developed technique has satisfactory effectiveness in most cases and demands a relatively small amount of resources, which allows its use in the intended scenario. They have identified several possibilities for extending this work. Their immediate plan is to fully implement the architecture as part of InteGrade, including the PM and AM modules. This will enable a more realistic and complete evaluation of the approach, with a comparison of real application execution times on a real computing grid, both with and without the burst analysis mechanisms. This evaluation should also enable them to derive conclusions about the scalability of the proposed method and make it possible for them to assess the impact of the technique on the perception of performance from the point of view of the local users of machines that donate resources to the opportunistic grid. With respect to their prediction technique, more work is needed to optimize the amount of data that needs to be collected to ensure efficient classification. It will also be important to understand whether this amount is constant or variable depending on the application. The ability to consider other kinds of resources (besides CPU) as part of burst duration prediction is another direction for future work. Futrelle et al. 6, present a vision and middleware components for knowledge spaces based on semantic content management that enable integration of research information across applications and throughout the life cycle of high-volume, multidisciplinary scientific work. Building on advances in data intensive e-Science and ‘Semantic Grid’ approaches, their Tupelo middleware framework enables one to provide combined metadata and data storage for e-environments without having to rewrite existing specialized scientific codes or develop new specialized database schemas and metadata formats. Tupelo's context abstraction, delegation-based architecture, and core set of data and metadata operators enable them to connect highly domain-specific information such as scientific data formats and metadata with more generalized, domain-neutral aspects of collaborative work such as provenance, social networks, and geospatial location. By applying this heterogeneous, distributed approach to several e-Science use cases involving workflow and management of heterogeneous data, they have demonstrated that knowledge spaces can facilitate ‘active curation’ of research information as scientists and students interact with data and data processing to construct an integrated research record suitable for dissemination and preservation. The future work includes additional deployments as well as exploration of the potential for third-party extensions of the framework to add capabilities relevant to specific data and metadata types via the described plug-in mechanism. Finally, Ferro et al. 7 provide a summary of their on-going project to design and develop a self-healing capability for grids. Initially they concentrated their efforts in the prediction and diagnosis of faults and in addressing the aspects of job failures needed to populate a KB within their proposed architecture. Their project aims to address the healing problem using a predictive and symbolic ML approach that would allow prediction of faults, and the development of clear diagnoses and plans for how to recover. ILP was the primary approach selected for this, based on the motivations presented throughout the work although some experiments with clustering algorithms were also performed. The goals of the clustering work included checking its efficiency to detect faults patterns in the grids in comparison to ILP's performance, as well as evaluating its use in defining classes for ILP learning. The research conducted so far with ILP has shown the need to include additional control parameters to better determine the possibility of submission failures and to evaluate the predictive potential of parameters normally used for grid monitoring. The knowledge obtained from the experiments presented in this paper provides the authors with the basis for the design of new experiments in determining early fault detection related to the task submission in grids and avoidance of faults in the grids while significantly reducing the overheads incurred. When the faults cannot be avoided, the authors believe it should be possible to extend their analysis to recover faster and to ensure the continuing availability of resources. One direction for future work which they cite is to use ontologies to describe grid resources, which would simplify and structure Grid application information and therefore simplify the development of self-healing mechanisms, e.g. through the composition and reuse of software components and the development of knowledge-based self-healing services with standard integration interfaces for ML modules. The authors also wish to explore the extension of their proposed approaches to Cloud Computing environments. We thank the authors for contributing papers on their research on middleware for Grids and Clouds in e-Science for this special issue, and thank all the reviewers for providing constructive reviews and in helping to shape this special issue. Finally, we thank Prof. Geoffrey Fox for providing us an opportunity to bring this special issue to the research community. Previous issues can be found in 8-20.