VT Grid Computing Research Projects


Symphony

Symphony is a Java-based visual framework for composing and manipulating distributed legacy resources. Symphony allows users to compose jobs using Java beans and run them on distributed resources. We have recently extended Symphony so that it interfaces with Globus. This allows Symphony to be used as an abstraction layer above variouis grid architectures and middleware to provide a unified interface to the user. Symphony beans can also be used as middleware between a user application, a different gui or a web-portal and the underlying grid architectures. In this position Symphony abstracts the underlying systems and provides high-level data and control flow services.

More ....

PRIMA: Privilege Management and Authorization Services

The goal of this project is to support secure ad-hoc user collaborations in grid environments. Such collaborations often rely on shared or delegated fine grained access privileges to data and executable files as well as to grid compute resources. The mechanisms we are developing focus on the management and enforcement of fine grained access rights. Our solution employs standard attribute certificates to bind rights to users (or their surrogates) and enables high level management of such fine grained privileges which may be freely delegated, traded, and combined. Enforcement is provided by POSIX operating systems extensions that extend standard file permissions and regulate resource usage through access control lists.

More ...

Deja Vu: Transparent checkpointing and Migration for Message-Passing Parallel Codes

Transparent, system-level checkpointing, restart, and migration of MPI-based message passing codes has long been a goal for the high performance computing community. Our approach uses the widely-used MPICH implementation of MPI, a user-level implementation of TCP/IP, and the Weaves programming framework being developed by colleagues in Virginia Tech's Computing Systems Research Lab.

More ...

Data and Activity Representation in Grid Computing Environments

In order for grid computing to be more widely used, there is a great need for high-level tools, problem solving environments, grid computing environments (GCEs), portals, etc. Unfortunately, many GCEs have been one-off development efforts. More recently, there have been efforts to define component architectures for constructing important pieces of a GCE. We are defining and implementing a `data-centric' framework for building powerful, context-aware GCEs spanning multiple layers of abstraction. The key to providing an open and flexible framework for building GCEs is a clear separation of concerns and a flexible approach to representing both data and activity in a GCE. We are developing such representation schemes and building several tools and GCEs using this framework.

Runtime Algorithm Selection for Grid-Based Scientific Codes

In a grid environment it is often impossible at development time to know on what resource a particular code will run. We are designing a software framework to allow run-time selection of algorithms and codes. This selection can be based on problem and resource characteristics known only at run-time, and can leverage scientific and performance results from previous runs using data-mining techniques. The goal is performance portability across a wide range of grid resources.

Global Scheduling of Parallel Codes on the Grid

Scheduling---the problem of mapping tasks graphs to processors---is a well-known problem that has been studied for many years. Over the years various heuristics to solve this problem have come up. The problem with these algorithms is that in a grid environment there are lots of pragmatics involved that do not directly relate to optimality of scheduling solutions. Earlier scheduling mechanisms assumed that complete information about the resource graph is known. This is typically unrealistic in the grid setting where administrative domains might have reasons not to give complete information about their resource structure. Since scheduling is a combinatorial problem, large scheduling decisions become unmanageable. There have been few distributed schedulers suitable for a grid environment. We are designing a scalable architecture by which distributed global scheduling can be done while at the same time respecting administrative domains and policies. The scheduling framework is offered as a web service and does not require modification of existing local schedulers. Two test applications are being used to test the validity and performance of the scheduler. One is a test suite of synthetic applications constructed to have certain computation and communication characteristics. The other is a high-end physics application for which the performance model is available from previous runs.

COPASI-G: A Grid-Based PSE for Simulating Biochemical Networks

A Secure, Configurable Resource Broker for Grid Jobs

Return to Grid Group Homepage.
Last updated 12/12/2002