CS550 Advanced Operating System

Instructor: Xian-He Sun

Department of Computer Science

Project Report Guideline

Most projects will be individual projects. Small team projects, with a member of two or three, may be permitted on a case by case base.

The project report and presentation will contribute 30% toward your final grade. The goal of your project report is to explain your project sufficiently so that the reader can understand what the problem is and how you have solved it. The reader should be able to understand your methods without reading the code.

There are five main parts in your writeup:

The problem description should introduce the problem, and point out the essential parts of your problem with respect to its computational aspects. Existing approaches to the problem should be outlined in order to put the proposed solution into perspective. The description of your algorithm (if any) should be in prose and in pseudocode. In addition to explaining your approach, the prose should help clarify why you made important choices. The pseudocode should be at a high enough level to be easily and quickly read, yet it should illustrate the important points of the algorithm. Excessive details will be counterproductive, and will indicate that you have not thought enough about what the important issues are. The results should be brief, and, if appropriate, should compare with some known results. The analysis and conclusion should be a retrospective on your approach toward solving the problem, especially what you would do differently if you were to do it again. For example, was the environment chosen appropriate? Were there parts of your algorithm that seemed like a good idea when you started, but turned out to be not working well? Were there ideas that you tried and dropped? Your project report must be self-contained, including a short abstract and a list of references. If you don't know the format of technical papers, read any journal articles in IEEE Trans. on Computers or IEEE Trans. on Parallel and Distributed Systems. Keep in mind that you have to give credits to all papers you referenced in your report. Your project report must be type-written using any of your favorite word processing or typeseting package. In general, your paper is expected to have 12 to 18 double-spaced pages (team project should be longer), without counting the program code. Here is the breakdown about how will your term paper be graded.


You may study any topic relevant to OS and distributed systems, including system, application, algorithm, performance evaluation, middleware, and network and distributed parallel computing. Here is a list of topics that I have in mind at this moment.

Current hot topics in these areas include virtual machine and virtualization technology, system support of multicore architectures, and cloud and edge computing.

The next question you may have is where can I find out references? The papers in technical journals are usually two or three years old due to the long reviewing process. So, read recent conference papers is very important. But the quality and readability of journal articles (I mean prestigious journals) is usually better than conference articles or technical reports. However, you have to pay attention on one thing: Don't be easily convinced by conclusions or comments made by the author(s). Published papers do not guarantee that their arguments are correct. You have to make your own assessment.


In addition to the textbook and listed references, here I list some journals and conference proceedings which have useful articles to this course. You should be able to find most of them through the IIT digital library and online search. Note that you don't have to trace back all old issues. Except a few classical papers, only those issues published in the last five years may still be useful.


Distributed systems has been a very hot research area in the past twenty years. You may find many other conferences in this area. Some magazines, such as Journal of High Perfromance Computing Application, Mobile Networks and Applications , and Journal of Concurrency: Practice and Experience also have many good articles addressing issues of parallel and distributed systems. The above listed publications are given from the viewpoint of distributed computing. More journal and conferences can be found from the viewpoint of systems, bid data, and operating systems. Use on-line resources to find related materials. Talk with me if you have difficulty in searching of references.


You have to submit a two-page project proposal including a short description of your topic and a list of references to me by Sept. 6 in class, 2017. Your project report is due on Nov. 29, 2017. In class presentation is required.

Contact Information