pub struct K2KPartialCentroid {
pub id: MessageId,
pub worker_id: u64,
pub iteration: u64,
pub cluster_id: u32,
pub point_count: u32,
pub coord_sum_fp: [i64; 8],
pub n_dims: u8,
}Expand description
K2K partial centroid update from a worker.
In distributed KMeans, each worker computes partial sums for centroids from its data partition.
Fields§
§id: MessageIdMessage ID.
worker_id: u64Worker ID.
iteration: u64Iteration number.
cluster_id: u32Cluster ID this update is for.
point_count: u32Number of points assigned to this cluster on this worker.
coord_sum_fp: [i64; 8]Partial sum of coordinates (fixed-point, up to 8 dimensions).
n_dims: u8Number of dimensions.
Trait Implementations§
Source§impl Archive for K2KPartialCentroid
impl Archive for K2KPartialCentroid
Source§type Archived = ArchivedK2KPartialCentroid
type Archived = ArchivedK2KPartialCentroid
The archived representation of this type. Read more
Source§type Resolver = K2KPartialCentroidResolver
type Resolver = K2KPartialCentroidResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for K2KPartialCentroid
impl Clone for K2KPartialCentroid
Source§fn clone(&self) -> K2KPartialCentroid
fn clone(&self) -> K2KPartialCentroid
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for K2KPartialCentroid
impl Debug for K2KPartialCentroid
Source§impl<__D: Fallible + ?Sized> Deserialize<K2KPartialCentroid, __D> for Archived<K2KPartialCentroid>
impl<__D: Fallible + ?Sized> Deserialize<K2KPartialCentroid, __D> for Archived<K2KPartialCentroid>
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<K2KPartialCentroid, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<K2KPartialCentroid, __D::Error>
Deserializes using the given deserializer
Source§impl RingKernelHandler<K2KPartialCentroid, K2KCentroidAggregation> for KMeans
RingKernelHandler for K2K partial centroid updates.
impl RingKernelHandler<K2KPartialCentroid, K2KCentroidAggregation> for KMeans
RingKernelHandler for K2K partial centroid updates.
Aggregates partial centroid contributions from distributed workers.
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: K2KPartialCentroid,
) -> Pin<Box<dyn Future<Output = Result<K2KCentroidAggregation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: K2KPartialCentroid,
) -> Pin<Box<dyn Future<Output = Result<K2KCentroidAggregation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle an incoming message. Read more
Source§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Initialize the kernel state. Read more
Source§fn ring_shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn ring_shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Called when the kernel is being shut down. Read more
Source§fn handle_secure<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
ctx: &'life1 mut SecureRingContext<'life2, 'life3>,
msg: M,
) -> Pin<Box<dyn Future<Output = Result<R, KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
M: 'async_trait,
R: 'async_trait,
Self: Sync + 'async_trait,
fn handle_secure<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
ctx: &'life1 mut SecureRingContext<'life2, 'life3>,
msg: M,
) -> Pin<Box<dyn Future<Output = Result<R, KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
M: 'async_trait,
R: 'async_trait,
Self: Sync + 'async_trait,
Handle a message with security context. Read more
Source§impl RingMessage for K2KPartialCentroid
impl RingMessage for K2KPartialCentroid
Source§fn message_type() -> u64
fn message_type() -> u64
Get the message type discriminator.
Source§fn message_id(&self) -> MessageId
fn message_id(&self) -> MessageId
Get the message ID.
Source§fn correlation_id(&self) -> CorrelationId
fn correlation_id(&self) -> CorrelationId
Get the correlation ID (if any).
Auto Trait Implementations§
impl Freeze for K2KPartialCentroid
impl RefUnwindSafe for K2KPartialCentroid
impl Send for K2KPartialCentroid
impl Sync for K2KPartialCentroid
impl Unpin for K2KPartialCentroid
impl UnwindSafe for K2KPartialCentroid
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.