CS290I -- To Grid or not To Grid, a Rectangular Dilemma

Rich Wolski --- Spring, 2004

General Information


Professor: Rich Wolski TAs:

Class Monday/Wednesday 11:00-12:30 in the Digital Class Room (Trailer 932)

The course will be project oriented. Lectures will attempt to provide and enhance the understanding that is necessary to write Computational Grid programs. The projects provide an opportunity to cement this understanding pragmatically.

The TA's will be responsible for managing the projects from an administrative point of view. All questions regarding the projects should be directed to the TAs first, and then to me.


Text Books

There is no required text for this class. If you wish to have a "hard" reference for your own enjoyment and clearly limitless entertainment, then you should acquaint yourself with a copy of The Grid: A Blueprint for a New Computing Infrastructure by Kesselman and Foster although doing so is not necessary to gain a full apprehension of the course.

Lecture Notes

If I cover material that is not in the text book, or if I feel the need to supplement the material in the text book, I will provide lecture notes here on the web.

I will use the lecture notes to guide my lectures, however, unless I feel a rant coming on. You should try to print out the lecture notes for each class and bring them with you. I will be using some some unspecified mixture of the white board, my laptop, cave painting, and interpretive dance to try and get my points across. If you have hard copy with you that you can annotate, it will be much easier for you to share your knowledge with posterity.

Since I am developing my take on this class in real-time, not all of the notes for the class are available. I will try and have the notes for each lecture complete no later than 48 hours before it occurs, but you should probably plan to visit a web-browser and a printer on the morning of the day when class is held just in case.


TA Availability and Office Hours

The TAs will have valuable information to share with you regarding each lab, particularly with respect to getting started. It is highly recommended that you visit with a TA during one of the scheduled office hours each week. If you cannot, you may petition them for an appointment. Given that they are students themselves, however, they may not be able to meet with you outside of scheduled office hours. If they do so, it is pro bono and you should be appropriately appreciative. Instructor office hours will be by appointment only and will be scheduled by email.

Universal Projects Instructions

Part of the learning experience I hope to provide you with entails conveying the success of your project work to your TAs. You will submit them by email as a tar file. All projects should contain a README text file documenting the function of each file and providing an addition information you feel is necessary for your TAs to build and execute your project progeny.

Therefore, you should submit a tar file that can be unpacked in an empty directory and which will build the necessary executable(s) if the command make is run in that directory after the file is un-tarred. As such, the TAs will be using the following algorithm to build your executable(s). On either a Linux or a Solaris system (or both) they will

If that fails, they will consult your README file to determine if the make command requires any special parameters, or if your makefile requires modification due to file system differences. You should include in your README the name of the system on which you tested the code. If the TAs can make minor changes (i.e. change a few path names) to make your code work, they will do so and try again. If not, it will be graded exactly as if you turned in a broken binary.

This perspective bears re-iteration. Part of the challenge to building Grid codes comes from the need to make them absolutely portable (at least among all versions of Unix and Linux, at the present time). Your TAs will be grading you on your success or failure in achieving this portability as well as on the degree to which your submission fulfills the requirements of the project. You should assume that the TAs will not be using the same system that you used to test the code when you turn in your assignments. Your makefiles and tar balls should be prepared with this caveat in mind. If the TAs can't build it EASILY it is your responsibility -- not theirs.


Uniqueness of Work

For reasons I do not comprehend, it has been emphasized by potentates far more eminent than myself that some discussion of ethics should be included in any course I teach. My best interpretation of this dogma is that I should expend some verbiage clarifying my position on the uniqueness of work I expect.

Thus.

You may talk with the TA, other students, myself, or any other aberrations (real or imaginary) about your assignments, but do the programming on your own. If you find yourself cutting and pasting code (in any amount) from something you did not write in its entirety into something you are developing, you are making a mistake. I also believe in abstracts and as such the term "cut and paste" has several concrete realizations. For example, if you find yourself in possession of a piece of code that provides functionality you desire, and you incorporate that functionality not through the deft use of your mouse, but through a laborious typing sequence that may involve a change of variable names, equivalent but different loop constructs, irrelevant movement of operations in the execution sequence, etc., you are abstractly "cutting and pasting."

In other words, your brain should be the only coding reference material you use to develop the programs necessary to fulfill the programming assignments.