StarPU Handbook
sc_hypervisor_monitoring.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2011,2013,2014 Inria
4  * Copyright (C) 2013,2017,2019 CNRS
5  *
6  * StarPU is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or (at
9  * your option) any later version.
10  *
11  * StarPU is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  *
15  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
16  */
17 
18 #ifndef SC_HYPERVISOR_MONITORING_H
19 #define SC_HYPERVISOR_MONITORING_H
20 
21 #include <sc_hypervisor.h>
22 
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27 
38 {
43 
48 
53 
60 };
61 
69 {
73  unsigned sched_ctx;
74 
79 
84  double start_time_w[STARPU_NMAXWORKERS];
85 
89  double current_idle_time[STARPU_NMAXWORKERS];
90 
94  double idle_time[STARPU_NMAXWORKERS];
95 
99  double idle_start_time[STARPU_NMAXWORKERS];
100 
104  double exec_time[STARPU_NMAXWORKERS];
105 
109  double exec_start_time[STARPU_NMAXWORKERS];
110 
115  int worker_to_be_removed[STARPU_NMAXWORKERS];
116 
120  int pushed_tasks[STARPU_NMAXWORKERS];
121 
125  int poped_tasks[STARPU_NMAXWORKERS];
126 
130  double total_flops;
131 
135  double total_elapsed_flops[STARPU_NMAXWORKERS];
136 
140  double elapsed_flops[STARPU_NMAXWORKERS];
141 
146  size_t elapsed_data[STARPU_NMAXWORKERS];
147 
151  int elapsed_tasks[STARPU_NMAXWORKERS];
152 
158  double ref_speed[2];
159 
164 
170 
174  double start_time;
175 
180 
185 
192  struct sc_hypervisor_resize_ack resize_ack;
193 
198  starpu_pthread_mutex_t mutex;
199 
205 
209  unsigned to_be_sized;
210 
215  unsigned compute_idle[STARPU_NMAXWORKERS];
216 
221  unsigned compute_partial_idle[STARPU_NMAXWORKERS];
222 
226  unsigned consider_max;
227 };
228 
234 
239 unsigned *sc_hypervisor_get_sched_ctxs();
240 
246 
251 
258 
263 
268 
273 
276 #ifdef __cplusplus
277 }
278 #endif
279 
280 #endif
double remaining_flops
Definition: sc_hypervisor_monitoring.h:169
double sc_hypervisor_get_speed(struct sc_hypervisor_wrapper *sc_w, enum starpu_worker_archtype arch)
double submitted_flops
Definition: sc_hypervisor_monitoring.h:163
double sc_hypervisor_get_total_elapsed_flops_per_sched_ctx(struct sc_hypervisor_wrapper *sc_w)
double hyp_react_start_time
Definition: sc_hypervisor_monitoring.h:184
Definition: sc_hypervisor_monitoring.h:37
int * moved_workers
Definition: sc_hypervisor_monitoring.h:47
starpu_worker_archtype
Definition: starpu_worker.h:61
unsigned total_flops_available
Definition: sc_hypervisor_monitoring.h:204
unsigned * sc_hypervisor_get_sched_ctxs()
double start_time
Definition: sc_hypervisor_monitoring.h:174
double sc_hypervisorsc_hypervisor_get_speed_per_worker_type(struct sc_hypervisor_wrapper *sc_w, enum starpu_worker_archtype arch)
double total_flops
Definition: sc_hypervisor_monitoring.h:130
int * acked_workers
Definition: sc_hypervisor_monitoring.h:59
int sc_hypervisor_get_nworkers_ctx(unsigned sched_ctx, enum starpu_worker_archtype arch)
Definition: sc_hypervisor_monitoring.h:68
unsigned sched_ctx
Definition: sc_hypervisor_monitoring.h:73
struct sc_hypervisor_policy_config * config
Definition: sc_hypervisor_monitoring.h:78
double real_start_time
Definition: sc_hypervisor_monitoring.h:179
int receiver_sched_ctx
Definition: sc_hypervisor_monitoring.h:42
int sc_hypervisor_get_nsched_ctxs()
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:115
int nmoved_workers
Definition: sc_hypervisor_monitoring.h:52
unsigned to_be_sized
Definition: sc_hypervisor_monitoring.h:209
double sc_hypervisor_get_elapsed_flops_per_sched_ctx(struct sc_hypervisor_wrapper *sc_w)
starpu_pthread_mutex_t mutex
Definition: sc_hypervisor_monitoring.h:198
Definition: sc_hypervisor_config.h:141
struct sc_hypervisor_wrapper * sc_hypervisor_get_wrapper(unsigned sched_ctx)
unsigned consider_max
Definition: sc_hypervisor_monitoring.h:226