CS 6/73201 Advanced Operating Systems Project #3 Due: - research proposal to Tom and me via email by 11:59pm on Tuesday, November 13th; - oral presentation and code defense, see the below schedule; - final report submission to Tom and me via email by 11:59pm on Sunday, Dec 9th; The oral presentation schedule is as follows: * Tuesday, November 27, 2:13-3:30pm (class time) Man Yuan Victor Lee Manas Hardas * Wednesday, November 28, 1:15am-2:15pm Rizwan Malik Sagar Panchariya * Thursday, November 29, 2:13-3:30pm (class time) Rahul Sehgal Amitkumar Mali Najla Alam If the time is not convenient for you, swap with another student or arrange alternative time in advance. In either case promptly notify me of the change. All students have attend the in-class defenses. Attendance on Tuesday is optional. OBJECTIVE During this project you will have to compare the performance of the two algorithms you developed for the second project. If the algorithms in your 2nd project are not working and cannot be finished within short time, inform me and Tom and we will provide you with alternative algorithms for Project 3. Note that this is the option of the last resort -- you will have to learn and operate somebody else's code which is more difficult than using your own. You will have to compare at least two different characteristics. The comparison should be done as follows. All parameters of the two algorithms are fixed except one parameter. The single changing parameter varies across a certain range. At each data point of this range you have to take a statistically significant number of measurements. The result of your measurement should be a graph. The fixed parameters should be such that the observed characteristic is illustrated as clearly as possible. For this it may be necessary to experiment with the fixed parameters before deciding on their value. See example research proposal below. RESEARCH PROPOSAL In the research proposal, you will have to specify your experimental setup (the parameters you are selecting as constant, the parameters you propose to vary). The number of measurements at each data point. The expected results, or trends. ORAL PRESENTATION In your oral presentation you will describe your research and defend your programming decisions for your project. In the latter we will be looking in part in the quality of your code. The format of the presentation is as follows. You will be given 20 minutes. The approximate time breakdown is as follows: 1. 10 minutes: experiment description and results presentation Assume that the audience is familiar with the algorithms you are studying. Give half a paragraph of a summary for each but do not go into details. Describe your experimental setup. Show the results. Provide your interpretation of the results (why they turned out the way they did). If the results are unexpected, provide explanation. Finish your description with suggestions for future research (how your work can be extended and improved). Be prepared to answer on-the-spot questions about the details of your work. The use of PowerPoint or its equivalent is recommended for this part. 2. 5 minutes: code defense Give a brief report about your programming. Show and describe the most elegant (or most difficult) part of your code. List difficulties that you encountered during your project and explain how you overcame them. 3. 5 minutes: questions from the panel (me and Tom) Be prepared to answer in-depth questions from the panel about your research and your code. Overall, use your time effectively: it is in your best interest to describe your research as fully as possible during the allowed time. For oral presentation, you can use your own laptop or borrow mine. If you need my laptop, let me know in advance and send me your presentation. FINAL REPORT In your final report, describe your experimental setup, your results and future work. Citations are necessary. Essentially, your report should be an expanded version of your oral presentation. Your report should be in 2-column IEEE format. Here is an example: http://www.cs.kent.edu/~mikhail/Research/mule.pdf You are encouraged to use LaTeX for your final report. EXAMPLE RESEARCH PROPOSAL In project 2 I implemented Wave Tree algorithm (WT) and a classic tree traversal algorithm (CT). In this algorithm I am planning to compare their performance. The WT is expected to be faster than CT because it can send multiple tokens at the same time. I would like to capture this speed difference. I varying parameter will be the number of nodes in the tree. I propose to vary this parameter from 5 to 50 with 5-node increments. This, however, is a proposal and I'll have to check where the difference will be most significant. For each data point I'll generate 5 random trees (I'll have to write a small Perl script or a c-program to do that). I'll also have to experiment with various tree diameters to show where the results are most pronounced. I'll have 5 runs on each tree to record the data. As in project 2, I'll have each node wait a certain random time before passing the token. I'll have to vary the random time interval to see which will work best. I am planning to observe two characteristics: (1) the completion time (end of traversal) for CT and WT, (2) the maximum number of concurrent tokens for each computation. As the number of nodes in the tree grows, I expect the difference between completion time of WT and CT to increase and the number of concurrent tokens to also increase. Time allowing, I pan to plot the number of concurrent tokens for a particular computation of WT as it progresses -- the idea is that there should be a lot at first (as the leaves start the computation) and then the number of tokens should gradually drop until there are only two left (when the first two nodes decide). Then, the number of tokens should increase again as the other nodes are informed of the decision.