Peer‐to‐Peer Grid Computing and a .NET‐Based Alchemi Framework
Akshay Luther, Rajkumar Buyya, Rajiv Kumar Ranjan, Srikumar Venugopal · 2005
This chapter contains sections titled: Introduction Background Desktop Grid Middleware Considerations Representation Desktop Grid System Alchemi Desktop Grid Framework Application Modles Distributed Components Security Alchemi Design and Implementation Overview Grid Application Lifecycle Alchemi Performance Evaluation Standalone Alchemi Desktop Grid Alchemi as Node of a Cross-platform Global Grid Summary and Future Work Acknowledgement and Availability Reference Computational grids that couple geographically distributed resources are becoming the de-facto computing platform for solving large-scale problems in science, engineering, and commerce. Software to enable grid computing has been primarily written for Unix class operating systems, thus severely limiting the ability to effectively utilize the computing resources of the vast majority of Windows-based desktop computers. Addressing Windows-based enterprise grid computing is particularly important from the software industries viewpoint where interest in grids is emerging rapidly. Microsoft's .NET Framework has become near-ubiquitous for implementing commercial distributed systems for Windows-based platforms, positioning it as the ideal platform for developing peer-to-peer or enterprise grid computing environments. This chapter introduces design requirements of enterprise grid systems and discusses various middleware technologies that meet them. It presents a .NET-based Grid framework, called Alchemi developed as part of the Gridbus project. Alchemi provides the runtime machinery and programming environment required to construct enterprise grids and develop grid applications. It allows flexible application composition by supporting an object-oriented application programming model in addition to a file-based job model. Cross-platform support is provided via a web services interface and a flexible execution model supports dedicated and non-dedicated execution by grid nodes.