Project – Research Report on Specific Topics on Operating Systems
CO003 Operating Systems
Henry H.-N. Dai
May 5, 2020
In this project, you are required to write a research report. There are two types of research reports: 1)
a literature survey on some topics related to the latest research progress in Operating systems (with the
maximum score 100 points); 2) a research proposal with motivation, proposed ideas and theoretical analysis/simulations/experiments to validate the proposed ideas (with the maximum bonus 20 points).
After you are invited to present the research report publicly. Upon completion of this project, you need
to write a technical report.
After completing this project, you shall obtain some basic capabilities to conduct a research, especially
for reading technical papers, finding a particular research problem and writing a research proposal in
3 Project Criteria
Your project will be graded primarily based on the following weighting scheme:
• Project proposal (20%)
• Final report (80%)
You can choose from one of following categories to conduct a comprehensive research work (but not limited
1. Advances in process/thread management of OS;
2. Advances in memory management of OS;
3. Advances in file system of OS;
4. Advances in kernel development of OS;
5. Parallel and Distributed OS;
6. Virtualization technologies in OS;
7. Cloud and fog OS;
8. Embedded OS for Internet of Things;
9. Security of operating systems.
All topics relevant to this course are of interest. But, please obey the following rules:
• Do not diversity too much from the course topic (Operating Systems).
• Your chosen papers shall be state-of-art within 3 years (i.e., published after 2016).
• High quality (peer-reviewed and published in top conferences and journals, refer to Appendix A).
You may have no idea about what paper shall you choose.
4.2 Project Grouping
Projects should be done in groups of two or three students. Each of you need to read 2 (or > 2) papers1
Please specify your work distribution in the project proposal and the final project report. For the students
who cannot form a group, the instructor will assign a group manually.
4.3 Project Proposal
After selecting a topic, you are required to write a brief proposal (about TWO A4 pages). The proposal
should include the title, a brief abstract of the work, an introduction of your research proposal and some
technical details. Each group should turn in the proposal softcopy in PDF or Word format in course moodle
by the due date specified above. In the proposal, you should provide the information including Group IDs,
student names, student IDs, and email addresses. Besides, your proposal shall describe the project idea. In
particular, your proposal should discuss the following:
• How the project relates to the course material?
• Why you choose this topic?
• What is the motivation of this research topic?
• What questions you want to address?
• An overview of what work must be done and how it will be divided amongst the group.
• What are you planning to do next.
Basically, your report shall give us a more comprehensive survey on the related works to your proposed
project. You can use the methods such as comparisons (contrast), summary, critical thinking, etc. to analyze
the related literature. You shall write them up as a short survey – a well-filled-out background and related
work section citing the appropriate work from the literature. Based on your survey, you can provide us
with the possible improvements over the previous works (a proposal is enough). Then, you shall give us
a research working plan on your research project. Of course, you can provide us with the exact research
methodologies as well as system models you are going to use. Similarly, the evaluation methodologies are
also suggested to be given.
Feel free to include additional material in your report. If you wish to include, e.g., your design section
or preliminary results.
Requirements of your report:
• Your report should be written in English.
• You should write the report in your own words – DO NOT copy words directly from the paper (Note
that any plagiarism behavior may lead to the direct failure in this course).
Any violation to the above rules may lead to the penalty of your score.
1There is no limitation on the number of other research papers that you are going to read if you want to have a comprehensive
literature survey on a certain topic.
You should write your report as if you are writing a conference paper. You are required to use ACM SIG
Proceedings Template with Option 2 Tighter alternative style) at this link:
You could use either latex or word to write the final report. But your group needs to submit a PDF file
in the course mooodle before the final report deadline. The page requirement is at least 6 pages (including
references). If you have not written such a report before, you may want to take a look at research papers
from conferences or journals.
Please submit your project proposal, the completed project report and your presentation slides in moodle
according to the given deadlines.
Appendix A: Conference and Journal list
In particular, your chosen papers shall be chosen in China Computer Federation (CCF) listed journals and
conferences (rankings A and B are preferred). Please refer to https://www.ccf.org.cn/xspj/
gyml/ for more details.
Here are some sample conferences (but not limit to):
• ACM Symposium on Operating Systems Principles (SOSP)
• USENIX Symposium on Operating Systems Design and Implementation (OSDI)
• USENIX Annul Technical Conference (ATC)
• ACM Symposium on Principles of Distributed Computing (PODC)
• ACM Symposium on Cloud Computing (SOCC)
• International Conference on Distributed Computing Systems (ICDCS)
• International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS)
• International Parallel & Distributed Processing Symposium (IPDPS)
• International Conference on Mobile Systems, Applications, and Services (MobiSys)
• Real-Time Systems Symposium (RTSS)
• ACM Conference on Computer and Communications Security (CCS)
• IEEE Symposium on Security and Privacy (S & P)
• USENIX Security Symposium (Security)
• USENIX Symposium on Networked Systems Design and Implementation (NSDI)
If you are working on a topic beyond the following list, please contact with your instructor (Henry H.-N.
Dai), who will give other suggested conferences and journals.
Appendix B: Some tips about reading a technical paper
I hope all of you shall read the following reading methods before you read the paper formally.
You can conduct a multi-pass reading. I just take some tips from  for your reference.
1. The first pass
This pass should take about five to ten minutes ( Note: it depends on your English and it may take
a longer time for you if your English vocabulary is limited – by Henry H.-N. Dai.) and consists
of the following steps:
a) Carefully read the title, abstract, and introduction;
b) Read the section and sub-section headings, but ignore everything else
c) Read the conclusions.
d) Glance over the references, mentally ticking off the ones you’ve already read.
At the end of the first pass, you should be able to answer the five Cs:
a) Category: What type of paper is this?
b) Context: Which other papers is it related to? Which theoretical bases were used to analyze the
c) Correctness: Do the assumptions appear to be valid?
d) Contributions: What are the paper’s main contributions?
e) Clarity: Is the paper well written?
2. The second pass
In the second pass, read the paper with greater care, but ignore details such as proofs. It helps to jot
down the key points, or to make comments in the margins, as you read.
I. Look carefully at the figures, diagrams and other illustrations in the paper. Pay special attention
to graphs. Are the axes properly labeled?
II. Remember to mark relevant unread references for further reading (this is a good way to learn
more about the background of the paper).
Sometimes you won’t understand a paper even at the end of the second pass. This may be because
the subject matter is new to you, with unfamiliar terminology and acronyms. Or the authors may
use a proof or experimental technique that you don’t understand, so that the bulk of the paper is
incomprehensible. The paper may be poorly written with unsubstantiated assertions and numerous
forward references. Or it could just be that it’s late at night and you’re tired. You can now choose
to: (a) set the paper aside, hoping you don’t need to understand the material to be successful in your
career, (b) return to the paper later, perhaps after reading background material or (c) persevere and
go on to the third pass.
3. The third pass
To fully understand a paper, particularly if you are reviewer, requires a third pass. The key to the
third pass is to attempt to virtually re-implement the paper: that is, making the same assumptions as
the authors, re-create the work. By comparing this re-creation with the actual paper, you can easily
identify not only a paper’s innovations, but also its hidden failings and assumptions.
This pass requires great attention to detail. You should identify and challenge every assumption in
every statement. Moreover, you should think about how you yourself would present a particular idea.
This comparison of the actual with the virtual lends a sharp insight into the proof and presentation
techniques in the paper and you can very likely add this to your repertoire of tools. During this pass,
you should also jot down ideas for future work.
This pass can take about four or five hours for beginners, and about an hour for an experienced
reader. At the end of this pass, you should be able to reconstruct the entire structure of the paper
from memory, as well as be able to identify its strong and weak points. In particular, you should be
able to pinpoint implicit assumptions, missing citations to relevant work, and potential issues with
experimental or analytical techniques.
Taking a note when you read can help you have a better understanding of this paper. I just take some tips
from  for your reference.
You can use notes on the paper to
• restate unclear points in your own words
• fill in missing details (assumptions, algebraic steps, proofs, pseudocode)
• annotate mathematical objects with their types
• come up with examples that illustrate the author’s ideas, and examples that would be problematic for
• draw connections to other methods and problems you know about
• ask questions about things that aren’t stated or that don’t make sense
• challenge the paper’s claims or methods
• dream up follow-up work that you (or someone) should do
Low-level notes aren’t enough. Also keep high-level notes about papers. It’s quite useful to distill the
paper down: summarize the things that interested you, contrast with other papers, and record your own
questions and ideas for future work. Writing this distillation gives you a goal while reading the paper, and
the notes will be useful to you later.
Michael Mitzenmacher writes: “Read creatively. Reading a paper critically is easy, in that it is always
easier to tear something down than to build it up. Reading creatively involves harder, more positive thinking. What are the good ideas in this paper? Do these ideas have other applications or extensions that
the authors might not have thought of? Can they be generalized further? Are there possible improvements
that might make important practical differences? If you were going to start doing research from this paper,
what would be the next thing you would do?”
I suggest sorting your file of notes chronologically, by when you read the paper, since that may help you
find vaguely remembered papers or remember what else you were reading at the time. Sometimes you’ll
want to search by author/title/etc., so start the notes for each paper with a rough citation.
If you had to put a lot of effort into really understanding some point, you can share that effort with others
(and record it for your own future reference) by improving the discussion of that point on the relevant
Appendix C: Review questions
After reading each of the papers, you shall be able to answer the following questions:
(1) Can you use your own word to describe this paper briefly?
(2) What types of this/these paper(s)? Is this paper related to: (i) a theoretical paper; (ii) a practical
paper with techniques?
(3) What are motivations for this work? Why the authors present this paper?
(4) What is the proposed solution? Can the solution solve the proposed problem?
(5) If this solution is an algorithm or a protocol, can you implement it?
(6) What is the work’s evaluation of the proposed solution? Is it done by experiments or analysis?
(7) What is your analysis of the identified problem, idea and evaluation? Is this a good idea? What
flaws do you perceive in the work? What are the most interesting points made? What are the most
controversial ideas or points made?
(8) Which assumptions are used in this paper? Is it reasonable?
(9) What are the contributions of this work? What are the pros or cons of this paper? What is the
limitation of this paper?
(10) What are future directions for this research? Not only what future directions do the authors identify,
but what ideas did you come up with while reading the paper?
(11) Can you find a better solution to this problem? Or can you find an improved solution based on the
solution mentioned in this paper?
When you complete reading all your papers, you need to address the following issues:
(A) What are the common features of the papers that you have read? What are the differences between/among them?
(B) Can you give a table to compare the strong points and the weak points of the papers that you have
(C) What are the common drawbacks/limitations of the current studies? Do you have any idea to tackle
 S. Keshav, “How to Read a Paper,” ACM SIGCOMM Computer Communication Review, Vol. 37,
No. 3, July 2007
 J. Eisner, “How to Read a Technical Paper,” URL http://www.cs.jhu.edu/˜jason/
EasyDue™ 支持PayPal, AliPay, WechatPay, Taobao等各种付款方式!
E-mail: email@example.com 微信:easydue