Chapter 3. Application architecture considerations

In the previous chapters we have introduced grid computing, the Globus Toolkit and its components, and some of the considerations that the infrastructure can impose on a grid-enabled application.

In this chapter, we look at the characteristics of applications themselves. We provide guidance for deciding whether a particular application is well suited to run on a grid.

Often we find people assuming that for an application to gain advantage from a grid environment, it must be highly parallel or otherwise able to take advantage of parallel processing. In fact, some like to think of a grid as a distributed cluster. Although such parallel applications certainly can take advantage of a grid, you should not dismiss the use of grids for other types of applications as well. As introduced in Chapter 1, “Introduction” on page 1, a grid can be thought of as a virtual computing resource. Even a single threaded batch job could benefit from a grid environment by being able to run on any of a set of systems in the grid, taking advantage of unused cycles. A grid environment that can be used to execute any of a variety of jobs across multiple resources, transparently to the user, provides greater availability, reliability, and cost efficiencies than may exist with dedicated servers.

Similarly the need for large amounts of data storage can also benefit from a grid. Examples include thoroughly analyzing credit data for fraud detection, bankruptcy warning mechanisms, or usage patterns of credit cards. Operations on vast amounts of data by uniform calculations, such as the search for identifiable sequences in the human genome database, are also well suited for grid environments.

At some point, the question usually arises as to whether a problem should be solved in a grid or whether other approaches like HPC, Storage Tanks, and so on are sufficient. In order to decide on the best choice there are a number of aspects to consider from various perspectives. This chapter provides some basic ideas for dealing with the types of jobs and data in a grid.

This chapter also provides an overview of criteria that helps determine whether a given application qualifies for a grid solution. These criteria are discussed in four sections dealing with job/application, data, and usability and non-functional perspectives. Together they allow a sufficient understanding of the complexity, scope, and size of the grid application under consideration. It also allows the project team to detect any show stoppers and to size the effort and requirements needed to build the solution.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.173.199