wolf8
-
Upload
1balamanian -
Category
Documents
-
view
217 -
download
0
Transcript of wolf8
-
7/27/2019 wolf8
1/62
2000 MorganKaufman Overheads for Computers asComponents
Networking for Embedded
Systems
Why we use networks.
Network abstractions.
Example networks.
-
7/27/2019 wolf8
2/62
2000 MorganKaufman Overheads for Computers asComponents
Network elements
PEPE
PE
network
communication link
distributed computing platform:
PEs may be CPUs or ASICs.
-
7/27/2019 wolf8
3/62
2000 MorganKaufman Overheads forComputers as
Components
Networks in embedded
systems
PE
PE sensor
PE actuator
initial processing
more processing
-
7/27/2019 wolf8
4/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Why distributed?
Higher performance at lower cost.
Physically distributed activities---time
constants may not allow transmission tocentral site.
Improved debugging---use one CPU in
network to debug others.May buy subsystems that have embedded
processors.
-
7/27/2019 wolf8
5/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Network abstractions
International Standards Organization(ISO) developed the Open Systems
Interconnection(OSI) model to describenetworks:
7-layer model.
Provides a standard way to classifynetwork components and operations.
-
7/27/2019 wolf8
6/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
OSI model
physical mechanical, electrical
data link reliable data transport
network end-to-end service
transport connections
presentation data format
session application dialog control
application end-use interface
-
7/27/2019 wolf8
7/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
OSI layers
Physical: connectors, bit formats, etc.
Data link: error detection and control
across a single link (single hop).Network: end-to-end multi-hop data
communication.
Transport: provides connections; mayoptimize network resources.
-
7/27/2019 wolf8
8/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
OSI layers, contd.
Session: services for end-userapplications: data grouping,
checkpointing, etc.Presentation: data formats,
transformation services.
Application: interface between networkand end-user programs.
-
7/27/2019 wolf8
9/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Hardware architectures
Many different types of networks:
topology;
scheduling of communication;routing.
-
7/27/2019 wolf8
10/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Point-to-point networks
One source, one or more destinations, nodata switching (serial port):
PE 1 PE 2 PE 3
link 1 link 2
-
7/27/2019 wolf8
11/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Bus networks
Common physical connection:
PE 1 PE 2 PE 3 PE 4
header address data ECC packet format
-
7/27/2019 wolf8
12/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Bus arbitration
Fixed: Same order of resolution everytime.
Fair: every PE has same access over longperiods.
round-robin: rotate top priority among Pes.
A,B,C A,B,C
fixed
round-robin
A B C A B C
A B C AB C
-
7/27/2019 wolf8
13/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Crossbar
in1 in2 in3 in4
out1
out2
out3
out4
-
7/27/2019 wolf8
14/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Crossbar characteristics
Non-blocking.
Can handle arbitrary multi-cast
combinations.Size proportional to n2.
-
7/27/2019 wolf8
15/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Multi-stage networks
Use several stages of switching elements.
Often blocking.
Often smaller than crossbar.
-
7/27/2019 wolf8
16/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Message-based
programming
Transport layer provides message-basedprogramming interface:
send_msg(adrs,data1);Data must be broken into packets at
source, reassembled at destination.
Data-push programming: make thingshappen in network based on datatransfers.
-
7/27/2019 wolf8
17/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C bus
Designed for low-cost, medium data rateapplications.
Characteristics:serial;
multiple-master;
fixed-priority arbitration.Several microcontrollers come with built-
in I2C controllers.
-
7/27/2019 wolf8
18/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C physical layer
master 1 master 1
slave 1 slave 1
SCL
SDL data line
clock line
-
7/27/2019 wolf8
19/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C data format
SCL
SDL
...
MSBstart
...
ack
...
-
7/27/2019 wolf8
20/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C electrical interface
SDL
+Open collector interface:
SCL
+
-
7/27/2019 wolf8
21/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C signaling
Sender pulls down bus for 0.
Sender listens to bus---if it tried to send a
1 and heard a 0, someone else issimultaneously transmitting.
Transmissions occur in 8-bit bytes.
-
7/27/2019 wolf8
22/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C data link layer
Every device has an address (7 bits instandard, 10 bits in extension).
Bit 8 of address signals read or write.General call address allows broadcast.
-
7/27/2019 wolf8
23/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C bus arbitration
Sender listens while sending address.
When sender hears a conflict, if its
address is higher, it stops signaling.Low-priority senders relinquish control
early enough in clock cycle to allow bit to
be transmitted reliably.
-
7/27/2019 wolf8
24/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I2C transmissions
multi-byte write
read from slave
write, then read
S adrs 0 data data P
S adrs 1 data P
S adrs 0 data S adrs 1 data P
-
7/27/2019 wolf8
25/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Multiprocessor networks
Multiple DSPs are often connected byhigh-speed networks for signal
processing:
DSP DSP
DSP DSP
-
7/27/2019 wolf8
26/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
SHARC link ports
Six per CPU.
Four bits per link port.
Packets have 32- or 48-bit payload.
Can be controlled by DMA.
Are half-duplex---must be turned around
by program.
-
7/27/2019 wolf8
27/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Ethernet
Dominant non-telephone LAN.
Versions: 10 Mb/s, 100 Mb/s, 1 Gb/s
Goal: reliable communication over anunreliable medium.
-
7/27/2019 wolf8
28/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Ethernet topology
Bus-based system, several possiblephysical layers:
A B C
-
7/27/2019 wolf8
29/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
CSMA/CD
Carrier sense multiple access with collisiondetection:
sense collisions;exponentially back off in time;
retransmit.
-
7/27/2019 wolf8
30/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Exponential back-off times
time
-
7/27/2019 wolf8
31/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Ethernet packet format
preamblestart
frame
source
adrs
dest
adrs
data
payloadlength padding CRC
-
7/27/2019 wolf8
32/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Ethernet performance
Quality-of-service tends to non-linearlydecrease at high load levels.
Cant guarantee real-time deadlines.However, may provide very good serviceat proper load levels.
-
7/27/2019 wolf8
33/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Internet Protocol
Internet Protocol(IP) is basis for Internet.
Provides an internetworkingstandard:
between two Ethernets, Ethernet andtoken ring, etc.
Higher-level services are built on top of
IP.
-
7/27/2019 wolf8
34/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
IP in communication
physical
data link
network
transport
presentation
application
session
physical
data link
network
transport
presentation
application
session
physical
data link
network
node A router node B
IP
-
7/27/2019 wolf8
35/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
IP packet
Includes:
version, service type, length
time to live, protocolsource and destination address
data payload
Maximum data payload is 65,535 bytes.
-
7/27/2019 wolf8
36/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
IP addresses
32 bits in early IP, 128 bits in IPv6.
Typically written in form xxx.xx.xx.xx.
Names (foo.baz.com) translated to IPaddress by domain name server(DNS).
-
7/27/2019 wolf8
37/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Internet routing
Best effort routing:
doesnt guarantee data delivery at IP layer.
Routing can vary:session to session;
packet to packet.
Hi h l l I t t
-
7/27/2019 wolf8
38/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Higher-level Internet
services
Transmission Control Protocol(TCP)provides connection-oriented service.
Quality-of-service (QoS) guaranteedservices are under development.
-
7/27/2019 wolf8
39/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
The Internet service stack
IP
UDP
SNMP
TCPUser
Datagram
Protocol
FTP HTTP SMTP telnet
-
7/27/2019 wolf8
40/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Networks
Network-based design.
Communication analysis.
System performance analysis.Internet-enabled systems.
-
7/27/2019 wolf8
41/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Communication analysis
First, understand delay for singlemessage.
Delay for multiple messages depends on:network protocol;
devices on network.
-
7/27/2019 wolf8
42/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Message delay
Assume:
single message;
no contention.Delay:
tm= tx+ tn+ tr
= xmtr overhead + network xmit time +rcvr overhead
Example: I2C message
-
7/27/2019 wolf8
43/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Example: I2C message
delay
Network transmission time dominates.
Assume 100 kbits/sec, one 8-bit byte.
Number of bits in packet:npacket= start + address + data + stop
= 1 + 8 + 8 + 1 = 18 bits
Time required to transmit: 1.8 x 10
-4
sec.20 instructions on 8 MHz controller adds
2.5 x 10-6delay on xmtr, rcvr.
-
7/27/2019 wolf8
44/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Multiple messages
If messages can interfere with each other,analysis is more complex.
Model total message delay:ty= td+ tm
= wait time for network + message delay
-
7/27/2019 wolf8
45/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Arbitration and delay
Fixed-priority arbitration introducesunbounded delay for all but highest-
priority device.Unless higher-priority devices are known to
have limited rates that allow lower devices totransmit.
Round-robin arbitration introducesbounded delay proportional to N.
Example: adjusting
-
7/27/2019 wolf8
46/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Example: adjusting
messages to reduce delay
Task graph: Network:
P1 P2
P3
d1 d2
M1 M2 M3
allocation3
4
3execution time
Transmission time = 4
-
7/27/2019 wolf8
47/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Initial schedule
time
M1
M2
M3
network
0 20105 15
P1
P2
d1 d1
P3
Time = 15
-
7/27/2019 wolf8
48/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
New design
Modify P3:
reads one packet of d1, one packet of d2
computes partial resultcontinues to next packet
-
7/27/2019 wolf8
49/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
New schedule
time
M1
M2
M3
network
0 20105 15
P1
P2
d1
P3
d2d1
P3
d2d1
P3
d2d1
P3
d2
Time = 12
-
7/27/2019 wolf8
50/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Further complications
Acknowledgment time.
Transmission errors.
Priority inversion in
-
7/27/2019 wolf8
51/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Priority inversion in
networks
In many networks, a packet cannot beinterrupted.
Result is priority inversion:low-priority message holds up higher-priority
message.
Doesnt cause deadlock, but can slowdown important communications.
-
7/27/2019 wolf8
52/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Multihop networks
In multihop networks, one node receivesmessage, then retransmits to destination
(or intermediate).
A B C
hop 1 hop 2
Network 1 Network 2
System performance
-
7/27/2019 wolf8
53/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
System performance
analysis
System analysis is difficult in general.
multiprocessor performance analysis is hard;
communication performance analysis is hard.Simple example: uncertainty in P1 finish
time -> uncertainty in P2 start time.
P1 P2
-
7/27/2019 wolf8
54/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Analysis challenges
P2 and P3 can delayeach other, eventhough they are in
separate tasks.
Delays in P1propagate to P2, then
P3, then to P4.
P2
P3
P1
P4
-
7/27/2019 wolf8
55/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Lower bounds on system
Computationalrequirements:
sum up process
requirements overleast-common multipleof periods, averageover one period.
Communicationrequirements:
Count all
transmissions in oneperiod.
-
7/27/2019 wolf8
56/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Hardware platform design
Need to choose:
number and types of PEs;
number and types of networks.Evaluate a platform by allocating
processes, scheduling processes and
communication.
-
7/27/2019 wolf8
57/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
I/O-intensive systems
Start with I/O devices, then considercomputation:
inventory required devices;identify critical deadlines;
chooses devices that can share PEs;
analyze communication times;
choose PEs to go with devices.
Computation-intensive
-
7/27/2019 wolf8
58/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Computation-intensive
systems
Start with shortest-deadline tasks:
Put shortest-deadline tasks on separate PEs.
Check for interference on criticalcommunications.
Allocate low-priority tasks to common PEswherever possible.
Balance loads wherever possible.
Internet-enabled
-
7/27/2019 wolf8
59/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Internet-enabled
embedded system
Internet-enabled embedded system: anyembedded system that includes an
Internet interface (e.g., refrigerator).Internet appliance: embedded system
designed for a particular Internet task
(e.g. email).
-
7/27/2019 wolf8
60/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Examples
Laser printer.
Personal digital assistant (PDA).
Home automation system.
-
7/27/2019 wolf8
61/62
2000 Morgan
Kaufman
Overheads for Computers as
Components
Example: Javacam
Hardware platform:
parallel-port camera;
National Semi NS486SXF;1.5 Mbytes memory.
Uses memory-efficient Java Nanokernel.
-
7/27/2019 wolf8
62/62
2000 Morgan Overheads for Computers as
Javacam architecture
Web browser
QuickCam
486
Java nanokernel
Java VM
HTTPQuickcam
server
QuickCam
applet