designing-simulation-workloads

Generate and run autonomous simulation workloads for distributed systems.

47|3|Updated May 29, 2024
One-click install
npx skills add https://github.com/PierreZ/moonpool --skill designing-simulation-workloads
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: designing-simulation-workloads
Source: https://github.com/PierreZ/moonpool/tree/main/.claude/skills/designing-simulation-workloads
Command: npx skills add https://github.com/PierreZ/moonpool --skill designing-simulation-workloads

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps engineering teams design and run autonomous simulation workloads to systematically explore the state space of distributed systems, revealing race conditions and invariants.

Core Features & Use Cases

  • Define an operation alphabet (enum) representing all possible actions on actors, messages, and infrastructure.
  • Implement execute_operation() to apply operations to the system under test and emit strategic sometimes_assert! and always_assert! checks.
  • Build verification strategies using Reference Implementation, Operation Logging, and Invariant Tracking to validate correctness during chaos.
  • Scale from 1x1 topologies to larger multi-node layouts, enabling stress testing and coverage expansion with randomized workloads.

Quick Start

  • Define your Operation enum for your system, implement execute_operation(), add logging and invariants, and run on a simple 1x1 topology. Then increment topology to 2x2 and finally 10x10 to exercise state space thoroughly.

Frequently Asked Questions about designing-simulation-workloads

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design simulation workloads to explore distributed system state space?

Designing simulation workloads involves defining an operation alphabet and implementing execute_operation to apply randomized actions, enabling you to systematically explore distributed system state space and reveal race conditions. You instrument the system with invariant checks during the simulation.

What is the best way to verify invariants during network chaos testing?

The best way to verify invariants during network chaos testing is to instrument your workload with always_assert and sometimes_assert checks, combined with reference implementations and operation logging to validate correctness against expected distributed system behavior.

How do I start building autonomous simulation workloads for an actor system?

To build autonomous simulation workloads for an actor system, define an operation enum representing all possible actions, implement execute_operation to apply them, and run the simulation on a 1x1 topology before scaling up to larger multi-node layouts.

Can I use randomized operation sequences to test directory services and routing?

Yes, you can use randomized operation sequences to test directory services and routing by defining a specific operation alphabet for those components and executing them across varying network topologies to uncover hidden race conditions.

How do I scale topology and iteration controls for distributed system stress testing?

You scale topology and iteration controls for distributed system stress testing by starting with a 1x1 topology, then incrementing to 2x2, and finally expanding to 10x10 layouts to thoroughly exercise the state space with randomized workloads.

What verification strategies can I use when simulating distributed system operations?

When simulating distributed system operations, you can use verification strategies like Reference Implementation to compare expected outcomes, Operation Logging to track execution history, and Invariant Tracking to ensure system correctness during chaos.