Subject: Test message + Assn 0 (This message is being sent to all CPSC 422/622 students) This message is being sent to verify that the mailing list is complete. If you receive it and are in the class, do nothing!! If you receive it and have dropped the class let me know and I'll drop you from the list. If you don't receive it you should contact me ;-). ------------------ The assignment 0 specification is now available. See file assn0.s04 in the class directory /home/westall/class/422. mw Subject: Error in assn0.s04 (This message is being sent to all CPSC 422/622 students) There was a nasty error (now corrected) in assn0.s04 in the example of how to copy the file. It was originally written: cp Bill.Smith.jpg /local/local/jmw2/cs422/a0/wjsmith It should be: cp Bill.Smith.jpg /local/jmw2/422/a0/wjsmith (Only one /local and 422 NOT cs422) mw Subject: Assignment 1 is available (This message is being sent to all CPSC 422/622 students) See assn1.s04 in the class directory Subject: Missing quiz 3 (This message is being sent to all CPSC 422/622 students) If you picked up a quiz from the output queue at the end of class today, please check to be sure that you didn't inadvertently snag the quiz 3 belonging to Justin Ames. I believe I saw it in the pile I handed out but it seemed to have disappeared by the time Justin arrived to pick it up at the end of class. If you find it, please bring it to class next time or give it directly to Justin. Matti: Please also check to see if it ended up back in the input queue and also send Justin his grade. thanks, mw Subject: Assignment 4 example program (This message is being sent to all CPSC 422/622 students) I think I may have failed to point out that the example program I handed out in class may be found in the class directory and is named piper.c I recommend that you start with that rather than typing in the example. Subject: Extra office hours (This message is being sent to all CPSC 422/622 students) We have a faculty candidate visiting tomorrow which will tie me up to some degree, but if you have questions on the assignment I hope to be available 9:30-10:00 11:15-12:00 and 1:30-3:00 mw Subject: Team submissions (This message is being sent to all CPSC 422/622 students) If working as a two person team, (1) Submit the code in ONLY one members directory (2) The names and userids of BOTH team members must be included in the first few lines of each source module. Subject: assn1 clarification (This message is being sent to all CPSC 422/622 students) Even though the instructions for child 3 say to read bytes 1 at a time using read(), it IS acceptable to use getline() (since getline() does that). It is also fine to call read() directly and not use getline() in child 3. mw Subject: TA office hours (This message is being sent to all CPSC 422/622 students) The TA's should be available for office hours at the following times: TA's: Matti Vanninen (mvannin@cs.clemson.edu) G-10 Jordan 1:30-3:30 on W, and 3:30-5:30 on T,Th Vinod Rajasekaran G-16 Jordan 9:00-12:00 on Tuesday Subject: TA office hours (This message is being sent to all CPSC 422/622 students) Assignment 2 is available. See assn2.s04 Subject: Temporary change in Vinod's office hours (This message is being sent to all CPSC 422/622 students) I have approved Vinod's request to change his office hours this week as it should make him available for last minute questions on the assignment that is due friday. > Sir, > > I am planning to attend the career fair tommorow morning. So I would like > to move my office hours scheduled for tommorow morning 9-12pm to this > week's Friday. This change is only for this week. Kindly let me know if I > could do this? I am sorry to ask you at the last minute. > > Thanks, > -Vinod Subject: Assn1 evaluations (This message is being sent to all CPSC 422/622 students) I will be sending out shortly assn1 evaluations. The report will be sent ONLY to the person in whose directory the assignment was submitted. If you worked as a team, please forward the report to your partner. If you thought your program worked and we thought it didn't I will be glad to demonstrate the problem to you (but I can't guarantee that I can point out (all) the bug(s) that caused the problem. Subject: Assn 2 testing (This message is being sent to all CPSC 422/622 students) It is a good idea to test all assignments on both Intel and sparc architectures. The bladexx and eclipsexx systems appear to be sparc. jmw is intel but it is also a multiprocessor. Therefore Lamports algorithms WILL NOT WORK on jmw unless you incorporate "Westall's Hack". Subject: Further clarifications on assn2 (This message is being sent to all CPSC 422/622 students) I am definitely NOT saying that you must put Westall's hack into your code. I'm just warning that without the hack, it <> on jmw thereby causing countless wasted hours and extreme aggrevation trying to debug a correct program! In summary, I am recommending that you <>. The spock family of machines are single processor intel which would be good for testing in an intel environment. ------------------------------------------------------- You may NOT assume that the program will always be run with exactly 8 threads. You MAY assume that the program will NEVER be run with more than 16 threads. mw Subject: Assn 3 and Test 1 (This message is being sent to all CPSC 422/622 students) The next assignment is available: see assn3.s04 ------------------------------------------------------------ The first hour test will take place on Thursday, 26 February. The test will probably take no more than twenty or thirty minutes for most people to complete but you may take the entire 1:15 if you wish. Please follow the following seating algorithm: 1 - Do NOT sit next to anyone. 2 - DO use the aisle seats => don't sit in a seat next to an aisle seat. 3 - Do NOT leave 2 seats between yourself and the next person on either side unless it would cause you to violate item 2 above. If the bin packing algorithm is followed, and a row has an odd number of seats it should end up packed as follows: O - E - O - E - O - E - O If there is an even number of seats in the row it should end up as: O - E - E - O - E - O - E - O or O - E - O - E - O - E - E - O (O = occupied / E = empty) Subject: Final Test reminder (This message is being sent to all CPSC 422/622 students) The first test will be given this Thursday. I will be out of town and probably out of e-mail contact from noon Wednesday through Thursday night. Thus any questions to be addressed to me should be taken care of tomorrow a.m. Subject: More old tests available (This message is being sent to all CPSC 422/622 students) It was pointed out that for recent semesters, test keys were provided but the raw tests were missing. I have now added recent raw tests. Subject: New test date (This message is being sent to all CPSC 422/622 students) The test will NOT take place next Tuesday. On Tuesday we will have a regular class with the usual one page quiz on deadlocks. The test will take place next Thursday (because I will have to be out of town once again). mw Subject: Assn 3 (This message is being sent to all CPSC 422/622 students) Since I have not yet returned assignment 2, the due date for assn 3 is postponed until Monday. Also, the pseudo-code in the notes has a READER-PRIORITY of grab_resource. Your strict FIFO version must not allow arriving readers to pass waiting writers.. Thus an arriving reader must not be allowed to join existing readers unless the queue is empty. Finally, to debug parallel programs such as this, the most productive approach is to provide enough printf()s to create a post-mortem/deadlock chain of events that you can work forward through to determine what triggered the problem. An example of the recommended density of these prints can found in the class/422/pain directory. This directory contains a Linux network device driver that I develop and distribute. It is shown below that rougly 1 of every 9 lines is a printk() (the kernel version of printf)!! /home/westall/class/422 ==> cd pain /home/westall/class/422/pain ==> cat ia_*.c | grep ";" | wc -l 1944 /home/westall/class/422/pain ==> cat ia_*.c | grep "printk" | wc -l 218 /home/westall/class/422/pain ==> As we have mentioned previously it is a good idea to leave these statements in the code (because you never know when you might need them)! But disable them as follows in the stuff you turn in: 90 #ifdef DBG_ATM 91 printk("ia5515_open: Got an open for vpi %d and vci %d \n", vpi, vci); 92 printk("ia5515_open: VCC->VCI is %d \n", vcc->vci); 93 printk("ia5515_open: VCC address is %08x \n", vcc); 94 printk("ia5515_open: push address is %08x \n", vcc->push); 95 printk("ia5515_open: pop address is %08x \n", vcc->pop); 96 #endif Subject: Assn 2 (This message is being sent to all CPSC 422/622 students) I am about to send out assn 2 grades. If you worked with a partner please forward the report to your partner. If your partner's name was not in the lamport.c module you submitted you partner received a 0! Subject: Assn 3 turn in directories (This message is being sent to all CPSC 422/622 students) These are available now -- sorry about the delay. The assignment will be due at midnight tonight. Subject: Assn 3 clarification (This message is being sent to all CPSC 422/622 students) It appears that I used overloaded terminology which produced some confusion: > Also, In the algorithm where it says: > > 5 - dequeue my queue element > > 6 - free my queue element > > Do we really call dequeue from enqueue??? In step 5 of the algorithm above I meant: 5 - remove my queue element from the front of the list Sorry about overloading the operator dequeue. mw Subject: Assn 3 debugging (This message is being sent to all CPSC 422/622 students) In helping a student find a not especially obvious bug, I found it useful to run only ONE reader thread and ONE writer thread. I would also recommend a minimalist loop count until it seems to be working robustly. Subject: Test 1 answer key and Assn 4 (This message is being sent to all CPSC 422/622 students) See test1key.s04 and assn4.s04 Have a good break! Subject: Updated ptmem.c (This message is being sent to all CPSC 422/622 students) I have updated the ptmem.c test driver so that it now handles the block size in a way consistent with the assignment specification. Subject: Assignment 4 turnin (This message is being sent to all CPSC 422/622 students) Directories are now available. The only thing you must turn in is your memmgr.c file. You may leave a makefile/ptmem.c in the directory but they will not be used in testing. Subject: Assn 3 reports (This message is being sent to all CPSC 422/622 students) These have just been sent out and I just noticed that they incorrectly say "Assignment 2" at the top :-( Please share with your teammate. I will be out of town tomorrow and Monday a.m. but should be back around 2:30 on Monday. I will have e-mail available (unless Charter craps out again). There were a couple of instances in which BOTH TEAMMATES submitted the assignment. Please DON"T do this for assignment 4. thanks mw Subject: The Stephens Algorithm (Assn 4) (This message is being sent to all CPSC 422/622 students) Apparently there exists some confusion relating to the specification that the "Stephens Algorithm" be used in the management of the shadow bitmap. This algorithm was perceptibly suggested by Jason Stephens in class (hence its name), but, like "Westall's Laws", it is not yet found in textbooks. In the Stephens algorithm a "1" bit in the shadow bitmap is used to indicate that the corresponding block represents the LAST block of an xm_alloc() allocation. In the suboptimal "Westall algorithm" that was initially proposed in class, a "1" bit in the shadow bitmap was required for both the start and end blocks of an allocated area. With this approach (as was pointed out by Stephens), when a request required only ONE block, it was necessary to allocate TWO blocks to keep the shadow bitmap in a consistent state. mw Subject: (Test 2 - Assn 5) (This message is being sent to all CPSC 422/622 students) Test 2 will take place in class on Tuseday April 13. The assignment 5 specification is in assn5.s04. I have decided to make this assignment OPTIONAL. If you turn it in, it WILL count and each assigment will contribute 20% to your assignment average. If you DON"T turn it in each assigment will count 25%. Subject: (Test 2 - Old quizzes) (This message is being sent to all CPSC 422/622 students) Test 2 will take place tomorrow, Tuesday 13 April. I have updated all.s04 so that it now contains all quizzes given this semester. Material covered on test2 will include topics discussed in class from deadlocks to the page frame lifecycle. In addition to questions on old tests you should be familiar with material on old quizzes too. Subject: Assignment 5 clarification(s) (This message is being sent to all CPSC 422/622 students) As usual you should read the input for assignment 5 from the standard input. You may assume the input will consist of no more than 100,000 references. Thus it is recommended that your program start by reading the <> into an array. After the trace has been read in and the number of references known, for each reference in the trace your program should call both the LRU function and the OPT function passing them the address of the page referenced. The number of simulated real memory pages for the current run should be maintained in a global variable accessible by each function. Each function should also accumulate the number of page faults in a global variable. Subject: (Assn 4, Test 2, Assn 5) (This message is being sent to all CPSC 422/622 students) I have distributed assn4 grade reports. Please forward to your teammate if you have one. --- The test key is now available and test2 will be returned tomorrow --- Assn 5 turnin directories are now available Subject: (Quizzes + Exam) (This message is being sent to all CPSC 422/622 students) The exam and makeup quizzes will be given tonight (monday) at 6:30 pm. The exam is only 1 page longer than the last test and so should take only an hour or so. --- I have also posted all the quizzes from this semester in all.s04. The last quiz (only) has answers.