cee-secr 2010 october 13-15. moscow, russia language-based implementation of multi-vendor support in...

27
CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

Upload: coral-lang

Post on 16-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

CEE-SECR 2010October 13-15. Moscow, Russia

Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf ManagerSergey Zhukov

Page 2: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

2

CEE-SECR 2010

Introduction

Auriga/Pigeon Point Systems (PPS) collaboration

Dedicated engineering team for more than 10 years

Specialized in management for telecommunications systems based on open

standards

Current project: management for AdvancedTCA systems

AdvancedTCA (ATCA) – an open standard for multi-board systems (shelves) used in

telecommunications, developed by PICMG standards body in 2003

AdvancedTCA boards can be single-board computers or specialized boards (DSPs,

storage boards)

Shelf can host boards from different vendors

Management based on IPMI management specification from Intel

MicroTCA – a smaller form-factor variant of AdvancedTCA for use in other areas

(industry, medical)

Page 3: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

3

CEE-SECR 2010

Management Architecture in AdvancedTCA

Page 4: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

4

CEE-SECR 2010

Pigeon Point Shelf Manager

Hardware and software solution for management in AdvancedTCA

shelves

Implemented on a small mezzanine single-board computer (ShMM)

Runs embedded Linux

Shelf Management software runs as a user-mode application

Needs vendor-specific carrier board to plug into the shelf

Interface between a carrier board and a shelf is vendor-specific

Device population of a carrier board is vendor-specific

Shelf Manager operates with carrier boards and shelves from

different vendors

Page 5: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

5

CEE-SECR 2010

An AdvancedTCA Shelf with Shelf Manager

Page 6: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

6

CEE-SECR 2010

Shelf Manager Software Adaptation Problem

To provide multi-vendor support, Shelf Manager software needs

adaptation to a specific carrier and/or shelf

Previously: carrier- and shelf-specific pieces of code in the Shelf

Manager software

Does not scale well when number of supported vendors grows, which

happened over time

However the most practical solution for not very powerful original ShMMs

But in newer ShMM models processing power increased

A language-based solution to this problem has been introduced

Page 7: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

7

CEE-SECR 2010

Language-Based Solution

Define a language for describing carrier and shelves

Hardware Platform Definition Language - HPDL

Each language unit (module) describes a carrier or a shelf

Created by PPS engineers or by shelf/carrier vendors

Modules compiled into binary format by a special compiler

Binary format loaded and interpreted by the Shelf Manager

software

Page 8: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

8

CEE-SECR 2010

Storing Binary HPDL modules

Preferred location – Carrier or Shelf FRU Information storage

AdvancedTCA/IPMI standard storage

Collocated with the respective carrier or shelf

Coexists with other (standard) records that describe carrier and

shelf

Carrier and shelf become self-describing

Stored together with sensor data records (SDRs)

SDRs are standardized descriptions of IPMI sensors

Shelf Manager uses HPDL descriptions and SDRs together

Page 9: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

9

CEE-SECR 2010

HPDL Features

Describes following objects:

Shelf Manager carrier board

Other modules on the carrier board (mezzanines, RTMs)

Non-intelligent modules in the shelf under direct control of the

Shelf Manager (power supplies, fan trays, alarm panels)

I/O devices on the carrier board and in the shelf, controlled by

the Shelf Manager (mostly I2C devices)

For each device, accessible signals and expressions over these

signals are defined

IPMI sensors on the carrier board and in the shelf, bound to I/O

devices, signals and expressions

Page 10: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

10

CEE-SECR 2010

HPDL Object Hierarchy

1

*

FRU

Fan Tray

Device Signal

Sensor

1 *

1

*

**

Expression

1

*

Page 11: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

11

CEE-SECR 2010

Describing FRUs

FRU as an object is defined in the AdvancedTCA specification

Hot swappable: can be replaced dynamically

Power Management: dynamically powered on and off

Supports other AdvancedTCA features – payload reset, etc.

Carrier board, non-intelligent modules, mezzanines are represented as

FRUs

In HPDL, described via “FRU” statement with subordinate clauses and

sub-statements

Unique name

Presence expression: indicates physical presence of the FRU

Hot Swap latch expression and LED signal

Page 12: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

12

CEE-SECR 2010

Describing FRUs (2)

More clauses for “FRU” statement

FRU Information location (normally an EEPROM)

Signals for other standard and custom LEDs (besides Hot Swap)

Initial and periodic actions (local FRU management policies)

List of device descriptions for devices that belong to the FRU

List of IPMI sensor descriptions for sensors that belong to the

FRU

Amount of power consumed by the FRU (used in power budget

calculation and management)

Some other spec-defined FRU properties

Page 13: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

13

CEE-SECR 2010

Describing Fan Trays

Fan tray is a specific case of FRU

Includes one or more fans that are used for shelf cooling

In HPDL, defined by “FAN TRAY” statement

Includes all clauses of the “FRU” statement, plus:

Fan speed properties: minimum, maximum and recommended

speed level

A signal or set of signals to set fans to a certain speed level

A signal to cause emergency shutdown (in case of fire in the

shelf)

List of fan speed (tachometer) sensors, associated with each fan

Page 14: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

14

CEE-SECR 2010

Describing Devices

I/O devices on the Carrier board and in the shelf

Directly controlled by the Shelf Manager (without IPMI)

Mostly I2C devices, with some exceptions (direct ShMM GPIOs)

Each device is associated with some FRU

In HPDL, defined by “DEVICE” sub-statement

In the scope of the corresponding “FRU” statement

Includes the following clauses:

Device type

Device bus number and address

List of used signals

Page 15: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

15

CEE-SECR 2010

Describing Signals

Set of signals represents the device interface

A signal can represent

An integer register

A single bit in a register

A data storage (e.g. an EEPROM)

Signal can be read-write, read-only or write-only

Internal signals a for device are defined by device type

HPDL maps internal signals to externally visible signals

Directly or using expressions

Defined by “SIGNALS” clause

In the scope of the corresponding “DEVICE” statement

Page 16: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

16

CEE-SECR 2010

Handling Devices in the Shelf Manager

Some devices need an HPDL driver

A piece of code in the Shelf Manager software

Defines internal signals that can be exposed

Provides access to the actual device via the signals

Some I2C devices do not need a special driver

Use generic I2C driver in the Shelf Manager software

Exposes 256 byte-sized signals (mapped to registers) and 256*8

one-bit signals

Access via Read Byte/Write Byte SMB commands

Page 17: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

17

CEE-SECR 2010

Describing Sensors

AdvancedTCA uses IPMI sensor model

Sensor properties described in Sensor Data Records (SDRs)

Analog sensors

Expose 1-byte raw value

Translated to actual value using formulas in SDR

Support thresholds and hysteresis

Discrete sensors

Up to 15 states, can be set simultaneously

Settable sensors: value/states can be set via IPMI commands

HPDL: mapping device signals to IPMI sensors

To make signals accessible via standard IPMI mechanisms

Page 18: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

18

CEE-SECR 2010

Describing Sensors (2)

Described by “SENSORS” clause in a “FRU” statement

For each sensor, following attributes are specified

Sensor number and LUN (IPMI addressing information)

Sensor value as expression or expressions over signals

Initial state for discrete sensors

Polling interval in milliseconds

For settable sensors, signals to set when the value is set externally

SDRs are compiled separately and stored in a parallel data storage

SDR binary format defined by the IPMI specification

Compiled by already existing (reused) compiler

When implementing sensors, Shelf Manager software uses both HPDL and SDRs

SDRs provide sensor properties, HPDL provides binding to hardware

Page 19: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

19

CEE-SECR 2010

HPDL Example

FRU Carrier_FRU {

SITE 3, 1;

...

POWER_LEVELS { 10000; };

FRU_INFORMATION MasterADM1026.EEPROM;

DEVICES {

DEVICE Multiplexer {

PCA9545: 0: 0x70;

SIGNALS { Channels:

Channels, "1", "2", "3", "4"; };

};

DEVICE MasterADM1026 {

ADM1026: 0: 0x2e;

SIGNALS {

Temp1: IntTemp;

Temp2: ExtTemp1;

Temp3: ExtTemp2;

St_3_3V: Stdby_3_3V;

Main_3_3V: Main_3_3V;

Plus_5V: Plus_5V;

Minus_12V: Minus_12V;

Vbat: Vbat;

# Tachometer signals 0 to 7

Tachometer0: Tachometer0, "8";

...

Tachometer7: Tachometer7, "8";

# GPIOs: input, active low

PwrGoodBus: GPIO12, in, low;

PwrGoodAcb: GPIO13, in, low;

FanControl: PWM;

FanLocalControl: PWM_AFC;

EEPROM: EEPROM;

};

};

}; # End of DEVICES statement

Page 20: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

20

CEE-SECR 2010

HPDL Example (2)

... SENSORS {

0x10,0,2: 3000: MasterADM1026.Temp1;

0x10,0,3: 3000: MasterADM1026.St_3_3V;

0x10,0,6: 3000: MasterADM1026.Vbat;

0x10,0,15: 3000: MasterADM1026.PwrGoodBus;

0x10,0,16: 3000: MasterADM1026.PwrGoodAcb;

# Expression used for the next sensor

0x10,0,17: 3000: !MasterADM1026.PwrGoodBus || MasterADM1026.PwrGoodAcb;

}; # End of SENSORS statement

}; # End of FRU statement

Page 21: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

21

CEE-SECR 2010

ASN.1 as Binary HPDL Format

ASN.1 BER (optionally compressed) as format for binary data

Produced by HPDL compiler, parsed by the Shelf Manager software

Motivations

Backward compatibility (new Shelf Manager interprets old HPDL modules)

Forward compatibility (old Shelf Manager interprets new HPDL modules)

Both can be achieved using ASN.1 tagged encoding

Compactness of representation (EEPROMs are small)

Decoding can be done efficiently (limited resources on ShMM)

Availability of libraries that encode and decode BER

Page 22: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

22

CEE-SECR 2010

HPDL Compiler Implementation

Command-line program in two versions: for

Windows and for Linux

Implemented in C++

HPDL defined by a context-free grammar

Bison used as a parser generator

Can be compiled by GCC for Linux, by MSVC for Windows

Special tools to convert output to IPMI FRU Information

format

Page 23: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

23

CEE-SECR 2010

HPDL Introduction: Case Study: Client A

Shelf and Carrier Board vendor, collaborates with PPS for a long time

Carrier-specific code has been used to support their carriers and shelves

Initialization parameters were used to specify actual carrier and shelf model

Gradual transition to HPDL for this client

HPDL now used to support all new shelf models and new generation Carrier boards

Shelves became self-describing, no initialization parameters needed

Carrier-specific code still exists to support legacy hardware but is not actively

maintained recently

HPDL modules are developed by PPS engineers, Client engineers have a working

knowledge of them and sometimes make changes (in coordination with PPS)

Many change requests from the client affect HPDL modules only and do not require

a new release of the Shelf Manager

Page 24: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

24

CEE-SECR 2010

HPDL Introduction: Case Study: Client B

Another shelf and Carrier board vendor, recently came to

AdvancedTCA market

HPDL was already used in PPS

No carrier-specific code for this client, only HPDL

HPDL modules developed by engineers on the client side

Made accessible to PPS to review and store in the common

repository of HPDL modules

Client is self-sufficient with respect to support of their

hardware with PPS management solutions

Page 25: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

25

CEE-SECR 2010

Conclusion. Advantages of Using HPDL

No need of special Shelf Manager release to

support new carrier boards/shelves

Dramatically reduced effort to implement support

for new carrier boards/shelves in PPS

Carrier and shelf vendors can themselves use

HPDL for their products and take support activity

in their own hands

Page 26: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

26

CEE-SECR 2010

Resources

Auriga Inc. http://www.auriga.com

Pigeon Point Systems http://www.pigeonpoint.com

PICMG http://www.picmg.org

IPMI http://www.intel.com/design/servers/ipmi

Page 27: CEE-SECR 2010 October 13-15. Moscow, Russia Language-based Implementation of Multi-Vendor Support in an AdvancedTCA Shelf Manager Sergey Zhukov

27

CEE-SECR 2010

Q&A; Auriga At a Glance

World leader in R&D outsourcing

Global Services 100 and Global Outsourcing 100 company

Top 10 Offshore Eastern and Central Europe In business since 1990—first in Russia Incorporated in the U.S. in 1993 5 engineering centers in Russia—Moscow (3), Nizhny

Novgorod (1), Rostov-on-Don (1) Engineering center in EU (Vilnius, Lithuania) Close relationship with the leading Chinese vendors 250+ FTEs with low attrition & rotation CMMI Level 4 company SPICE (ISO 15504) assessed

Life critical software compliant Focus on software R&D and product engineering for high-

tech clients Leader in system-level & embedded development

services Proficient in Web & enterprise applications Mobile technologies & Knowledge management

solutions as outposts of further expertise development