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 "nvpair.h"
00012 
00013 struct work_queue_resource {
00014         int64_t inuse;
00015         int64_t committed;
00016         int64_t total;
00017         int64_t smallest;
00018         int64_t largest;
00019 };
00020 
00021 struct work_queue_resources {
00022         int64_t tag;                       // Identifies the resource snapshot. 
00023         struct work_queue_resource workers;
00024         struct work_queue_resource disk;
00025         struct work_queue_resource cores;
00026         struct work_queue_resource memory;
00027         struct work_queue_resource gpus;
00028         struct work_queue_resource unlabeled;
00029 };
00030 
00031 struct work_queue_resources * work_queue_resources_create();
00032 void work_queue_resources_delete( struct work_queue_resources *r );
00033 void work_queue_resources_debug( struct work_queue_resources *r );
00034 void work_queue_resources_measure_locally( struct work_queue_resources *r, const char *workspace );
00035 void work_queue_resources_send( struct link *master, struct work_queue_resources *r, time_t stoptime );
00036 void work_queue_resources_clear( struct work_queue_resources *r );
00037 void work_queue_resources_add( struct work_queue_resources *total, struct work_queue_resources *r );
00038 void work_queue_resources_add_to_nvpair( struct work_queue_resources *r, struct nvpair *nv );
00039 
00040 #endif

Generated on 26 Aug 2014 for cctools by  doxygen 1.4.7