Struct Spec_prq49

Nested Relationships

Struct Documentation

struct dish2::Spec_prq49

Public Types

using this_t = Spec_prq49
using op_library_t = sgpl::OpLibraryCoupler<sgpl::CompleteOpLibrary, sgpl::global::RegulatorAdj<1>, sgpl::global::RegulatorGet<1>, sgpl::global::RegulatorSet<1>, sgpl::global::RegulatorDecay<1>, dish2::AddToOwnState<this_t>, dish2::BcstIntraMessageIf, dish2::MultiplyOwnState<this_t>, dish2::ReadNeighborState<this_t>, dish2::ReadOwnState<this_t>, dish2::SendInterMessageIf, dish2::SendIntraMessageIf, dish2::WriteOwnStateIf<this_t>>
using event_manager_t = dish2::EventManager<dish2::EventSeries<dish2::AlwaysEvent>, dish2::EventSeries<dish2::IsChildCellOfEvent>, dish2::EventSeries<dish2::IsChildGroupOfEvent, NLEV - 1>, dish2::EventSeries<dish2::IsNewbornEvent>, dish2::EventSeries<dish2::IsParentCellOfEvent>, dish2::EventSeries<dish2::KinGroupMatchEvent, NLEV - 1>, dish2::EventSeries<dish2::KinGroupMismatchEvent, NLEV - 1>, dish2::EventSeries<dish2::KinGroupWillExpireEvent, NLEV - 1>, dish2::EventSeries<dish2::KinGroupWillNotExpireEvent, NLEV - 1>, dish2::EventSeries<dish2::NeighborApoptosisEvent>, dish2::EventSeries<dish2::NeighborFragmentedEvent>, dish2::EventSeries<dish2::NeighborIsAliveEvent>, dish2::EventSeries<dish2::NeighborIsNewbornEvent>, dish2::EventSeries<dish2::NeighborIsNotAliveEvent>, dish2::EventSeries<dish2::NeighborKinGroupWillExpireEvent, NLEV - 1>, dish2::EventSeries<dish2::NeighborOptimumQuorumExceededEvent, NLEV - 1>, dish2::EventSeries<dish2::OptimumQuorumExceededEvent, NLEV - 1>, dish2::EventSeries<dish2::OptimumQuorumNotExceededEvent, NLEV - 1>, dish2::EventSeries<dish2::ParentFragmentedEvent>, dish2::EventSeries<dish2::PhylogeneticRootMatchEvent>, dish2::EventSeries<dish2::PhylogeneticRootMismatchEvent>, dish2::EventSeries<dish2::PoorerThanNeighborEvent>, dish2::EventSeries<dish2::ReceivedResourceFromEvent>, dish2::EventSeries<dish2::RicherThanNeighborEvent>, dish2::EventSeries<dish2::StockpileDepletedEvent>, dish2::EventSeries<dish2::StockpileFecundEvent>>
using tag_t = typename sgpl_spec_t::tag_t
using message_t = std::tuple<typename sgpl_spec_t::tag_t, typename sgpl::Core<sgpl_spec_t>::registers_t>
using push_message_t = dish2::PushMessage
using genome_mesh_spec_t = dish2::GenomeMeshSpec<this_t>
using intra_message_mesh_spec_t = dish2::IntraMessageMeshSpec<this_t>
using message_mesh_spec_t = dish2::MessageMeshSpec<this_t>
using push_mesh_spec_t = dish2::PushMeshSpec<this_t>
using quorum_mesh_spec_t = dish2::QuorumMeshSpec<this_t>
using resource_mesh_spec_t = dish2::ResourceMeshSpec
using state_mesh_spec_t = dish2::StateMeshSpec<this_t>
using topology_factory_t = netuit::ToroidalTopologyFactory
using intra_topology_factory_t = netuit::CompleteTopologyFactory
using program_t = sgpl::Program<sgpl_spec_t>
using service_manager_t = dish2::ServiceManager<dish2::DecayToBaselineService, dish2::RunningLogPurgeService, dish2::ControllerMappedStateNoiseService, dish2::InterpretedIntrospectiveStateRefreshService, dish2::IntermittentExtrospectiveStateExchangeService<this_t>, dish2::IntermittentExtrospectiveStateRotateService, dish2::IntermittentIntrospectiveStateExchangeService<this_t>, dish2::IntermittentIntrospectiveStateRotateService, dish2::CpuExecutionService, dish2::EventLaunchingService, dish2::IntermittentIntrospectiveStateRotateRestoreService, dish2::IntermittentIntrospectiveStateExchangeRestoreService, dish2::IntermittentExtrospectiveStateRotateRestoreService, dish2::IntermittentExtrospectiveStateExchangeRestoreService, dish2::IntermittentWritableStateExchangeService<this_t>, dish2::IntermittentWritableStateRotateService, dish2::BirthSetupService, dish2::CellAgeService, dish2::CollectiveHarvestingService, dish2::CollectiveResourceDecayService, dish2::ConduitFlushService, dish2::InterMessageLaunchingService, dish2::InterMessagePurgingService, dish2::IntraMessageLaunchingService, dish2::MessageCounterClearService, dish2::PushService, dish2::QuorumService, dish2::ResourceDecayService, dish2::ResourceHarvestingService, dish2::ResourceReceivingService, dish2::ResourceSendingService, dish2::SpawnSendingService, dish2::StateInputJumpService, dish2::StateOutputPutService, dish2::EpochAdvanceService, dish2::IntermittentWritableStateRotateRestoreService, dish2::IntermittentWritableStateExchangeRestoreService, dish2::GroupExpirationService, dish2::ApoptosisService>
using thread_local_service_manager_t = dish2::ThreadLocalServiceManager<dish2::CellUpdateService, dish2::DiversityMaintenanceService, dish2::StintDiversityMaintenanceService>

Public Static Attributes

constexpr size_t NLEV = {2}

How many hierarchical kin group levels should be simulated?

constexpr size_t AMT_NOP_MEMORY = 4

How many nop and transient nop states should exist in the peripheral?

constexpr size_t STATE_EXCHANGE_CHAIN_LENGTH = 128

How many callees should we displace state by in state exchange experiments?

constexpr bool SET_QUORUM_BITS_BY_KIN_GROUP = true

Should higher-level kin group quorum counts be based on cell count or sub- kin group count?

constexpr size_t NUM_EVENTS = event_manager_t::GetNumEvents()
struct sgpl_spec_t : public sgpl::Spec<op_library_t, dish2::Peripheral<this_t>>

Public Static Attributes

constexpr size_t num_cores = {32}

How many virtual cores should each cardinal’s virtual CPU be able to support?