SW design methodology on Network Processors - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

SW design methodology on Network Processors

Description:

Conceptual SW model (Platform Independent Model) Embedded system HW Model. MAPPING: ... in order to make experience on NP Platform. Two concurrent activities ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 41
Provided by: roberto74
Category:

less

Transcript and Presenter's Notes

Title: SW design methodology on Network Processors


1
SW design methodology on Network Processors
Laura Vellante Co.Ri.Tel
Pisa, 6 December 2005
2
Summary
  • People
  • Requirements for NGN
  • Flexibility in New Generation Network
  • NP main features
  • ProCon
  • Activity description
  • Methodology description
  • Organization activity
  • Modeling activity
  • Implementation activity

3
People
  • ERI
  • CoRiTeL
  • CNR
  • Università Di LAquila

4
Main features for NGN node
  • Flexibility
  • Convergence
  • Quality of Service

Network equipment requirements High reusability
of HW platform High re-configurable Low Cost
Network processors A consistent answer to meet
such requirements
5
NP MAIN TOPICS
  • It doesnt exist THE Network Processor
  • It is an instruction set processor for network
    applications.
  • Short Time to Market, Long Time in Market (TTM
    TIM)
  • Highly difficult software design.
  • Hardware details could be considered.
  • No reuse among different solution.
  • Sometimes no reuse among different generations.

Strict design methodology is necessary
6
Methodology for SW design features
  • PRO
  • Low TTM (Performance analysis at system level)
  • Implementation is obtained automatically by
    converting the language description used for
    mapping into machine code.
  • The validation is based on the test benches
    developed during the system simulation phase.
  • CONS
  • Suitable trade off between accuracy of models and
    time to provide it
  • HW model in case of NP could be very complex and
    require long time that impact on TTM for the
    products

7
Methodology for SW design on Embedded systems
Conceptual SW model (Platform Independent Model)
Embedded system HW Model
UML
MAPPING Platform dependent Model
Automatic code generation
XUML
Refinements
Performance Analysis
Suitable code for Platform
Automatic code generation
Implementation
8
Methodology for SW design on NP
NP HW modeling is complex and long
Conceptual SW model (Platform Independent Model)
Embedded system HW Model
UML
MAPPING
Automatic code generation
XUML
Automatic code generation
Suitable code for Platform
Refinements
Implementation
Performance Analysis
9
NP Activity main issues
CASE STUDY SCTP on Freescale C5
SCTP in order to support IP signaling
Protocol used in several
nodes (core network, access, etc.)
Layer 4 protocol connection oriented
Protocol already implemented in Ericsson Node
in order to have comparison
w.r.t. implementation on existing nodes
ACTIVITY PHASES Methodology development
Research activity Implementation activity
10
Methodology development
Two concurrent activities
  • Research activity on SW model based on Model
    Driven Based (MDB) approach
  • Can be used also to other embedded system (e.g.
    FPGA)
  • Implementation activity in order to make
    experience on NP Platform

11
  • MDE FOR
  • NETWORK PROCESSORS
  • APPLICATIONS

12
MDE Motivations and ideas
  • Model Once, Generate Anywhere
  • Everything is a model
  • Design models instead of develop code.
  • Allowing to focus on problem specific issues
    rather than on questions about its
    representation.
  • Use models at different levels of abstraction
  • Integration is concerned on vertical level as
    well as on a horizontal one.
  • Changes impacts are well localized during the
    whole process.

13
Whats a model?
  • a model is an artefact that conforms to a
    meta-model and that represents a given aspect of
    a system.
  • J.Bézivin 2004

14
The Case Study
  • Network Application
  • STREAM TRANSMISSION CONTROL PROTOCOL (SCTP)

15
About the Domain
  • Different abstraction levels for the domain
    definition
  • Generic Network Protocol.
  • 4th Layer Protocol.
  • 4th Layer Protocol Connection Oriented.
  • Research activities in literature
  • J.Pärssinen
  • VTT Information Technology
  • Espoo, Finland
  • 2000-2004

16
UML For Protocol Engineering (1/2)
17
UML For Protocol Engineering (2/2)
  • Protocol System Diagram
  • Names the protocol system, the system element
    instances it contains, and creates associations
    between the system element instances. (Deployment
    Diagram)
  • Protocol Interface Diagram
  • Specifies the sets of messages that can be sent
    and received between two system elements, and it
    encapsulates these sets in one UML package.
    (Class Diagram)
  • Protocol Entity Diagram
  • Defines the internal structure of a protocol
    entity. (Class Diagram)
  • Behaviour Description Diagram
  • Describes the dynamic behaviour of the protocol
    entity. (State Diagram)

18
Unified Modelling Language, UML
  • UML is a language to analyse, to model, to
    specify, to visualize and to document a system
    project.
  • UML isnt a method, it doesnt define a
    development process
  • It makes use of a series of diagrams

19
Data Flow Diagrams, DFDs
  • DFDs show the flow of data from external entities
    into the system, showed how the data moved from
    one process to another, as well as its logical
    storage.
  • They are widely used in other fields (i.e. FPGA)
  • They assure not to lose any information, any data
  • They are not a development process.
  • They dont show any control information or
    action, any sequence of time

20
DFDs UML
  • Their synergy seem to be very interesting to
    describe in a complete way the entire application
    (i.e. SCTP)
  • DFDs allow to identify all the processes involved
    in the system (step1)
  • UML allows to show control and temporal
    information (step2)

21
Present Work
  • Defining the network protocol model (UML, DFD)
  • Looking for the modeling approach (DFD, UML, and
    so on), so to have a rigorous steps sequence to
    follow, and to be sure not to lose any element
    (data, functionalities)
  • Identifying the mapping subject, the atomic
    function
  • Modeling SCTP by means of UML diagram, based on
    Parssinen approach.

22
Future Works and Open Issues
  • Complete the model definition
  • static descriptions
  • dynamic descriptions
  • Language Modelling (UML? Other languages?)
  • Working on the model transformations
  • Choose an adequate target model
  • Specify the transformation rules
  • Implement a model-to-model transformation engine

23
  • SCTP ON FREESCALE C5 NETWORK PROCESSOR

24
FREESCALE C5e
  • 16 channel processors grouped in 4 cluster (4 CP
    each)
  • External memories (routing tables, packet to be
    processed)

LEVEL 2 LEVEL 3 APPLICATIONS
Programming Language C code and C-Ware
Communication Programming Interfaces (C-Ware
APIs), C libraries that provides to access to
resources.
25
NP and SCTP
Use of the code of a SCTP prototype library
(sctplib)
SCTP
IP
Application designed for NP C5e (one cluster
required)
Ethernet
How to map SCTP on the NP?
26
Main Issues Related To The NP And SCTP
  • Internal memories (DMEM e IMEM) limitations that
    impact on code development and data handling
  • External memories handling
  • SCTP code structures
  • Data structures organization
  • Packet Chunk managing
  • Lack of a clear and consistent documentation

27
Instruction Memory Limitations
  • Each CP has an internal 8 KByte IMEM
  • Each CP in a cluster shares an internal 32 KByte
    IMEM

CODE MAPPING ON THE NP
28
Data Memory Limitations
  • Each CP has an internal local 12kByte DMEM
  • Each CP in a cluster shares a local 48KByte DMEM
  • Its not possible to use the DMEM to storage
    large data (such the ones necessary for the
    associations management) and data that must be
    available for all CPs (because of the
    communication problems between CPs in different
    clusters.) Its not possible to allocate DMEM in
    a dynamic way (i.e. doesnt exist a malloc
    instruction)
  • So the DMEM is used to storage only temporary
    data

29
Data Structures Organization What The NP Offers
  • The TLU provides access to application-defined
    topology, control, and statistics tables in
    external SRAM.
  • The BMU partitions the SDRAM into buffers. The
    BMU provides support for allocating and
    de-allocating buffers, reading from and writing
    buffers, and maintaining reference counts for
    multicast operations.
  • The QMU manages all descriptor queues in SRAM and
    maintains per-queue status information.

30
Data Structures Organization What SCTP Needs
  • Information to manage the associations (number of
    traffic flows for each association, protocol
    state machine and so on) easy accessible by all
    CPs and that have to be modified.
  • SCTP chunkpackets sent packets waiting either
    for an ack (they could be retransmitted) or for
    reassembly to be delivered to the ULP (to the
    host), packets to be sent,chunk to be bundled and
    so on. These data have not to be modified.

31
SCTP Data On The NP
  • Information to manage the associations

SRAM managed by TLU
SRAMs managed by BMU and QMU
  • SCTP packets

ChunksPackets Descriptor
ChunksPackets
32
SRAMs And Units Limits
  • The SRAM are limited in size (!)
  • The units (TLU, BMU, QMU) are limited in number
    and kinds of structures they can handle

The structures have to be arranged to fulfil both
SCTP and NP requirements
This issue impacts on SCTP performance (i.e.
maximum number of associations, maximum number of
flows for association, and so on)
33
SCTP On NP Mapping
HOST
NP
34
SCTP On NP Mapping
RE CEI VE
S E N D
HOST
35
SCTP On Clusters NP Mapping
  • 1 Cluster for Ethernet/IP temination
  • 2 clusters for SCTP (1 for sending operations
    and the other one for receive operations)
  • 1 cluster is still not used

SCTP
Ethernet / IP
SEND
Free
RECEIVE
Free
SEND
36
SCTP Traffic Generator
  • It doesnt exist an SCTP traffic generator, we
    are developing it.
  • The scope of the traffic generator is to validate
    the SCTP implementation (everything works right)
    and to do some performance evaluation.

37
Performance Evaluation
  • Performance evaluation means the valuation of the
    use of the NP in terms of memory occupation,
    execution time, number of memories access, number
    of read and write operations on external memories
    and so on.

Its not possible to have system evaluations in
terms of delays, number of processed packets in a
slot time and so on. They will be available at
the end of the implementation!
38
The methodology impact
  • Mapping
  • Performance evaluation, in terms of both Network
    Processor performance and system level
    performance
  • Language code

39
On Going Future Works
  • Implementing the receive function on the NP
  • Network Processor Performance Evaluation
  • SCTP Traffic Generator
  • Realize an SCTP peer to communicate with
    the simulator, to simulate a whole SCTP data flow.

40
  • Thank you for listening!
  • email laura.vellante_at_coritel.it
Write a Comment
User Comments (0)
About PowerShow.com