Dist ANT
DistANT - Grid Deployment Solution
In the Grid deploying an application means building and installing the software on a range of different platforms, taking account of issues such as different instruction sets, operating systems, file system structures and software libraries. To date, this phase is often performed manually,which is both error-prone and does not scale to large Grids. For example, in order to deploy an application across 500 computers, a user would typically need to log into each of the 500 sequentially, compiling, linking and installing the software. Our own experiences at deploying a quantum chemistry package over a handful of resources have identified this as a serious bottleneck.
Surprisingly, there has been little work on the deployment problem, and none of the current middleware projects addresses deployment across heterogeneous re- sources. Some researchers have suggested solving the problem by taking a system- centric view, as is done in systems that configure a homogeneous compute cluster In this model, an application image is produced for the entire Grid. and then copied from a central resource. However, this central approach is in conflict with the philosophy of the Grid, which favours a decentralized approach. Moreover, it does not handle significant heterogeneity because each resource could, in the worst case, require a tailored version of the software. One of the few systems that views deployment in a decentralized way is GridAnt.
We are currently developing a few different tools to solve the deployment problem, specifically DistAnt and GWB. DistAnt provides an automated application deploy- ment system with a user-oriented approach. It is targeted at users with reasonable knowledge of the application they are deploying, but strictly limited grid computing knowledge, resource information and importantly, resource authority. DistAnt pro- vides a simple, scalable and secure deployment service and supports a simple proce- dural deployment description.
DistAnt supports application deployment over heterogeneous grids by virtualizing certain grid resource attributes to provide a common application deployment gateway, deployment description, file system structure and resource description. To manage remaining resource heterogeneity DistAnt supports sub-grids, to divide an unmanage- able heterogeneous grid into manageable sets of like resources, categorized by re- source attributes that can be queried. Sub-grids provide a framework to execute envi- ronment specific remote build routines, compile an application over a set of resource platforms and redistribute binaries to the entire grid. DistAnt also supports definition and deployment of application dependencies. DistAnt enables deployment of a com- plex native application over an uncharacterized heterogeneous grid, assuming nothing about grid resources.
Furthermore, integration of DistAnt into Nimrod/G, provides an overall environ- ment enabling grid scale application development, deployment and execution. In addition to DistAnt, we are building a rich interactive development environment (IDE), called Grid Worq Bench (GWB). Worqbench Home GWB is based on the public domain plat-form Eclipse , and supports the creation, management, distribution and debugging of Grid applications. GWB provides specific functionality to provides an overall environ- ment enabling grid scale application development, deployment and execution. GWB provides specific functionality to help programmers manage the complexity and hetereogenity of the Grid.
