presentation - CEE

advertisement
Language-based Implementation
of Multi-Vendor Support in an
AdvancedTCA Shelf Manager
Sergey Zhukov
CEE-SECR 2010
October 13-15. Moscow, Russia
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)
2
CEE-SECR 2010
Management Architecture in AdvancedTCA
3
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
4
CEE-SECR 2010
An AdvancedTCA Shelf with Shelf Manager
5
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
6
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
7
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
8
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
9
CEE-SECR 2010
HPDL Object Hierarchy
Device
Signal
1
*
*
FRU
*
1
1
1
*
Sensor
*
*
Expression
Fan Tray
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
18
CEE-SECR 2010
HPDL Example
FRU Carrier_FRU {
Main_3_3V: Main_3_3V;
SITE 3, 1;
Plus_5V: Plus_5V;
...
Minus_12V: Minus_12V;
POWER_LEVELS { 10000; };
Vbat: Vbat;
FRU_INFORMATION MasterADM1026.EEPROM;
# Tachometer signals 0 to 7
DEVICES {
Tachometer0: Tachometer0, "8";
DEVICE Multiplexer {
...
PCA9545: 0: 0x70;
Tachometer7: Tachometer7, "8";
SIGNALS { Channels:
# GPIOs: input, active low
Channels, "1", "2", "3", "4"; };
PwrGoodBus: GPIO12, in, low;
};
PwrGoodAcb: GPIO13, in, low;
DEVICE MasterADM1026 {
FanControl: PWM;
ADM1026: 0: 0x2e;
FanLocalControl: PWM_AFC;
SIGNALS {
EEPROM: EEPROM;
Temp1: IntTemp;
Temp2: ExtTemp1;
Temp3: ExtTemp2;
};
};
}; #
End of DEVICES statement
St_3_3V: Stdby_3_3V;
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
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 hightech clients
 Leader in system-level & embedded development services
 Proficient in Web & enterprise applications
 Mobile technologies & Knowledge management
solutions as outposts of further expertise development
27
CEE-SECR 2010
Download