ESDM
Middleware for Earth System Data
Macros | Functions
esdm-performancemodel.c File Reference

The performance component collects performance estimates from backends and picks a winner depending on an objective. More...

#include <esdm-internal.h>
#include <esdm.h>
#include <stdio.h>
#include <stdlib.h>
Include dependency graph for esdm-performancemodel.c:

Macros

#define DEBUG_ENTER   ESDM_DEBUG_COM_FMT("METADUMMY", "", "")
 
#define DEBUG(fmt, ...)   ESDM_DEBUG_COM_FMT("METADUMMY", fmt, __VA_ARGS__)
 

Functions

esdm_performance_tesdm_performance_init (esdm_instance_t *esdm)
 
esdm_status esdm_performance_finalize (esdm_instance_t *esdm)
 
void fetch_performance_from_backend (gpointer key, gpointer value, gpointer user_data)
 
esdm_status esdm_performance_recommendation (esdm_instance_t *esdm, esdm_fragment_t *in, esdm_fragment_t *out)
 
esdm_status esdm_backend_t_estimate_performance (esdm_backend_t *backend, int request)
 

Detailed Description

The performance component collects performance estimates from backends and picks a winner depending on an objective.

TODO: cache performance estimates

Function Documentation

◆ esdm_performance_recommendation()

esdm_status esdm_performance_recommendation ( esdm_instance_t esdm,
esdm_fragment_t in,
esdm_fragment_t out 
)

Splits pending requests into one or more requests based on performance estimates obtained from available backends.

◆ fetch_performance_from_backend()

void fetch_performance_from_backend ( gpointer  key,
gpointer  value,
gpointer  user_data 
)

Queries backend for performance estimate for the given fragment.