Overview 2002 June 09
Overview 2002 June 09
Overview 2002 June 09
DUSD(Labs)
Outline
Motivation
Assumptions:
monitor • no or minimal infrastructure
• range of any node << network size
• any node can act as repeater
Optimization Goals:
• Global energy
• System survivability
• nodes can go down
node range temporarily lacking energy
• delivery of information to be
ensured
Outline
Motivation
Texas Instruments
OMAP
Beyond Hardware Platforms
Platforms Examples
System
TI: OMAP
SW Philips: Nexperia
HW ARM: PrimeXSys
Implementation
Fabrics
Xilinx: Virtex II
Manufacturing eASIC: eUnit
ASV Platforms
Mapping Tools
Platform
ASV Platforms
The design process is meet-in-
the-middle:
•Top-down: map an instance of
the top platform into an instance Upper layer of abstraction
of the lower platform and
propagate constraints Constraints Performance Annotation
•Bottom-up: build a platform by
defining the “library” that Lower layer of abstraction
characterizes it and a
performance abstraction (e.g.,
number of literals for tech. For
Forevery
everyplatform,
platform,there
thereisisaaview
viewthat
thatisis
Independent optimization, area used
usedtotomap
mapthetheupper
upperlayers
layersof ofabstraction
abstraction
and propagation delay for a cell into
intothe
theplatform
platformand
andaaview
viewthat
thatisisused
usedto to
in a standard cell library) define
definethe
theclass
classofoflower
lowerlevel
levelabstractions
abstractions
implied
impliedby
bythe
theplatform.
platform.
The library has elements and
interconnects
Platform-Based Implementation
Platforms eliminate large loop iterations for affordable design
Restrict design space via new forms of regularity and structure that surrender
some design potential for lower cost and first-pass success
The number and location of intermediate platforms is the essence of platform-
based design
Application Space
Application Instance Application
Platform
Specification
System
Platform
Platform
Design-Space
Exploration
Platform Instance
Silicon Implementation
Architectural Space
Design Methodology: Orthogonalize Concerns
Software Components Virtual Architectural Components
IPs
C-Code Buses
CPUs Buses
Buses Operating
Matlab ASCET Systems
Analysis
System Behavior System Platform
Development Process
Specification f1 f2 ECU-
ECU-1 ECU-
ECU-2
Bus
f3 ECU-
ECU-3
Mapping Evaluation of
Implementation
Architectural
Performance and
Simulation Partitioning
Calibration Alternatives
Refinement
After Sales Service
UML-Platform: Notation and Methodology for PBD
Overview: – a projection of platforms into the UML notation space
Results: – a new UML profile for platform-based design (PBD)
– a methodology for representation of platform layers,
relations, QoS, constraints, extension points, etc.
Directions: – a front-end language for Metropolis
– a full-fledged design methodology based on Metropolis
µP and inter-
ARC
memory connection HW I/O <<transparent stack>> <<opaque stack>>
Model and Design of Network Platforms
z Formalization of Network Platforms
z APIs: sets of Communication Services
Application Layer
Network Layer
Exploration
Analog Platforms are parametrized z Behavioral models
System
Level
architectural components z Performance models
Analog Platforms along with
Analog IP
hierarchies of behavioral models
synthesis
z Circuit design
define an Analog IP
sizing &
Circuit
– Size, Simulate and iterate
z Layout design
– Verify and iterate with both prior levels
Roles of the Analog IP
Separate System Level Design from Circuit Design
Hide all implementation details, only export performances
The goal of Analog IPs is to support optimizations at the system level
Define optimal specs for individual blocks, thus selecting particular instances of the
Analog Platforms
Communication-Network Centric U1 P1 P2 U2
Meta
Meta Model
model
Meta model
Front end
compiler
Verification
Simulator Synthesis
Analysis
tool tool
tool Metro Shell
Command Interpreter
Metropolis: meta model
Must describe objects at different levels of abstraction
Do not commit to the semantics of a particular Model of Computation
Define a set of “building blocks”:
specifications with many useful MoCs can be described using the building blocks
Processes, communication media and schedulers separate computation,
communication and coordination
Represent behavior at all design phases - mapped or unmapped
Computation
P1 P2
M
pX pZ pX pZ
Communication M’ M’
S
Coordination
P1.pZ.write() P2.pX.read()
Emphasis
p0
m0 c0
p1
Refinement
p2
Functional refinement p3
m1 c1
Communication refinement
refm0
w0
Constraints w1
r0
CPU-IOs Wrappers
TRANSACTION:
Bus I/F B-I/F
- address, data split in chunk
- no detailed bus protocol or width
RTOS
e.g. PIBus 32b PHYSICAL:
e.g. OtherBus 64b... - specific bus protocol
- detailed RTOS characterization
Outline
Motivation
Directions
Provide modeling guidelines for the meta-model to support incremental
modeling.
Extend results to more “difficult” properties, e.g. schedulability of processes.
Efficiently synthesize a refinement satisfying required, more specific
properties.
Outline
Motivation
http://www-cad.eecs.berkeley.edu/~pinello
on ed
Driv
Wheel control er Wheel control
unit unit
Long-term goals:
Design Methodology for Safety Critical Stabilizing gains
Distributed Systems Stability Center
Manage the design complexity of modern Stability Radius
Drive-By-Wire applications
Software Synthesis: Quasi-Static Scheduling
Sequentialize concurrent operations
Can handle data-dependent control, multi-rate communication
Better starting point for code generation
Philips MPEG2 decoder: Performance increased by 45%
reduction of communication (no internal FIFOs between statically scheduled processes)
reduction of run-time scheduling (OS)
no reduction in computation
Future directions
False path analysis, design partitioning, multiprocessor systems
QSS
Communication Driven HW Synthesis(CDHWSYNTH )
for High-Performance Microprocessor Design
From ISA to micro-architecture ISA Architectural
Leverage Communication Based Design Specification Library
High Performance
Correct by Construction Design
Methodology:
Reusability and Flexibility Mappings,
Case Study Specification of a MIPS 32 Refinements,
Transformations
Developed a Trace-Driven Simulator for
Multiprocessor Cache Coherence in SystemC
Preliminary results for
Representing Speculation
Modeling various levels of abstraction using Process
Networks and Synchronous Languages
Directions
Examples From Industry (Intel and Cypress)
Further exploration of modeling memory systems
Intel Pentium IV Die (source: Intel web site)
Outline
Motivation
Process Networks
Data Flow P1
M
P2
pX pZ pX pZ
M’ M’
S
Discrete Time
Meta Model
Continuous Time
Trace Algebras
Conservative Approximations
Directions
Generalization to Agent Algebras
Metropolis Infrastructure
abstract mapping +
Analysis scheduling policy +
performance numbers adaptation mechanisms
The Big Picture
Informal
description
Possibly several
inputs here! λ)…| …(b,µ
P: (a,λ µ) System description
formal semantics
λ
a,λ µ
b,µ
λ
d,λ Semantic model
λ
a,λ
Data Data
Source channel Sink
Note
May change through system development (parameters that change should be easily
identifiable and easy to change) (mostly a research issue)
Specify and work w/ probabilities (mostly a research issue)
What is our Driver Application?
Baseline Unit
MPEG
Header IDCT
coded VLD Decoded
decoder IQ Recovery
video + Unit
video
Buffer
MC Unit
How do we Model the Application?
“Processes” and “medium” participate in communication!
…
void Fast_IDCT(block)
short *block;
{
int i;
for (i=0; i<8; i++)
idctrow(block+8*i);
for (i=0; i<8; i++)
idctcol(block+i);
This is Hard!
}
…
( α,r)
(C, Act, { →
: (α,r ) ∈ T})
SOC
action rate ∈R+
We talk about MCs and steady-state analysis because
we assume exponentially distributed RVs (that is, F(t) = 1 - e–rt)!
How do we Build a SAN-based Semantic Model?
Four concurrent automata, five states each
625
λ
d,λ λ
a,λ µ
b,µ One iteration
λ
a,λ
625
How do we Model the Architecture?
Model of a CPU
∞ Buffer
Encoder Decoder Application level
Finite Buffer
HW Application
Encoder Tx Rx Decoder mapped to
Buffer-Tx Buffer-Rx scheduler Hardware
Ideal Channel
Communication Error
HW
Encoder Tx Error Rx Decoder
Buffer-Tx Model scheduler
Buffer-Rx
Real Channel
B1 B2
Error
Tx Model Rx
Buffer-Tx Buffer-Rx
Real Channel
Again, the Network-Centric Perspective…
Communication Error
B1 B2
Error
Tx Model Rx
Buffer-Tx Buffer-Rx
Real Channel
0% 0%
15% 15%
30% 30%
50% 50%
1
0.6
0.8 0.5
0.6 0.4
50% 0.3 50%
0.4
30% 0.2 30%
0.2 15% 15%
0.1
0% 0%
0
0
36fps 30fps 24fps 20fps
36fps 30fps 24fps 20fps
Constraint-Driven, Platform-based Synthesis of
Communication Architectures
Point-to-Point
Channel
Communication
Requirements
Communication
Synthesis Architecture
Library of Implementation
pre-designed
Communication
Components
(platform)
RS
Relay Stations
P1 RS
RS
P3 RS
P2
P4
P5
RS
RS RS
Current research
Exploiting regularity in system-level analysis
Efficient analysis enabled by symmetries (Nick Zamora)
We expect orders of magnitude reduction in the complexity of the analysis
Connect system-level analysis w/ lower levels of abstraction (Jingcao Hu)
Efficient mapping techniques for regular architectures
Communication Architectures: On- and off-chip
Analytical models for traffic analysis (Girish Varatkar)
Architecture/design implications
Build fast and realistic simulators
Communication architecture synthesis (Luca Carloni, Alessandro Pinto)
Protocol design for efficient on-chip communication (Luca Carloni, Tudor Dumitras)
Summary
Interdisciplinary, intercontinental project (10 institutions in 5 countries)
Goal:
Design methodologies: abstraction levels, design problem formulations
EDA: formal methods for automatic synthesis and verification,
a modeling mechanism: heterogeneous semantics, concurrency
Primary thrusts:
Metropolis Meta Model:
Building blocks for modular descriptions of heterogeneous semantics
The internal modeling mechanism for function, architecture, and constraints
Design Methodology:
Multi-media digital systems
Wireless communication
Fault-tolerant automotive systems
Microprocessors
Formal Methods
Metropolis Project: Participants
UC Berkeley (USA): methodologies, modeling, formal methods
CMU (USA): methodologies, modeling, formal methods
Politecnico di Torino (Italy): methodologies, modeling, formal methods
Universita Politecnica de Catalunya (Spain): modeling, formal methods
UC Riverside (USA): modeling, formal methods
Cadence Berkeley Labs (USA): methodologies, modeling, formal methods
PARADES (Italy): methodologies, modeling, formal methods
ST (USA, France-Italy): methodologies, modeling
Philips (USA, Netherlands): methodologies (multi-media)
Nokia (USA, Finland): methodologies (wireless communication)
BWRC (USA): methodologies (wireless communication)
Magneti-Marelli (Italy): methodologies (power train control)
BMW (USA, Germany): methodologies (fault-tolerant automotive controls)
Intel (USA): methodologies (microprocessors)
Cypress (USA): methodologies (network processors, USB platforms)
Honeywell (USA): methodologies (FADEC)
References
• Platform-Based Design
• Alberto Sangiovanni-Vincentelli, “Defining Platform-Based Design”, EE Design, March
5, 2002.
• Alberto Sangiovanni-Vincentelli and Grant Martin, A Vision for Embedded
Systems: Platform-Based Design and Software Methodology, IEEE Design and Test of
Computers, Volume 18, Number 6, November-December, 2001, pp. 23-33
• K. Keutzer, S. Malik, A. R. Newton, J. M. Rabaey, and A. Sangiovanni-Vincentelli,
“System Level Design: Orthogonalization of Concerns and Platform-Based Design”,
IEEE Transactions on Computer-Aided Design, Vol. 19, No. 12, December 2000
• Metropolis
• F. Balarin et al., “Modeling and Designing Heterogeneous Systems”, in J. Cortadella
and A. Yakovlev editors, Advances in Concurrency and System Design, Springer-
Verlag, 2002.
• F. Balarin et al., “Constraints Specification at Higher Levels of Abstraction”, in
Proceedings of the IEEE International High Level Design Validation and Test
Workshop, Monterey, California, November 7-9, 2001.
References
• Quasi-Static Scheduling
• C. Passerone, Y. Watanabe, L. Lavagno, “Generation of Minimal Size Code for
Schedule Graphs”, Proceedings of the Design Automation and Test in Europe, Munich,
Germany, 2001.
• Cortadella et al: “Task generation and compile-time scheduling for mixed data-control
embedded software”, Proceedings of the 37th Design Automation Conference, Los
Angeles, CA, June 2000.
• Application Driven Scheduling
• L. Palopoli, C. Pinello, A. Sangiovanni Vincentelli, L. Elghaoui, A. Bicchi, “Synthesis of
robust control systems under resource constraints”, HSCC2002, Lecture Notes in
Computer Science, March 2002.
• Algebraic Theory
• J. Burch, R. Passerone, A. Sangiovanni-Vincentelli, “Using Multiple Levels of
Abstraction in Embedded Software Design”, Proceedings of the First International
Workshop on Embedded Software, Tahoe City, CA, October 2001.
• J. Burch, R. Passerone, A. Sangiovanni-Vincentelli, ”Overcoming Heterophobia:
Modeling Concurrency in Heterogeneous Systems”, Proceedings of Application of
Concurrency to System Design, Newcastle (UK), 2001.
References
Power/performance analysis for platform-based design
R. Marculescu, A. Nandi, L. Lavagno, and A. Sangiovanni-Vincentelli, 'System-Level
Power/Performance Analysis of Portable Multimedia Systems Communicating over
Wireless Channels', in Proc. ICCAD, Nov. 2001.
A. Nandi, R. Marculescu, 'System-Level Power/Performance Analysis for Embedded
Systems Design', in Proc. DAC, June 2001.
R. Marculescu, A. Nandi, 'Probabilistic Application Modeling for System-Level
Performance Analysis', in Proc. DATE, March 2001.
On-chip communication
G. Varatkar and R. Marculescu, 'Traffic Analysis for On-chip Networks Design of
Multimedia Applications', in Proc. DAC, June 2002.
J. Hu, Y. Deng, R. Marculescu, 'System-Level Point-to-Point Communication Synthesis
Using Floorplanning Information', in Proc. ASP-DAC, Jan. 2002.
References – continue
Constraint-Driven Communication Synthesis
A. Pinto, L.P. Carloni, and A. Sangiovanni-Vincentelli, ‘Constraint-Driven
Communication Synthesis’, in Proc. DAC June 2002.
Latency-Insensitive Design
L.P. Carloni, K. McMillan and A. Sangiovanni-Vincentelli, ‘Theory of Latency-Insensitive
Design’, IEEE Transactions On Computer-Aided Design, Vol. 20, No. 9, Sept. 2001.
L.P. Carloni and A. Sangiovanni-Vincentelli, ‘Performance Analysis of Latency-
Insensitive Systems’, in Proc. DAC June 2000.
Communication Driven Hardware Synthesis
SRC Technical Report, Report on problem formulation, state of the art and theory
review, SRC Task 837.001, Sept. 2001
SRC Technical Report, Report on Case Study Specification, SRC Task 837.001, Sept
2001
Graduate Computer Architecture Project Report, Available at:
http://www.cs.berkeley.edu/~densmore/documents/252_Final.pdf