🗊Презентация Distributed processing environment (DPE)

Категория: Технология
Нажмите для полного просмотра!
Distributed processing environment (DPE), слайд №1Distributed processing environment (DPE), слайд №2Distributed processing environment (DPE), слайд №3Distributed processing environment (DPE), слайд №4Distributed processing environment (DPE), слайд №5Distributed processing environment (DPE), слайд №6Distributed processing environment (DPE), слайд №7Distributed processing environment (DPE), слайд №8Distributed processing environment (DPE), слайд №9Distributed processing environment (DPE), слайд №10Distributed processing environment (DPE), слайд №11Distributed processing environment (DPE), слайд №12Distributed processing environment (DPE), слайд №13Distributed processing environment (DPE), слайд №14Distributed processing environment (DPE), слайд №15Distributed processing environment (DPE), слайд №16Distributed processing environment (DPE), слайд №17Distributed processing environment (DPE), слайд №18Distributed processing environment (DPE), слайд №19Distributed processing environment (DPE), слайд №20Distributed processing environment (DPE), слайд №21Distributed processing environment (DPE), слайд №22Distributed processing environment (DPE), слайд №23Distributed processing environment (DPE), слайд №24Distributed processing environment (DPE), слайд №25Distributed processing environment (DPE), слайд №26Distributed processing environment (DPE), слайд №27Distributed processing environment (DPE), слайд №28Distributed processing environment (DPE), слайд №29Distributed processing environment (DPE), слайд №30Distributed processing environment (DPE), слайд №31Distributed processing environment (DPE), слайд №32Distributed processing environment (DPE), слайд №33Distributed processing environment (DPE), слайд №34Distributed processing environment (DPE), слайд №35Distributed processing environment (DPE), слайд №36Distributed processing environment (DPE), слайд №37Distributed processing environment (DPE), слайд №38Distributed processing environment (DPE), слайд №39Distributed processing environment (DPE), слайд №40Distributed processing environment (DPE), слайд №41Distributed processing environment (DPE), слайд №42Distributed processing environment (DPE), слайд №43Distributed processing environment (DPE), слайд №44Distributed processing environment (DPE), слайд №45Distributed processing environment (DPE), слайд №46Distributed processing environment (DPE), слайд №47Distributed processing environment (DPE), слайд №48Distributed processing environment (DPE), слайд №49Distributed processing environment (DPE), слайд №50Distributed processing environment (DPE), слайд №51Distributed processing environment (DPE), слайд №52Distributed processing environment (DPE), слайд №53Distributed processing environment (DPE), слайд №54Distributed processing environment (DPE), слайд №55Distributed processing environment (DPE), слайд №56Distributed processing environment (DPE), слайд №57Distributed processing environment (DPE), слайд №58Distributed processing environment (DPE), слайд №59Distributed processing environment (DPE), слайд №60Distributed processing environment (DPE), слайд №61Distributed processing environment (DPE), слайд №62Distributed processing environment (DPE), слайд №63Distributed processing environment (DPE), слайд №64Distributed processing environment (DPE), слайд №65Distributed processing environment (DPE), слайд №66Distributed processing environment (DPE), слайд №67Distributed processing environment (DPE), слайд №68Distributed processing environment (DPE), слайд №69Distributed processing environment (DPE), слайд №70Distributed processing environment (DPE), слайд №71Distributed processing environment (DPE), слайд №72Distributed processing environment (DPE), слайд №73Distributed processing environment (DPE), слайд №74Distributed processing environment (DPE), слайд №75Distributed processing environment (DPE), слайд №76Distributed processing environment (DPE), слайд №77Distributed processing environment (DPE), слайд №78Distributed processing environment (DPE), слайд №79Distributed processing environment (DPE), слайд №80Distributed processing environment (DPE), слайд №81Distributed processing environment (DPE), слайд №82Distributed processing environment (DPE), слайд №83Distributed processing environment (DPE), слайд №84Distributed processing environment (DPE), слайд №85Distributed processing environment (DPE), слайд №86Distributed processing environment (DPE), слайд №87Distributed processing environment (DPE), слайд №88Distributed processing environment (DPE), слайд №89Distributed processing environment (DPE), слайд №90Distributed processing environment (DPE), слайд №91Distributed processing environment (DPE), слайд №92Distributed processing environment (DPE), слайд №93Distributed processing environment (DPE), слайд №94Distributed processing environment (DPE), слайд №95Distributed processing environment (DPE), слайд №96Distributed processing environment (DPE), слайд №97Distributed processing environment (DPE), слайд №98Distributed processing environment (DPE), слайд №99Distributed processing environment (DPE), слайд №100Distributed processing environment (DPE), слайд №101Distributed processing environment (DPE), слайд №102Distributed processing environment (DPE), слайд №103Distributed processing environment (DPE), слайд №104Distributed processing environment (DPE), слайд №105Distributed processing environment (DPE), слайд №106Distributed processing environment (DPE), слайд №107Distributed processing environment (DPE), слайд №108Distributed processing environment (DPE), слайд №109Distributed processing environment (DPE), слайд №110Distributed processing environment (DPE), слайд №111Distributed processing environment (DPE), слайд №112Distributed processing environment (DPE), слайд №113Distributed processing environment (DPE), слайд №114Distributed processing environment (DPE), слайд №115Distributed processing environment (DPE), слайд №116Distributed processing environment (DPE), слайд №117Distributed processing environment (DPE), слайд №118Distributed processing environment (DPE), слайд №119Distributed processing environment (DPE), слайд №120Distributed processing environment (DPE), слайд №121Distributed processing environment (DPE), слайд №122Distributed processing environment (DPE), слайд №123Distributed processing environment (DPE), слайд №124Distributed processing environment (DPE), слайд №125Distributed processing environment (DPE), слайд №126Distributed processing environment (DPE), слайд №127Distributed processing environment (DPE), слайд №128Distributed processing environment (DPE), слайд №129Distributed processing environment (DPE), слайд №130Distributed processing environment (DPE), слайд №131Distributed processing environment (DPE), слайд №132Distributed processing environment (DPE), слайд №133Distributed processing environment (DPE), слайд №134Distributed processing environment (DPE), слайд №135Distributed processing environment (DPE), слайд №136Distributed processing environment (DPE), слайд №137Distributed processing environment (DPE), слайд №138Distributed processing environment (DPE), слайд №139Distributed processing environment (DPE), слайд №140Distributed processing environment (DPE), слайд №141Distributed processing environment (DPE), слайд №142Distributed processing environment (DPE), слайд №143Distributed processing environment (DPE), слайд №144Distributed processing environment (DPE), слайд №145Distributed processing environment (DPE), слайд №146Distributed processing environment (DPE), слайд №147Distributed processing environment (DPE), слайд №148Distributed processing environment (DPE), слайд №149Distributed processing environment (DPE), слайд №150Distributed processing environment (DPE), слайд №151Distributed processing environment (DPE), слайд №152Distributed processing environment (DPE), слайд №153Distributed processing environment (DPE), слайд №154Distributed processing environment (DPE), слайд №155Distributed processing environment (DPE), слайд №156Distributed processing environment (DPE), слайд №157Distributed processing environment (DPE), слайд №158Distributed processing environment (DPE), слайд №159Distributed processing environment (DPE), слайд №160Distributed processing environment (DPE), слайд №161Distributed processing environment (DPE), слайд №162Distributed processing environment (DPE), слайд №163Distributed processing environment (DPE), слайд №164Distributed processing environment (DPE), слайд №165Distributed processing environment (DPE), слайд №166Distributed processing environment (DPE), слайд №167Distributed processing environment (DPE), слайд №168Distributed processing environment (DPE), слайд №169Distributed processing environment (DPE), слайд №170Distributed processing environment (DPE), слайд №171Distributed processing environment (DPE), слайд №172Distributed processing environment (DPE), слайд №173Distributed processing environment (DPE), слайд №174Distributed processing environment (DPE), слайд №175Distributed processing environment (DPE), слайд №176Distributed processing environment (DPE), слайд №177Distributed processing environment (DPE), слайд №178Distributed processing environment (DPE), слайд №179Distributed processing environment (DPE), слайд №180Distributed processing environment (DPE), слайд №181Distributed processing environment (DPE), слайд №182Distributed processing environment (DPE), слайд №183Distributed processing environment (DPE), слайд №184Distributed processing environment (DPE), слайд №185Distributed processing environment (DPE), слайд №186Distributed processing environment (DPE), слайд №187Distributed processing environment (DPE), слайд №188Distributed processing environment (DPE), слайд №189Distributed processing environment (DPE), слайд №190Distributed processing environment (DPE), слайд №191Distributed processing environment (DPE), слайд №192Distributed processing environment (DPE), слайд №193Distributed processing environment (DPE), слайд №194

Содержание

Вы можете ознакомиться и скачать презентацию на тему Distributed processing environment (DPE). Доклад-сообщение содержит 194 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Distributed Processing Environment (DPE)
Overview
Basic concepts
Use Cases
Introduction to Capsule Management
Introduction to Execution Management
Equipment Management
Introduction to Function Distribution Management 
Introduction to State Register 
Software Management
 Introduction to Checkpointing and Activation of a Software Configuration
Описание слайда:
Distributed Processing Environment (DPE) Overview Basic concepts Use Cases Introduction to Capsule Management Introduction to Execution Management Equipment Management Introduction to Function Distribution Management Introduction to State Register Software Management Introduction to Checkpointing and Activation of a Software Configuration

Слайд 2





Distributed Processing Environment (DPE)
Описание слайда:
Distributed Processing Environment (DPE)

Слайд 3





General
Описание слайда:
General

Слайд 4





Distributed Processing Environment - DPE
DPE supports distribution of the applications on the PIUs in the node
Gives support for a  continues, reliable and robust service even during hardware failures
Supports ”plug-and-play” functionality
Gives support for distributed applications
Описание слайда:
Distributed Processing Environment - DPE DPE supports distribution of the applications on the PIUs in the node Gives support for a continues, reliable and robust service even during hardware failures Supports ”plug-and-play” functionality Gives support for distributed applications

Слайд 5





DPE Services
Описание слайда:
DPE Services

Слайд 6





A node from a DPE perspective
Описание слайда:
A node from a DPE perspective

Слайд 7





 System Requirements
Описание слайда:
System Requirements

Слайд 8





 System views
Описание слайда:
System views

Слайд 9





 Equipment view
A set of Plug-in-units (boards)
Each Plug-in-unit may house several processors
Plug-in-units may be removed/inserted while the Node is in operation
Prepared & unprepared removal
Описание слайда:
Equipment view A set of Plug-in-units (boards) Each Plug-in-unit may house several processors Plug-in-units may be removed/inserted while the Node is in operation Prepared & unprepared removal

Слайд 10





 Function view
The full Node functionality may be broken down into smaller pieces : Function Blocks
Reasons
Manage complexity
Different lifecycles
Reuse
Описание слайда:
Function view The full Node functionality may be broken down into smaller pieces : Function Blocks Reasons Manage complexity Different lifecycles Reuse

Слайд 11





 Distribution view
Different Function Blocks may have different distribution patterns 
Map Function on Computing resources
Distribution may change over time, due to:
Redundancy and failover operations
Equipment administration
SW Upgrade/Update
Описание слайда:
Distribution view Different Function Blocks may have different distribution patterns Map Function on Computing resources Distribution may change over time, due to: Redundancy and failover operations Equipment administration SW Upgrade/Update

Слайд 12





 Management view
One SYSTEM
Node level redundancy
SW installation/activation
Node configuration state
checkpoint state
revert to known state
Описание слайда:
Management view One SYSTEM Node level redundancy SW installation/activation Node configuration state checkpoint state revert to known state

Слайд 13





 Computing view
A heterogeneous set of processors
The processors are loosely inter-connected
Local Operating System on each processor
Local SW load operations - Local/Remote data source
Local encapsulation of executing entities - Unix processes, RTOS task groups, ...
Описание слайда:
Computing view A heterogeneous set of processors The processors are loosely inter-connected Local Operating System on each processor Local SW load operations - Local/Remote data source Local encapsulation of executing entities - Unix processes, RTOS task groups, ...

Слайд 14





 Development view
Group related function blocks into an APPLICATION
Different programming languages
Integration of a set of APPLICATIONS into a full Node SW system
Описание слайда:
Development view Group related function blocks into an APPLICATION Different programming languages Integration of a set of APPLICATIONS into a full Node SW system

Слайд 15


Distributed processing environment (DPE), слайд №15
Описание слайда:

Слайд 16





 Development View, SW delivery example
Описание слайда:
Development View, SW delivery example

Слайд 17


Distributed processing environment (DPE), слайд №17
Описание слайда:

Слайд 18





 System events
Описание слайда:
System events

Слайд 19





 Function Distribution
Описание слайда:
Function Distribution

Слайд 20


Distributed processing environment (DPE), слайд №20
Описание слайда:

Слайд 21





Processing module (PM)
Processing module (PM)
Application
application instance, application structure tree (AST), application instance, application root instance. 
Block, block template
Block instance
Capsule 
Load unit
DPE architecture
Описание слайда:
Processing module (PM) Processing module (PM) Application application instance, application structure tree (AST), application instance, application root instance. Block, block template Block instance Capsule Load unit DPE architecture

Слайд 22





Processing module (PM)
Описание слайда:
Processing module (PM)

Слайд 23





Application
Application
A program that can be run within DPE. 
An application may be thought of as a (structured) collection of blocks.
All blocks in an application are organized into an Application Structure Tree (AST).
Application instance
A program running within DPE. 
An application instance can be thought of as a collection of block instances. 
The collection may evolve over time.
Описание слайда:
Application Application A program that can be run within DPE. An application may be thought of as a (structured) collection of blocks. All blocks in an application are organized into an Application Structure Tree (AST). Application instance A program running within DPE. An application instance can be thought of as a collection of block instances. The collection may evolve over time.

Слайд 24





Application functionality structured into block instances
Описание слайда:
Application functionality structured into block instances

Слайд 25





Application structure tree (AST)
A tree that describes the relations between blocks in an application.
The root of a tree represents the total functionality of the blocks contained in that tree. 
AST does not change at runtime.
Описание слайда:
Application structure tree (AST) A tree that describes the relations between blocks in an application. The root of a tree represents the total functionality of the blocks contained in that tree. AST does not change at runtime.

Слайд 26





Application instance descriptor
Describes the relations between block instances in an application instance.
The root is called the application root instance. It is the only instance of the block in the root of an AST.
The descriptor may change 
at runtime.
Описание слайда:
Application instance descriptor Describes the relations between block instances in an application instance. The root is called the application root instance. It is the only instance of the block in the root of an AST. The descriptor may change at runtime.

Слайд 27





Block and block template
Block
A functional unit within an application.
Smallest functional part that can be instantiated to a running entity on a particular processing module (PM).
Block template
Executable code performing the functionality of a block.
Same block may have several block templates, each for a different type of execution environment (Capsule).
Описание слайда:
Block and block template Block A functional unit within an application. Smallest functional part that can be instantiated to a running entity on a particular processing module (PM). Block template Executable code performing the functionality of a block. Same block may have several block templates, each for a different type of execution environment (Capsule).

Слайд 28





Implementation of a block instance in a 
C-Capsule on Solaris
Описание слайда:
Implementation of a block instance in a C-Capsule on Solaris

Слайд 29





Block Instance
A block instance
resides in a particular capsule.
requires that the appropriate block template is 
present in the capsule.
is created based on the block template.
A block instance is the executing form of a block, e.g., 
an Erlang process. 
Each block instance (BI) 
belongs to a particular application instance; and
has an unique identity (block instance name) which 
is not reused.
Описание слайда:
Block Instance A block instance resides in a particular capsule. requires that the appropriate block template is present in the capsule. is created based on the block template. A block instance is the executing form of a block, e.g., an Erlang process. Each block instance (BI) belongs to a particular application instance; and has an unique identity (block instance name) which is not reused.

Слайд 30





Capsule
A special protective execution environment in which block instances can be made to run in a certain processing module (PM).
Makes it possible to use uniform interfaces between DPE and applications despite the differences in implementation languages, operating systems etc.
Описание слайда:
Capsule A special protective execution environment in which block instances can be made to run in a certain processing module (PM). Makes it possible to use uniform interfaces between DPE and applications despite the differences in implementation languages, operating systems etc.

Слайд 31





Capsule types are defined by:
Hardware (SPARC, PowerPC, etc.);
Operating system (Solaris, VxWorks, etc.);
Language (interpreted Erlang, C, Java, etc.); and
Design decisions when implementing the capsule.
Описание слайда:
Capsule types are defined by: Hardware (SPARC, PowerPC, etc.); Operating system (Solaris, VxWorks, etc.); Language (interpreted Erlang, C, Java, etc.); and Design decisions when implementing the capsule.

Слайд 32





Load Unit
An entity containing one or more block templates.
A C load unit is a file.
An Erlang load unit is a directory.
Specific to a capsule type.
When code is loaded into a capsule, it is always in the form of an entire load unit.
After a load unit is loaded into a capsule, the capsule contains copies of the enclosed block templates.
Описание слайда:
Load Unit An entity containing one or more block templates. A C load unit is a file. An Erlang load unit is a directory. Specific to a capsule type. When code is loaded into a capsule, it is always in the form of an entire load unit. After a load unit is loaded into a capsule, the capsule contains copies of the enclosed block templates.

Слайд 33





Blocks, load units, block templates, capsules and block instances - Relations
Описание слайда:
Blocks, load units, block templates, capsules and block instances - Relations

Слайд 34





DPE architecture - overview
Описание слайда:
DPE architecture - overview

Слайд 35





DPE architecture - Node Control Logic (NCL)
NCL is the DPE kernel.
Two instances within the Node:
Active NCL, and
Passive NCL.
The Boards where the two NCL instances reside are called Active NCB and Passive NCB (Node Control Board). 
The purpose of of the Passive NCL is to track the internal states of the Active NCL, in order to be able to take over if the Active NCL fails.
Описание слайда:
DPE architecture - Node Control Logic (NCL) NCL is the DPE kernel. Two instances within the Node: Active NCL, and Passive NCL. The Boards where the two NCL instances reside are called Active NCB and Passive NCB (Node Control Board). The purpose of of the Passive NCL is to track the internal states of the Active NCL, in order to be able to take over if the Active NCL fails.

Слайд 36





DPE architecture - Processor related parts
EQMA - Equipment Management Agent
Located on all CPU:s
Responsible for all local equipment management operations
CPMA - Capsule Management Agent
Located on all PM:s
Responsible for all local capsule management operations (create, delete, …)
Описание слайда:
DPE architecture - Processor related parts EQMA - Equipment Management Agent Located on all CPU:s Responsible for all local equipment management operations CPMA - Capsule Management Agent Located on all PM:s Responsible for all local capsule management operations (create, delete, …)

Слайд 37





DPE architecture - Capsule related parts 
EXMA - Execution Management Agent
Located in every Capsule
Responsible for operations related to Block Instances (create, start, stop, delete, …) within the specific Capsule.
DPE API
Located in every Capsule
Allows Block Instances to interact with DPE (EXMA and NCL)
Location of NCL transparent to applications
Implementations for both C and Erlang
Описание слайда:
DPE architecture - Capsule related parts EXMA - Execution Management Agent Located in every Capsule Responsible for operations related to Block Instances (create, start, stop, delete, …) within the specific Capsule. DPE API Located in every Capsule Allows Block Instances to interact with DPE (EXMA and NCL) Location of NCL transparent to applications Implementations for both C and Erlang

Слайд 38





DPE architecture vs. example 
application instances
Описание слайда:
DPE architecture vs. example application instances

Слайд 39





Distributed Processing Environment (DPE)
An example application
Use cases:
Starting an application
Stopping an application
Blocking of a board
Addition of a board
Failing boards or PMs
Fail over
Software upgrade
Описание слайда:
Distributed Processing Environment (DPE) An example application Use cases: Starting an application Stopping an application Blocking of a board Addition of a board Failing boards or PMs Fail over Software upgrade

Слайд 40





An example application
Описание слайда:
An example application

Слайд 41





Example application (Cont.) - Logical view
Four major tasks:
handling of protocol interfacing base stations (Red I/F);
handling of protocol interfacing other nodes (Green I/F);
basic routing service (Routing); and
signal path handling (SignalPath).
Chosen application structure tree (AST).
Описание слайда:
Example application (Cont.) - Logical view Four major tasks: handling of protocol interfacing base stations (Red I/F); handling of protocol interfacing other nodes (Green I/F); basic routing service (Routing); and signal path handling (SignalPath). Chosen application structure tree (AST).

Слайд 42





Example Application (Cont.) - Computing resources
3 General Processing Boards (GPB)
1 x UltraSparc
Solaris
Описание слайда:
Example Application (Cont.) - Computing resources 3 General Processing Boards (GPB) 1 x UltraSparc Solaris

Слайд 43





Example application (Cont.) - Mapping
Описание слайда:
Example application (Cont.) - Mapping

Слайд 44





Starting an application
DPE creates application root instance (root).
Описание слайда:
Starting an application DPE creates application root instance (root).

Слайд 45





Stopping an application
DPE requests the application root instance (root) 
to stop the application.
Root requests DPE to 
stop the block instances.
delete the stopped block instances.
Root notifies DPE when the application is stopped.
DPE stops the root and assures that it is deleted.
Описание слайда:
Stopping an application DPE requests the application root instance (root) to stop the application. Root requests DPE to stop the block instances. delete the stopped block instances. Root notifies DPE when the application is stopped. DPE stops the root and assures that it is deleted.

Слайд 46





Blocking of a board
Operator requests DPE to block a board, and hence all PMs on that particular board.
DPE informs application root instance (root) about blocking request of PMs where the application has running Block Instances (BIs).
The root removes all BIs that belongs to the application from the PMs on the affected board.
DPE informs the operator when the whole board has been blocked.
Описание слайда:
Blocking of a board Operator requests DPE to block a board, and hence all PMs on that particular board. DPE informs application root instance (root) about blocking request of PMs where the application has running Block Instances (BIs). The root removes all BIs that belongs to the application from the PMs on the affected board. DPE informs the operator when the whole board has been blocked.

Слайд 47





Note that a blocking request can be issued by:

an operator via GUI,
an operator that presses the repair button on a board, 
an application.
Описание слайда:
Note that a blocking request can be issued by: an operator via GUI, an operator that presses the repair button on a board, an application.

Слайд 48





An example - Blocking board 6 
DPE informs root about blocking request 
affecting BI: signalPath:2.
Root requests DPE to stop and delete 
signalPath:2.
Описание слайда:
An example - Blocking board 6 DPE informs root about blocking request affecting BI: signalPath:2. Root requests DPE to stop and delete signalPath:2.

Слайд 49





Addition of a Plug-In-Unit (PIU)
An operator inserts a PIU into an empty slot 
DPE notifies all application root instances (roots) that new hardware is available
The Roots investigates if the applications should reconfigure
The Roots ask DPE for an allocation suggestion
Описание слайда:
Addition of a Plug-In-Unit (PIU) An operator inserts a PIU into an empty slot DPE notifies all application root instances (roots) that new hardware is available The Roots investigates if the applications should reconfigure The Roots ask DPE for an allocation suggestion

Слайд 50





Failing boards or PMs
Failures are caused by a wide variety of events
The result of these failures is that one or more block instances die.
DPE detects failures and sends messages to the affected application root instances
the message contains a set of failed block instances
These roots may then initiate application-specific recovery actions.
Описание слайда:
Failing boards or PMs Failures are caused by a wide variety of events The result of these failures is that one or more block instances die. DPE detects failures and sends messages to the affected application root instances the message contains a set of failed block instances These roots may then initiate application-specific recovery actions.

Слайд 51





An example - PM3 and PM4 on 
board 1 has failed 
DPE detects this, and:
notifies root:1 that the block instances 
redIF:1 and redIf:2 have died. 
root:1 may then initiate application-specific 
recovery actions.
Описание слайда:
An example - PM3 and PM4 on board 1 has failed DPE detects this, and: notifies root:1 that the block instances redIF:1 and redIf:2 have died. root:1 may then initiate application-specific recovery actions.

Слайд 52





But .. What if the Active NCB (Board 2) fails?
DPE performs a fail-over operation, 
which consists of replacing the active 
NCL with the passive NCL:
All the NCL data structures are replicated; 
the replicated data is used to re-establish the state of NCL. The operations of DPE can continue almost without disruption.
After fail-over, NCL will automatically restart all application root instances.
Описание слайда:
But .. What if the Active NCB (Board 2) fails? DPE performs a fail-over operation, which consists of replacing the active NCL with the passive NCL: All the NCL data structures are replicated; the replicated data is used to re-establish the state of NCL. The operations of DPE can continue almost without disruption. After fail-over, NCL will automatically restart all application root instances.

Слайд 53





An example: Board 2 has failed 
root:1, signalPath:1 and Active NCL die
DPE detects this, and:
performs a fail-over operation (active NCL is 
replaced with the passive NCL);
root:1 is restarted as root:2 on PM1 
	in board 3;
root:2 quires NCL about the state of the block instances. It finds out that signalPath:1 has died; and 
root:2 may then initiate application-specific 
recovery actions.
Описание слайда:
An example: Board 2 has failed root:1, signalPath:1 and Active NCL die DPE detects this, and: performs a fail-over operation (active NCL is replaced with the passive NCL); root:1 is restarted as root:2 on PM1 in board 3; root:2 quires NCL about the state of the block instances. It finds out that signalPath:1 has died; and root:2 may then initiate application-specific recovery actions.

Слайд 54





Software upgrade
DPE provides support for:
upgrading to a new software configuration;
falling back to a previously check-pointed 
software configuration; 
introducing patches.
The method to activate a software configuration depends on the circumstances.
From an applications point of view, it does not matter which activation method that is used:
an application may either be stopped or remain running;  
in each case it has to manage its own configuration data.
Описание слайда:
Software upgrade DPE provides support for: upgrading to a new software configuration; falling back to a previously check-pointed software configuration; introducing patches. The method to activate a software configuration depends on the circumstances. From an applications point of view, it does not matter which activation method that is used: an application may either be stopped or remain running; in each case it has to manage its own configuration data.

Слайд 55





Capsule Management
Capsule Management
Functionality and Behavior
Описание слайда:
Capsule Management Capsule Management Functionality and Behavior

Слайд 56





Capsule management
Capsule Management manages the creation and deletion of capsules
It is implemented by the following software entities:
the Capsule Manager, or CPM, which is a part of NCL
the Capsule Management Agents (or CPMAs): there is one such agent in each active PM.
Описание слайда:
Capsule management Capsule Management manages the creation and deletion of capsules It is implemented by the following software entities: the Capsule Manager, or CPM, which is a part of NCL the Capsule Management Agents (or CPMAs): there is one such agent in each active PM.

Слайд 57





An example of CPM and CPMAs
Описание слайда:
An example of CPM and CPMAs

Слайд 58





Capsule
Special protective environment for locating a block instance in a certain processing module (PM)
Make possible to use uniform interfaces between DPE and applications despite the differences in implementation languages, operating systems etc.
Capsule type defined by:
Hardware (SPARC, PowerPC, etc.)
Operating system (Solaris, RTOS, etc.)
Language (interpreted Erlang, C, Java, etc.)
Design decisions when implementing the capsule
Описание слайда:
Capsule Special protective environment for locating a block instance in a certain processing module (PM) Make possible to use uniform interfaces between DPE and applications despite the differences in implementation languages, operating systems etc. Capsule type defined by: Hardware (SPARC, PowerPC, etc.) Operating system (Solaris, RTOS, etc.) Language (interpreted Erlang, C, Java, etc.) Design decisions when implementing the capsule

Слайд 59





Capsule Attributes
MultipleLoadUnits
Can the capsule contain more than one load unit?
Loadable
Is it possible to add new load units after the capsule has been created?
MultiThreaded
Does the capsule support multiple block instances?
Описание слайда:
Capsule Attributes MultipleLoadUnits Can the capsule contain more than one load unit? Loadable Is it possible to add new load units after the capsule has been created? MultiThreaded Does the capsule support multiple block instances?

Слайд 60





Capsule attributes (cont’d)
Osunloadable
Is it possible for the OS to unload (shut down) the capsule
cachedSendmsg
Does the capsule type take advantage of the efficient protocol for DPE_SendMessage
Описание слайда:
Capsule attributes (cont’d) Osunloadable Is it possible for the OS to unload (shut down) the capsule cachedSendmsg Does the capsule type take advantage of the efficient protocol for DPE_SendMessage

Слайд 61





Capsule types
Solaris_C_Capsule
MultipleLoadUnits	No
Loadable		No
MultiThreaded		Yes
Osunloadable		Yes
cachedSendmsg	Yes
RTOS_C_Capsule    
MultipleLoadUnits	No
Loadable		No
MultiThreaded		Yes
Osunloadable		No
cachedSendmsg	Yes
Описание слайда:
Capsule types Solaris_C_Capsule MultipleLoadUnits No Loadable No MultiThreaded Yes Osunloadable Yes cachedSendmsg Yes RTOS_C_Capsule MultipleLoadUnits No Loadable No MultiThreaded Yes Osunloadable No cachedSendmsg Yes

Слайд 62





New RTOS C-capsule types
Using WPP5.0 it is possible to further specify the processor, an RTOS capsule may execute on.
RTOS_C_Capsule_*
Where * is the type of board, f.I: Ibxx, Ibxx_860, Ibxx_craneboard, PEB, etc.
Описание слайда:
New RTOS C-capsule types Using WPP5.0 it is possible to further specify the processor, an RTOS capsule may execute on. RTOS_C_Capsule_* Where * is the type of board, f.I: Ibxx, Ibxx_860, Ibxx_craneboard, PEB, etc.

Слайд 63





Implementation of a C-Capsule on Solaris
Описание слайда:
Implementation of a C-Capsule on Solaris

Слайд 64





Functionality and Behavior
Capsule management provides operations that
create, delete, and monitors capsules
loads load units into the capsule (only for Erlang and JAVA)
unloads load units from the capsule (only for Erlang and JAVA)
enable communication with entities inside the capsule
The block instance management uses these functions to ensure :
that a capsule will exist in the correct location
that the capsule is loaded with the block templates that are needed to create a given set of block instances
Описание слайда:
Functionality and Behavior Capsule management provides operations that create, delete, and monitors capsules loads load units into the capsule (only for Erlang and JAVA) unloads load units from the capsule (only for Erlang and JAVA) enable communication with entities inside the capsule The block instance management uses these functions to ensure : that a capsule will exist in the correct location that the capsule is loaded with the block templates that are needed to create a given set of block instances

Слайд 65





Distributed Processing Environment (DPE)
Block instance management 
Description of block, block template, load unit, block instance and capsule
Functionality and behavior
Operations available to applications
Описание слайда:
Distributed Processing Environment (DPE) Block instance management Description of block, block template, load unit, block instance and capsule Functionality and behavior Operations available to applications

Слайд 66





Block instance management
Execution Management manages block instances.
A block instance is the basic functioning unit of an application. 
It is implemented by the following software entities:
the Execution Manager, or EXM, which is a part of NCL;
the Execution Management Agents (or EXMAs): there is one such agent in each existing capsule.
Описание слайда:
Block instance management Execution Management manages block instances. A block instance is the basic functioning unit of an application. It is implemented by the following software entities: the Execution Manager, or EXM, which is a part of NCL; the Execution Management Agents (or EXMAs): there is one such agent in each existing capsule.

Слайд 67





An example of EXM and EXMAs
Описание слайда:
An example of EXM and EXMAs

Слайд 68





Description of block, block template, load unit, block instance and capsule
Описание слайда:
Description of block, block template, load unit, block instance and capsule

Слайд 69





Block and block template
Block
A functional unit within an application.
Smallest functional part that can be instantiated to a running entity on a particular processing module (PM).
Block template
Executable code performing the functionality of a block.
Same block may have several block templates, each for a different type of execution environment (Capsule).
Описание слайда:
Block and block template Block A functional unit within an application. Smallest functional part that can be instantiated to a running entity on a particular processing module (PM). Block template Executable code performing the functionality of a block. Same block may have several block templates, each for a different type of execution environment (Capsule).

Слайд 70





Block Instance
A block instance:
resides in a particular capsule;
requires that the appropriate block template is present in the capsule; and
is created based on the block template.
A block instance is the executing form of a block, e.g., 
an Erlang process. 
Each block instance (BI): 
belongs to a particular application instance; and
has an unique identity (block instance name) which is not reused.
Описание слайда:
Block Instance A block instance: resides in a particular capsule; requires that the appropriate block template is present in the capsule; and is created based on the block template. A block instance is the executing form of a block, e.g., an Erlang process. Each block instance (BI): belongs to a particular application instance; and has an unique identity (block instance name) which is not reused.

Слайд 71





Load Unit
An entity containing one or more block templates.
A C load unit is a file.
An Erlang load unit is a directory.
Specific to a capsule type.
When code is loaded into a capsule, it is always in the form of an entire load unit.
After a load unit is loaded into a capsule, the capsule contains copies of the enclosed block templates.
Описание слайда:
Load Unit An entity containing one or more block templates. A C load unit is a file. An Erlang load unit is a directory. Specific to a capsule type. When code is loaded into a capsule, it is always in the form of an entire load unit. After a load unit is loaded into a capsule, the capsule contains copies of the enclosed block templates.

Слайд 72





Summary of relation between block, load unit, block template, capsule and block instance
Описание слайда:
Summary of relation between block, load unit, block template, capsule and block instance

Слайд 73





The internals of a C-Capsule on Solaris
Описание слайда:
The internals of a C-Capsule on Solaris

Слайд 74





Implementation of a block instance in a 
C-Capsule on Solaris
Описание слайда:
Implementation of a block instance in a C-Capsule on Solaris

Слайд 75





Functionality and behavior
Block instance management provides operations that:
create, start, stop, delete, and kill block instances;
enable communication between block instances; and
monitors block instances.
Application request to DPE for block instance management is:
directed to EXM, which carries out the request by means of the various local EXMAs.
What type of interface does DPE provide?
Описание слайда:
Functionality and behavior Block instance management provides operations that: create, start, stop, delete, and kill block instances; enable communication between block instances; and monitors block instances. Application request to DPE for block instance management is: directed to EXM, which carries out the request by means of the various local EXMAs. What type of interface does DPE provide?

Слайд 76





Asynchronous vs. synchronous interface
Описание слайда:
Asynchronous vs. synchronous interface

Слайд 77





Asynchronous vs. synchronous interface (cont.)
Asynchronous
Pros
Enables quick response to various events
A capsule with an asynchronous interface is easy to implement
Cons
Requires great care from the application programmers
Difficult to provide a structured application program
Описание слайда:
Asynchronous vs. synchronous interface (cont.) Asynchronous Pros Enables quick response to various events A capsule with an asynchronous interface is easy to implement Cons Requires great care from the application programmers Difficult to provide a structured application program

Слайд 78





The main states of a block instance
Описание слайда:
The main states of a block instance

Слайд 79





Creating a block instance
Описание слайда:
Creating a block instance

Слайд 80





Starting a block instance
Описание слайда:
Starting a block instance

Слайд 81





Stopping a block instance
Описание слайда:
Stopping a block instance

Слайд 82





Deleting a block instance
Описание слайда:
Deleting a block instance

Слайд 83





Killing a block instance
Описание слайда:
Killing a block instance

Слайд 84





All states of a block instance
Описание слайда:
All states of a block instance

Слайд 85





Communication between block instances
Messages can be sent between block instances via:
DPE_SendMessage in C; and
send_message in Erlang.
No automatic confirmation is provided to the sender.
An application is free to define its own protocol.
Provides an easy way of using block instance names for addressing recipients of communication.
Note that a restarted block instance will get a 
new block instance name.
Описание слайда:
Communication between block instances Messages can be sent between block instances via: DPE_SendMessage in C; and send_message in Erlang. No automatic confirmation is provided to the sender. An application is free to define its own protocol. Provides an easy way of using block instance names for addressing recipients of communication. Note that a restarted block instance will get a new block instance name.

Слайд 86





Monitoring of block instances
Every block instance in a capsule is monitored by the EXMA in that capsule:
The Monitor() function is called;
The block instance is expected to invoke DPE_BlockInstanceAlive(); and
If this is not done, within a certain amount of time, EXMA will inform NCL that the block instance has died.
NCL informs the application root instance that the block instance has died.
A failed application root instance will not be notified. Instead it is restarted by NCL.
Описание слайда:
Monitoring of block instances Every block instance in a capsule is monitored by the EXMA in that capsule: The Monitor() function is called; The block instance is expected to invoke DPE_BlockInstanceAlive(); and If this is not done, within a certain amount of time, EXMA will inform NCL that the block instance has died. NCL informs the application root instance that the block instance has died. A failed application root instance will not be notified. Instead it is restarted by NCL.

Слайд 87





Operations available to applications
create  		Creates a set of block instances.
start 		Starts a set of block instances.
stop		Stops a set of block instances.
delete		Deletes a set of block instance.
kill			Kills a set of block instances.
sendMessage	Sends a message to a block instance.
Описание слайда:
Operations available to applications create Creates a set of block instances. start Starts a set of block instances. stop Stops a set of block instances. delete Deletes a set of block instance. kill Kills a set of block instances. sendMessage Sends a message to a block instance.

Слайд 88





Distributed Processing Environment (DPE)
Part of Node Control Logic (NCL)
Map of hardware (HW)
Used by Function Distribution Manager (FDM)
Crane Board Dictionary (CBD)
HW supervision
HW control
Auxiliary services
Описание слайда:
Distributed Processing Environment (DPE) Part of Node Control Logic (NCL) Map of hardware (HW) Used by Function Distribution Manager (FDM) Crane Board Dictionary (CBD) HW supervision HW control Auxiliary services

Слайд 89





Node Hardware
Magazine
Plug-In-Units (PIUs)
Описание слайда:
Node Hardware Magazine Plug-In-Units (PIUs)

Слайд 90





Equipment ID
Specifies location of equipment
Magazines, PIUs, subboards, FEs are numbered
Form is Mag.Slot.SubPos.ElemPos
PIU located by Mag.Slot
PM located by Mag.Slot.SubPos.ElemPos
Empty equipment ID denotes the entire node
Описание слайда:
Equipment ID Specifies location of equipment Magazines, PIUs, subboards, FEs are numbered Form is Mag.Slot.SubPos.ElemPos PIU located by Mag.Slot PM located by Mag.Slot.SubPos.ElemPos Empty equipment ID denotes the entire node

Слайд 91





Equipment ID - examples
{ 1.5 } - PIU inserted in slot 5 of magazine 1
{ 2.4.2.1 } - PM located in position 1 on subboard position 2 on PIU inserted in slot 4 of magazine 2
{ } - The entire node
Описание слайда:
Equipment ID - examples { 1.5 } - PIU inserted in slot 5 of magazine 1 { 2.4.2.1 } - PM located in position 1 on subboard position 2 on PIU inserted in slot 4 of magazine 2 { } - The entire node

Слайд 92





Node hierarchy visualized
Описание слайда:
Node hierarchy visualized

Слайд 93





Node hierarchy visualized
Описание слайда:
Node hierarchy visualized

Слайд 94





Equipment Products Table File
.ept is delivered in NDP Core
Defines all types of PIUs
Including subboards and FEs for PIU-types respectively
Used by EQM to initialize Table of Equipment Products (TEP)
Must NOT be modified by application developers
Описание слайда:
Equipment Products Table File .ept is delivered in NDP Core Defines all types of PIUs Including subboards and FEs for PIU-types respectively Used by EQM to initialize Table of Equipment Products (TEP) Must NOT be modified by application developers

Слайд 95





Crane Board Dictionary (CBD)
Dynamic map maintained by DPE
Associates logical names (named sets) with PIU locations
End-system applications can distribute functions over various sets PIUs without modifications in the source code
Specified in a configuration file with extension .cbd
Specified as a named set of PIU selection criteria
PIU Location Criteria
PIU Type Criteria
Logical names may occur in Application directives
Описание слайда:
Crane Board Dictionary (CBD) Dynamic map maintained by DPE Associates logical names (named sets) with PIU locations End-system applications can distribute functions over various sets PIUs without modifications in the source code Specified in a configuration file with extension .cbd Specified as a named set of PIU selection criteria PIU Location Criteria PIU Type Criteria Logical names may occur in Application directives

Слайд 96





CBD configuration file examples
Location criteria:
location( AllowedNCBs 1.20 )
location( AllowedNCBs 2.20 )
Описание слайда:
CBD configuration file examples Location criteria: location( AllowedNCBs 1.20 ) location( AllowedNCBs 2.20 )

Слайд 97





EQM, EQMA and EQSA
A DPE slave process called EQMA (Equipment Management Agent) runs on every PM
EQM detects remote hardware by catching broadcast messages emitted by EQMAs
EQM monitors remote processors by sending poll messages to EQMAs. If an EQMA sends timely poll replies, EQM believes its processor is alive
If EQM believes a remote processor is down, it does not send poll messages to its EQMA
EQMAs use poll messages to maintain watchdogs
EQSAs (EQM Sub-Agents) handle HW specific operations
Описание слайда:
EQM, EQMA and EQSA A DPE slave process called EQMA (Equipment Management Agent) runs on every PM EQM detects remote hardware by catching broadcast messages emitted by EQMAs EQM monitors remote processors by sending poll messages to EQMAs. If an EQMA sends timely poll replies, EQM believes its processor is alive If EQM believes a remote processor is down, it does not send poll messages to its EQMA EQMAs use poll messages to maintain watchdogs EQSAs (EQM Sub-Agents) handle HW specific operations

Слайд 98





TEIE and TCIE
Table of Expected Installed Equipment
Describes the “ideal” state of all the equipment in the node.
A piece of equipment not listed in TCIE is called Foregin and will not be available for use be DPE applications.
TEIE is loaded from the file gsn.teie and only changed when an operator invokes the CLI command scale_up.
Описание слайда:
TEIE and TCIE Table of Expected Installed Equipment Describes the “ideal” state of all the equipment in the node. A piece of equipment not listed in TCIE is called Foregin and will not be available for use be DPE applications. TEIE is loaded from the file gsn.teie and only changed when an operator invokes the CLI command scale_up.

Слайд 99





AEA (All Equipment Available)
Start-up HW detection process takes time
How does EQM know when all hardware has been found?
NDM waits for AEA to be set, or for timeout
EQM enters information about detected hardware into TCIE
AEA is set by EQM when contents of TCIE = contents of TEIE 
Applications started when all equipment present in last hardware snapshot has been found
Описание слайда:
AEA (All Equipment Available) Start-up HW detection process takes time How does EQM know when all hardware has been found? NDM waits for AEA to be set, or for timeout EQM enters information about detected hardware into TCIE AEA is set by EQM when contents of TCIE = contents of TEIE Applications started when all equipment present in last hardware snapshot has been found

Слайд 100





Equipment State	
Operational (up or down)
Administrative (deblocked, blocked, foreign)
A PM which is up and deblocked can be used by applications
A PM which is foreign is not part of the current node size and thus not available for use by applications.
Описание слайда:
Equipment State Operational (up or down) Administrative (deblocked, blocked, foreign) A PM which is up and deblocked can be used by applications A PM which is foreign is not part of the current node size and thus not available for use by applications.

Слайд 101





Administrative State
Deblocked (can be used),  blocked (can not 
be used)
Administrative State of PMs and PIUs can be set by applications
Operators can block PIUs via GUI or the Repair Request button 
Applications must be prepared to clear BIs from PM that are to be blocked
Описание слайда:
Administrative State Deblocked (can be used), blocked (can not be used) Administrative State of PMs and PIUs can be set by applications Operators can block PIUs via GUI or the Repair Request button Applications must be prepared to clear BIs from PM that are to be blocked

Слайд 102


Distributed processing environment (DPE), слайд №102
Описание слайда:

Слайд 103





Equipment supervision
When EQM detects that a PM has gone down it informs all applications that had BIs running on that PM. Applications may reallocate these BIs to other PMs
When EQM detects new PMs, application root instances are informed
Applications may request to be informed when operational or administrative state of a particular PM changes
A state register variable is set every time the set of PIUs associated with a logical name changes
Описание слайда:
Equipment supervision When EQM detects that a PM has gone down it informs all applications that had BIs running on that PM. Applications may reallocate these BIs to other PMs When EQM detects new PMs, application root instances are informed Applications may request to be informed when operational or administrative state of a particular PM changes A state register variable is set every time the set of PIUs associated with a logical name changes

Слайд 104





Auxiliary services
These services can be used by applications that need more detailed information about the hardware in a node
Think twice about using these services – using them is against the spirit of DPE
Описание слайда:
Auxiliary services These services can be used by applications that need more detailed information about the hardware in a node Think twice about using these services – using them is against the spirit of DPE

Слайд 105





Auxiliary services... Hardware information
List equipment
Get equipment attributes (operational state, administrative state, etc)
Get IP address of a processor
Описание слайда:
Auxiliary services... Hardware information List equipment Get equipment attributes (operational state, administrative state, etc) Get IP address of a processor

Слайд 106





Auxiliary Services... Crane Board Dictionary
Get PIUs associated with CBD logical name
Add or Remove 
Type Criteria
Location Criteria 
to a Logical Name
Run-time changes of CBD are not persistent
Описание слайда:
Auxiliary Services... Crane Board Dictionary Get PIUs associated with CBD logical name Add or Remove Type Criteria Location Criteria to a Logical Name Run-time changes of CBD are not persistent

Слайд 107





Auxiliary services... Control Equipment
Block or Deblock a PIU
Restart Function Elements such as processors
Reset the whole node
Remove entry for equipment that is known to be down
Описание слайда:
Auxiliary services... Control Equipment Block or Deblock a PIU Restart Function Elements such as processors Reset the whole node Remove entry for equipment that is known to be down

Слайд 108





Auxiliary Services... Active and Backup NCL
CBD logical name – Active NCB
CBD logical name – Backup NCB
State Register Variable – Backup Available
Описание слайда:
Auxiliary Services... Active and Backup NCL CBD logical name – Active NCB CBD logical name – Backup NCB State Register Variable – Backup Available

Слайд 109





Summary
EQM maps available hardware
State, Availability, Supervision
Function Elements = Processors and IO cards
Equipment ID = Mag.Slot.SubPos.ElemPos
EQMAs run on every processor 
Avoid having applications using Auxiliary services
Описание слайда:
Summary EQM maps available hardware State, Availability, Supervision Function Elements = Processors and IO cards Equipment ID = Mag.Slot.SubPos.ElemPos EQMAs run on every processor Avoid having applications using Auxiliary services

Слайд 110





Distributed Processing Environment (DPE)

Purpose of FDM
Services provided by FDM
Principles of FDM
Описание слайда:
Distributed Processing Environment (DPE) Purpose of FDM Services provided by FDM Principles of FDM

Слайд 111





Purpose of FDM
To support applications in distributing their block instances, so that:
required functionality is provided;
fault tolerance is guaranteed;
available resources are utilized to meet capacity requirements.
This typically means:
1)	distribution of block instances to certain, dedicated PMs;
2)	distribution of ”hot stand-by” instances of blocks;
3.1) distribution of block instances to each board of a certain type;
3.2) sharing of ”heavy” capsules, e.g., Erlang capsules.
The same application code must be executable on several different node configurations!
Описание слайда:
Purpose of FDM To support applications in distributing their block instances, so that: required functionality is provided; fault tolerance is guaranteed; available resources are utilized to meet capacity requirements. This typically means: 1) distribution of block instances to certain, dedicated PMs; 2) distribution of ”hot stand-by” instances of blocks; 3.1) distribution of block instances to each board of a certain type; 3.2) sharing of ”heavy” capsules, e.g., Erlang capsules. The same application code must be executable on several different node configurations!

Слайд 112





Services provided by FDM
FDM provides an API for applications to:
specify adequate distributions of block instances;
generate adequate distributions of block instances.
Описание слайда:
Services provided by FDM FDM provides an API for applications to: specify adequate distributions of block instances; generate adequate distributions of block instances.

Слайд 113





Some Properties of Block Instance Names
A block instance name includes information about:
the position of its PM;
the name of the capsule in which it resides.
  The name of a block instance determines its location.
Описание слайда:
Some Properties of Block Instance Names A block instance name includes information about: the position of its PM; the name of the capsule in which it resides.  The name of a block instance determines its location.

Слайд 114





Textual representation of a block instance name
Описание слайда:
Textual representation of a block instance name

Слайд 115





Definitions
Distribution
a set of block instance names.
Current distribution
the set of names of block instances which are in any state except for “Mapped” (i.e., which “exist”).
Adequate distribution
a distribution (i.e., a set of block instance names).
Distribution difference
two sets of names of block instances that must be created and deleted, respectively, in order for the current distribution to become an adequate distribution.
Описание слайда:
Definitions Distribution a set of block instance names. Current distribution the set of names of block instances which are in any state except for “Mapped” (i.e., which “exist”). Adequate distribution a distribution (i.e., a set of block instance names). Distribution difference two sets of names of block instances that must be created and deleted, respectively, in order for the current distribution to become an adequate distribution.

Слайд 116





Example
Описание слайда:
Example

Слайд 117





Services Provided by FDM (again)
Declaration of application directives
application directives specify adequate distributions.
Allocation
allocation generates a distribution difference as result.
The distribution difference should be considered a suggestion: DPE does not create a block instance until requested.
No capsule is created until creation of a block instance in that capsule is requested.
Описание слайда:
Services Provided by FDM (again) Declaration of application directives application directives specify adequate distributions. Allocation allocation generates a distribution difference as result. The distribution difference should be considered a suggestion: DPE does not create a block instance until requested. No capsule is created until creation of a block instance in that capsule is requested.

Слайд 118





FDM – Basic Principles
Three types of application directives
PM Group (PMG) 		 constraint on PMs;
Capsule Group (CPG) 		 constraint on capsules;
Block Instance Group (BIG) 	 constraint on block instances.
A combination of groups 	 adequate distributions. 
Allocation  infers current and generates predicted content:	PMG	content = set of PM names;
			CPG	content = set of capsule names;
			BIG	content = set of block Instance names;
Distribution difference = predicted ”–” current content of BIG.
Описание слайда:
FDM – Basic Principles Three types of application directives PM Group (PMG)  constraint on PMs; Capsule Group (CPG)  constraint on capsules; Block Instance Group (BIG)  constraint on block instances. A combination of groups  adequate distributions. Allocation  infers current and generates predicted content: PMG content = set of PM names; CPG content = set of capsule names; BIG content = set of block Instance names; Distribution difference = predicted ”–” current content of BIG.

Слайд 119





Current and Predicted Content of a BIG
Описание слайда:
Current and Predicted Content of a BIG

Слайд 120





Some Properties of Board and PM Positions
The position of a board is specified by two numbers.
The position of a PM is specified by four numbers.
Описание слайда:
Some Properties of Board and PM Positions The position of a board is specified by two numbers. The position of a PM is specified by four numbers.

Слайд 121





Crane Board Dictionary (CBD) in a Nutshell
CBD maps logical names to sets of board positions.
Each set of board positions is either defined by:
an explicit enumeration of positions, or;
a board type.
Only positions of detected boards are included.
CBD is initialized from a configuration file.
There is an API for dynamically updating CBD.
Predefined logical names:	”AllCraneBoards”
					”ActiveNCB”
					”BackupNCB”
Описание слайда:
Crane Board Dictionary (CBD) in a Nutshell CBD maps logical names to sets of board positions. Each set of board positions is either defined by: an explicit enumeration of positions, or; a board type. Only positions of detected boards are included. CBD is initialized from a configuration file. There is an API for dynamically updating CBD. Predefined logical names: ”AllCraneBoards” ”ActiveNCB” ”BackupNCB”

Слайд 122





PM Groups (PMG)
Two criteria for including a PM in the PMG’s content:
Supported capsule types;
Allowed PM positions (four types):
(basic) Explicit enumeration of PM positions;
(basic) All PMs in boards of a logical name;
(basic) Relative positions in boards of a logical name:






(included) PM positions to which capsules of a CPG are allocated.
Описание слайда:
PM Groups (PMG) Two criteria for including a PM in the PMG’s content: Supported capsule types; Allowed PM positions (four types): (basic) Explicit enumeration of PM positions; (basic) All PMs in boards of a logical name; (basic) Relative positions in boards of a logical name: (included) PM positions to which capsules of a CPG are allocated.

Слайд 123





PMG Selection Criteria - Illustration
Описание слайда:
PMG Selection Criteria - Illustration

Слайд 124





Example – PMG1
PMG1 will contain all PMs that support Erlang capsules.
Описание слайда:
Example – PMG1 PMG1 will contain all PMs that support Erlang capsules.

Слайд 125





Example - PMG2
PMG2 will contain all PMs that:
support C and Erlang capsules, and;
are in relative position 2.1 of;
boards associated with the logical name MyBoards.
Описание слайда:
Example - PMG2 PMG2 will contain all PMs that: support C and Erlang capsules, and; are in relative position 2.1 of; boards associated with the logical name MyBoards.

Слайд 126





Capsule Groups  (CPG)
Two types of CPGs
Basic: PMG + capsule type + a size N
	should contain N capsules of the specified type.
At most one capsule per PM in the specified PMG.
Included: another CPG + PMG + a size N
	should contain N of the capsules included in the other CPG. Each capsule must reside on some PM in the specified PMG.
N < 0 means ”all”.
Описание слайда:
Capsule Groups (CPG) Two types of CPGs Basic: PMG + capsule type + a size N should contain N capsules of the specified type. At most one capsule per PM in the specified PMG. Included: another CPG + PMG + a size N should contain N of the capsules included in the other CPG. Each capsule must reside on some PM in the specified PMG. N < 0 means ”all”.

Слайд 127





CPG Selection Criteria (Basic) - Illustration
Описание слайда:
CPG Selection Criteria (Basic) - Illustration

Слайд 128





CPG Selection Criteria (Included) - Illustration
Описание слайда:
CPG Selection Criteria (Included) - Illustration

Слайд 129





Example – CPG1
	The Capsule Group CPG1 should contain one Erlang capsule on each PM in PMG1.
Описание слайда:
Example – CPG1 The Capsule Group CPG1 should contain one Erlang capsule on each PM in PMG1.

Слайд 130





Example – CPG2
	The Capsule Group CPG2 should contain two of the capsules in CPG1 that reside on PMs in PMG2.
Описание слайда:
Example – CPG2 The Capsule Group CPG2 should contain two of the capsules in CPG1 that reside on PMs in PMG2.

Слайд 131





Block Instance Groups (BIG)
Only one type of BIG
Block name + CPG + weight
	should contain exactly one instance of the block in each capsule of the CPG.
The weight is used for rudimentary, static load balancing. It must be within the range 1 - 1000.
Описание слайда:
Block Instance Groups (BIG) Only one type of BIG Block name + CPG + weight should contain exactly one instance of the block in each capsule of the CPG. The weight is used for rudimentary, static load balancing. It must be within the range 1 - 1000.

Слайд 132





BIG Selection Criterion - Illustration
Описание слайда:
BIG Selection Criterion - Illustration

Слайд 133





Example – BIG1 and BIG2
	The Block Instance Group BIG1 should contain one instance of the block E1 in each capsule in CPG2
	The Block Instance Group BIG2 should contain one instance of the block E2 in the same two capsules.
Описание слайда:
Example – BIG1 and BIG2 The Block Instance Group BIG1 should contain one instance of the block E1 in each capsule in CPG2 The Block Instance Group BIG2 should contain one instance of the block E2 in the same two capsules.

Слайд 134





Example – Summary of Application Directives
Описание слайда:
Example – Summary of Application Directives

Слайд 135





Example – Predicted Contents
Описание слайда:
Example – Predicted Contents

Слайд 136





Example – Adequate Distributions
PM1, PM2, PM3, and PM4 belong to PMG1
PM2, PM3, PM4 belong to PMG2
 adequate distributions:
Описание слайда:
Example – Adequate Distributions PM1, PM2, PM3, and PM4 belong to PMG1 PM2, PM3, PM4 belong to PMG2  adequate distributions:

Слайд 137





Example – PMG3
	PMG3 will contain exactly those PMs on which some capsule in CPG2 resides.
Описание слайда:
Example – PMG3 PMG3 will contain exactly those PMs on which some capsule in CPG2 resides.

Слайд 138





Allocation
Input:	a set of BIG names
Output:	a distribution difference for each BIG
Описание слайда:
Allocation Input: a set of BIG names Output: a distribution difference for each BIG

Слайд 139





Load Balancing
Static balancing of predicted load
Based on weights specified for BIGs
Applicable only when there is a choice
Example
Описание слайда:
Load Balancing Static balancing of predicted load Based on weights specified for BIGs Applicable only when there is a choice Example

Слайд 140





Priorities
Priorities applied by Allocate (decreasing order):
Satisfaction of application directives;
Minimize modification of current distribution;
Uniform load balancing.
Описание слайда:
Priorities Priorities applied by Allocate (decreasing order): Satisfaction of application directives; Minimize modification of current distribution; Uniform load balancing.

Слайд 141





Scopes of Group Names
Each group name (of PMG, CPG, BIG) has a scope
NCL		Group ”belongs” to NCL;
Global		Group has no specific ”owner”;
Application	Group ”belongs” to one application.
Purpose
To avoid name conflicts;
To indicate which entities may use the group.
Example
Описание слайда:
Scopes of Group Names Each group name (of PMG, CPG, BIG) has a scope NCL Group ”belongs” to NCL; Global Group has no specific ”owner”; Application Group ”belongs” to one application. Purpose To avoid name conflicts; To indicate which entities may use the group. Example

Слайд 142





Predefined Capsule Groups
For each capsule type, that:
is loadable;
has a name of the form ”Name_Capsule”
	there is a CPG called Name with global scope.
The CPG contains one capsule per PM that supports the type.
	Example:
		”Erlang_Capsule”	 ”Erlang”
	”Java_Capsule” 	 ”Java”
	cf. The example definition of CPG1
Описание слайда:
Predefined Capsule Groups For each capsule type, that: is loadable; has a name of the form ”Name_Capsule” there is a CPG called Name with global scope. The CPG contains one capsule per PM that supports the type. Example: ”Erlang_Capsule” ”Erlang” ”Java_Capsule” ”Java” cf. The example definition of CPG1

Слайд 143





Error situations
Errors when declaring a PMG, CPG or BIG
name is already in use;
group depends on undeclared entity;
incompatibilities (e.g., mismatching capsule types).
Errors during allocation
insufficient number of PMs.
The application directives of an application exist until the application has been stopped.
Application directives cannot be modified.
Описание слайда:
Error situations Errors when declaring a PMG, CPG or BIG name is already in use; group depends on undeclared entity; incompatibilities (e.g., mismatching capsule types). Errors during allocation insufficient number of PMs. The application directives of an application exist until the application has been stopped. Application directives cannot be modified.

Слайд 144





Distributed Processing Environment (DPE)
Описание слайда:
Distributed Processing Environment (DPE)

Слайд 145





The Purpose of the State Register
	The purpose of the State Register is to provide a general and extensible mechanism for:
Synchronisation
Applications may need to synchronise their activities with other applications. 
Publication of information
Applications may wish to publish data that is visible to other applications.
Safe storage of data
Applications may want stored data to be maintained even in the case of SW or HW failure.
Описание слайда:
The Purpose of the State Register The purpose of the State Register is to provide a general and extensible mechanism for: Synchronisation Applications may need to synchronise their activities with other applications. Publication of information Applications may wish to publish data that is visible to other applications. Safe storage of data Applications may want stored data to be maintained even in the case of SW or HW failure.

Слайд 146





The State Register
A set of State Variables. 
 Managed by NCL.
Applications are able to publish and modify a State Variable.
Applications are able to subscribe to modifications of a State Variable.
All modifications of the State Register are replicated  to the Backup NCL.
Описание слайда:
The State Register A set of State Variables. Managed by NCL. Applications are able to publish and modify a State Variable. Applications are able to subscribe to modifications of a State Variable. All modifications of the State Register are replicated to the Backup NCL.

Слайд 147





The State Variable
	Each entry in the State Register has the following properties: 
the name of a state variable. 
the status of the state variable:  TRUE or FALSE. 
the value of the state variable, only defined if Status =TRUE. 
a set of block instance names, called the subscribers to the state variable. 
a set of block instance names, called the providers of the service represented by the state variable. 
a set of block instance names, called the acknowledgement requesters of the state variable.
Описание слайда:
The State Variable Each entry in the State Register has the following properties: the name of a state variable. the status of the state variable: TRUE or FALSE. the value of the state variable, only defined if Status =TRUE. a set of block instance names, called the subscribers to the state variable. a set of block instance names, called the providers of the service represented by the state variable. a set of block instance names, called the acknowledgement requesters of the state variable.

Слайд 148





An example of the State Register
Описание слайда:
An example of the State Register

Слайд 149





Subscribers, an example
Описание слайда:
Subscribers, an example

Слайд 150





Providers, an example
Описание слайда:
Providers, an example

Слайд 151





Operations available to applications
Subscribe to a State Variable
Unsubscribe to a State Variable
(Re)initialise a State Variable, with or without acknowledgement request
Set the value of a State Variable
Reset a State Variable
Request information about the subscribers
Request information about the providers
Описание слайда:
Operations available to applications Subscribe to a State Variable Unsubscribe to a State Variable (Re)initialise a State Variable, with or without acknowledgement request Set the value of a State Variable Reset a State Variable Request information about the subscribers Request information about the providers

Слайд 152





Subscribe to a State Variable
Описание слайда:
Subscribe to a State Variable

Слайд 153





Unsubscribe from a State Variable
Описание слайда:
Unsubscribe from a State Variable

Слайд 154





(Re)initialize a State Variable
Описание слайда:
(Re)initialize a State Variable

Слайд 155





(Re)initialize a State Variable with acknowledgements
Описание слайда:
(Re)initialize a State Variable with acknowledgements

Слайд 156





Set the value of a State Variable
Описание слайда:
Set the value of a State Variable

Слайд 157





Reset a State Variable
Описание слайда:
Reset a State Variable

Слайд 158





Request information about the subscribers
Описание слайда:
Request information about the subscribers

Слайд 159





Request information about the providers
Описание слайда:
Request information about the providers

Слайд 160





State Variables owned by NCL
APPL_<X>
DPE_ SR_NodeUp
DPE_SR_DpeRoot
Описание слайда:
State Variables owned by NCL APPL_<X> DPE_ SR_NodeUp DPE_SR_DpeRoot

Слайд 161





State Variables owned by NCL, continued
DPE_SR_CurrentSC
DPE_SR_NextSC
DPE_SR_PreviousSC
Описание слайда:
State Variables owned by NCL, continued DPE_SR_CurrentSC DPE_SR_NextSC DPE_SR_PreviousSC

Слайд 162





State Variables owned by NCL, continued
DPE_SR_BackupNCLAvailable
DPE_SR_ActiveNCLAvailable
DPE_SR_NewPMsAvailable
DPE_SR_CBDChanged
DPE_SR_StoppingAllApplications
Описание слайда:
State Variables owned by NCL, continued DPE_SR_BackupNCLAvailable DPE_SR_ActiveNCLAvailable DPE_SR_NewPMsAvailable DPE_SR_CBDChanged DPE_SR_StoppingAllApplications

Слайд 163





Distributed Processing Environment (DPE)

Software Management Services
Delivery Packages
ADP
NDP
DDP
NDP installation
Structure of the file system
Software Configurations
Описание слайда:
Distributed Processing Environment (DPE) Software Management Services Delivery Packages ADP NDP DDP NDP installation Structure of the file system Software Configurations

Слайд 164





Software Management Services
Installation of software
Removal of installed software
Management of software configurations
Activation of a SC
Checkpoint of a SC
Verify consistency of a SC
Set a SC to be used for next restart
Set a SC to be used as default
Описание слайда:
Software Management Services Installation of software Removal of installed software Management of software configurations Activation of a SC Checkpoint of a SC Verify consistency of a SC Set a SC to be used for next restart Set a SC to be used as default

Слайд 165





Delivery Packages
A compressed archive file (tar-file)
Three types of delivery packages:
Application Delivery Package (ADP)
Node Delivery Package (NDP)
Development Delivery Package (DDP)
Описание слайда:
Delivery Packages A compressed archive file (tar-file) Three types of delivery packages: Application Delivery Package (ADP) Node Delivery Package (NDP) Development Delivery Package (DDP)

Слайд 166





Application Delivery Package (ADP)
Mandatory files:
Load units
Application structure tree file
Block to load unit map file
Upgrade action file
Optional files:
Boot files
Application specific configuration data
Application specific web server data
Описание слайда:
Application Delivery Package (ADP) Mandatory files: Load units Application structure tree file Block to load unit map file Upgrade action file Optional files: Boot files Application specific configuration data Application specific web server data

Слайд 167





Application Delivery Package (ADP), cont’d
Описание слайда:
Application Delivery Package (ADP), cont’d

Слайд 168





Node Delivery Package (NDP)
Mandatory files:
Boot files
NCL load units
ADPs
Crane Board dictionary definitions file
Capsule attributes file
Node attributes file
Product definition file
Persistent Application file
Scripts
Dynamic link libraries
Описание слайда:
Node Delivery Package (NDP) Mandatory files: Boot files NCL load units ADPs Crane Board dictionary definitions file Capsule attributes file Node attributes file Product definition file Persistent Application file Scripts Dynamic link libraries

Слайд 169





Node Delivery Package (NDP), cont’d
Описание слайда:
Node Delivery Package (NDP), cont’d

Слайд 170





The process of building a final NDP
Описание слайда:
The process of building a final NDP

Слайд 171





Installation NDP vs “Original” NDP
Описание слайда:
Installation NDP vs “Original” NDP

Слайд 172





Initial Node installation
An external installation server is needed
Connected to the internal node network via the PEB
The installation server is a Dynamic Host Configuration Protocol (DHCP) and FTP server
Описание слайда:
Initial Node installation An external installation server is needed Connected to the internal node network via the PEB The installation server is a Dynamic Host Configuration Protocol (DHCP) and FTP server

Слайд 173





Initial Node installation, cont’d
SW installed from external server
Описание слайда:
Initial Node installation, cont’d SW installed from external server

Слайд 174





IBxx installation
The active NCB acts as installation server
IBxx boards get their SW from the active NCB
Описание слайда:
IBxx installation The active NCB acts as installation server IBxx boards get their SW from the active NCB

Слайд 175





NDP installation for SW Upgrade
The node SW remains running
Operator installs new NDP via the GUI
Описание слайда:
NDP installation for SW Upgrade The node SW remains running Operator installs new NDP via the GUI

Слайд 176





Structure of the file system
Описание слайда:
Structure of the file system

Слайд 177





Software Configuration (SC)
Описание слайда:
Software Configuration (SC)

Слайд 178





Software Configuration (SC), cont’d
Описание слайда:
Software Configuration (SC), cont’d

Слайд 179





Software Configurations (SCs)
Описание слайда:
Software Configurations (SCs)

Слайд 180





Distributed Processing Environment (DPE)
Activation of a software configuration
Check pointing
An application perspective of upgrade
Описание слайда:
Distributed Processing Environment (DPE) Activation of a software configuration Check pointing An application perspective of upgrade

Слайд 181





Type of software configuration
Installed
The software configuration was unpacked from a Node Delivery Package (NDP).
Patched
The software configuration was generated by applying a patch (SuperCP) to another software configuration.
Checkpointed
The software configuration was generated by checkpointing another software configuration while it was active.
Описание слайда:
Type of software configuration Installed The software configuration was unpacked from a Node Delivery Package (NDP). Patched The software configuration was generated by applying a patch (SuperCP) to another software configuration. Checkpointed The software configuration was generated by checkpointing another software configuration while it was active.

Слайд 182





Software Configuration Activation Methods
RebootNode:
The entire node is rebooted, starts up on the new SC.
RestartDPE:
DPE (NCL, agents, all DPE applications), and VxWorks PMs are restarted.
RestartApplications:
VxWorks PMs and DPE applications are restarted (smooth restart).
RestartPatched:
Block instances with patched load units are restarted (smooth restart).
ManualStart:
Only change the current SC, restarts nothing.
Описание слайда:
Software Configuration Activation Methods RebootNode: The entire node is rebooted, starts up on the new SC. RestartDPE: DPE (NCL, agents, all DPE applications), and VxWorks PMs are restarted. RestartApplications: VxWorks PMs and DPE applications are restarted (smooth restart). RestartPatched: Block instances with patched load units are restarted (smooth restart). ManualStart: Only change the current SC, restarts nothing.

Слайд 183





Checkpointing
Описание слайда:
Checkpointing

Слайд 184





Dedicated place for configuration data
Описание слайда:
Dedicated place for configuration data

Слайд 185





The relation between loading, updating and check-pointing configuration data
Описание слайда:
The relation between loading, updating and check-pointing configuration data

Слайд 186





Storing of configuration data = checkpointing
Описание слайда:
Storing of configuration data = checkpointing

Слайд 187





An application perspective on upgrade / update
With activation method RebootNode, RestartDPE, an application will be:
stopped with reason Upgrade
restarted with reason Upgrade or InitialStart
The application must properly manage its configuration data.
For activation methods RestartApplications, RestartPatched, a stopped application will allways be restarted with reason InitialStart.
Описание слайда:
An application perspective on upgrade / update With activation method RebootNode, RestartDPE, an application will be: stopped with reason Upgrade restarted with reason Upgrade or InitialStart The application must properly manage its configuration data. For activation methods RestartApplications, RestartPatched, a stopped application will allways be restarted with reason InitialStart.

Слайд 188





Loading of configuration data
Описание слайда:
Loading of configuration data

Слайд 189





Upgrading
Описание слайда:
Upgrading

Слайд 190





The upgrade action file
NCL uses this file to determine the revision of an application.
The following is an example of the content of a valid upgrade action file:
# Upgrade action file for Application App.

This: PA2 . 	# The current revision of App is PA2.

PA1	RestartMe .	# Upgrading from PA1 to PA2 should be
			# done using action “RestartMe”
PA2	Internal .	# Upgrading from PA2 to PA2 should be
			# done using action “Internal”
Описание слайда:
The upgrade action file NCL uses this file to determine the revision of an application. The following is an example of the content of a valid upgrade action file: # Upgrade action file for Application App. This: PA2 . # The current revision of App is PA2. PA1 RestartMe . # Upgrading from PA1 to PA2 should be # done using action “RestartMe” PA2 Internal . # Upgrading from PA2 to PA2 should be # done using action “Internal”

Слайд 191





Upgrading from SC1 to SC2: Example 1 (App1)
Описание слайда:
Upgrading from SC1 to SC2: Example 1 (App1)

Слайд 192





Upgrading from SC1 to SC2: Example 2 (App1)
Описание слайда:
Upgrading from SC1 to SC2: Example 2 (App1)

Слайд 193





Monitoring of the upgrade process
Timeouts used to monitor the upgrade process:
PrepareForStopTimeout
StopApplicationsTimeout
ShutDownSmoothUpdateableTimeout
InitialDistributionTimeout 
SoftwareUpgradeTimeout
If any of these timeouts expire, DPE is restarted on the permanent software configuration (fallback). 
Applications are then started with start reason InitialStart.
Описание слайда:
Monitoring of the upgrade process Timeouts used to monitor the upgrade process: PrepareForStopTimeout StopApplicationsTimeout ShutDownSmoothUpdateableTimeout InitialDistributionTimeout SoftwareUpgradeTimeout If any of these timeouts expire, DPE is restarted on the permanent software configuration (fallback). Applications are then started with start reason InitialStart.

Слайд 194





State registers updated by DPE during upgrade
‘‘DPE_SR_CurrentSC’’
‘‘DPE_SR_PreviousSC’’
“DPE_SR_TypeOfCurrentSC’’
“DPE_SR_PrepareForStop’’
An application must acknowledge this SR when it is ready to stop. E.g., when charging data have been saved to disk.
Описание слайда:
State registers updated by DPE during upgrade ‘‘DPE_SR_CurrentSC’’ ‘‘DPE_SR_PreviousSC’’ “DPE_SR_TypeOfCurrentSC’’ “DPE_SR_PrepareForStop’’ An application must acknowledge this SR when it is ready to stop. E.g., when charging data have been saved to disk.



Похожие презентации
Mypresentation.ru
Загрузить презентацию