work_queue_resources.h

00001 /*
00002 Copyright (C) 2013- The University of Notre Dame
00003 This software is distributed under the GNU General Public License.
00004 See the file COPYING for details.
00005 */
00006 
00007 #ifndef WORK_QUEUE_RESOURCES_H
00008 #define WORK_QUEUE_RESOURCES_H
00009 
00010 #include "link.h"
00011 #include "jx.h"
00012 
00013 struct work_queue_resource {
00014         int64_t inuse;
00015         int64_t total;
00016         int64_t smallest;
00017         int64_t largest;
00018 };
00019 
00020 struct work_queue_resources {
00021         int64_t tag;                       // Identifies the resource snapshot.
00022         struct work_queue_resource workers;
00023         struct work_queue_resource disk;
00024         struct work_queue_resource cores;
00025         struct work_queue_resource memory;
00026         struct work_queue_resource gpus;
00027         struct work_queue_resource unlabeled;
00028 };
00029 
00030 struct work_queue_resources * work_queue_resources_create();
00031 void work_queue_resources_delete( struct work_queue_resources *r );
00032 void work_queue_resources_debug( struct work_queue_resources *r );
00033 void work_queue_resources_measure_locally( struct work_queue_resources *r, const char *workspace );
00034 void work_queue_resources_send( struct link *master, struct work_queue_resources *r, time_t stoptime );
00035 void work_queue_resources_clear( struct work_queue_resources *r );
00036 void work_queue_resources_add( struct work_queue_resources *total, struct work_queue_resources *r );
00037 void work_queue_resources_add_to_jx( struct work_queue_resources *r, struct jx *j );
00038 
00039 #endif

Generated on 14 Apr 2016 for cctools by  doxygen 1.4.7