pub struct JoinKey {Show 14 fields
pub host: String,
pub workload: Workload,
pub band: u32,
pub model: String,
pub quant: String,
pub tokenization: TokenCountingMethod,
pub window_ms: u64,
pub replicates: u32,
pub interleaved: bool,
pub n_ctx_slot: Option<u32>,
pub kv_type: Option<String>,
pub fa: Option<bool>,
pub n_batch: Option<u32>,
pub n_predict: u32,
}Expand description
PP-22 — the fourteen fields two bands must agree on before their numbers may be divided.
Each field is a way two measurements can look comparable and not be. c=4
against c=16 compares different offered loads; a 30 s window against a 60 s
one compares different amounts of thermal drift; n_batch = 1 against a
served comparator compares a working server against a crippled one.
Fields§
§host: StringWhich host.
workload: WorkloadWhich workload.
band: u32The band’s concurrency c.
model: StringWhich model.
quant: StringWhich quantization.
tokenization: TokenCountingMethodHow tokens were counted (§4.4.6).
window_ms: u64The measurement window, in milliseconds.
replicates: u32Replicates run.
interleaved: boolWhether those replicates alternated.
n_ctx_slot: Option<u32>Comparator -c per slot. None when the lane did not report one.
kv_type: Option<String>KV cache type, e.g. f16.
fa: Option<bool>Flash attention.
n_batch: Option<u32>Comparator -b. Some(1) is refused outright (§5.3).
n_predict: u32Generated tokens per request.
Implementations§
Source§impl JoinKey
impl JoinKey
Sourcepub fn of(receipt: &ReceiptInput, band: &BandInput) -> Self
pub fn of(receipt: &ReceiptInput, band: &BandInput) -> Self
Build the key for one band of one receipt.
Sourcepub fn refuse_cripple(&self) -> Result<(), String>
pub fn refuse_cripple(&self) -> Result<(), String>
§5.3 — a comparator serving one request at a time is not serving the band. Checked on its own so a key can be rejected before it is compared with anything.
§Errors
When n_batch == Some(1).
Sourcepub fn refuse_mismatch(&self, other: &Self) -> Result<(), String>
pub fn refuse_mismatch(&self, other: &Self) -> Result<(), String>
PP-22 — refuse the join, naming every differing field.
All of them, not the first: a caller told only “band differs” re-runs,
discovers the window differs too, and re-runs again. Both keys are also
checked for the -b 1 cripple.
§Errors
When any field differs, or when either key is a -b 1 comparator.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for JoinKey
impl<'de> Deserialize<'de> for JoinKey
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>,
impl Eq for JoinKey
impl StructuralPartialEq for JoinKey
Auto Trait Implementations§
impl Freeze for JoinKey
impl RefUnwindSafe for JoinKey
impl Send for JoinKey
impl Sync for JoinKey
impl Unpin for JoinKey
impl UnsafeUnpin for JoinKey
impl UnwindSafe for JoinKey
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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