Terminology

Concurrent Container

Arcology's Concurrent Containers are specialized data structures provided by its Concurrent API, allowing developers to manage shared data in a thread-safe manner within a parallel execution environment.

Commutative Variable

In Arcology, a commutative variable refers to a type of thread-safe data that supports commutative operation operations. Commutative operations are those that can be applied in any order without changing the final outcome. This property is essential in concurrent environments, where multiple transactions or threads might be simultaneously modifying the same data.

For example, if you have a commutative variable representing a counter, multiple transactions incrementing the counter by different amounts can apply their increments in any order, and the final result will be the same regardless of the order in which the increments were applied. This allows for parallel processing without the need for strict synchronization mechanisms.

Conflict Detector

In Arcology's parallel execution environment, a conflict detector is a module that examines the read and write sets of transactions after their execution to identify instances where multiple transactions have accessed the same shared resources concurrently, potentially resulting in conflicts.

Concurrent API

Arcology's Concurrent API is a collection of Solidity-based data structures and tools designed to enable developers to create contention-free smart contracts that leverage the platform's parallel execution capabilities.

Read

A state read in Solidity refers to the act of retrieving data from persistent storage on the Ethereum blockchain, typically involving the querying of state variables within a smart contract.

Arcology's Concurrent API is a collection of Solidity-based data structures and tools designed to enable developers to create contention-free smart contracts that leverage the platform's parallel execution capabilities.

Write

A write in Solidity refers to the action of modifying or updating data on the Ethereum blockchain, commonly involving the alteration of state variables within a smart contract through transactions or function calls.

Delta Write

For example, if you perform a delta write to a variable with an initial value of 4, adding 1, the final value would be 4 + 1 = 5, reflecting the commutative nature of the operation. However, for non-commutative variables, the delta write would simply overwrite the original value with the new one.

A delta write, in the context of Arcology's concurrency control, is an update operation that can be applied to commutative variables. In situations where commutative properties apply, the delta write modifies only the changes made to the variable, and the final effect is achieved by combining the original variable with the changes introduced through delta writes.

Conflict

In Arcology's parallel execution environment, a conflict refers to a situation where multiple transactions attempt to access and modify the same shared resources concurrently, potentially leading to unintended or unpredictable outcomes. The conflict detection mechanism identifies and addresses such conflicts to ensure data consistency and integrity.

RW Set

Thread

In the context of Arcology, a thread refers to an independent Virtual Machine (VM) instance running within an Execution Unit (EU). While the definition might not perfectly align with traditional thread concepts, it is used for simplicity's sake. Each thread operates as a separate execution unit, processing transactions and performing computations. This design allows for parallel execution and efficient utilization of resources within the Arcology system.

Last updated