*
Quick Links|Home|Worldwide
Microsoft*
Search for



Stathis Papaefstathiou
Software Architect

 

Dr Stathis Papaefstathiou is a  member of the Technical Strategy Incubation team that researches and incubates new technologies for the next generation Operating Systems (OS). He is investigating new OS architectural options enabled by the latest virtualization technologies and hardware platforms. He is working on a formal framework for defining OS architectures, resource management, and remote communication infrastructure.

For the period 2002 - early 2006, he led the engineering team that shipped the first release of System Center Capacity Planner 2006 (SCCP), a new performance modeling product. He also developed the overall capacity planning strategy for the Windows Enterprise Management Division product line and provided the core performance modeling technology for other products such as System Center Virtual Machine Manager and System Center Operation Manager. Stathis developed the core performance modeling technology (codename Indy) used in these products as a researcher at the Microsoft Research Lab in Cambridge, England in 1999-2002. Indy combines simulation and analytics to predict the performance of distributed systems, and allows the accurate and efficient simulation of complex applications running on geo-scaled datacenters. It brings previously exotic technology within reach of mainstream IT professionals and IT architects, helping them to proactively manage the performance of their IT infrastructure.

Users can specify system configurations with SCCP model editor

SCCP Dashboard displays a summary of the performance predictions

Definition of new hardware configurations with SCCP hardware editor

Stathis started his career in Greece, working on a variety of projects ranging from Unix system’ programming to managing the R&D department of a startup software house. After graduating with PhD degree from the University of Warwick, UK in 1995, Stathis worked as a researcher and later as a research group manager in the areas of High Performance Computing (HPC) and performance modeling. His thesis addresses the development of a framework for performance analysis of parallel/distributed systems. This work led to the development of the PACE project funded by DARPA, US Navy, and European Union. The underlying significance of this technology was its ability to quickly predict the performance of complex parallel algorithms typical in HPC applications. This was the enabling technology for the use of performance modeling in run-time management (e.g. job schedulers, load balancers) of GRID environments such as NASA’s Information Power Grid.
 
Stathis is an active member of IEEE and CMG, and an advisor for the European Union RTD Framework 6 program. He holds numerous US patents and has published dozens of scientific papers in international conferences and journals. He is a dedicated enthusiast of science fiction and enjoys flying single engine airplanes.
 

Indy is a modeling development environment, that is based on the concept of Performance Technology Infrastructures (PTI).

The Problem

Modeling systems is a complex task that can provide invaluable insight to the performance of future system configurations. Capacity planning, bottleneck analysis, predictions based on designs are only a few of the application of modeling. Currently, there are a limited number of modeling tools that can be used for this purpose. This lack of general purpose modeling tools can be attributed to the complexity and idiosyncrasies of the modeling process. Modeling might involve different type of techniques and tools depending on the characteristics of the system, the software, and the type of results expected from the study. Commercial tools provide a single solution in this multi-dimensional problem space.

A high level view of Indy architecture

A typical model debug session with IndyView

The Technology

Indy is not a modeling tool but a performance technology infrastructure, a framework with a number of core components and services.  Users can plug different hardware models, workload descriptions and external performance components in order to build a customized modeling application. This lets Indy grow and adapt to the needs of its users. Apart from the core Indy system that we maintain, we also support a library of user-contributed components, enabling component re-use across projects that use Indy.

The Implementation

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 behavior of a hardware model in a space diagram), or a "release build" (viewing the full system's performance in a space-time diagram).

Further Reading

Push The Button, MSR newsletter article about Indy.

A tutorial presented at WOSP2002. The presentation discuss the state in the art in the area of modeling in enterprise management environment. A good introduction to Indy internals.

A paper presented at CMG2001 titled "Modeling the Performance of E-Commerce Sites."

Publications & Patents

Cambridge Group's homepage.


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