CS611
Programming Assignment 7
Fall 1998


Add a cache mechanism to the out-of-core variable abstraction in ~cs611/public/prog7/out-of-core.[ch]. Test and evaluate your code using the Jacobi computation given in ~cs611/public/prog7/jacobi.c.

Your code must be written in C.

For each out-of-core variable add an in-memory cache.

Points will be assigned in the following manner:

Modify the distributed Makefile to add the appropriate target for each program you complete. You may call the source code for the different versions of the out-of-core abstraction whatever you like.

Use the small data set size (SIZE = 16) to debug your programs.

Once your programs are working, use the shell command "time" to time them (ie time prog7). Also time the original distributed program. Time using at least two data set sizes (SIZE = 16 and 32). (NOTE: larger data sets may take a while to run with the original program!) Run each program for a given data set 2 or 3 times. Record both the user time and the system time. The time command shows the user time as the first (leftmost) metric. The system time is the next metric to the right.

You can run the programs on any machine for which you have access. But make all runs of the programs on the same machine. Also, for grading purposes your programs will be run on an Alpha system (alberti) so be sure they work correctly on those systems.

Create a file called "ANALYSIS" (all caps) in which you place your timing results. Also write a few sentences to analyze the results. Compare the different versions of the program to each other. Was the performance what you expected? Why or why not? The ANALYSIS file should just be a simple ASCII text file.

As always, you may lose points if your program is not properly structured or adequately documented. In particular, be sure to clearly document your source code to indicate which program is which.

Your programs should be submitted for grading from either alberti, hopper or christa. To turn in this assignment, type:

~cs611/bin/submit prog7 <list of files to submit>

Turn in all source files and the Makefile, even if they are unchanged from the originally distributed files. Also turn in your ANALYSIS file.

Notes:

Submissions can be checked by typing:

~cs611/bin/scheck prog7

To receive credit for the assignment, you must turn in your files prior to 8am on Thursday Dec 17. NOTE: No late submissions will be accepted for this assignment.

Remember: as always you are expected to do your own work on this assignment.


Last modified on November 29, 1998.

Comments and questions should be directed to pjh@cs.unh.edu