Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999...

15
Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari

description

Goal of Project n Evaluate POLIS for designing a distributed real-time system –By using POLIS, we can explore different network architectures and then move directly to synthesis n Motivation: As more electronics are in modern cars, need to use network to share communications

Transcript of Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999...

Page 1: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Decomposing the Dashboard Example for a Distributed

Implementation

Jason Shamberger

EE249 Fall 1999

Mentor: Dr. Alberto Ferrari

Page 2: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Outline:

Motivation for a distributed system CAN specification Behavioral modeling Mapping to architecture Simulation and results Synthesis Conclusion

Page 3: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Goal of Project

Evaluate POLIS for designing a distributed real-time system– By using POLIS, we can explore different

network architectures and then move directly to synthesis

Motivation: As more electronics are in modern cars, need to use network to share communications

Page 4: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Controller Area Network (CAN)

Used for communication with real-time constraints

Small amounts of data - up to 8 bytes of data per packet

Total packet size up to 120 bits Higher priority device always transmits

first

Page 5: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Original design of dashboard

Sensor2

Sensor3

DisplaySensor1

All one CPU

Page 6: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

New dashboard design

Sensors DisplayCommunication

First CPU Second CPU

Page 7: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Architecture Proposed

CPU1 CPU2

CANCont.

CANCont.

Page 8: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Communication Refinement

Sensors Display

First CPU Second CPU

NetworkInterface

NetworkInterfaceChannel

Page 9: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Architecture Mapping

CPU1 CPU2

CANCont.

CANCont.

Sensors DisplayNetworkInterface

NetworkInterfaceChannel

Page 10: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Modeling in POLIS

CAN controller only stores one packet from each sender

Give different priorities to different types of data– High priority: belt alarm, fuel alarm, water

alarm– Low priority: speedometer, tachometer,

odometer

Page 11: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Modeling in POLIS Assume the CAN bus already has traffic

on it Traffic distribution:

– High frequency small data (1 packet) at regular intervals

– High frequency small data (1 packet) with Poisson distribution

– Low frequency, larger data (multiple packets)

Page 12: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Modeling in POLIS

Ensure that traffic + dashboard messages do not exceed total bandwidth

Place the dashboard system on the same CAN bus and see what priority is necessary for dashboard to function satisfactorily

Page 13: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Results of Traffic Modeling

75% Bandwidth 90% Bandwidth

Initial Priorities 38 overwrites 341 overwrites

Engine SpeedHighest Priority

0 overwrites 16 overwrites

Assume small delay in data is ok, goal is to avoid losing packets

Measured number of overwrites in network controller - lost data

Page 14: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Synthesis

For simulation, network interface is modeled by a CFSM which muxes inputs onto network channel

Replace mux with code to call APIs of CAN controller

NetworkInterface

Data

PriorityChannelSensors

Page 15: Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999 Mentor: Dr. Alberto Ferrari.

Conclusion

POLIS can be used to model a distributed system

The network can be simulated and design decisions made

Move directly on to synthesis (hopefully)