Department of Computer Science 

CS 6410: Advanced Systems

Fall 2011

* Home
* Schedule
* Labs
* Project

[ Final Projects | Project Information | Project Ideas | Project Proposal | Project Survey Paper | Midterm Paper | Peer Review | Final Demo | Final Paper ]


Project information


For the project, you will build, design, implement a system of your choice. There are six deadlines:


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.
  • Extending 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 deployments?
  • 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

Policy on academic integrity