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. | |
|
|
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. |
|
|
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. |
1.4.6