Struct Spec_prq49¶
Defined in File Spec_prq49.hpp
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?
-
constexpr size_t
-
using