The systems and networking group is composed of approximately 20 researchers and post-docs. The group has existed since the lab opened, and over the last decade and a half we have covered a broad range of topics including systems, operating systems, networking, distributed systems, file and storage systems, cloud and data center computing, social networking, security, network management, computer architecture, programming languages, and databases. We are a group that designs and builds systems that address significant real-world problems and demonstrate novel underlying principles.
Many projects that researchers from the group have been involved with have had significant impact in the academic community and resulted in papers that have been widely cited. We are also very proud that many of our projects have also had internal Microsoft impact or have been licensed. Two public examples of our impact on Microsoft are Microsoft System Center Capacity Planner and The Windows Vista Network Map. This tradition continues, and we currently have a number of exciting active collaborations with product groups.
We are always looking for talented people to join our team. If you are interested in projects underway please look at the group members personal pages.
Datacenter networks are well-managed, relatively homogenous environments under single administrative control. They challenge the assumptions underlying the design of Internet-scale networks, and this opens up new research areas.
For example, the soft real-time nature of the web applications in today’s datacenters leads to deadlines being associated with datacenter traffic. Today’s transport protocols (TCP included) are agnostic to such flow deadlines. Instead, they strive to share network resources fairly, which can hurt performance.
This project has designed and implementated D3, a deadline-aware control protocol that is customized for the datacenter environment. D3 uses explicit rate control to apportion bandwidth according to flow deadlines. Even without deadline information, it easily outperforms TCP in terms of short flow latency and burst tolerance. Further, by utilizing deadline information, D3 effectively doubles the peak load that the datacenter network can support.
Additionally, multi-tenant datacenters experience variable network performance, which makes tenant costs unpredictable and causes provider revenue loss. Motivated by these factors, we explore the case for extending the tenant-provider interface to explicitly account for the network. We developed Oktopus, a system offering virtual network abstractions to tenants, allowing an explicit cost/performance trade-off.
Learn more by reading our SIGCOMM papers:
- Christopher Wilson, Hitesh Ballani, Thomas Karagiannis, and Ant Rowstron, Better Never than Late: Meeting Deadlines in Datacenter Networks, in SIGCOMM, Association for Computing Machinery, Inc., August 2011
- Hitesh Ballani, Paolo Costa, Thomas Karagiannis, and Ant Rowstron, Towards Predictable Datacenter Networks, ACM SIGCOMM, August 2011
We engage in storage reseach at all levels of the storage stack, from user-experience driven filesystem redesigns, to direct-attached RAID replacements, to datacenter-scale clustered storage services.
For example, we notice that the online services hosted in our datacenters show significant diurnal variation in load levels. This implies there is significant potential for saving power by powering down excess servers during the troughs. However, while techniques like VM migration can consolidate computational load, storage state has always been the elephant in the room preventing this powering down. We designed Sierra, a power-proportional distributed storage subsystem for datacenters. It allows powering down of a large fraction of servers during troughs without migrating data and without imposing extra capacity requirements. You can read more about this in our EuroSys paper:
- Eno Thereska, Austin Donnelly, and Dushyanth Narayanan, Sierra: Practical Power-proportionality for Data Center Storage, Proceedings of EuroSys 2011, Salzburg, Austria, April 2011
Multi-core and Many-core Systems
We have a well-established group looking at techniques to simplify parallel programming, including Software Transactional Memory, programming language implications, hardware support for it, OS implications, and novel applications of these techniques.
For example, we evaluated a new dynamic filtering abstraction to accelerate the read-barriers and write-barriers used by language runtime systems (e.g. those used in GC and STM implementations). By supporting dynamic filtering in the instruction set, we show that the fast-paths of these barriers can be streamlined, reducing the impact on the quality of surrounding code. We show how we accelerate the barriers used for generational GC and transactional memory in the Bartok research compiler. This work was published at ASPLOS:
- Tim Harris, Sasa Tomic, Adrian Cristal, and Osman Unsal, Dynamic Filtering: Multi-Purpose Architecture Support for Language Runtime Systems, in ASPLOS 2010, Association for Computing Machinery, Inc., 13 March 2010
OtherWe are active is other areas: distributed systems, reliablity, datacenter services, system security. You can read a selection of our recent conference publications.
- The Cambridge Systems & Networking group is always looking for interns, post-docs and researchers. For more information, visit Microsoft Research Careers. Prospective interns may wish to identify people or projects they are interested in, and informally email the relevant staff directly (one email, cc'ed appropriately).