I have listed a number of possible project ideas. By no means are you
limited by these ideas; in fact, I encourage you to come up with some
of your own. Even if you do choose to go with one of these, keep in
mind they're only starting points. Each of the ideas on this list
will require considerable flushing out and refining in order to turn
it into a reasonable project proposal.
I realize each of you are in different stages of your graduate
career, and are looking for different things out of a course project.
While all of the ideas below likely could result in a suitable class
project, they vary in their ambitiousness and scope. Those of you
with aspirations of possibly publishing your work might think about
tackling something more open-ended.
Some of the projects require access to resources in my research
group. Plese contact me if you're interesting in persuing one of them
so I can make sure we have enough resources to go around.
- The "Cloud" is really a collection of multi-tenant datacenters. Right now, each of these datacenters supports a variety of applications, each with their own demands of the network. Imagine you had the ability to custom-design network topologies and protocols for the different applications within a datacenter. What would you do with this isolation? Propose and implement an example custom network protocol/configuration. Alternatively (or, in addition) show a real applicaiton benefits from your custom idea. You might find our recent HotICE paper a useful place to start thinking about it.
- In a recent talk Larry Carter proposed using Cartesian Coordinates to manage the amount of memory movement in algorithms, as memory costs now frequently dominate computation. This is especially true in distributed computations. Consider applying his technique to either Map/Reduce or HBase? The idea is to quantify
the tradeoff between different ways of moving data to/from computation.
- Along similar lines, researchers in our department have recently proposed In-situ Map/Reduce to avoid moving large amounts of data among distributed computational resources. Consider implementing iMR on an Andriod, iPhone/iPad, or similar lightweight platform.
- The XL
routing algorithm provides a glimpse at the interplay
between network structure and the communication
complexity of routing. However we do not yet have a deep understanding
of this connection. We know that in realistic
networks with short detours it is possible to suppress some
updates, and in cases of the same link failing repeatedly, it is
possible to do asymptotically better than the
current approach of complete flooding. Beyond these special cases,
however, the question of which networks
require complete flooding is open.
- Modern VM clusters can migrate virtual machines around to handle changes in load or memory pressure. Consider whether implementing a Global Memory System for Xen or VMWare could similarly improve the performance of resource-constrained VMs without the need to migrate them.
- Add gossip-based reconciliation to LBFS. LBFS is almost exactly
what you want, except that it has a strict client-server relationship.
Consider a Bayou-like approach.
- Extend any of the papers we've read to fix problems they left