Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
1d0e839
[hypearactor] skeleton for mesh controller behavior
mariusae Oct 31, 2025
4c0c21f
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 6, 2025
cab1f22
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 6, 2025
ac0613e
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 6, 2025
d663f57
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 7, 2025
7b2b2c9
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 11, 2025
81c977f
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 12, 2025
91b81ab
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 12, 2025
3d7026f
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 12, 2025
bfaa52c
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 12, 2025
9c58168
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 13, 2025
5b40e7f
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 13, 2025
fcad91d
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 13, 2025
541e540
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 14, 2025
37aca3b
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 14, 2025
15642af
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 14, 2025
27e66e6
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 14, 2025
718a40e
Update on "[hypearactor] skeleton for mesh controller behavior"
mariusae Nov 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions hyperactor_mesh/src/resource.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
//! This modules defines a set of common message types used for managing resources
//! in hyperactor meshes.

pub mod mesh;

use core::slice::GetDisjointMutIndex as _;
use std::collections::HashMap;
use std::fmt;
Expand Down
53 changes: 53 additions & 0 deletions hyperactor_mesh/src/resource/mesh.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree.
*/

#![allow(dead_code)]

use hyperactor::Named;
/// This module defines common types for mesh resources. Meshes are managed as
/// resources, usually by a controller actor implementing the [`crate::resource`]
/// behavior.
///
/// The mesh controller manages all aspects of the mesh lifecycle, and the owning
/// actor uses the resource behavior directly to query the state of the mesh.
use ndslice::Extent;
use serde::Deserialize;
use serde::Serialize;

use crate::resource::CreateOrUpdate;
use crate::resource::GetState;
use crate::resource::Status;
use crate::resource::Stop;
use crate::v1::ValueMesh;

/// Mesh specs
#[derive(Debug, Named, Serialize, Deserialize)]
pub struct Spec<S> {
/// All meshes have an extent
extent: Extent,
// supervisor: PortHandle<SupervisionEvent(?)>
/// The mesh-specific spec.
spec: S,
}

/// Mesh states
#[derive(Debug, Named, Serialize, Deserialize)]
pub struct State<S> {
/// The current status for each rank in the mesh.
statuses: ValueMesh<Status>,
/// Mesh-specific state.
state: S,
}

// The behavior of a mesh controllšr.
// hyperactor::behavior!(
// Controller<Sp, St>,
// CreateOrUpdate<Spec<Sp>>,
// GetState<State<St>>,
// Stop,
// );