Cores
Create and modify custom C0 Cores with personalized performance characteristics.
Overview
CPU processor cores, hardware components found in every computer, run application code by processing data. Signaloid's C0 Processor Cores run application code and propagate distributional information about data. A Signaloid C0 Processor Core is the engine behind powering uncertainty tracking when running your applications in the Signaloid Cloud Compute Engine.
Signaloid provides a number of default C0 Processor Cores that provide a good starting point for uncertainty tracking in your application. Create a custom Signaloid C0 Processor Core, optimized for your specific application, and extract the most out of the Signaloid Cloud Compute Engine.
All cores are code compatible but implement different microarchitectures of the Signaloid C0 Processor, providing a choice of tradeoffs between performance, accuracy and cost.
To get started with custom cores see our quick start guide.
Use the Cores page (Figure 1, below) to select one of the default C0 Processor cores or to create a custom Signaloid C0 Processor Core. Using a custom Signaloid C0 Processor Core gives you the choice of the microarchitecture, the memory allocation, and whether the core should track autocorrelation within the data. You can create and configure custom Signaloid C0 Processor Cores by clicking on the green button (it looks like: ) in the upper right hand side of the Page. Figure 2, below, shows the process in action.
Creating Custom C0 cores
Custom Cores you create are saved in the Signaloid Cloud Compute Engine. Use the Core Name configure to refer to the custom Signaloid C0 Processor Core for running applications within the Signaloid Cloud Developer Platform. The Custom Signaloid C0 Processor Cores is also available for use by your production applications built on top of the Signaloid Cloud Compute Engine.
The Cores page allows you to edit custom cores. Edit custom cores by clicking the Edit Icon to bring up the Modify Execution Core dialog. Edit custom cores the in the same way as you create them.
Delete Custom Cores by clicking the Icon.
Properties of Signaloid C0 Processor Cores
Signaloid C0 Processor Core Microarchitectures
C0-Zurich
The C0-Zurich Signaloid Processor Core Microarchitecture provides basic uncertainty-tracking underneath a standard RISC-V instruction-set architecture.
C0-Athens
The C0-Athens Signaloid Processor Core Microarchitecture provides uncertainty-tracking underneath a standard RISC-V instruction-set architecture, using an uncertainty representation that is able to adapt to low-probability events and distributions with long tails.
C0-Bypass
The C0-Bypass Signaloid Processor Core Microarchitecture allows you to test your applications without uncertainty tracking. You might choose to use this core type when you are initially getting your application ported to the Signaloid Cloud Developer Platform, before you have started looking at how uncertainties propagate through your application.
C0-Reference
The C0-Reference Signaloid Processor Core Microarchitecture provides reference-quality uncertainty-tracking underneath a standard RISC-V instruction-set architecture. The output of your application when running on C0-Reference cores will be identical to what you would get if you performed a Monte-Carlo simulation of your program; but with C0-Reference, you can get this benefit without needing to make changes to your application code.
Representation Size or Monte Carlo Equivalent
The Representation Size configures how much data the Signaloid Processor Core stores about each distributional value. Storing more data provides higher accuracy but comes with a performance cost. Monte Carlo Equivalent is an alternative way to describe the accuracy with which the Signaloid Processor Core stores distributional values.
Reference Quality Level
The C0-Reference Signaloid Processor Core Microarchitecture does not have a Representation Size. Instead you can specify the Reference Quality Level corresponding to the number of times the Signaloid Cloud Compute Engine will run an application to collect samples.
Memory Allocation
The Memory Allocation for a Signaloid Processor Core Microarchitecture configures how much memory is available to applications running on the core.
Correlation Tracking
Autocorrelation tracking in a Signaloid C0 Processor Core Microarchitecture variant tracks when values are derived from the same original ancestor value (and are hence correlated). The Signaloid C0 Processor core will handle the arithmetic on such correlated values specially to account for the correlation.
Autocorrelation tracking is enabled in any of the + default C0 Processor Cores types.