Title: SW design methodology on Network Processors
1SW design methodology on Network Processors
Laura Vellante Co.Ri.Tel
Pisa, 6 December 2005
2Summary
- People
- Requirements for NGN
- Flexibility in New Generation Network
- NP main features
- ProCon
- Activity description
- Methodology description
- Organization activity
- Modeling activity
- Implementation activity
3People
- ERI
- CoRiTeL
- CNR
- Università Di LAquila
4Main 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
5NP 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
6Methodology 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
7Methodology 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
8Methodology 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
9NP 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
10Methodology 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
12MDE 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.
13Whats 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
14The 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
16UML For Protocol Engineering (1/2)
17UML 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)
18Unified 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
19Data 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
20DFDs 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)
21Present 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.
22Future 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
24FREESCALE 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.
25NP 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?
26Main 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
27Instruction 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
28Data 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
29Data 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.
30Data 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.
31SCTP Data On The NP
- Information to manage the associations
SRAM managed by TLU
SRAMs managed by BMU and QMU
ChunksPackets Descriptor
ChunksPackets
32SRAMs 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)
33SCTP On NP Mapping
HOST
NP
34SCTP On NP Mapping
RE CEI VE
S E N D
HOST
35SCTP 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
36SCTP 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.
37Performance 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!
38The methodology impact
- Mapping
- Performance evaluation, in terms of both Network
Processor performance and system level
performance - Language code
39On 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