Final Projects |
Project Information |
Project Ideas |
Project Proposal |
Project Survey Paper |
Midterm Paper |
Peer Review |
Final Demo |
For the project, you will build, design, implement a system of your choice. There are six deadlines:
- Project proposal. The proposal is a one page description of what your project will be. It should state the
problem you are solving, why it is an interesting or useful problem, what software/system you will build and what
the expected results will be. Essentially, the goal is to write what will look like the intro for a conference paper.
Initial proposal of project topic is due on Thursday, September 13th.
We will give feedback by Tuesday, September 19th.
Survey of area (related work) on topic (2-3 pages) due Thursday, September
Discuss project topic with professor by Tuesday, October 2th.
- Midterm draft Paper.This report should include a draft of your report's abstract, introduction,
related work, and design section. These sections should be in good shape and close to
what they would look like in the final report. Be sure that the draft's
introduction clearly states what your project's goals are, why those goals are
worthwhile, and how you're going to achieve those goals. In addition to these mature sections, the report should
also have an implementation and evaluation plan. Describe how you plan to implement the system (esp.
the details of how it situates in the OS environment) and what experiments you will run on your final system.
It is due by Thursday, November 1st.
- Peer Review. You and everyone else will write a peer review of two or three other drafts (from other students). Your reviews will be given to you as feedback and constructive criticism on your draft paper.
We will return our peer reviews to author by Thursday, November
- Demo day. You will give a presentation, followed by
a demonstration of your system in action to the entire class.
We'll supply a laptop projector, so
you should run your demo from your laptop.
Demo day is in class on Thursday, November 29th.
- Final report. Final report due Thursday, December
You should feel free to choose any project you like, as long as it is related
to storage systems, distributed systems or operating systems. It must have a
substantial system-building and evaluation component. A successful class
project usually have very well defined goals and is modest in scope (Remember,
you only have 2.5 months to finish it).
You could look for inspiration about hot topics in the on-line proceedings of
recent SOSP, OSDI, Usenix, and NSDI conferences.
Tips on preparing a paper appear appear here.
Here's a list of ideas that we think could lead to interesting projects.
Start as soon as you possibly can!
- Better system support for cloud computing. It remains remarkably hard to build scalable cloud
computing services. Suggest a technology or platform that could
revolutionize this problem, or that could endow cloud solutions with better
assurance properties such as consistency, timely responsiveness guarantees,
security, etc. (Note that we'll discuss systems like Isis2 and Fabric that
tackle aspects of these questions, but for CS6410, one could think about where
we go now that these systems exist. Is it enough that they simply should
"exist" or do we need to build new technologies over them, the way that Sinfonia
builds on atomicity to offer higher level abstractions?)
Operating systems that dynamically shift loads and reduce the
risk of node overload. Today's ways of hosting virtual
machines can easily overload a machine if the expected load turns out to be
incorrectly computed. Examine this problem (which causes cloud
platforms to experience very big delays) and develop a better approach.
Demonstrate it experimentally.
enterprise VLAN technology into the Internet. Today the
VLAN concept lives within data centers and is extremely popular: when you
deploy an application in EC2, your virtual machines live on an Amazon-hosted
VLAN. What problems arise if we extend the VLAN concept to WAN
- Security policy for complex
large-scale applications. With growing interest in using
cloud-hosted applications for purposes such as monitoring and controlling
the smart power grid, medical monitoring and surveillance of house-bound
patients, traffic and transportation control and smart self-driving
vehicles, we face a growing need to express security policies in ways that
would let the owner of a sensor or actuator (for example a power grid
instrumentation point or control point) write down the desired policies
(perhaps using Fabric, or with the ORCA implementation of John Mitchell's RT
framework) and then would "implement" those policies. How could this
be done? What issues arise? What should the underlying
technology look like? How would you deal with policy conflicts?
Advances in mobile computing. With today's
mobile platforms and Internet and cloud infrastructures, we're often cut off
during VOIP calls, might see interruptions when playing videos back, etc.
What would be required to take the next big step towards seamless
always-connected and never-disrupted mobility?
Side-by-side "supernetworks". The NSF exoGENI platform
allows network slices to define their own handling down to layer 2.
This suggests that in the future we may see a new world of side-by-side
networks specialized in different roles: one supporting IPv4, of course, but
perhaps with other exoGENI slices supporting entirely new networking
concepts. Propose and develop such a concept. (One good idea:
Deploy Hakim's SONIC instrumentation to create a new exoGENI "microscope"
for high resolution measurement of the behavior of high-rate distributed
applications. Or create a new "superNet" with superpowers in the
security area, or for real-time data flows.) Test and evaluate your
solution on exoGENI.
- Next generation storage
systems for the cloud. Standard file systems like GFS
and S3 are very basic, and the cloud is begining to "shift" towards other
application-driven storage models specialized in handling the incredible
amounts of media content that pours continuously into platforms like Google,
YouTube, Facebook, MSN, etc. If you could design a new storage system
from scratch for these purposes, how would it look?
DDoS repelling cloud service. With the cloud we
can build and host services that vary their replication as need changes.
Could we design such a service in a way that would automatically repell DDoS
attacks on its instances. For example, perhaps we could use the TCPR
technology Robert Surton and Robbert Van Renesse and Ken created to shift
services from a heavily overloaded service instance to less busy ones, or
create new instances on the fly. Isis2 might make it easy to replicate
state so that all that has to be done at the time of the attack is to move
the connection. Work out the details and demonstrate that this can
really work via serious experiements.
- How could
social networking systems make better use of P2P technology?
One worry about modern social networking technologies is that they do a poor
job of providing privacy and often have centralized elements that track user
activity. Can P2P or gossip technologies reduce this risk?
How should self-stabilizing protocols be "integrated" with more
deterministic ones? Systems like Isis2 and Sinfonia
usually have a bootstrapping step that could be understood as a simple form
of self-stabilization -- a heuristic that discovers other members, notices
partitioning events, etc. Then stronger consensus-like layers run over
this basic layer. What is the theoretical basis of this kind of
layering? To what extent can probabilistic layers "emulate" or
"support" stronger properties such as leader election on consensus?
The best projects will lead to papers you can submit to a good conference.
We're ok with projects that have CS 6410 content but are tied to work you are
starting with a faculty member in the field. The key thing is that
projects need to be serious research activities that lead to publishable or at
least very high quality papers (12-14 pages, written very well and in a
scientifically literate style, aimed at a clearly defined community).
Questions or comments? email email@example.com
Policy on academic integrity