CIS655/CSE661 Term Project [weblink]

The term project has two options: survey-oriented option and programming option.

There are some sample topics described in the document, and students are free to choose from the sample topics or propose new topics for their projects; the new topic should reflect the recent advances of computer architecture in recent years.

If the programming option is taken, students can work in groups; In this case, a student is allowed to collaborate with students inside his/her group (but NO collaborations between groups). A group can consist of up to 5 people at most; and group members are encouraged to designate a group coordinator, who should be the one to submit deliverable.

If the survey-oriented option is taken, students are required to work individually.

The requirements based on the timeline below must be submitted through blackboard; all submission links can be found following the path through “class session -> term project”.

1. TimeLine

There will be four milestones where the progress of the project will be checked.




MS0: Week 4

Due: Sep. 19

Topic assigned

Deliverable format: [link]

Group/topic assigned

Deliverable format: [link]

MS1: Week 6

Due: Oct. 7

Reference list

Deliverable format: [link]

Background study and project design

Deliverable format: [link]

MS2: Week 10

Due: Nov. 14

Preliminary report

Deliverable format: [link]

System setup and deployment

Deliverable format: [link]

MS3: Week 12

Report Due:Dec.12

Final paper/presentation

Deliverable format: [link]

Final report/demo

Demo due: Dec. 5
Deliverable format: [

2. Programming option

Students taking this option are expected to choose from sample projects, follow the project instructions and set up and deploy the system, implement the designed components, conduct benchmark study and performance analysis, and demonstrate the designed system.

2.1 Sample projects

  1. Request-level tracing in big-data distributed systems: [link]
  2. Intel SGX/Enclave emulator: [link]

2.2 Final deliverable

  1. Demo of a up-and-running system with the designed component
  2. Report including measurement results, and detailing the contribution of each team member.

3. Survey-oriented option

Students taking this option are expected to choose one topic from the provided ones (or make a proposal), find related references (research papers, technical official blogs, white papers and open-source projects), write a technology review more than 15 pages.

Note that this can be more than a pure "text-writing" task --- students are encouraged (there will be bonus points) to explore existing open-source projects and to demonstrate the practical aspects of the topic (e.g. what kind of new APIs are made available to software programmers).

3.1 Sample topics

  1. Many-core
  2. SSD/NVM
  3. GPGPU
  1. Example: GPUOcelot
  1. Software-defined networking
  1. Example: OpenFlow/MiniNet
  1. Infiniband
  2. Virtualization
  1. Example: XEN, vSphere, QEMU
  1. Cloud architecture
  1. Example: Amazon AWS (availability zone, EBS, EMR, etc)
  1. Internet of things
  1. Example: Mobile sensing, wearable devices
  1. FPGA

3.2 Final deliverable

  1. Final paper of more than 15 pages in single-column format,
  2. Presentation that summarizes the results of the survey,
  3. Bonus point: find working open-source project and demonstrate a running system.

4. FAQ

Where can I find relevant materials?

While some materials are provided in given topics, you are encourage to find relevant materials in high quality. For good research papers, they are usually published in premier conferences (e.g. ISCA, MICRO, HPCA, OSDI, SOSP, EUROSYS, NSDI, ASPLOS, SIGMOD, VLDB, etc). For technical blog and white paper, they should be the ones posted by reputable companies (e.g. Google Research Blog, Blog@Intel, etc). Open-source projects can be found in Apache website and etc.

I am not interested in any of these provided topics … how to propose a new topic?

In principle you are free to choose topics. The requirement is that the proposed topic should be 1) relevant to computer architecture, 2) reflecting the recent advances (not something outdated and already there for more than decades) and 3) something real and practical (e.g. quantum computer may not be a good topic since there is no actually working system).  

Can I do programming on the survey topics?

Yes, you can. As mentioned earlier in this document, it is actually encouraged and will be offered with bonus points (if you can demonstrate some practical aspects of the survey topic).

Can I work on my own on the programming project?

Yes, you can. But be aware of the workload and the risk of not finishing the programming tasks.