Processor Architecture Patterns

One of the most important steps in architecture design is identifying processors/modules in the system and assigning roles/requirements to them. This article focuses on this very subject. Here we will explore different processor design patterns commonly seen in embedded and distributed systems.

The following processor architecture patterns are seen in many embedded and distributed systems:

The figure below shows the relationship between some of the processor architecture patterns listed above. Note that the this list is by no means complete. Embedded systems span a wide spectrum, so these patterns should be treated as being representative only. In simple systems you might design the architecture by assigning multiple processor architecture patterns to a single processor.

Processor architecture design pattern relationships

Operations and Maintenance (O&M) Processor

In most embedded and distributed systems the operator controls the complete system from a console. When you are designing a distributed system the operations and maintenance processor should provide a unified view about the management of the system. The operator should be given a simple task based view of the system.

Keep in mind that O&M capabilities of the system have a lot of impact on the perceived quality of the system. The operators often judge the quality of the system just from the ease-of-use of the user interface. A good user interface lowers the cost of ownership for your customers and thus increases the chance of getting more business.

Role

Guidelines

Central Manager

Central Manager pattern should be used to define a central processor that will manage the operations of the complete system. Central Manager maintains a system level view of the system. Typically the Central Manager interacts with Module Managers.

Role

Guidelines

Module Manager

Module can be defined to be collection of processors that implement an important part of the system's functionality. Module Manager is any processor in the system that manages all other processors belonging to the module. This is a hierarchical pattern. A Module Manager might further manage sub-modules. The sub-modules further manage their own processors.

Role

Guidelines

Terminal Manager

Terminal Manager is a hardware board that supports a number of entities of the same type (terminals). For example, a digital trunk manager card might manage several digital trunk circuits. The Terminal Manager card has a single microprocessor that controls all the devices. Thus a Module Manager can assign individual terminals. Most of the Module Manager software just deals with individual terminals and is transparent to the number of terminals per Terminal Manager card. The fault handling software keeps track of the health of the Terminal Manager cards. When a Terminal Manager fails, the fault handling module informs rest of the software in terms of individual terminal failures.

Role

Guidelines

Device Controller

Device Controller is a processor which interacts with the lowest level of hardware. A few  examples of Device Controllers are:

A Device Controller can interface with other processors with any of the following interfaces:

Role

Guidelines

Comparison Matrix

Different Processor Patterns are compared for different attributes in the following matrix:

  Operations and Maintenance Processor Central Manager Module Manager Terminal Manager Device Controller
Software Complexity Medium

Complexity depends upon the following factors:

  • Overall system complexity
  • Total number of processors that need to be maintained
  • Skill level of operators using the O&M Processor
High

Complexity depends upon the following factors:

  • Total number and type of Module Managers controlled
  • Degree of involvement in every transaction
  • Redundancy and Availability Requirements
  • Global resources that need to be managed
High

Complexity depends upon the following factors:

  • Total number and type of nested Module Managers controlled
  • Total number and type of Terminal Managers controlled
  • Module resources that need to be managed
  • Redundancy and Availability Requirements
Medium

Complexity depends upon the following factors:

  • Number and type of Terminals managed
  • Number of terminals that share the same hardware
  • Degree of transparency needed from future hardware changes
  • Impact of Terminal Manager cost on the cost of the complete system
Medium/Low

Complexity depends upon the following factors:

  • Programming model of the hardware device
  • Degree of transparency needed from future hardware changes
  • Impact of Device Controller cost on the cost of the complete system
Performance Requirement Medium

Use of HTTP, Java and SNMP increases the performance requirements for a O&M Processor.

High

A high performance platform should be used as the Central Manager so that its performance doesn't become a bottleneck when the system is expanded.

High

In most cases the top level Module Managers will handle most of the transaction processing load on the system. A high performance platform should be used. 

Medium

Overall performance requirements for the Terminal Manager might not be very high. However, the Terminal Manager might be executing a lot of time critical code, thus needing a reasonably good performance platform.

High/Medium/Low

Device controller performance requirement varies a lot from one device to another. For example, a controller involved in digital signal processing might need a very high MIPS CPU. A device handling protocols might work well with a medium performance CPU. Most devices however would work very well even with low performance CPUs. 

Redundancy Cold Standby

Failure of the O&M processor has no impact on system performance. A replacement can be brought in service manually. (This assumes that both O&M processors communicate to an off-the-shelf database server machine.)

Hot Standby

Central Manager's failure can result in the complete system going out of control. Thus a hot standby should be maintained for quick recovery from the fault condition.

N + X Redundancy

All transactions handled by a failed Module Manager will be released abnormally by the Central Manager. Central Manager would then configure a spare Module Manager to replace the failed module. 

N + X Redundancy

All transactions handled by a failed Terminal Manager will be released abnormally by the controlling Module Manager. Controlling Module Manager would then configure a spare Terminal Manager to replace the failed board.

None

Device controllers are not redundant within a Terminal Manager.

Hardware Cost Sensitivity Low

Only two machines are required for the O&M Processor. The cost of these machines is not a significant portion of the overall hardware cost.

Low

Only two machines are required for the Central Manager. The cost of these machines is not a significant portion of the overall hardware cost.

Medium

Typically a system will need many Module Managers. Their aggregate cost may be a significant portion of the system cost.

High

A large number of Terminal Managers might be needed. Aggregate cost of Terminal Managers may be a large percentage of the total system cost. This might mean that the software developers have to optimize their code to work within the cost limitations.

High

A very large number of Device Controllers might be needed. Aggregate cost of Device Controllers may be a very large percentage of the total system cost. This might mean that the software developers have to optimize their code to work within the cost limitations.

Suitable Platform
  • Unix Servers and Work Stations
  • Linux PC Servers
  • Windows PC Server
  • Unix Servers and Work Stations
  • Linux PC Servers
  • Windows PC Server

If the Module Manager does not perform time critical operations:

  • Unix Servers and Work Stations
  • Linux PC Servers
  • Windows PC Server

If the Module Manager performs time critical operations, use PCs running:

  • VxWorks
  • P-SOS
  • RT-Linux
  • etc.

PCs or proprietary hardware running:

  • VxWorks
  • P-SOS
  • RT-Linux
  • etc.
 

Micro-controller OS or proprietary.

Operator Interface Support High

O&M Processor completely handles the operator interface.

High

Central Manager has a large operator interface component.  It supports system wide statistics, status and alarm reporting.

Medium

Module Manager has a considerable operator interface component.  It supports module wide statistics, status and alarm reporting.

Low

Terminal Manager does not have a direct operator interface. It reports statistics and alarm conditions to the Module Manager. Module Manager would then directly interact with the O&M processor.

None/Low

Device Controller might report error conditions which result in alarms being generated. It might report some statistics to the Terminal Manager.

Developer Skill Set
  • Graphical user interfaces
  • Relational databases
  • SNMP
  • HTTP/HTML
  • Java
  • State machine design
  • Message interaction design
  • System level design experience
  • Object oriented design
  • C/C++
  • State machine design
  • Message interaction design
  • Real-time software development
  • Object oriented design
  • C/C++
 
  • Real-time software development
  • State machine design
  • C/C++
  • Software and hardware interfacing
 
  • Device programming
  • Hardware interfacing and hardware design knowledge
  • C/C++
  • Assembly programming
  • Signal processing knowledge
  • DSP programming
Related Links