3 ms·
Thanks for your question. Currently, VEKOS runs in single-core mode - SMP support is planned but not yet implemented. The challenge with SMP in VEKOS isn't jus
by jgiraldo29 2y ago
Thanks for your question. Currently, VEKOS runs in single-core mode - SMP support is planned but not yet implemented.
The challenge with SMP in VEKOS isn't just synchronization, but maintaining verifiable operation chains across cores. The current verification system in operation_proofs.rs and verification.rs assumes sequential operations for proof generation and validation. Key considerations for SMP implementation include:
1. The VERIFICATION_REGISTRY already uses atomic operations and Mutex protection:
pub struct VerificationRegistry {
proofs: Vec<OperationProof>,
current_state: AtomicU64,
}
2. Critical data structures like BlockCache and BufferManager are wrapped in Mutex:
pub struct Superblock {
pub block_cache: Mutex<BlockCache>,
pub buffer_manager: Mutex<BufferManager>,
...
}
3. The scheduler (in scheduler.rs) is designed with multi-core in mind:
lazy_static! {
pub static ref SCHEDULER: Mutex<Scheduler> = Mutex::new(Scheduler::new());
}
The main work needed for SMP is:
- Per-core scheduling queues
- Distributed verification chain generation
- Cross-core memory barriers for proof validation
- CPU-local operation proof caches