Decomposing the Dashboard Example for a Distributed Implementation Jason Shamberger EE249 Fall 1999...
-
Upload
terence-montgomery -
Category
Documents
-
view
215 -
download
0
description
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082801/5a4d1bb77f8b9ab0599cf150/html5/thumbnails/15.jpg)
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)