Book 2628

The objective of program analysis is to automatically determine the p- perties of a program. Tools of software development, such as compilers, p- formance estimators, debuggers, reverse-engineering tools, program veri?- tion/testing/proving systems, program comprehension systems, and program specializationtoolsarelargelydependentonprogramanalysis. Advancedp- gram analysis can: help to ?nd program errors; detect and tune performan- critical code regions; ensure assumed constraints on data are not violated; tailor a generic program to suit a speci?c application; reverse-engineer so- ware modules, etc. A prominent program analysis technique is symbolic a- lysis, which has attracted substantial attention for many years as it is not dependent on executing a program to examine the semantics of a program, and it can yield very elegant formulations of many analyses. Moreover, the complexity of symbolic analysis can be largely independent of the input data size of a program and of the size of the machine on which the program is being executed. In this book we present novel symbolic control and data ?ow repres- tation techniques as well as symbolic techniques and algorithms to analyze and optimize programs. Program contexts which de?ne a new symbolic - scription of program semantics for control and data ?ow analysis are at the center of our approach. We have solved a number of problems encountered in program analysis by using program contexts. Our solution methods are e?cient, versatile, uni?ed, and more general (they cope with regular and irregular codes) than most existing methods.

Book 4340

Grid Computing

by Radu Prodan and Thomas Fahringer

Published 1 January 2007

This monograph addresses four critical software development aspects for the engineering and execution of applications on parallel and Grid architectures.

A new directive-based language called ZEN is proposed for compact specification of wide value ranges of interest for arbitrary application parameters. The monograph contributes to various research areas related to integrated tool development for efficient engineering and high performance execution of scientific applications in Grid environments.


Book 5951

In a dynamic computing environment, such as the Grid, resource management plays a crucial role for making distributed resources available on-demand to anyone from anywhere at any time without undermining the resource autonomy; this becomes an art when dealing with heterogeneous resources distributed under multiple trust domains spanning across the Internet. Today Grid execution environments provide abstract workflow descriptions that need a dynamic mapping to actual deployments; this further accentuates the importance of resource management in the Grid.

This monograph renders boundaries of the Grid resource management, identifies research challenges and proposes new solutions with innovative techniques for on-demand provisioning, automatic deployments, dynamic synthesis, negotiation-based advance reservation and capacity planning of Grid resources. The Grid capacity planning is performed with multi-constrained optimized resource allocations by modelling resource allocation as an on-line strip packing problem and introducing a new solution that optimizes resource utilization and QoS while generating contention-free solutions.

On-demand resource provisioning becomes possible by simplifying abstract resource descriptions independent from the concrete installations. The book further explains the use of the semantic web technologies in the Grid to specify explicit definitions and unambiguous machine interpretable resource descriptions for intelligent resource matching and synthesis; the synthesis process generates new compound resources with aggregated capabilities and prowess. The newly introduced techniques haven been developed and integrated in ASKALON Grid application development and runtime environment, deployed in the Austrian Grid, and demonstrated through well performed experiments.