Unformatted text preview:

91.520 Storage Architecture Programming Assignment #1 September 25, 2006 1. The due date for this assignment is Monday, October 16. 2. Your submission must be made in class on the due date, and must have the course cover-sheet as the first page. The cover sheet is available on-line at the course URL: www.cs.uml.edu/~bill/cs520/Assignment_Cover.pdf 3. You must submit hardcopy of your source code, your output and a write-up of your results described below. The course cover-sheet should be the first page of your submission 4. For this project, you must create a small library of functions that will create, open, read, write and close a pseudo file object which will be constructed from a set of three native files using a RAID 3 algorithm. 5. The pseudo file API will include: • create(int file_id) create a file identified by a simple integer … the integer should be used as a component of the actual names used for the set of files used for this pseudo file (i.e. for a file_id of 17, create three local directory files named set17_1 set17_2 and set_17_3 • open(int file_id) open a previously created pseudo file named as discussed above • read(int file_id, char *buffer_address, int number_of_bytes) read number_of_bytes bytes into the buffer pointed to by buffer_address • write(int file_id, char *buffer_address, int number_of_bytes) write number_of_bytes bytes from the buffer pointed to by buffer_address • close(file_id) close the pseudo file (i.e. close the underlying native files) • rebuild(int file_id) this function should rebuild a degraded RAID set to full function • all of these functions should be of return type int, and should return a 0 if they succeed, a 1 if they succeed in a degraded mode, and a 2 if they fail 6. You must use simple XOR parity to create your RAID 3 pseudo file, and you must use a chunk size of 32 bytes across the object. This will require buffering of data when writing, such that all writes are done in stripes of 32 bytes per file, even when the amount of data being written is not a multiple of 32 bytes.7. The size of a pseudo file object should be known when retrieving data, so ensure appropriate EOF management. You can use whatever technique you want to deal with this, but simple keeping the first 4 bytes in each of the files for holding the stripe count would be sufficient. 8. You must demonstrate that your functions will work correctly both in normal and degraded mode. 9. Your write-up should discuss your implementation, and should discuss how you have proved that your implementation works as required. If you have problems with your work you must discuss them


View Full Document

UMass Lowell COMP .5020 - COMP 5200 Assignment # 1

Documents in this Course
Load more
Download COMP 5200 Assignment # 1
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view COMP 5200 Assignment # 1 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view COMP 5200 Assignment # 1 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?