wolf8

download wolf8

of 62

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