Grid Computing Research Laboratory

State University of New York (SUNY) Binghamton
Department of Computer Science

[Home] [Projects] [People] [Papers] [Resources] [Funding] [For Visitors] [Internal]

Background Reading

This page is primarily intended to be used as a guide for students who would like to explore grid computing research. Hopefully, the information on this page will help you assess whether you are interested in pursuing research within the Grid Computing Research Lab, and will begin to give you the background to do be able to do so. The page may be used by students who are currently enrolled in the CS department here at Binghamton, as well as by prospective students.

In general, our group conducts research on a wide variety of grid computing aspects, including:

  • frameworks for component-based grid computing (over XCAT and Legion)
  • high performance Web and grid services (bSOAP, C++ based tools)
  • object-based grid computing (Legion)
  • evolution of grid services and objects
  • dynamic grid information dissemination
  • grid services for instruments and sensors

    The material included below is roughly organized from general to specific.

    What is Grid Computing?

    Grid computing is the use of hundreds, thousands, or millions of geographically and organizationally disperse and diverse resources to solve problems that require more computing power than is available from a single machine or from a local area distributed system. Grids also allow programmers to use different and more resources than they would otherwise be able to. Grid software generally runs on top of underlying host operating systems, and serves to manage the resources and make them available to applications developers.

    Thus, grid computing research is most closely related to distributed systems research (with different problems emerging because of the different more challenging characteristics of the target environment), requires some knowledge and understanding of computer networking, and has many of the same goals and features that operating systems have for (the very different) uniprocessor environment. Grid computing supports distributed and parallel programming paradigms and languages, and requires new software engineering and software development practices for effective development of applications. Grid systems are also sometimes referred to as middleware or metasystems.

    See also two very informal high level articles, written by two of the original grid designers and architects:

  • Andrew Grimshaw, "What is a Grid"
  • Ian Foster, "What is the Grid: A Three Point Checklist"

    Grid Computing in the News

    Grid computing is a relatively new, very important research area, which holds the promise to contribute significantly to many areas of science and industry. The goal is to make the aggregate computing power of a vast array of resources available to a single programmer and her application. With that kind of computing power available, problems could be solved that aren't even currently attempted, and much larger versions of existing problems could become tractable.

    There are a couple of sites devoted to current grid computing happenings. Check out

  • IEEE Distributed Systems Online Grid Computing Page
  • The Grid Today ezine
  • Grid Computing Planet

    For good measure (and because if we didn't link to it, who would?!), here's an article about Mike that appeared in the local campus newspaper in April 2002 (and the same article in our campus discover-e online newsletter). The article talks a little bit about what grid computing is, as well.

    Grid Computing Research

    Grid computing research began in the mid 90's with two efforts that essentially proceeded in parallel with one another. The Globus Project at Argonne National Laboratories and the University of Chicago aimed to provide a sort of "sum of services", or "toolkit", approach to grid computing. In other words, the Globus toolkit was intended to include libraries, services, and functionality necessary for applications developers to build a stand-alone application that executed in a grid-like environment.

    The Legion project at the University of Virginia took a different approach, one in which the components, resources, and services of the grid are all represented by software objects that can all be addressed within a single federated namespace. The Legion approach allows applications developers to select and define system-level responsibility.

    The following papers provide a good high-level introduction to the two projects:

  • Andrew Grimshaw, Wm. A. Wulf, and the Legion team, "The Legion Vision of a Worldwide Virtual Computer," Communications of the ACM, Volume 40, Issue 1, pp. 39-45, January 1997. [PDF]
  • I. Foster, C. Kesselman, J. Nick, S. Tuecke. "Grid Services for Distributed System Integration," Computer, 35(6), 2002. [PDF]

    The best papers for a "one level deeper" of understanding are the following:

  • Michael J. Lewis, Adam J. Ferrari, Marty A. Humphrey, John F. Karpovich, Mark M. Morgan, Anand Natrajan, Anh Nguyen-Tuong, Glenn S. Wasson and Andrew S. Grimshaw, "Support for Extensibility and Site Autonomy in the Legion Grid System Object Model" to appear in the Journal of Parallel and Distributed Computing, 2003. [PDF]
  • I. Foster, C. Kesselman, S. Tuecke. "The Anatomy of the Grid: Enabling Scalable Virtual Organizations," International Journal of Supercomputer Applications, 15(3), 2001. [PDF]

    An important new development in grid computing is the definition of the Open Grid Services Architecture (OGSA), which is defined in the following paper:

  • I. Foster, C. Kesselman, J. Nick, S. Tuecke, "The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration," January, 2002. [PDF]

    The Globus and Legion project webpages keep lists of some of the publications generated by the two projects. If you're looking for something specific about one of the two projects, check here:

  • Globus Publications
  • Legion Publications (you may need a login and password, which you can get from Mike if you're a student here at Binghamton, and which you can request from the Legion group if you're a prospective student).

    Here's a good article about grid programming:
    D. Laforenza, "Grid programming: some indications where we are headed," Parallel Computing, Volume 28, Issue 12, December 2002, Pages 1733-1752.

    Finally, there are several books about grid computing The first has served as an "introductory reference" to the field, but is somewhat out of date now (published in 1998). The others are more up-to-date.

  • "The Grid: Blueprint for a New Computing Infrastructure", by Ian Foster (Editor), Carl Kesselman (Editor) Morgan Kaufmann Publishers; 1st edition (November 1998); ISBN: 1558604758; [Amazon]
  • "The Grid 2: Blueprint for a New Computing Infrastructure", by Ian Foster and Carl Kesselman, Publisher: Morgan Kaufmann; 2nd edition (November 18, 2003), ISBN: 1558609334; [Amazon]
  • "Grid Computing: Making The Global Infrastructure a Reality", by Fran Berman (Editor), Geoffrey Fox (Editor), Tony Hey (Editor), Publisher: John Wiley & Sons; (April 8, 2003) ISBN: 0470853190; [Amazon]


    Background Reading for Our Specific Areas of Interest

    Two of the projects we work on are related to the Common Component Architecture (CCA). To learn more about CCA, visit www.cca-forum.org. In particular, the following paper provides the best introduction to CCA:

  • For more information regarding our specific projects, please now refer to the projects and paperspages.


    Page maintained by Mike Lewis: mlewis@binghamton.edu