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));
78 void setDate(
double date);
202 static std::unordered_multimap<File, std::pair<SimulationTimestampFileRead *, WorkflowTask *>> pending_file_reads;
285 static std::unordered_multimap<File, std::pair<SimulationTimestampFileWrite *, WorkflowTask *>> pending_file_writes;
340 std::shared_ptr<FileLocation> getSource();
341 std::shared_ptr<FileLocation> getDestination();
415 std::string getHostname();
416 std::string getMount();
498 std::string getHostname();
499 std::string getMount();
572 std::string getHostname();
578 std::string hostname;
587 std::string getHostname();
588 double getConsumption();
593 std::string hostname;
602 std::string getLinkname();
608 std::string linkname;
609 double bytes_per_second;
613 #endif //WRENCH_SIMULATIONTIMESTAMPTYPES_H
A base class for simulation timestamps regarding disk reads.
Definition: SimulationTimestampTypes.h:407
A simulation timestamp class for file read failure times.
Definition: SimulationTimestampTypes.h:228
int counter
counter to differentiate reads
Definition: SimulationTimestampTypes.h:438
A simulation timestamp class for file read start times.
Definition: SimulationTimestampTypes.h:216
A simulation timestamp class for file read completions.
Definition: SimulationTimestampTypes.h:237
A base class for simulation timestamps.
Definition: SimulationTimestampTypes.h:85
A simulation timestamp class for disk read completions.
Definition: SimulationTimestampTypes.h:478
A simulation timestamp class for WorkflowTask termination times.
Definition: SimulationTimestampTypes.h:154
A simulation timestamp class for WorkflowTask start times.
Definition: SimulationTimestampTypes.h:127
static std::unordered_multimap< DiskAccess, SimulationTimestampDiskWrite * > pending_disk_writes
the data structure that holds the ongoing disk writes.
Definition: SimulationTimestampTypes.h:527
A simulation timestamp class for file write completions.
Definition: SimulationTimestampTypes.h:320
A simulation timestamp class for file copy completions.
Definition: SimulationTimestampTypes.h:395
A simulation timestamp class for disk write start times.
Definition: SimulationTimestampTypes.h:540
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:115
A base class for simulation timestamps regarding file reads.
Definition: SimulationTimestampTypes.h:166
A simulation timestamp class for disk read failure times.
Definition: SimulationTimestampTypes.h:469
The storage service base class.
Definition: StorageService.h:36
int counter
counter to differentiate writes
Definition: SimulationTimestampTypes.h:522
A base class for simulation timestamps regarding file copies.
Definition: SimulationTimestampTypes.h:332
std::string mount
mount point of disk being written to
Definition: SimulationTimestampTypes.h:512
A simulation timestamp class for file copy failure times.
Definition: SimulationTimestampTypes.h:386
FileLocation * source
The location where the WorkflowFile was being read from.
Definition: SimulationTimestampTypes.h:187
FileLocation * destination
The location where the WorkflowFile was being write from.
Definition: SimulationTimestampTypes.h:270
WorkflowTask * task
Task associated with write.
Definition: SimulationTimestampTypes.h:280
A simulation timestamp class for file copy start times.
Definition: SimulationTimestampTypes.h:375
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:107
A simulation timestamp class for link usage.
Definition: SimulationTimestampTypes.h:600
A simulation timestamp class for disk write completions.
Definition: SimulationTimestampTypes.h:561
A simulation timestamp class for file write failure times.
Definition: SimulationTimestampTypes.h:311
double bytes
amount of bytes being written
Definition: SimulationTimestampTypes.h:517
std::string mount
mount point of disk being read from
Definition: SimulationTimestampTypes.h:428
static std::unordered_multimap< DiskAccess, SimulationTimestampDiskRead * > pending_disk_reads
the data structure that holds the ongoing disk reads.
Definition: SimulationTimestampTypes.h:444
A computational task in a Workflow.
Definition: WorkflowTask.h:31
std::string hostname
hostname of disk being read from
Definition: SimulationTimestampTypes.h:423
A simulation timestamp class for disk write failure times.
Definition: SimulationTimestampTypes.h:552
WorkflowTask * task
Task tied to read.
Definition: SimulationTimestampTypes.h:197
WorkflowFile * file
The WorkflowFile that was being write.
Definition: SimulationTimestampTypes.h:265
A class that encodes a file location.
Definition: FileLocation.h:28
A simulation timestamp class for WorkflowTask completion times.
Definition: SimulationTimestampTypes.h:145
double bytes
amount of bytes being read
Definition: SimulationTimestampTypes.h:433
StorageService * service
Service that initiated the write.
Definition: SimulationTimestampTypes.h:275
std::shared_ptr< FileLocation > source
The location where the WorkflowFile was being copied from.
Definition: SimulationTimestampTypes.h:354
WorkflowFile * file
The WorkflowFile that was being read.
Definition: SimulationTimestampTypes.h:182
WorkflowFile * file
The WorkflowFile that was being copied.
Definition: SimulationTimestampTypes.h:349
A simulation timestamp class for disk read start times.
Definition: SimulationTimestampTypes.h:457
A base class for simulation timestamps regarding file writes.
Definition: SimulationTimestampTypes.h:249
A base class for simulation timestamps regarding disk writes.
Definition: SimulationTimestampTypes.h:490
StorageService * service
Service that initiated the read.
Definition: SimulationTimestampTypes.h:192
A simulation timestamp class for file write start times.
Definition: SimulationTimestampTypes.h:300
std::string hostname
hostname of disk being written to
Definition: SimulationTimestampTypes.h:507
std::shared_ptr< FileLocation > destination
The location where the WorkflowFile was being copied to.
Definition: SimulationTimestampTypes.h:359
A class that contains post-mortem simulation-generated data.
Definition: SimulationOutput.h:27
A simulation timestamp class for WorkflowTask failure times.
Definition: SimulationTimestampTypes.h:136
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:570
static std::unordered_multimap< File, SimulationTimestampFileCopy * > pending_file_copies
the data structure that holds the ongoing file writes.
Definition: SimulationTimestampTypes.h:364
A simulation timestamp class for energy consumption.
Definition: SimulationTimestampTypes.h:585