Key Topics
NIF Overview
Distributed Component Architecture
Distribution Complexity
Connection Management
Diagnostic Framework
Shot Automation
Commissioning Tools
Software Framework Evolution
NIF Facility flyover
NIF is a stadium-sized facility that will contain - a 192-beam, 1.8-Megajoule, 500-Terawatt, ultraviolet laser system a 10-meter diameter target chamber with room for nearly 100 diagnostics
Symmetry & nomenclature
National Ignition Facility
“Quads” and “Bundles” are the basic building blocks of the NIF
The Integrated Computer Control System (ICCS) for NIF is based on a scalable software framework
Object-oriented Ada95, Java, CORBA
Ada implements control system semantics
Java implements GUI layer and COTS integration
CORBA provides transparent language binding and distributed
communication using TCP/IP transport
60,000 control points, 140,000 CORBA objects, 750 computers
Framework Approach
Framework Toolkit
CommonServices
Distribution Mechanism
texttext
CustomizableSoftware
Components
BuildSubsystems
NIF Control System
“Plug-in” Interconnections
ConfigurationLoggingArchive
etc.
Front-EndProcessors
LRU actuators, sensors, devices
SupervisoryControls
AutomaticControls
Operators
BundleManagers
texttextApplication
Patterns
Architecture &Environment
ICCS Distributed Component Architecture
CORBA
FEP
devicedevice
FWL
GUINavigator
FWL
FrameworkServer
FWL
Status & Control
Supervisor
FWL
Process Kind Process
Counts
CORBA
Objects
Framework Server 10 338
Status & Control Supervisor 219 3736
Shot Supervisor 249 3864
Front-End Processors (FEP) 700 134916
GUI Navigator 50 250
Totals 1228 143104
ShotSupervisor
FWL
A framework layer (FWL) resides in each process
Common Application Process Architecture
Connection Objects
Object Factory
C
O
R
B
A
T
C
P
HeartbeatStartup/Shutdown
Framework Agents
Application Objects
SystemManager
Status Monitor
MessageLog Alerts Events Reservations
Shot Archive
Machine History
Config/Name Service
• Common startup and shutdown protocol• Behavior of application processes is completely data driven• Service distribution encapsulated by Framework Service APIs
Diagnostic Agent
UDP
Distribution Complexity
Layered client-server computer architecture
340 distinct CORBA interfaces
700 Front-End Processors (Power PC, x86, Sun) interface to
various sensors, actuators, instruments
50 server class computers (Sun) host supervisor software and
framework servers
14 console PCs host Java GUIs in the control room
Bundle-based hardware partitioning eliminates scaling risk by
bounding CORBA object populations and TCP connections
CORBA provides transparent language binding (Java, Ada95) and
location independent inter-process communication
Policies define interface de-coupling mechanisms and common
exception pattern
ICCS employs a component-based communication architecture with connection management
Decoupled inter-process communications reduces deadlock
potential
Object reconnection allows transparent process restarts
Subscription management restores all subscription services
Process heartbeats verify process health
Status health heartbeats provide positive status health feedback
Timed remote invocations protect clients from problematic services
ICCS provides fault resilience – degraded operation in the presence of server failure and recovery upon server restoration
Diagnostic Architecture Framework
“Out-of-CORBA-band” probes (UDP)
System Level Diagnostics
Network, I/O, memory, CPU
SNMP based
Process Level Diagnostics
Diagnostic Agent embedded into ICCS process architecture
Custom diagnostic objects register with the Diagnostic Agent
Remotely activated and displayed
Stored for off-line analysis
Supports framework and application diagnostic classes
Shot Automation Framework
Requirements derived from NIF Early Light experience
Intensive, year long, design and development effort
Achieves NIF scale through bundle partitioning
State machine guides operators through 10 well defined shot cycle states
Shot model describes (in data) subsystem activities and dependencies
A workflow engine executes the shot model
Calculated participation based on laser beam destination and diagnostic use
(only control components that are in the beam path)
Support error recovery
Operators given Pause/Play, Stop, Manual Step, Retry, and Resume Automation semantics
Can de-participate non-performing non-critical components/segments
Shot model editor provides flexibility to define different NIF operating
scenarios
Commissioning Tools facilitate NIF build-out
Tools that enable efficient calibration/qualification of laser
components
Framework utilizes existing device layer CORBA interfaces and
separates displays from algorithms via autonomous threads
Contain complex algorithms that send commands to collections of
devices and aggregate/process data
Results stored in a configuration database for use in integrated shot
operations
ICCS Framework Evolution
Developed over the past 4+ years
Iterative process – requirements, design, and refinement
April and Sept 2001 releases of Framework 1.0 and 2.0 contained common
services and templates
April 2002 release of Framework 3.0 satisfied significant portions of
connection management and fault tolerant performance requirements
Application layers built on Framework 3.x supported NIF Early Light
activation and experimental campaigns through summer of 2004
Sept 2003 release of Framework 4.0 contained migration to new versions of
COTS (OS, Database, ORBs, compilers, CM systems)
Nov 2004 release of Framework 4.1 contained Diagnostic, Shot Automation,
and Commissioning Tool Frameworks
Jan 2006 release of Framework 5.0 contains additional commissioning tools
and refinements to Alert, Reservation, and Shot Automation
ICCS is positioned for June 2006 multi-bundle milestone with framework release 5.0
Connection Management minimizes impact of process failures
Distribution complexity is mitigated through hardware partitioning
and de-coupled interface design patterns
Model-driven shot automation provides flexibility to operate the NIF
in different ways
Highly data-driven architecture allows modification of run-time
behavior without new software releases
Run-time diagnostics for collecting and evaluating system
performance
Commissioning tools help meet rapid laser construction schedule
Rigorous manual and automated formal software testing program
removes >95% of software defects before deployment
Status of the use of Large-Scale CORBA-Distributed Software Framework for
NIF Controls
R. Carey, R. Bettenhausen, C. Estes, J. Fisher, J. Krammen, L. Lagin,
A. Ludwigsen, D. Mathisen, J. Matone, R. Patterson, C. Reynolds,
R. Sanchez, E. Stout, J. Tappero, P. VanArsdall
National Ignition Facility
Lawrence Livermore National Laboratory
ICALEPCS 2005October 10-14, 2005
The work was performed under the auspices of the U.S. Department of Energy National Nuclear Security Administration by the University of California Lawrence Livermore National Laboratory under Contract No. W-7405-ENG-48.
Test suite characterized detailed effects of CORBA failure modes
Failures under different socket conditions:
Server fails before/after initial client connection
Client fails after server connection
Failures during request processing:
Server fails during processing
Client fails during a request
Client registers callback; client fails, restarts, and re-registers. Server attempts client call-back
Client sends request to server. Server hangs
Solaris
TCP/IP
OISVisibroker
Objects---------------- CORBA---------------- Transport---------------- OS
JavaClients
JavaServers
AdaClients
AdaServers
VxWorks
TCP/IP
OIS
Objects---------------- CORBA---------------- Transport---------------- OS
AdaClients
AdaServersN
etw
ork
CORBA failure modes are handled by Connection Management Framework
Plug-and-play component architecture is designed to scale up
ICCS Core Supervisor Consoles
Front End Processors
Software Distribution Bus (CORBA over network)
DeviceControl
StatusMonitor
DeviceReservation
Controller
Interface
DeviceHistory
Configuration Archive History Message Log Alerts, Events Reservations Shot Set Up
SystemManager
SupervisorControl Units
DeviceEmulation
Servers Graphical UserInterfaces
Top Related