Derived application interface class which spawns simulation codes using grid services such as Condor or Globus. More...
Public Member Functions | |
GridApplicInterface (const ProblemDescDB &problem_db) | |
constructor | |
~GridApplicInterface () | |
destructor | |
void | derived_map (const Variables &vars, const ActiveSet &set, Response &response, int fn_eval_id) |
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an evaluation that is specific to a derived class. | |
void | derived_map_asynch (const ParamResponsePair &pair) |
Called by map() and other functions to execute the simulation in asynchronous mode. The portion of performing an asynchronous evaluation that is specific to a derived class. | |
void | derived_synch (PRPQueue &prp_queue) |
For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It provides the processing code that is specific to derived classes. This version waits for at least one completion. | |
void | derived_synch_nowait (PRPQueue &prp_queue) |
For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It provides the processing code that is specific to derived classes. This version is nonblocking and will return without any completions if none are immediately available. | |
int | derived_synchronous_local_analysis (const int &analysis_id) |
const StringArray & | analysis_drivers () const |
retrieve the analysis drivers specification for application interfaces | |
const AnalysisCode * | analysis_code () const |
return AnalysisCode::fileNameMap when defined for derived Interface class | |
Public Attributes | |
SysCallAnalysisCode | code |
Used to read/write parameter files and responses. | |
Protected Member Functions | |
void | derived_synch_kernel (PRPQueue &prp_queue) |
Convenience function for common code between derived_synch() & derived_synch_nowait() | |
bool | grid_file_test (const String &root_file) |
test file(s) for existence based on root_file name | |
Protected Attributes | |
IntSet | idSet |
Set of function evaluation id's for active asynchronous system call evaluations. | |
IntShortMap | failCountMap |
map linking function evaluation id's to number of response read failures | |
start_grid_computing_t | start_grid_computing |
handle to dynamically linked start_grid_computing function | |
perform_analysis_t | perform_analysis |
handle to dynamically linked perform_analysis grid function | |
get_jobs_completed_t | get_jobs_completed |
handle to dynamically linked get_jobs_completed grid function | |
stop_grid_computing_t | stop_grid_computing |
handle to dynamically linked stop_grid_computing function |
Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.
This class is currently a modified copy of SysCallApplicInterface adapted for use with an external grid dervices library which was dynamically linked using dlopen() services.
int derived_synchronous_local_analysis | ( | const int & | analysis_id | ) | [inline, virtual] |
This code provides the derived function used by ApplicationInterface::serve_analyses_synch().
TODO - allow local analyses?????
Reimplemented from ApplicationInterface.
References GridApplicInterface::code, and SysCallAnalysisCode::spawn_analysis().
void derived_synch_kernel | ( | PRPQueue & | prp_queue | ) | [protected] |
Convenience function for common code between derived_synch() & derived_synch_nowait()
Convenience function for common code between wait and nowait case.
References Dakota::abort_handler(), Response::active_set(), GridApplicInterface::code, ApplicationInterface::completionSet, GridApplicInterface::failCountMap, GridApplicInterface::grid_file_test(), GridApplicInterface::idSet, Dakota::lookup_by_eval_id(), ApplicationInterface::manage_failure(), ParamResponsePair::prp_parameters(), ParamResponsePair::prp_response(), AnalysisCode::read_results_files(), and AnalysisCode::results_filename().
Referenced by GridApplicInterface::derived_synch(), and GridApplicInterface::derived_synch_nowait().