Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Free
Faster access than browser!
 

Linearizability

Index Linearizability

In concurrent programming, an operation (or set of operations) is atomic, linearizable, indivisible or uninterruptible if it appears to the rest of the system to occur at once without being interrupted. [1]

54 relations: ACID, ARM architecture, Atomic swap, Atomicity (database systems), C (programming language), C11 (C standard revision), Cache coherence, Central processing unit, Compare-and-swap, Concurrency (computer science), Concurrent computing, Consistency model, Context switch, Critical section, Cyrix coma bug, Database transaction, Deadlock, Debugging, Denial-of-service attack, Fetch-and-add, Infinite loop, Instruction pipelining, Instruction set architecture, Interrupt, Invariant (computer science), Isolation (database systems), Jeannette Wing, Load-link/store-conditional, Lock (computer science), Maurice Herlihy, Monitor (synchronization), Mutual exclusion, Non-blocking algorithm, Process (computing), Processor design, Read-copy-update, Read-modify-write, Reentrancy (computing), Semaphore (programming), Sequence, Serializability, Shared register, Signal (IPC), Single UNIX Specification, Spring Framework, Test-and-set, Thread (computing), Thread safety, Time of check to time of use, Transactional memory, ..., Uniprocessor system, X86 instruction listings, 32-bit, 64-bit computing. Expand index (4 more) »

ACID

In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc.

New!!: Linearizability and ACID · See more »

ARM architecture

ARM, previously Advanced RISC Machine, originally Acorn RISC Machine, is a family of reduced instruction set computing (RISC) architectures for computer processors, configured for various environments.

New!!: Linearizability and ARM architecture · See more »

Atomic swap

An atomic swap is a proposed feature in cryptocurrencies, that allows for the exchange of one cryptocurrency for another cryptocurrency without the need for a trusted third party.

New!!: Linearizability and Atomic swap · See more »

Atomicity (database systems)

In database systems, atomicity (or atomicness; from Greek atomos, undividable) is one of the ACID (Atomicity, Consistency, Isolation, Durability) transaction properties.

New!!: Linearizability and Atomicity (database systems) · See more »

C (programming language)

C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.

New!!: Linearizability and C (programming language) · See more »

C11 (C standard revision)

C11 (formerly C1X) is an informal name for ISO/IEC 9899:2011, the current standard for the C programming language.

New!!: Linearizability and C11 (C standard revision) · See more »

Cache coherence

In computer architecture, cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches.

New!!: Linearizability and Cache coherence · See more »

Central processing unit

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.

New!!: Linearizability and Central processing unit · See more »

Compare-and-swap

In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization.

New!!: Linearizability and Compare-and-swap · See more »

Concurrency (computer science)

In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome.

New!!: Linearizability and Concurrency (computer science) · See more »

Concurrent computing

Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).

New!!: Linearizability and Concurrent computing · See more »

Consistency model

In computer science, Consistency models are used in distributed systems like distributed shared memory systems or distributed data stores (such as a filesystems, databases, optimistic replication systems or Web caching).

New!!: Linearizability and Consistency model · See more »

Context switch

In computing, a context switch is the process of storing the state of a process or of a thread, so that it can be restored and execution resumed from the same point later.

New!!: Linearizability and Context switch · See more »

Critical section

In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior, so parts of the program where the shared resource is accessed are protected.

New!!: Linearizability and Critical section · See more »

Cyrix coma bug

The Cyrix coma bug is a design flaw in Cyrix 6x86, 6x86L, and early 6x86MX processors that allows a non-privileged program to hang the computer.

New!!: Linearizability and Cyrix coma bug · See more »

Database transaction

A transaction symbolizes a unit of work performed within a database management system (or similar system) against a database, and treated in a coherent and reliable way independent of other transactions.

New!!: Linearizability and Database transaction · See more »

Deadlock

In concurrent computing, a deadlock is a state in which each member of a group is waiting for some other member to take action, such as sending a message or more commonly releasing a lock.

New!!: Linearizability and Deadlock · See more »

Debugging

Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.

New!!: Linearizability and Debugging · See more »

Denial-of-service attack

In computing, a denial-of-service attack (DoS attack) is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet.

New!!: Linearizability and Denial-of-service attack · See more »

Fetch-and-add

In computer science, the fetch-and-add CPU instruction (FAA) atomically increments the contents of a memory location by a specified value.

New!!: Linearizability and Fetch-and-add · See more »

Infinite loop

An infinite loop (or endless loop) is a sequence of instructions in a computer program which loops endlessly, either due to the loop having no terminating condition, having one that can never be met, or one that causes the loop to start over.

New!!: Linearizability and Infinite loop · See more »

Instruction pipelining

Instruction pipelining is a technique for implementing instruction-level parallelism within a single processor.

New!!: Linearizability and Instruction pipelining · See more »

Instruction set architecture

An instruction set architecture (ISA) is an abstract model of a computer.

New!!: Linearizability and Instruction set architecture · See more »

Interrupt

In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention.

New!!: Linearizability and Interrupt · See more »

Invariant (computer science)

In computer science, an invariant is a condition that can be relied upon to be true during the execution of a program, or during some portion of it.

New!!: Linearizability and Invariant (computer science) · See more »

Isolation (database systems)

In database systems, isolation determines how transaction integrity is visible to other users and systems.

New!!: Linearizability and Isolation (database systems) · See more »

Jeannette Wing

Jeannette Marie Wing is Avanessians Director of the Data Sciences Institute at Columbia University, where she is also a professor of computer science.

New!!: Linearizability and Jeannette Wing · See more »

Load-link/store-conditional

In computer science, load-link and store-conditional (LL/SC) are a pair of instructions used in multithreading to achieve synchronization.

New!!: Linearizability and Load-link/store-conditional · See more »

Lock (computer science)

In computer science, a lock or mutex (from mutual exclusion) is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution.

New!!: Linearizability and Lock (computer science) · See more »

Maurice Herlihy

Maurice Peter Herlihy (born 4 January 1954) is a computer scientist active in the field of multiprocessor synchronization.

New!!: Linearizability and Maurice Herlihy · See more »

Monitor (synchronization)

In concurrent programming, a monitor is a synchronization construct that allows threads to have both mutual exclusion and the ability to wait (block) for a certain condition to become true.

New!!: Linearizability and Monitor (synchronization) · See more »

Mutual exclusion

In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions; it is the requirement that one thread of execution never enter its critical section at the same time that another concurrent thread of execution enters its own critical section.

New!!: Linearizability and Mutual exclusion · See more »

Non-blocking algorithm

In computer science, an algorithm is called non-blocking if failure or suspension of any thread cannot cause failure or suspension of another thread; for some operations, these algorithms provide a useful alternative to traditional blocking implementations.

New!!: Linearizability and Non-blocking algorithm · See more »

Process (computing)

In computing, a process is an instance of a computer program that is being executed.

New!!: Linearizability and Process (computing) · See more »

Processor design

Processor design is the design engineering task of creating a processor, a component of computer hardware.

New!!: Linearizability and Processor design · See more »

Read-copy-update

In computer science, read-copy-update (RCU) is a synchronization mechanism based on mutual exclusion.

New!!: Linearizability and Read-copy-update · See more »

Read-modify-write

In computer science, read-modify-write is a class of atomic operations (such as test-and-set, fetch-and-add, and compare-and-swap) that both read a memory location and write a new value into it simultaneously, either with a completely new value or some function of the previous value.

New!!: Linearizability and Read-modify-write · See more »

Reentrancy (computing)

In computing, a computer program or subroutine is called reentrant if it can be interrupted in the middle of its execution and then safely be called again ("re-entered") before its previous invocations complete execution.

New!!: Linearizability and Reentrancy (computing) · See more »

Semaphore (programming)

In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system.

New!!: Linearizability and Semaphore (programming) · See more »

Sequence

In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed.

New!!: Linearizability and Sequence · See more »

Serializability

In concurrency control of databases,Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman (1987): (free PDF download), Addison Wesley Publishing Company, Gerhard Weikum, Gottfried Vossen (2001):, Elsevier, transaction processing (transaction management), and various transactional applications (e.g., transactional memoryMaurice Herlihy and J. Eliot B. Moss. Transactional memory: architectural support for lock-free data structures. Proceedings of the 20th annual international symposium on Computer architecture (ISCA '93). Volume 21, Issue 2, May 1993. and software transactional memory), both centralized and distributed, a transaction schedule is serializable if its outcome (e.g., the resulting database state) is equal to the outcome of its transactions executed serially, i.e. without overlapping in time.

New!!: Linearizability and Serializability · See more »

Shared register

In distributed computing, shared-memory systems and message-passing systems are two means of interprocess communication which have been heavily studied.

New!!: Linearizability and Shared register · See more »

Signal (IPC)

Signals are a limited form of inter-process communication (IPC), typically used in Unix, Unix-like, and other POSIX-compliant operating systems.

New!!: Linearizability and Signal (IPC) · See more »

Single UNIX Specification

The Single UNIX Specification (SUS) is the collective name of a family of standards for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark.

New!!: Linearizability and Single UNIX Specification · See more »

Spring Framework

The Spring Framework is an application framework and inversion of control container for the Java platform.

New!!: Linearizability and Spring Framework · See more »

Test-and-set

In computer science, the test-and-set instruction is an instruction used to write 1 (set) to a memory location and return its old value as a single atomic (i.e., non-interruptible) operation.

New!!: Linearizability and Test-and-set · See more »

Thread (computing)

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.

New!!: Linearizability and Thread (computing) · See more »

Thread safety

Thread safety is a computer programming concept applicable to multi-threaded code.

New!!: Linearizability and Thread safety · See more »

Time of check to time of use

In software development, time of check to time of use (TOCTTOU or TOCTOU, pronounced "tock too") is a class of software bugs caused by changes in a system between the checking of a condition (such as a security credential) and the use of the results of that check.

New!!: Linearizability and Time of check to time of use · See more »

Transactional memory

In computer science and engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an atomic way.

New!!: Linearizability and Transactional memory · See more »

Uniprocessor system

A uniprocessor system is defined as a computer system that has a single central processing unit that is used to execute computer tasks.

New!!: Linearizability and Uniprocessor system · See more »

X86 instruction listings

The x86 instruction set refers to the set of instructions that x86-compatible microprocessors support.

New!!: Linearizability and X86 instruction listings · See more »

32-bit

32-bit microcomputers are computers in which 32-bit microprocessors are the norm.

New!!: Linearizability and 32-bit · See more »

64-bit computing

In computer architecture, 64-bit computing is the use of processors that have datapath widths, integer size, and memory address widths of 64 bits (eight octets).

New!!: Linearizability and 64-bit computing · See more »

Redirects here:

Atomic (computer science), Atomic action, Atomic actions, Atomic instruction, Atomic operation, Atomic operations, Atomic operations (computing), Atomic primitive, Atomicity (programming), Immediate consistency, Indivisibility (programming), Indivisible operation, Linearizable, Uninterruptibility (programming).

References

[1] https://en.wikipedia.org/wiki/Linearizability

OutgoingIncoming
Hey! We are on Facebook now! »