Struct usl::Model [−][src]
Expand description
A Universal Scalability Law model.
Fields
sigma: f64
The model’s coefficient of contention, σ.
kappa: f64
The model’s coefficient of crosstalk/coherency, κ.
lambda: f64
The model’s coefficient of performance, λ.
Implementations
impl Model
[src]
impl Model
[src]pub fn build(measurements: &[Measurement]) -> Model
[src]
pub fn build(measurements: &[Measurement]) -> Model
[src]Build a model whose parameters are generated from the given measurements.
Finds a set of coefficients for the equation y = λx/(1+σ(x-1)+κx(x-1))
which best fit the
observed values using unconstrained least-squares regression. The resulting values for λ, κ,
and σ are the parameters of the returned model.
pub fn throughput_at_concurrency(&self, n: f64) -> f64
[src]
pub fn throughput_at_concurrency(&self, n: f64) -> f64
[src]Calculate the expected throughput given a number of concurrent events, X(N)
.
See “Practical Scalability Analysis with the Universal Scalability Law, Equation 3”.
pub fn latency_at_concurrency(&self, n: f64) -> f64
[src]
pub fn latency_at_concurrency(&self, n: f64) -> f64
[src]Calculate the expected mean latency given a number of concurrent events, R(N)
.
See “Practical Scalability Analysis with the Universal Scalability Law, Equation 6”.
pub fn max_concurrency(&self) -> f64
[src]
pub fn max_concurrency(&self) -> f64
[src]Calculate the maximum expected number of concurrent events the system can handle, N{max}
.
See “Practical Scalability Analysis with the Universal Scalability Law, Equation 4”.
pub fn max_throughput(&self) -> f64
[src]
pub fn max_throughput(&self) -> f64
[src]Calculate the maximum expected throughput the system can handle, X{max}
.
pub fn latency_at_throughput(&self, x: f64) -> f64
[src]
pub fn latency_at_throughput(&self, x: f64) -> f64
[src]Calculate the expected mean latency given a throughput, R(X)
.
See “Practical Scalability Analysis with the Universal Scalability Law, Equation 8”.
pub fn throughput_at_latency(&self, r: f64) -> f64
[src]
pub fn throughput_at_latency(&self, r: f64) -> f64
[src]Calculate the expected throughput given a mean latency, X(R)
.
See “Practical Scalability Analysis with the Universal Scalability Law, Equation 9”.
pub fn concurrency_at_latency(&self, r: f64) -> f64
[src]
pub fn concurrency_at_latency(&self, r: f64) -> f64
[src]Calculate the expected number of concurrent events at a particular mean latency, N(R)
.
See “Practical Scalability Analysis with the Universal Scalability Law, Equation 10”.
pub fn concurrency_at_throughput(&self, x: f64) -> f64
[src]
pub fn concurrency_at_throughput(&self, x: f64) -> f64
[src]Calculate the expected number of concurrent events at a particular throughput, N(X)
.
pub fn contention_constrained(&self) -> bool
[src]
pub fn contention_constrained(&self) -> bool
[src]Whether or not the system is constrained by contention effects.
pub fn coherency_constrained(&self) -> bool
[src]
pub fn coherency_constrained(&self) -> bool
[src]Whether or not the system is constrained by coherency effects.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin for Model
impl UnwindSafe for Model
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more