Professional Documents
Culture Documents
Network elements
distributed computing platform:
PE PE communication link network PE PEs may be CPUs or ASICs.
2000 Morgan Kaufman Overheads for Computers as Components
more processing PE
PE
sensor
PE
actuator
Why distributed?
Higher performance at lower cost. Physically distributed activities---time constants may not allow transmission to central site. Improved debugging---use one CPU in network to debug others. May buy subsystems that have embedded processors.
2000 Morgan Kaufman Overheads for Computers as Components
Network abstractions
International Standards Organization (ISO) developed the Open Systems Interconnection (OSI) model to describe networks:
7-layer model.
OSI model
application presentation session transport network
end-use interface
data format application dialog control connections end-to-end service
data link
physical
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; may optimize network resources.
2000 Morgan Kaufman Overheads for Computers as Components
Hardware architectures
Many different types of networks:
topology; scheduling of communication; routing.
Point-to-point networks
One source, one or more destinations, no data switching (serial port):
PE 1 link 1
PE 2 link 2
PE 3
Bus networks
Common physical connection:
PE 1
PE 2
PE 3
PE 4
header
2000 Morgan Kaufman
address
data
ECC
packet format
Bus arbitration
Fixed: Same order of resolution every time. Fair: every PE has same access over long periods.
round-robin: rotate top priority among Pes.
fixed
A A
A,B,C
B B
C C
A,B,C
A B
B C
C A
round-robin
Crossbar
in1
2000 Morgan Kaufman
in2
in3
in4
Crossbar characteristics
Non-blocking. Can handle arbitrary multi-cast combinations. Size proportional to n2.
Multi-stage networks
Use several stages of switching elements. Often blocking. Often smaller than crossbar.
Message-based programming
Transport layer provides message-based programming interface:
send_msg(adrs,data1);
Data must be broken into packets at source, reassembled at destination. Data-push programming: make things happen in network based on data transfers.
2000 Morgan Kaufman Overheads for Computers as Components
I2C bus
Designed for low-cost, medium data rate applications. Characteristics:
serial; multiple-master; fixed-priority arbitration.
data line
clock line
master 1
slave 1
SCL
...
...
SDL
start
2000 Morgan Kaufman
... MSB
Overheads for Computers as Components
ack
+
SCL
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 is simultaneously transmitting. Transmissions occur in 8-bit bytes.
I2C transmissions
multi-byte write S adrs 0 data data P
adrs
data
adrs
data
Multiprocessor networks
Multiple DSPs are often connected by high-speed networks for signal processing:
DSP DSP
DSP
2000 Morgan Kaufman
DSP
Ethernet
Dominant non-telephone LAN. Versions: 10 Mb/s, 100 Mb/s, 1 Gb/s Goal: reliable communication over an unreliable medium.
Ethernet topology
Bus-based system, several possible physical layers:
A B C
CSMA/CD
Carrier sense multiple access with collision detection:
sense collisions; exponentially back off in time; retransmit.
time
2000 Morgan Kaufman Overheads for Computers as Components
preamble
start frame
source adrs
Ethernet performance
Quality-of-service tends to non-linearly decrease at high load levels. Cant guarantee real-time deadlines. However, may provide very good service at proper load levels.
Internet Protocol
Internet Protocol (IP) is basis for Internet. Provides an internetworking standard: between two Ethernets, Ethernet and token ring, etc. Higher-level services are built on top of IP.
IP in communication
application presentation session IP network data link application presentation session
transport
network data link
transport
network data link
physical
node A
2000 Morgan Kaufman
physical
router
Overheads for Computers as Components
physical
node B
IP packet
Includes:
version, service type, length time to live, protocol source and destination address data payload
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 IP address by domain name server (DNS).
Internet routing
Best effort routing:
doesnt guarantee data delivery at IP layer.
IP
Networks
Network-based design.
Communication analysis. System performance analysis.
Internet-enabled systems.
Communication analysis
First, understand delay for single message. Delay for multiple messages depends on:
network protocol; devices on network.
Message delay
Assume:
single message; no contention.
Delay:
tm = tx + tn + tr = xmtr overhead + network xmit time + rcvr overhead
2000 Morgan Kaufman Overheads for Computers as Components
Time required to transmit: 1.8 x 10-4 sec. 20 instructions on 8 MHz controller adds 2.5 x 10-6 delay on xmtr, rcvr.
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
Network:
allocation M1 M2 M3
P1 d1
4 P3
P2
d2
Transmission time = 4
2000 Morgan Kaufman Overheads for Computers as Components
Initial schedule
M1 M2 M3 network d1 d1 P1 P2 P3
Time = 15 0
2000 Morgan Kaufman
10
Overheads for Computers as Components
15
20 time
New design
Modify P3:
reads one packet of d1, one packet of d2 computes partial result continues to next packet
New schedule
M1
M2
P1
P2 P3 P3 P3 P3 d1d2d1d2d1d2d1d2 Time = 12 0 5 10
Overheads for Computers as Components
M3
network
15
20 time
Further complications
Acknowledgment time. Transmission errors.
Multihop networks
In multihop networks, one node receives message, then retransmits to destination (or intermediate).
hop 1 A Network 1 B hop 2 Network 2 C
Analysis challenges
P2 and P3 can delay each other, even though they are in separate tasks. Delays in P1 propagate to P2, then P3, then to P4.
P1
P2
P3
P4
Communication requirements:
Count all transmissions in one period.
I/O-intensive systems
Start with I/O devices, then consider computation:
inventory required devices; identify critical deadlines; chooses devices that can share PEs; analyze communication times; choose PEs to go with devices.
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 critical communications. Allocate low-priority tasks to common PEs wherever possible.
Examples
Laser printer. Personal digital assistant (PDA). Home automation system.
Example: Javacam
Hardware platform:
parallel-port camera; National Semi NS486SXF; 1.5 Mbytes memory.
Javacam architecture
QuickCam Web browser applet Quickcam server HTTP
QuickCam
Java VM Java nanokernel 486