MIDAS: Integrated Design and Simulation of Distributed Systems - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

MIDAS: Integrated Design and Simulation of Distributed Systems

Description:

MIDAS is centered around the use of Partially Implemented Performance ... A prototype MIDAS environment was implemented in UNIX consisting of three main ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 12
Provided by: kare67
Category:

less

Transcript and Presenter's Notes

Title: MIDAS: Integrated Design and Simulation of Distributed Systems


1
MIDASIntegrated Design and Simulation of
Distributed Systems
  • by
  • Rajive L. Bragrodia and Chien-Chung Shen
  • presentation by
  • Chi Yeung

2
The Problem
  • Need to test performance characteristics of
    distributed systems during early stages of system
    design.

3
What is MIDAS
  • MIDAS is a approach to system design, where a
    discrete-event simulation model is iteratively
    transformed into an operational system.
  • MIDAS is centered around the use of Partially
    Implemented Performance Specifications (PIPS) as
    performance models for distributed systems.
  • The PIPS model is a partially implemented design,
    where some components exists as simulation
    models, and others are operational subsystems.

4
Example of partially implemented design
Before entity consumer bufid, cmean e_name
bufid int cmean message data while( true )
invoke bufid with get self wait
until mtype( data ) hold( exp(cmean) )
After entity consumer bufid, cmean
e_name bufid int cmean message data struct
drec d1 while( true ) invoke bufid
with get self wait until mtype( data )
process_data(msg.data.d1)
sends a get message
wait for message
waste some time doing nothing
replace with actual code
5
Advantages
  • Allows the performance characteristics of a
    system to be estimated at an early stage in its
    design and subsequently monitored during critical
    stages of refinement and implementation.
  • Separate performance models does not have to be
    designed and maintained for the system.
  • Allows noncritical subsystems to be implemented
    prior to being modeled and incorporates their
    effect in the performance profile for the overall
    system.
  • The model is useful for testing and debugging.

6
What does MIDAS do for us?
The notions of process, processor, message,
computation step, and time are central to the
description of an execution of a distributed
system. To support iterative transformation of a
simulation model, the MIDAS approach provides
suitable abstractions for each of the preceding
notions such that the abstractions can evolve
into, or be replaced by, the physical objects
that they represent. MIDAS makes special effort
to provide abstractions to support interrupts and
distributed components.
7
Functional and Performance Specs
The goal of MIDAS is to iteratively transform
each entity that is a logical process to a
physical process and eventually replace each
logical element by a physical architecture.
Initial System Design
Software Model
Hardware Model
Elaboration and Refinement
Elaboration and Refinement
PIPS Program
Simulation Hardware
System Hardware
Operational Software
Operational System
8
Examples of Maisies code
entity driver int count e_name p, c, b
le_name cpu1 cpu1 get_le(1.0) b new
bufferBUFFER_SIZE P new producerb,
P_MEAN c new consumerb, C_MEAN on cpu1
for( count0 countltBUFFER_SIZE count )
invoke p with free entity consumerbufid,
cmean e_name bufid int cmean message data
struct drec d1 while (true) invoke
bufid with get self wait until mtype(
data ) process_data(msg.data.d1)
PIPS model for bounded-buffer
entity producerbufid, pmean e_name bufid int
pmean message free while (true) hold(
exp(pmean) ) wait until mtype( free )
invoke bufid with put self
9
entity bufferbuf_size int buf_size int
count e_name pid message put e_name hisid
message get e_name hisid count 0
while (true) wait until
mtype(get) st (count gt 0) count--
invoke msg.get.hisid with data
invoke pid with free self or
mtype(put) st (count lt buf_size)
count pid msg.put.hisid

10
Implementation and Results
  • A prototype MIDAS environment was implemented in
    UNIX consisting of three main components the
    Hybrid Maisie compiler, a run-time system to
    execute hybrid models, and a library of
    simulation entities and measurement facilities.
  • The runtime system consist of
  • The PIPS algorithm to support the execution of
    hybrid models,
  • And IPC kernel to support interprocess
    communication,
  • Management of state-saving and recomputation to
    handle interrupts, and
  • Instrumentation routines to measure operational
    steps.
  • Experiments were done in which performance
    measurements were taken at different stages of
    system implementation, and it was found that the
    results were in reasonable agreement with the
    operational system.

11
Related Work
  • The idea of integrating simulation models with
    system design is not new, it was explored before
    by Zurcher and Randell, also by Parnas and
    Darringer.
  • Performance prediction by integrating simulation
    and software design using PPML, a system modeling
    language (Sanguinetti).
  • Estrin et al. suggest a system -design
    methodology to study performance aspects in
    multiple domains a control flow graph is
    constructed to analyze safety and liveness
    properties.
  • Roman describes a specification language called
    CSPS, to study correctness and performance
    characteristics by interactive simulation.
Write a Comment
User Comments (0)
About PowerShow.com