tipc introduction part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen -...

Upload: mathhoang

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    1/32

    Hoang NguyenRTOS Team

    TIPC Introduction

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    2/32

    09/14/[email protected] 2

    Presentation OutlinePresentation Outline

    IntroductionFeature

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    3/32

    09/14/[email protected] 3

    Introduction

    TIPC is a high-speed, reliable, message orientedcommunication service specially designed for clusterenvironment.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    4/32

    09/14/[email protected] 4

    Introduction

    It provides a framework for keeping track of limit, processorand process states

    Generic signal link layer makes theProtocol easily portable, while retaining

    Adaptability to bearers with differenceCarrier characteristic, Bearers like Ethernet,ATM, InfiniBand....

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    5/32

    09/14/[email protected] 5

    Introduction

    Why another protocol ?TCP:TCP is most commonly used protocol today, it has advantageof being ubiquitous, stable and well-known by programmer butis also has serious deficiencies making it less suitable for truecluster environment, especially when real-time performance isdemanded. And It's non-optimal performance, especially forintra-processor communication and for short messages ingeneral.

    The rather heavy connection setup/shutdown scheme of TCP

    is also a major flaw in a dynamic environment. The minimumnumber of packets exchanged for even the shortest TCPtransaction is nine( SYN,, SYNACK, ect.... ), while in TIPC thiscan be reduced to 2, or even to one if connectionless modecan be used.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    6/32

    09/14/[email protected] 6

    Introduction

    Why another protocol ?SCTP:SCTP is a more modern protocol than TCP, and has betterpotential for efficient cluster communication.

    SCTP's disadvantage is the lack of location transparency thatis the main drawback, in the SCTP a plain IP-addressingscheme is assumed, and there's no support for logicaladdressing or real-time address translating like we have inTIPC.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    7/32

    09/14/[email protected] 7

    Introduction

    Why another protocol ?TIPC:Within a cluster we can assume that:

    Most messages make online one direct hop.

    Transfer time for most messages is short

    Most messages are passed over intra-cluster connections.Packet loss rate is normally low; retransmission is infrequent

    Available bandwidth and memory volume is normally high

    For all relevant bearers packets are check-summed byhardware

    The number of inter-communication nodes is relatively andlimited at any moment in time

    Security is a less crucial issue in closed clusters than on theinternet

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    8/32

    09/14/[email protected] 8

    Features

    AddressingNetwork Topology: from a TIPC viewpoint the network isseen as a five-layer structures

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    9/32

    09/14/[email protected] 9

    Features

    AddressingNetwork Topology:The top level is the TIPC network as such, sometime called

    the super cluster => this simply is the ensemble of all zonesinterconnected via TIPC ( now TIPC supports 15 zones )

    The next level is the cluster or zone, the principal entity of anetwork.

    Third level is the subnetwork. Subnetworks within a zonemust be interconnected all-to-all, but just as with zonesthere's no need for all-to-all processor links. ( theoretical limitfor number of subnetworks within a zone is 4097 )

    The fourth level is the individual system processor, or justprocessor. Processors within a subnetwork must beinterconnected all-to-all. ( theoretical limit for number ofprocessor is 2047, but the implementation limit now is 511 )

    The fifth level is the device processor level.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    10/32

    09/14/[email protected] 10

    Features

    AddressingNetwork Topology:

    Super cluster

    Zone

    Sub networkProcessor

    Device Processor

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    11/32

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    12/32

    09/14/[email protected] 12

    Features

    AddressingAddress types: TIPC has 3 visible address types

    Port Name:

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    13/32

    09/14/[email protected] 13

    Features

    AddressingAddress types: TIPC has 3 visible address types

    Port Identity:

    This volatile address is produced internally by TIPC when aport is created. It consists of two 32-bit integers.

    The first one is a pseudo-random number with a period of2^31-1

    The second one is processor address.

    A port identity can not be influenced by user, it has to beobtained by either requesting the port about its identity, or bylooking at the sender address when a connection-less message

    is received.Zone Identity:

    Location transparency is supported only within a cluster. Oncea named message needs to be transported to a different zonethe address of that zone has to be indicated along with the portname in the send call.

    The range value of this address is from 1 15

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    14/32

    09/14/[email protected] 14

    Features

    Location transparency - The cluster is the computerLogical AddressingLocation transparency is the ability to communication betweenprocesses within a cluster as if they were all located on thesame computer.

    With TIPC the target of an address is a service, not aprocessor => This is what we call logical addressing

    Naming Table

    The most important functionality for providing locationtransparency is the TIPC internal naming table => this's a fully

    distributed table with the task of handling the mappingbetween port names and corresponding port identities.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    15/32

    09/14/[email protected] 15

    Features

    Location transparency - The cluster is the computerNaming Table

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    16/32

    09/14/[email protected] 16

    Features

    Location transparency - The cluster is the computerPublication scopeThe default scope of a published port name is the zone.However, under certain conditions it may be desirable topublish it within a smaller scope, e.g. only the ownsubnetwork or own processor

    Subscription service

    The naming table also provides a subscription service foravailability of port names.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    17/32

    09/14/[email protected] 17

    Features

    User ConnectionsLightweightWhile there are normally only 2 or 4 links between any pair ofprocessors, there maybe thousands of user connections,constantly and rapidly changing in number and duration =>connections must therefore be kept as lightweight as possible,avoiding any unnecessary supervision timers and end-to-endprotocol signalling.

    Lightweight connections can be designed by centralizing mostfailure detection functionality to the link layer level, withoutcompromising the quality of service the connection is

    commited to deliver.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    18/32

    09/14/[email protected] 18

    Features

    User ConnectionsSimple Connection Setup and Shutdown

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    19/32

    09/14/[email protected] 19

    Features

    User ConnectionsSimple Connection Setup and ShutdownFrom the above figure, first no hidden internal messages areexchanged to set up the connection. Instead the first userdata message received decides when each party's half of theconnection should be established. At the server side theaccept() call is hence an implicit command to create a newsocket/port and connect it to sender port whenever amessage arrives. When the new port is created the arrivingmessage is transparently moved over to this port, and can beread from there just as any subsequent message on the

    connection. At the client side connection establishment is alsodone automatically

    Shutting down the connection must be done explicitly fromboth side

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    20/32

    09/14/[email protected] 20

    Features

    User Connections

    Immediate Failure Detection and Indication

    Whenever one of the two participating ports of a connectionlooses contact with its peer it will immediately abort theconnection and report the lost contact to its owner process.

    Processor Availability Subscription: when an inter-processorconnection is established the participating ports will issue asubscription to the processor layer of TIPC about theavailability of the peer processor. Just like any othersubscriber of this service the port will be informed about the lossof contact as soon as the last link to that processor has beenmarked failed.

    Port/Process Termination: if a port is deleted while still being inconnected mode it will consider this as an error, and report theevent to the other end of the connection before going out ofexistence

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    21/32

    09/14/[email protected] 21

    Features

    User Connections

    Immediate Failure Detection and Indication

    Message Undeliverable: if a message sent on a connection cannot find its recipient, either because the processor has becomeunavailable or the port has disappeared, it will be returned to itssender port along with an appropriate error code

    Slow Background Supervision: Due to the way TIPCconnections are defined and implemented it is perfectlypossible, although not recommended, to establish half orunfinished connections

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    22/32

    09/14/[email protected] 22

    Features

    User Connections

    Activity Domain: all processes interconnected viaconnections define an activity domain. This domain has 3essential properties:

    Resource tracking and reclaiming: by keeping together

    references to all involved processes and ports the systemmay reclaim all resources allocated to an activity in acontrolled way, without risking that these resources are lostor kept dangling.

    Failure isolation: by keeping together references to all theprocesses involved in a particular activity the chain reaction

    mechanism makes it possible to terminate a complete activitywithout disturbing other ones performing similar or differenttasks

    Tracing: the TIPC message header contains a field which canbe used as activity identity

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    23/32

    09/14/[email protected] 23

    Features

    Subscription for Network an Link Events: Apart from abilityto subscribe for availability of port names and port namesequences, it's even possible for a user program tosubscribe for certain other events.

    Processor Availability: Availability and non-availability of

    zones, subnetworks or individual processors can besubscribed for via a special system call.

    Link Availability:

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    24/32

    09/14/[email protected] 24

    Features

    Load sharing

    Among Processors

    Among Bearers

    Generic Link Layer

    TIPC includes a generic signalling link layer protocol andimplementation.

    The TIPC link protocol implementation comprises the

    following functionality:Retransmission protocol

    Message segmentation/reassembly

    Message bundling

    Message flow control

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    25/32

    09/14/[email protected] 25

    Features

    Generic Link Layer

    The TIPC link protocol implementation comprises thefollowing functionality:

    Bearer congestion handling

    Link establishing, continuity check and supervision

    Link changeover

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    26/32

    09/14/[email protected] 26

    Features

    Device Processor Concept

    Device processor belong to a subnetwork, just like systemprocessors, and provide the same properties with respect tolocation transparency and availability as system processors.

    The difference is that device processors don't have to be

    directly connected to all other processors within thesubnetwork

    Device processors are not allowed to establish links directlyto each other, since they are supposed to play subordinaterole in the system.

    From a TIPC viewpoint the address is the only thingdistinguishing a device processor from a system processor

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    27/32

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    28/32

    09/14/[email protected] 28

    Features

    Routing

    Routing algorithm

    The available routes to a remote zone, subnetwork or deviceprocessor are explored in the following order:

    First, look for any direct links to the processor, and if there'reany, select one using the normal algorithm for this.

    Second, if there're no direct links, send the message to aprocessor within own subnetwork with a direct link to thedestination processor. Selection of the intermediate processor isdone in a deterministic way. If the destination or origin of themessage is a device processor this is the last option tried.

    Otherwise, if no router processor was found, one will try the thirdoption, looking for a direct link to any processor within theremote zone/subnetwork. This is also based on a deterministicalgorithm.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    29/32

    09/14/[email protected] 29

    Features

    Routing

    Routing table

    The processor elements in the routing hierarchy mustcontain information about all available routes, and that hisinformation must be kept as updated as possible.

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    30/32

    09/14/[email protected] 30

    Features

    Selft Configuration

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    31/32

    09/14/[email protected] 31

    Features

    Management

    Configuration

    Alarms

    Statistics

  • 8/8/2019 TIPC Introduction Part 1 created by hoang nguyen ( mathhoang - vietnam_hoangminhnguyen - [email protected] )

    32/32

    09/14/[email protected] 32

    End part 1

    Thanks for your attention