pub struct RunStats {Show 14 fields
pub total_makespan: f64,
pub total_dag_count: usize,
pub completed_dag_count: usize,
pub average_dag_makespan: f64,
pub min_dag_makespan: f64,
pub max_dag_makespan: f64,
pub total_cpu_flops: f64,
pub cpu_utilization: f64,
pub memory_utilization: f64,
pub total_network_traffic: f64,
pub network_traffic_between_racks: f64,
pub network_traffic_between_hosts: f64,
pub total_chunks_in_dfs: u64,
pub total_space_used: f64,
/* private fields */
}Expand description
Some stats from a completed simulation.
Fields§
§total_makespan: f64Total time between first NewDag event and last simulation event.
total_dag_count: usizeTotal number of received DAGs.
completed_dag_count: usizeTotal number of completed DAGs.
average_dag_makespan: f64Average makespan of a DAG among completed DAGs.
min_dag_makespan: f64Minimum makespan of a DAG among completed DAGs.
max_dag_makespan: f64Maximum makespan of a DAG among completed DAGs.
total_cpu_flops: f64Total CPU flops used by all completed tasks.
cpu_utilization: f64Average CPU utilization during simulation.
memory_utilization: f64Average memory utilization during simulation.
total_network_traffic: f64Total network traffic. Includes transfers with src == dst.
network_traffic_between_racks: f64Total network traffic between different racks.
network_traffic_between_hosts: f64Total network traffic between different hosts.
total_chunks_in_dfs: u64Total number chunks in DFS in the end of the simulation.
total_space_used: f64Fraction of the used space in the end of the simulation.
Implementations§
source§impl RunStats
impl RunStats
sourcepub fn new(total_cores: u32, total_memory: u64) -> Self
pub fn new(total_cores: u32, total_memory: u64) -> Self
Initialize new stats for a system with given number of cores and amount of memory.
sourcepub fn register_dag(&mut self, makespan: f64)
pub fn register_dag(&mut self, makespan: f64)
Register completed DAG with given makespan.
sourcepub fn register_transfer(
&mut self,
size: f64,
src: (Id, usize),
dst: (Id, usize)
)
pub fn register_transfer( &mut self, size: f64, src: (Id, usize), dst: (Id, usize) )
Register completed transfer with given parameters.
size— size of the data which was transfered.src,dst— pairs (simulation component, rack) for transfer source and destination.
sourcepub fn register_task_execution(&mut self, flops: f64)
pub fn register_task_execution(&mut self, flops: f64)
Register task with a given computation size.
sourcepub fn register_cpu_utilization(&mut self, cpu_utilization: f64)
pub fn register_cpu_utilization(&mut self, cpu_utilization: f64)
Register CPU utilization measure in (number of cores used) * (time of the usage).
sourcepub fn register_memory_utilization(&mut self, memory_utilization: f64)
pub fn register_memory_utilization(&mut self, memory_utilization: f64)
Register memory utilization measure in (amount of memory used) * (time of the usage).
sourcepub fn finalize(&mut self, makespan: f64)
pub fn finalize(&mut self, makespan: f64)
Finalize result given total_makespan;
Trait Implementations§
source§impl<'de> Deserialize<'de> for RunStats
impl<'de> Deserialize<'de> for RunStats
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for RunStats
impl RefUnwindSafe for RunStats
impl Send for RunStats
impl Sync for RunStats
impl Unpin for RunStats
impl UnwindSafe for RunStats
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more