4
/*___INFO__MARK_BEGIN__*/
5
/*************************************************************************
7
* The Contents of this file are made available subject to the terms of
8
* the Sun Industry Standards Source License Version 1.2
10
* Sun Microsystems Inc., March, 2001
13
* Sun Industry Standards Source License Version 1.2
14
* =================================================
15
* The contents of this file are subject to the Sun Industry Standards
16
* Source License Version 1.2 (the "License"); You may not use this file
17
* except in compliance with the License. You may obtain a copy of the
18
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
20
* Software provided under this License is provided on an "AS IS" basis,
21
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
22
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
23
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
24
* See the License for the specific provisions governing your rights and
25
* obligations concerning the Software.
27
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
29
* Copyright: 2001 by Sun Microsystems, Inc.
31
* All Rights Reserved.
33
************************************************************************/
34
/*___INFO__MARK_END__*/
36
#include "sge_boundaries.h"
49
EH_name = EH_LOWERBOUND, /* directly user controlled - spooled */
50
EH_scaling_list, /* HS_Type - directly user controlled exec
51
* host only Used to scale host load values.
52
* Contains pairs of load value names and
54
EH_consumable_config_list, /* consumable resources of host
56
EH_usage_scaling_list, /* HS_Type - directly user controlled exec
57
* host only SGEEE only scaling of usage
59
EH_load_list, /* HL_Type exec host only list of load values
60
* reported for exechost spooled (not
61
* everytime load comes in) */
63
EH_processors, /* for license purposes exec host only
65
EH_acl, /* US_Type - userset access list */
66
EH_xacl, /* US_Type - userset access list */
67
EH_prj, /* PR_Type - project access list */
68
EH_xprj, /* PR_Type - project excluded access list */
70
/* scheduling stuff */
71
EH_sort_value, /* combined load value for sorting only
72
* scheduler local not spooled */
73
EH_reuse_me, /* can be rused */
74
EH_tagged, /* used for parallel scheduling only
75
* scheduler local not spooled */
76
EH_load_correction_factor, /* a value of 100 (stands for 1)
77
* means the load values of this host
78
* * has to be increased fully by all
80
* conf.load_decay_adjustments only
81
* scheduler local not spooled */
82
EH_seq_no, /* suitability of this host for a job only
83
* scheduler local not spooled */
84
EH_real_name, /* in case of pseudo host: real name spooled */
85
EH_sge_load, /* SGEEE load calculated from load values
87
EH_sge_ticket_pct, /* percentage of total SGEEE tickets scheduler
89
EH_sge_load_pct, /* percentage of total SGEEE load scheduler
92
EH_featureset_id, /* supported feature-set id; not spooled */
93
EH_scaled_usage_list, /* scaled usage for jobs on a host - used by
95
EH_scaled_usage_pct_list, /* scaled usage for jobs on a host - used by
97
EH_num_running_jobs, /* number of jobs running on a host - used by
99
EH_load_report_interval, /* used for caching from global/local
101
EH_resource_utilization, /* RUE_Type contains per consumable information
102
* about resource utilization for this host */
103
EH_cached_complexes, /* CE_Type used in scheduler for caching
104
* built attributes */
105
EH_cache_version, /* used to decide whether QU_cached_complexes
107
EH_master_host, /* indicates in scheduler whether a exec host
108
* is suitable as a master host */
109
EH_reschedule_unknown, /* used for caching from global/local conf;
110
* timout after which jobs will be
111
* rescheduled automatically */
112
EH_reschedule_unknown_list, /* after the rundown of
113
* EH_reschedule_unknown this list
114
* contains all jobs which will be
115
* rescheduled automatically */
116
EH_report_seqno, /* sequence number of the last report
117
* (job/load/..) qmaster received from the
118
* execd. This seqno is used to detect old
119
* reports, because reports are send
120
* asynchronous and we have no guarantee that
121
* they arrive in order at qmaster */
122
EH_report_variables, /* list of variables written to the report file */
123
EH_merged_report_variables /* list of variables written to the report file,
124
* merged from global host and actual host
129
JGDI_ROOT_OBJ(ExecHost, SGE_EXECHOST_LIST, ADD | MODIFY | DELETE | GET | GET_LIST)
130
JGDI_EVENT_OBJ(ADD(sgeE_EXECHOST_ADD) | MODIFY(sgeE_EXECHOST_MOD) | DELETE(sgeE_EXECHOST_DEL) | GET_LIST(sgeE_EXECHOST_LIST))
131
SGE_HOST_D(EH_name, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE | CULL_SPOOL | CULL_JGDI_CONF, "template")
132
SGE_MAP(EH_scaling_list, HS_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
133
SGE_LIST(EH_consumable_config_list, CE_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
134
SGE_MAP(EH_usage_scaling_list, HS_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
135
SGE_MAP(EH_load_list, HL_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_RO)
136
SGE_ULONG(EH_lt_heard_from, CULL_DEFAULT | CULL_JGDI_HIDDEN)
137
SGE_ULONG(EH_processors, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_RO)
138
SGE_LIST(EH_acl, US_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
139
SGE_LIST(EH_xacl, US_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
140
SGE_LIST(EH_prj, PR_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
141
SGE_LIST(EH_xprj, PR_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
143
/* scheduling stuff */
144
SGE_DOUBLE(EH_sort_value, CULL_DEFAULT | CULL_JGDI_HIDDEN)
145
SGE_ULONG(EH_reuse_me, CULL_DEFAULT | CULL_JGDI_HIDDEN)
146
SGE_ULONG(EH_tagged, CULL_DEFAULT | CULL_JGDI_HIDDEN)
147
SGE_ULONG(EH_load_correction_factor, CULL_DEFAULT | CULL_JGDI_HIDDEN)
148
SGE_ULONG(EH_seq_no, CULL_DEFAULT | CULL_JGDI_HIDDEN)
150
SGE_STRING(EH_real_name, CULL_DEFAULT | CULL_JGDI_HIDDEN)
152
SGE_ULONG(EH_sge_load, CULL_DEFAULT | CULL_JGDI_HIDDEN)
153
SGE_DOUBLE(EH_sge_ticket_pct, CULL_DEFAULT | CULL_JGDI_HIDDEN)
154
SGE_DOUBLE(EH_sge_load_pct, CULL_DEFAULT | CULL_JGDI_HIDDEN)
156
SGE_ULONG(EH_featureset_id, CULL_DEFAULT | CULL_JGDI_HIDDEN)
158
SGE_MAP(EH_scaled_usage_list, UA_Type, CULL_DEFAULT | CULL_JGDI_HIDDEN)
159
SGE_MAP(EH_scaled_usage_pct_list, UA_Type, CULL_DEFAULT | CULL_JGDI_HIDDEN)
160
SGE_ULONG(EH_num_running_jobs, CULL_DEFAULT | CULL_JGDI_HIDDEN)
162
SGE_ULONG(EH_load_report_interval, CULL_DEFAULT | CULL_JGDI_HIDDEN)
163
SGE_LIST(EH_resource_utilization, RUE_Type, CULL_DEFAULT | CULL_JGDI_HIDDEN)
164
SGE_LIST(EH_cached_complexes, CE_Type, CULL_DEFAULT | CULL_JGDI_HIDDEN)
165
SGE_ULONG(EH_cache_version, CULL_DEFAULT | CULL_JGDI_HIDDEN)
166
SGE_ULONG(EH_master_host, CULL_DEFAULT | CULL_JGDI_HIDDEN)
167
SGE_ULONG(EH_reschedule_unknown, CULL_DEFAULT | CULL_JGDI_HIDDEN)
168
SGE_LIST(EH_reschedule_unknown_list, RU_Type, CULL_DEFAULT | CULL_JGDI_HIDDEN) /* JG: TODO: shall it be spooled? Problem: composed primary key */
169
SGE_ULONG(EH_report_seqno, CULL_DEFAULT | CULL_JGDI_HIDDEN)
170
SGE_LIST(EH_report_variables, STU_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF)
171
SGE_LIST(EH_merged_report_variables, STU_Type, CULL_DEFAULT | CULL_JGDI_HIDDEN)
176
NAME("EH_scaling_list")
177
NAME("EH_consumable_config_list")
178
NAME("EH_usage_scaling_list")
180
NAME("EH_lt_heard_from")
181
NAME("EH_processors")
187
/* scheduling stuff */
188
NAME("EH_sort_value")
191
NAME("EH_load_correction_factor")
197
NAME("EH_sge_ticket_pct")
198
NAME("EH_sge_load_pct")
200
NAME("EH_featureset_id")
202
NAME("EH_scaled_usage_list")
203
NAME("EH_scaled_usage_pct_list")
204
NAME("EH_num_running_jobs")
206
NAME("EH_load_report_interval")
207
NAME("EH_resource_utilization")
208
NAME("EH_cached_complexes")
209
NAME("EH_cache_version")
210
NAME("EH_master_host")
211
NAME("EH_reschedule_unknown")
212
NAME("EH_reschedule_unknown_list")
213
NAME("EH_report_seqno")
214
NAME("EH_report_variables")
215
NAME("EH_merged_report_variables")
218
#define EHS sizeof(EHN)/sizeof(char*)
221
* reschedule unknown list
224
RU_job_number = RU_LOWERBOUND,
230
JGDI_OBJ(RescheduleUnknown)
231
SGE_ULONG(RU_job_number, CULL_DEFAULT)
232
SGE_ULONG(RU_task_number, CULL_DEFAULT)
233
SGE_ULONG(RU_state, CULL_DEFAULT)
237
NAME("RU_job_number")
238
NAME("RU_task_number")
242
#define RUS sizeof(RUN)/sizeof(char*)
248
AH_name = AH_LOWERBOUND
252
JGDI_ROOT_OBJ(AdminHost, SGE_ADMINHOST_LIST, ADD | DELETE | GET_LIST)
253
JGDI_EVENT_OBJ(ADD(sgeE_ADMINHOST_ADD) | MODIFY(sgeE_ADMINHOST_MOD) | DELETE(sgeE_ADMINHOST_DEL) | GET_LIST(sgeE_ADMINHOST_LIST))
254
SGE_HOST(AH_name, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE | CULL_SPOOL | CULL_JGDI_CONF)
261
#define AHS sizeof(AHN)/sizeof(char*)
267
SH_name = SH_LOWERBOUND
271
JGDI_ROOT_OBJ( SubmitHost, SGE_SUBMITHOST_LIST, ADD | DELETE | GET_LIST)
272
JGDI_EVENT_OBJ(ADD(sgeE_SUBMITHOST_ADD) | MODIFY(sgeE_SUBMITHOST_MOD) | DELETE(sgeE_SUBMITHOST_DEL) | GET_LIST(sgeE_SUBMITHOST_LIST))
273
SGE_HOST(SH_name, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE | CULL_SPOOL | CULL_JGDI_CONF)
280
#define SHS sizeof(SHN)/sizeof(char*)
283
* sge standard load value names
285
* use these defined names for refering
288
/* static load parameters */
289
#define LOAD_ATTR_ARCH "arch"
290
#define LOAD_ATTR_NUM_PROC "num_proc"
292
/* raw load parameters */
293
#define LOAD_ATTR_LOAD_SHORT "load_short"
294
#define LOAD_ATTR_LOAD_MEDIUM "load_medium"
295
#define LOAD_ATTR_LOAD_LONG "load_long"
296
#define LOAD_ATTR_LOAD_AVG "load_avg"
298
/* values divided by LOAD_ATTR_NUM_PROC */
299
#define LOAD_ATTR_NP_LOAD_SHORT "np_load_short"
300
#define LOAD_ATTR_NP_LOAD_MEDIUM "np_load_medium"
301
#define LOAD_ATTR_NP_LOAD_LONG "np_load_long"
302
#define LOAD_ATTR_NP_LOAD_AVG "np_load_avg"
303
#define LOAD_ATTR_MEM_FREE "mem_free"
304
#define LOAD_ATTR_SWAP_FREE "swap_free"
305
#define LOAD_ATTR_VIRTUAL_FREE "virtual_free"
306
#define LOAD_ATTR_MEM_TOTAL "mem_total"
307
#define LOAD_ATTR_SWAP_TOTAL "swap_total"
308
#define LOAD_ATTR_VIRTUAL_TOTAL "virtual_total"
309
#define LOAD_ATTR_MEM_USED "mem_used"
310
#define LOAD_ATTR_SWAP_USED "swap_used"
311
#define LOAD_ATTR_VIRTUAL_USED "virtual_used"
312
#define LOAD_ATTR_SWAP_RSVD "swap_rsvd"
318
HL_name = HL_LOWERBOUND,
325
JGDI_MAP_OBJ(HL_name, HL_value)
326
SGE_STRING(HL_name, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE | CULL_SUBLIST)
327
SGE_STRING(HL_value, CULL_DEFAULT | CULL_SUBLIST)
328
SGE_ULONG(HL_last_update, CULL_DEFAULT)
329
SGE_BOOL(HL_static, CULL_DEFAULT)
335
NAME("HL_last_update")
339
#define HLS sizeof(HLN)/sizeof(char*)
345
HS_name = HS_LOWERBOUND,
350
JGDI_MAP_OBJ(HS_name, HS_value)
351
SGE_STRING(HS_name, CULL_PRIMARY_KEY | CULL_DEFAULT | CULL_SUBLIST)
352
SGE_DOUBLE(HS_value, CULL_DEFAULT | CULL_SUBLIST)
362
#define HSS sizeof(HSN)/sizeof(char*)
366
#endif /* __SGE_HOSTL_H */