|
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."
|