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);
201 static std::unordered_multimap<File, std::pair<SimulationTimestampFileRead *, WorkflowTask *>> pending_file_reads;
284 static std::unordered_multimap<File, std::pair<SimulationTimestampFileWrite *, WorkflowTask *>> pending_file_writes;
339 std::shared_ptr<FileLocation> getSource();
340 std::shared_ptr<FileLocation> getDestination();
414 std::string getHostname();
415 std::string getMount();
497 std::string getHostname();
498 std::string getMount();
571 std::string getHostname();
577 std::string hostname;
586 std::string getHostname();
587 double getConsumption();
592 std::string hostname;
601 std::string getLinkname();
607 std::string linkname;
608 double bytes_per_second;
612 #endif //WRENCH_SIMULATIONTIMESTAMPTYPES_H
A base class for simulation timestamps regarding disk reads.
Definition: SimulationTimestampTypes.h:406
A simulation timestamp class for file read failure times.
Definition: SimulationTimestampTypes.h:227
int counter
counter to differentiate reads
Definition: SimulationTimestampTypes.h:437
A simulation timestamp class for file read start times.
Definition: SimulationTimestampTypes.h:215
A simulation timestamp class for file read completions.
Definition: SimulationTimestampTypes.h:236
A base class for simulation timestamps.
Definition: SimulationTimestampTypes.h:85
A simulation timestamp class for disk read completions.
Definition: SimulationTimestampTypes.h:477
A simulation timestamp class for WorkflowTask termination times.
Definition: SimulationTimestampTypes.h:153
A simulation timestamp class for WorkflowTask start times.
Definition: SimulationTimestampTypes.h:126
static std::unordered_multimap< DiskAccess, SimulationTimestampDiskWrite * > pending_disk_writes
the data structure that holds the ongoing disk writes.
Definition: SimulationTimestampTypes.h:526
A simulation timestamp class for file write completions.
Definition: SimulationTimestampTypes.h:319
A simulation timestamp class for file copy completions.
Definition: SimulationTimestampTypes.h:394
A simulation timestamp class for disk write start times.
Definition: SimulationTimestampTypes.h:539
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:114
A base class for simulation timestamps regarding file reads.
Definition: SimulationTimestampTypes.h:165
A simulation timestamp class for disk read failure times.
Definition: SimulationTimestampTypes.h:468
The storage service base class.
Definition: StorageService.h:36
int counter
counter to differentiate writes
Definition: SimulationTimestampTypes.h:521
A base class for simulation timestamps regarding file copies.
Definition: SimulationTimestampTypes.h:331
std::string mount
mount point of disk being written to
Definition: SimulationTimestampTypes.h:511
A simulation timestamp class for file copy failure times.
Definition: SimulationTimestampTypes.h:385
FileLocation * source
The location where the WorkflowFile was being read from.
Definition: SimulationTimestampTypes.h:186
FileLocation * destination
The location where the WorkflowFile was being write from.
Definition: SimulationTimestampTypes.h:269
WorkflowTask * task
Task associated with write.
Definition: SimulationTimestampTypes.h:279
A simulation timestamp class for file copy start times.
Definition: SimulationTimestampTypes.h:374
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:599
A simulation timestamp class for disk write completions.
Definition: SimulationTimestampTypes.h:560
A simulation timestamp class for file write failure times.
Definition: SimulationTimestampTypes.h:310
double bytes
amount of bytes being written
Definition: SimulationTimestampTypes.h:516
std::string mount
mount point of disk being read from
Definition: SimulationTimestampTypes.h:427
static std::unordered_multimap< DiskAccess, SimulationTimestampDiskRead * > pending_disk_reads
the data structure that holds the ongoing disk reads.
Definition: SimulationTimestampTypes.h:443
A computational task in a Workflow.
Definition: WorkflowTask.h:31
std::string hostname
hostname of disk being read from
Definition: SimulationTimestampTypes.h:422
A simulation timestamp class for disk write failure times.
Definition: SimulationTimestampTypes.h:551
WorkflowTask * task
Task tied to read.
Definition: SimulationTimestampTypes.h:196
WorkflowFile * file
The WorkflowFile that was being write.
Definition: SimulationTimestampTypes.h:264
A class that encodes a file location.
Definition: FileLocation.h:28
A simulation timestamp class for WorkflowTask completion times.
Definition: SimulationTimestampTypes.h:144
double bytes
amount of bytes being read
Definition: SimulationTimestampTypes.h:432
StorageService * service
Service that initiated the write.
Definition: SimulationTimestampTypes.h:274
std::shared_ptr< FileLocation > source
The location where the WorkflowFile was being copied from.
Definition: SimulationTimestampTypes.h:353
WorkflowFile * file
The WorkflowFile that was being read.
Definition: SimulationTimestampTypes.h:181
WorkflowFile * file
The WorkflowFile that was being copied.
Definition: SimulationTimestampTypes.h:348
A simulation timestamp class for disk read start times.
Definition: SimulationTimestampTypes.h:456
A base class for simulation timestamps regarding file writes.
Definition: SimulationTimestampTypes.h:248
A base class for simulation timestamps regarding disk writes.
Definition: SimulationTimestampTypes.h:489
StorageService * service
Service that initiated the read.
Definition: SimulationTimestampTypes.h:191
A simulation timestamp class for file write start times.
Definition: SimulationTimestampTypes.h:299
std::string hostname
hostname of disk being written to
Definition: SimulationTimestampTypes.h:506
std::shared_ptr< FileLocation > destination
The location where the WorkflowFile was being copied to.
Definition: SimulationTimestampTypes.h:358
A class that contains post-mortem simulation-generated data.
Definition: SimulationOutput.h:27
A simulation timestamp class for WorkflowTask failure times.
Definition: SimulationTimestampTypes.h:135
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:569
static std::unordered_multimap< File, SimulationTimestampFileCopy * > pending_file_copies
the data structure that holds the ongoing file writes.
Definition: SimulationTimestampTypes.h:363
A simulation timestamp class for energy consumption.
Definition: SimulationTimestampTypes.h:584