. .
. Home Research Interests Publications Teaching & Courses Personal Software .
. . . .
Rack-scale Computing

New hardware technology such as systems- and networks-on-chip (SOCs and NOCs), switchless network fabrics, silicon photonics, and RDMA, are redefining the landscape of data center computing, enabling interconnecting thousands of cores at high speed at the scale of today's racks. We refer to this new class of hardware as rack-scale computers (RSCs) because the rack is increasingly replacing the individual server as the basic building block of modern data centers. Early examples of RSCs have already appeared on the market from manufactures such as AMD SeaMicro, HP, and Intel and similar solutions are being deployed at large-scale companies such as Facebook and Microsoft. These new hardware trends challenge traditional assumptions and force us to rethink existing software architectures. The goal of the Rack-scale Computing project is to perform a cross-layer redesign of the way the hardware, OS, storage and network stacks, and applications are built and interact in that new context. The key insight is that by co-designing different layers of the stack, it is possible to achieve both better performance and higher efficiency.

Project website

Predictable Datacenter performance

Network performance predictability is a key requirement for high-performant applications in today's multi-tenant datacenters. Online services running in infrastructure datacenters need such predictability to satisfy applications SLAs. Cloud datacenters require guaranteed performance to bound customer costs and spur adoption. However, the network stack used in today's datacenters is unaware of such application requirements. This projects examines how to build preditable datacenter networks.

Project website
ACM Tech News
ComputerWorld CloudTimes
Paper "Bridging the Tenant-Provider Gap in Cloud Services" accepted at SoCC 2012!
Paper on predicatable data center networking accepted for SIGCOMM 2011!


Since the early days of networks, a basic principle has been that endpoints treat the network as a black box. An endpoint injects a packet with a destination address and the network delivers the packet. This principle has served us well, and has enabled the Internet to scale to billions of devices using networks owned by competing companies and running applications developed by different parties. However, this approach might not be optimal for large-scale Internet data centers, such as those run by Amazon, Google, Microsoft and Facebook, in which all the components are controlled by a single entity. In the CamCube project, we have been looking at a different approach to build data centers, borrowing ideas from the fields of high performance parallel computing, distributed systems and networking. We use a direct-connect topology, similar to those used in HPC, and a novel networking stack, which supports a key-based routing functionality. By providing applications with a more fine-grained control on network resources, CamCube enables increasing performance and reducing development complexity and cluster costs. We implemented a number of service on top of CamCube, including a MapReduce service that provides significant higher performance than existing solutions running on traditional clusters.

CamCube website
CamCube video presentation
ZDNet blog post on CamCube


XtreemOS (Building and Promoting a Linux-based Operating System to Support Virtual Organizations for Next Generation Grids) is a multi-partner project funded by European Community. The overall objective of the XtreemOS project is the design, implementation, evaluation and distribution of an open source Grid operating system (named XtreemOS) with native support for virtual organizations (VO) and capable of running on a wide range of underlying platforms, from clusters to mobiles.

XtreemOS web site


TeenyLIME is a tuple-space middleware for Wireless Sensor Networks, built on top of TinyOS. It empowers WSN programmers with a higher level of abstraction by replacing the OS-level communication constructs with the notion of a shared memory space spanning neighboring (1-hop) nodes. TeenyLIME can be used to implement both application-level and system-level mechanisms, e.g., routing and MAC protocols

TeenyLIME website

RUNES Middleware

The European RUNES project (Reconfigurable Ubiquitous Networked Embedded Systems) has a vision to enable the integration of heteregenous devices, operating across different networks and running different operating systems and software. At the core of the RUNES project is a lightweight middleware framework designed to address the challenges arising in the above scenarios. Our approach is based on a small and efficient middleware kernel which supports highly modularised and customisable component-based services that are run-time reconfigurable to support adaptivity. Our lightweight implementation spans powerful nodes like laptops and PDAs, as well as severely constrained devices such as sensor motes.

RUNES Middleware website


LIGHTS provides a flexible framework that makes it easy to extend the tuple space in many ways, including changing the back-end implementation, redefining the matching semantics, and providing new constructs. It also provides additional features to simplify the development of context-aware applications.

LIGHTS website

Contact Terms Trademarks Privacy and Cookies Code of Conduct © Microsoft Corporation. All rights reserved.