Fountain server


Files

file  CrayXT3.h
 Definition of the CrayXT3::DataSource, and CrayXT3::Statistics policy classes.
file  FountainServer.h
 FountainServer class definition.
file  InfinibandNetwork.h
 Definition for Infiniband::DataSource, Infiniband::Statistics, and Infiniband::Network policy classes.
file  InfinibandNode.h
 Definition of Infiniband::Node class.
file  InfinibandPort.h
 Definition of Infiniband::Port class.
file  NodeData.h
 Definition of NodeData host class, NoNetwork policy class, and FountainNodes::Statistics policy class.
file  server.cpp
 main driver code for a FountainServer object
file  ServerData.h
 Definition of ServerData host class and NoDataSource policy class.
file  ServerMessage.h
 Definitions of classes ServerMessage, ServerRequest, and ServerResponse.

Namespaces

namespace  CrayXT3
 Encapsulates Cray XT3 classes and data types.
namespace  Infiniband
 Encapsulates Infiniband classes and data types.
namespace  FountainNodes
 Encapsulates Classes and data types specific to maintaining node monitoring statistics about Fountain node daemons.

Classes

class  CrayXT3::Statistics
 Maintains statistics about a CrayXT3 parallel computer by implementing the NodeData Node Statistics policy. More...
class  CrayXT3::DataSource
 Simple extension to Fountain to add support for the CrayXT3 parallel computer. This class implements the ServerData DataSource policy. More...
class  FountainServer
 Implements the Scalable Systems Software node monitor specification. More...
class  FountainServerCreator< T >
 Wrapper policy class around Loki::CreateUsingNew to instantiate singleton instances of FountainServer classes. More...
class  Infiniband::Statistics
 Maintains statistics about an HCA node in an Infiniband Network by implementing the NodeData Node Statistics policy. More...
class  Infiniband::Network
 Implementation of the NodeData Node Network policy class to represent the Network element of an Infiniband node. More...
class  Infiniband::DataSource
 Methods and data structures for discovering nodes and switches connected to an Infiniband network. This class implements the ServerData DataSource policy. More...
class  Infiniband::Node
 Object representing a single node in an Infiniband network. More...
class  Infiniband::Port
 Object representing a single port of a node in an Infiniband network. More...
class  NodeData< NodeStatistics, NodeNetwork >
 Object to represent information for each node in a cluster. More...
class  SupportsNodeState
 Base class for other classes implementing the NodeData statistics policy class to inherit from. More...
class  FountainNodes::Network
 A class that implements the NodeData network policy. More...
class  FountainNodes::Statistics
 Class implementing the NodeData statistics policy to maintain node statistics about a Fountain node. More...
class  ServerData< DataSource >
 Encapsulates server speific data sources. More...
class  NoDataSource
 A class implementing the basic DataSource policy. More...
class  ServerMessage
 Abstract base class for messages sent to and from the Fountain server. More...
class  ServerRequest
 Used for request messages sent from the Fountain server. More...
class  ServerResponse
 Used for response messages sent from the Fountain server. More...

Typedefs

typedef NodeData< Statistics > CrayXT3::DataSource::NodeDataType
 The type of objects stored in the Fountain Server's node monitor database.
typedef std::map< std::string,
NodeDataType > 
CrayXT3::DataSource::HashTable
 The associated container used for the Fountain Server's node monitor database.
typedef Loki::SingletonHolder<
FountainServer, FountainServerCreator
SingleFountainServer
 Shorthand for getting the singleton instance of the FountainServer class.
typedef NodeData< Loki::Select<
FountainNodes::Enable, FountainNodes::Statistics,
Statistics >::Result, Network > 
Infiniband::DataSource::NodeDataType
 The type of objects stored in the Fountain Server's node monitor database.
typedef std::map< std::string,
NodeDataType > 
Infiniband::DataSource::HashTable
 The associated container used for the Fountain Server's node monitor database.
typedef ServerData< Loki::Select<
CrayXT3::Enable, CrayXT3::DataSource,
Loki::Select< Infiniband::Enable,
Infiniband::DataSource, NoDataSource
>::Result >::Result > 
ServerDataSource
 The ServerDataSource is how Fountain obtains node monitoring data from a server specific data source.

Detailed Description

These files, classes, and typedefs are used to create the Fountain server

Typedef Documentation

Infiniband::DataSource::NodeDataType [inherited]
 

The type of objects stored in the Fountain Server's node monitor database.

This typedef can use either the Infiniband::Statistics object or the FountainNodes::Statistics object as the type to be stored in the node monitor database dependong on which module is enabled during the configuration step of Fountain. The Loki::Select construct does this by performing a compile time if/else statement to select the appropriate type.

ServerDataSource
 

The ServerDataSource is how Fountain obtains node monitoring data from a server specific data source.

This Loki::Select stuff is just a compile time way of doing an if/else statement. Since Fountain supports multiple server specific data sources, we have to pick which one we'll use. Basically, each server specific data source provides a namespace to hide all of its details. Inside each namespace, they provide a booleon value "Enable" that tells us if that specific data source has been enabled with the appropriate flag passed to the configure script when Fountain was compiled. If no data source has been enabled, the default NoDataSource data source object will be instantiated.


Generated on Wed Mar 8 14:43:33 2006 for Fountain by  doxygen 1.4.6