Function and Formation
Last updated
Last updated
Clusters are groups of that work together to execute confidential computations. These clusters are created by computation customers, who select the nodes based on factors like reputation, processing power, and secure execution zones support.
Customers can either choose to assemble their own clusters tailored to their needs or choose to reuse an existing cluster if it suits their requirements. This flexibility allows the computation customers to select nodes that best align with their task requirements while optimizing efficiency.
The cluster's total computational capacity is determined by the hardware of the weakest node, while the maximum required computational load must be explicitly defined. For clusters with secure execution zones, the number of nodes equipped with them must be specified.
After the cluster creation, most of the cluster properties, like the code priority list, cannot be changed since they may be used by other . However, the computational limit can be increased if all nodes can handle the added load.
When creating a cluster, each node must individually approve its participation, with nodes potentially rejecting based on factors like computational requirements or the reputation of other nodes. Many nodes keep private blacklists to filter out unwanted collaborations. For non-permissioned clusters, one random node is selected through an automated process, and the cluster becomes active once all nodes approve. If any node declines, cluster creation fails. These approval mechanisms also apply to adding new nodes to existing clusters during migrations.
When a cluster is created, the nodes are listed in a priority sequence, which may include more nodes than are needed for the cluster's active operations. This ordered list helps identify backup nodes that can take over in case one of the nodes becomes unavailable, ensuring smooth transitions during migrations.
The dynamic node substitution mechanism ensures backup nodes are chosen when the node priority list is exhausted or unavailable. This system becomes vital during large-scale outages, such as a cloud provider failure. It filters nodes based on the requirements, hardware capacity and trustworthiness, measured by uptime and slashing history.
Additionally, clusters can configure this process to avoid specific nodes or jurisdictions, using blacklists to refine selections in order to maintain the cluster's performance by dynamically ranking nodes and providing replacements that align with the cluster's operational and security needs during migration or recovery events.