10 #ifndef WRENCH_SIMULATIONTIMESTAMPTYPES_H
11 #define WRENCH_SIMULATIONTIMESTAMPTYPES_H
14 #include "wrench/workflow/WorkflowTask.h"
15 #include <unordered_map>
22 typedef std::tuple<void *, void *, void *> File;
23 typedef std::tuple<std::string, std::string, int> DiskAccess;
29 size_t operator()(
const File &file )
const
31 return std::hash<void *>()(std::get<0>(file)) ^ std::hash<void *>()(std::get<1>(file)) ^ std::hash<void *>()(std::get<2>(file));
36 struct hash<DiskAccess>{
38 size_t operator()(
const DiskAccess &diskAccess )
const
40 return std::hash<std::string>()(std::get<0>(diskAccess)) ^ std::hash<std::string>()(std::get<1>(diskAccess)) ^ std::hash<int>()(std::get<2>(diskAccess));
200 static std::unordered_multimap<File, std::pair<SimulationTimestampFileRead *, WorkflowTask *>> pending_file_reads;
283 static std::unordered_multimap<File, std::pair<SimulationTimestampFileWrite *, WorkflowTask *>> pending_file_writes;
338 std::shared_ptr<FileLocation> getSource();
339 std::shared_ptr<FileLocation> getDestination();
413 std::string getHostname();
414 std::string getMount();
496 std::string getHostname();
497 std::string getMount();
570 std::string getHostname();
576 std::string hostname;
585 std::string getHostname();
586 double getConsumption();
591 std::string hostname;
596 #endif //WRENCH_SIMULATIONTIMESTAMPTYPES_H
A base class for simulation timestamps regarding disk reads.
Definition: SimulationTimestampTypes.h:405
A simulation timestamp class for file read failure times.
Definition: SimulationTimestampTypes.h:226
int counter
counter to differentiate reads
Definition: SimulationTimestampTypes.h:436
A simulation timestamp class for file read start times.
Definition: SimulationTimestampTypes.h:214
A simulation timestamp class for file read completions.
Definition: SimulationTimestampTypes.h:235
A base class for simulation timestamps.
Definition: SimulationTimestampTypes.h:83
A simulation timestamp class for disk read completions.
Definition: SimulationTimestampTypes.h:476
A simulation timestamp class for WorkflowTask termination times.
Definition: SimulationTimestampTypes.h:152
A simulation timestamp class for WorkflowTask start times.
Definition: SimulationTimestampTypes.h:125
static std::unordered_multimap< DiskAccess, SimulationTimestampDiskWrite * > pending_disk_writes
the data structure that holds the ongoing disk writes.
Definition: SimulationTimestampTypes.h:525
A simulation timestamp class for file write completions.
Definition: SimulationTimestampTypes.h:318
A simulation timestamp class for file copy completions.
Definition: SimulationTimestampTypes.h:393
A simulation timestamp class for disk write start times.
Definition: SimulationTimestampTypes.h:538
static std::map< std::string, SimulationTimestampTask * > pending_task_timestamps
A static map of SimulationTimestampTaskStart objects that have yet to matched with SimulationTimestam...
Definition: SimulationTimestampTypes.h:113
A base class for simulation timestamps regarding file reads.
Definition: SimulationTimestampTypes.h:164
A simulation timestamp class for disk read failure times.
Definition: SimulationTimestampTypes.h:467
The storage service base class.
Definition: StorageService.h:36
int counter
counter to differentiate writes
Definition: SimulationTimestampTypes.h:520
A base class for simulation timestamps regarding file copies.
Definition: SimulationTimestampTypes.h:330
std::string mount
mount point of disk being written to
Definition: SimulationTimestampTypes.h:510
A simulation timestamp class for file copy failure times.
Definition: SimulationTimestampTypes.h:384
FileLocation * source
The location where the WorkflowFile was being read from.
Definition: SimulationTimestampTypes.h:185
FileLocation * destination
The location where the WorkflowFile was being write from.
Definition: SimulationTimestampTypes.h:268
WorkflowTask * task
Task associated with write.
Definition: SimulationTimestampTypes.h:278
A simulation timestamp class for file copy start times.
Definition: SimulationTimestampTypes.h:373
File, Source, Whoami used to be hashed as key for unordered multimap for ongoing file operations.
Definition: SimulationTimestampTypes.h:71
A base class for simulation timestamps regarding workflow tasks.
Definition: SimulationTimestampTypes.h:105
A simulation timestamp class for disk write completions.
Definition: SimulationTimestampTypes.h:559
A simulation timestamp class for file write failure times.
Definition: SimulationTimestampTypes.h:309
double bytes
amount of bytes being written
Definition: SimulationTimestampTypes.h:515
std::string mount
mount point of disk being read from
Definition: SimulationTimestampTypes.h:426
static std::unordered_multimap< DiskAccess, SimulationTimestampDiskRead * > pending_disk_reads
the data structure that holds the ongoing disk reads.
Definition: SimulationTimestampTypes.h:442
A computational task in a Workflow.
Definition: WorkflowTask.h:27
std::string hostname
hostname of disk being read from
Definition: SimulationTimestampTypes.h:421
A simulation timestamp class for disk write failure times.
Definition: SimulationTimestampTypes.h:550
WorkflowTask * task
Task tied to read.
Definition: SimulationTimestampTypes.h:195
WorkflowFile * file
The WorkflowFile that was being write.
Definition: SimulationTimestampTypes.h:263
A class that encodes a file location.
Definition: FileLocation.h:28
A simulation timestamp class for WorkflowTask completion times.
Definition: SimulationTimestampTypes.h:143
double bytes
amount of bytes being read
Definition: SimulationTimestampTypes.h:431
StorageService * service
Service that initiated the write.
Definition: SimulationTimestampTypes.h:273
std::shared_ptr< FileLocation > source
The location where the WorkflowFile was being copied from.
Definition: SimulationTimestampTypes.h:352
WorkflowFile * file
The WorkflowFile that was being read.
Definition: SimulationTimestampTypes.h:180
WorkflowFile * file
The WorkflowFile that was being copied.
Definition: SimulationTimestampTypes.h:347
A simulation timestamp class for disk read start times.
Definition: SimulationTimestampTypes.h:455
A base class for simulation timestamps regarding file writes.
Definition: SimulationTimestampTypes.h:247
A base class for simulation timestamps regarding disk writes.
Definition: SimulationTimestampTypes.h:488
StorageService * service
Service that initiated the read.
Definition: SimulationTimestampTypes.h:190
A simulation timestamp class for file write start times.
Definition: SimulationTimestampTypes.h:298
std::string hostname
hostname of disk being written to
Definition: SimulationTimestampTypes.h:505
std::shared_ptr< FileLocation > destination
The location where the WorkflowFile was being copied to.
Definition: SimulationTimestampTypes.h:357
A class that contains post-mortem simulation-generated data.
Definition: SimulationOutput.h:27
A simulation timestamp class for WorkflowTask failure times.
Definition: SimulationTimestampTypes.h:134
A data file used/produced by a WorkflowTask in a Workflow.
Definition: WorkflowFile.h:26
A simulation timestamp class for changes in a host's pstate.
Definition: SimulationTimestampTypes.h:568
static std::unordered_multimap< File, SimulationTimestampFileCopy * > pending_file_copies
the data structure that holds the ongoing file writes.
Definition: SimulationTimestampTypes.h:362
A simulation timestamp class for energy consumption.
Definition: SimulationTimestampTypes.h:583