Cross Campus Grid (XCG)

If you have the need for faster computation or want to securely and easily share data with colleagues, we invite you to use XCG. The objectives of XCG are to:

  • Provide computational resources for science and engineering research.
  • Provide a secure data sharing platform for members of the University community and their colleagues at other institutions.
  • Serve as a test-bed for emerging Grid standards.

XCG is implemented using Genesis II, which was developed here at the University of Virginia. Genesis II is the first integrated implementation of the standards and profiles coming out of the Open Grid Forum (OGF) Open Grid Service Architecture (OGSA) Working Group. The OGF is the standards organization for Grids. Genesis II is a complete set of Grid services for users and applications which not only follows our maxim “by default the user should not have to think,” but is also a from-scratch implementation of the standards and profiles, not a wrapping of existing artifacts. Genesis II is open source under the Apache license.

What can I do with XCG?

There are basically two things you can do with XCG: you can use it to access Grid compute resources or to export and access/share data.

Need more speed?

Let’s suppose you have an application that you need to run for your research, and that you need to execute the application multiple times—a number of executions with different parameters or input files, for example, or perhaps you need to run an application more than once to establish a statistical property. In both cases, you have a high-throughput problem. If each execution takes many minutes or hours and you have hundreds or thousands of jobs to manage, this could take days or weeks to run on your desktop. XCG compute queues were designed to solve this sort of problem. Descriptions of the jobs to be executed are submitted to XCG and the jobs are distributed throughout the Grid and executed concurrently. Data management and movement in/out of your local compute environment are handled by XCG, which produces results tens to hundreds of times faster. Similarly, if you already have an MPI application, you can use XCG to select a cluster for your job and run it.

Need to share data?

Now let’s suppose you are working on a project with a colleague in another department (or at another institution) and would like to share research files with him/her without restriction. For example, you have a colleague with a lab instrument that writes data directly onto a hard disk and you want to be able to read those files as if they were local to your own machine. And you may also be interested in post-processing the results, storing them locally, and allowing your colleague to read, modify, or view the results. This is a data sharing problem. To solve it, the person who wants to share his/her data “exports” the data into XCG, and the person(s) who want access to the data mount the Grid into their local Linux or Windows file system and then access the data as if it were in a local file system. Data access is fully secure using the latest Web Services security standards.

What does it mean to “share” or “export” data?

Suppose you have a directory (also called a “folder” in Windows) on your hard drive that you want to share with a friend or colleague. This can be achieved by using the Genesis II export Grid Shell command. Invoked without any command-line options, the export command starts up a simple GUI (which requires X-windows in Linux environments). The GUI allows you to specify a local directory path that you want to export—and the directory path where you want to place it in the XCG name space. The process is similar to mapping/mounting a drive, except that you are mounting a portion of your local file system into the XCG namespace. Once exported, the directory and its contents can be manipulated by both local users and Grid users. File/directory updates made by local users are visible to remote users, and vice versa. Access by remote users is governed by access-control lists that you establish. The user who performed the export is given initial, exclusive Grid access to the exported resources. After performing an export, you will typically modify the access-control policies to specify which users and groups can read, write, and execute (e.g., make subdirectories of) your exported files.

For More Information

To request an account or learn more about XCG, please visit this page.