*
Quick Links|Home|Worldwide
Microsoft*
Search for


Systems and Performance

Overview

  • NOTE: The Systems and Performance Group has been merged into the Cambridge Systems Group. Please visit those pages for the most up-to-date information.

The Systems and Performance Research Group looks at ways to improve performance by considering the overal arrangement of components that make up the computing system. Frequently the arrangement and intercommunicaion between these components can be as important as the performance of the individual components, to the performance of the whole.

There are currently two main activities. One is the development of analytical and hybrid performance modeling methodologies and tools, and software performance engineering. The other is the development of a distributed technique that permits computers to co-operate to provide networking Quality of Service guarantees, without any special support from the network.

People

Primary Contact: Peter Key

    

Affiliate Members



Photo Not Available
Photo Not Available

Zhang,
Ye
   
 
Projects

  • Magpie:A technology using Indy (see below) for monitoring and modelling the workload of a distributed system. It works by collecting detailed traces of system activity on each machine in a distributed system and using these to extract the control flow of each individual request across components, threads, and machines, with accurate attribution of resource consumption. Subsequently, probabilistic models of the workload are derived from the per-request information using data mining techniques such as clustering and machine learning. See the project pages for more details
  • Topology Discovery and Network Inference: Knowing the topology of your network is beneficial both for fault diagnosis and resource provisioning. While other researchers have concentrated on mapping networks using SNMP information from switches and routers, we map networks without this support. This is useful in home or small office scenarios, where users cannot be expected to invest in expensive networking equipment. We also use the topology components to permit inference of network bandwidths and conditions. See the See the project pages for more details. This project was done in collaboration with the Networking Group.
  • Indy Modelling Development Environment: Indy is a modelling development environment that is based on the concept of Performance Technology Infrastructures. Indy provides a framework for a modelling expert to develop custom model applications using pre-existing core components and services.  Users can plug different hardware models, workload descriptions and external performance components. This lets Indy to grow and adapt to the needs of its users. Typical Indy applications include capacity planning tools for e-commerce platforms and architecture models of PC clusters for optimization studies.

    A high level view of Indy architecture

    A typical model debug session with IndyView

    The two components of Indy that model developers will most often interact with are the kernel, and IndyView.  The kernel is a linkable library containing all the algorithms needed for evaluation of models, and for the coordination of the other components in a particular performance study.  It has APIs that can be called to define hardware models and workloads.  IndyView can be thought of as an IDE for performance studies - it has a "compiler" (combining hardware models and workload descriptions), capable of making a "debug build" (viewing the behaviour of a hardware model in a space diagram), or a "release build" (viewing the full system's performance in a space-time diagram).
  • QoSB Co-operative Network Congestion Avoidance: We have been taking some of the theoretical results from the congestion pricing and explicit congestion notification work done in the Networking Group and applying them to some practical situations for the Internet, and the Intranet or home area. QoSB operates as a distrubted technique running on computers in the network to engage in congestion avoidance in a way that produces lower latency for connections (improving the responsiveness of web browsing, for example). QoSB also allows for high importantce network streams to gain the share of the network that they require without being affected by lower importance activity. For example, playing a multi-user internet game is unaffected by web browsing, and internet telephony is unaffected by file copy from one PC to another. Normally this soft of technique is implemented using network hardware; we research techniques that use only the computers themselves.


©2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement