Synchronisation (multitâches)En programmation concurrente, la synchronisation se réfère à deux concepts distincts mais liés : la synchronisation de processus et la synchronisation de données. La synchronisation de processus est un mécanisme qui vise à bloquer l'exécution de certains processus à des points précis de leur flux d'exécution, de manière que tous les processus se rejoignent à des étapes relais données, tel que prévu par le programmeur. La synchronisation de données, elle, est un mécanisme qui vise à conserver la cohérence des données telles que vues par différents processus, dans un environnement multitâche.
Thread (informatique)thumb|Un processus avec deux threads. Un thread ou fil (traduction normalisés par ISO/CEI 2382-7:2000 (autres appellations connues : processus léger, fil d'exécution, fil d'instruction, processus allégé, exétron, tâche, voire unité d'exécution ou unité de traitement) est similaire à un processus car tous deux représentent l'exécution d'un ensemble d'instructions du langage machine d'un processeur. Du point de vue de l'utilisateur, ces exécutions semblent se dérouler en parallèle.
Processeur vectorielvignette|Processeur vectoriel d'un supercalculateur Cray-1. Un processeur vectoriel est un processeur possédant diverses fonctionnalités architecturales lui permettant d'améliorer l’exécution de programmes utilisant massivement des tableaux, des matrices, et qui permet de profiter du parallélisme inhérent à l'usage de ces derniers. Développé pour des applications scientifiques et exploité par les machines Cray et les supercalculateurs qui lui feront suite, ce type d'architecture a rapidement montré ses avantages pour des applications grand public (on peut citer la manipulation d'images).
Concurrency (computer science)In computer science, concurrency is 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 outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability of a program, algorithm, or problem into order-independent or partially-ordered components or units of computation.
Programmation concurrenteLa programmation concurrente est un paradigme de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques qui peuvent être appelées threads, processus ou tâches. Elles sont matérialisées en machine par une pile d'exécution et un ensemble de données privées. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe).
Microprocesseur multi-cœurvignette|Un processeur quad-core AMD Opteron. vignette|L’Intel Core 2 Duo E6300 est un processeur double cœur. Un microprocesseur multi-cœur (multi-core en anglais) est un microprocesseur possédant plusieurs cœurs physiques fonctionnant simultanément. Il se distingue d'architectures plus anciennes (360/91) où un processeur unique commandait plusieurs circuits de calcul simultanés. Un cœur (en anglais, core) est un ensemble de circuits capables d’exécuter des programmes de façon autonome.
Green threadIn computer programming, a green thread (virtual thread) is a thread that is scheduled by a runtime library or virtual machine (VM) instead of natively by the underlying operating system (OS). Green threads emulate multithreaded environments without relying on any native OS abilities, and they are managed in user space instead of kernel space, enabling them to work in environments that do not have native thread support. Green threads refers to the name of the original thread library for the programming language Java (that was released in version 1.
Concurrency controlIn information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible. Computer systems, both software and hardware, consist of modules, or components. Each component is designed to operate correctly, i.e., to obey or to meet certain consistency rules.
Fibre (informatique)En informatique, une fibre (fiber en anglais) est un type de thread particulièrement léger. Comme les threads, les fibres partagent le même espace mémoire. Toutefois, les fibres utilisent impérativement un multitâche coopératif là où les threads utilisent en général un multitâche préemptif. Les threads dépendent souvent de l'ordonnanceur (en anglais scheduler) du noyau (en anglais kernel) pour préempter un thread occupé et reprendre l'exécution d'un autre thread.
ThroughputLe throughput est le taux de production ou la vitesse à laquelle quelque chose peut être traitée. Ce terme peut aussi désigner le débit global d'un routeur ou d'un nœud du réseau. Lorsqu'il est utilisé dans le cadre des réseaux de télécommunications, tels que ethernet ou un réseau radio en mode paquet, le throughput d'un réseau est le débit de transmission utile du réseau sur un canal de communication (messages reçus avec succès). Les données de ces messages peuvent être émises sur un lien physique ou logique, ou bien à travers un nœud du réseau.
Central processing unitA central processing unit (CPU)—also called a central processor or main processor—is the most important processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output (I/O) operations. This role contrasts with that of external components, such as main memory and I/O circuitry, and specialized coprocessors such as graphics processing units (GPUs). The form, design, and implementation of CPUs have changed over time, but their fundamental operation remains almost unchanged.
Synchronisationthumb|Des parachutistes synchronisent leurs montres avant d'être parachutés en France dans la nuit du 5 au (Opération Tonga). La synchronisation (du grec / sun, « ensemble » et / khrónos, « temps ») est l'action de coordonner plusieurs opérations entre elles en fonction du temps. Les systèmes dont tous les éléments sont synchronisés sont dits synchrones. Certains systèmes tolèrent d'être approximativement synchronisés (quasi synchrones).
Read-copy-updateIn computer science, read-copy-update (RCU) is a synchronization mechanism that avoids the use of lock primitives while multiple threads concurrently read and update elements that are linked through pointers and that belong to shared data structures (e.g., linked lists, trees, hash tables). Whenever a thread is inserting or deleting elements of data structures in shared memory, all readers are guaranteed to see and traverse either the older or the new structure, therefore avoiding inconsistencies (e.g.
SIMTSIMT (de l'Single Instruction, Multiple Threads, selon la taxonomie de Flynn) est une amélioration de SIMD (de l'Single Instruction, Multiple Data) qui permettait sur des processeur arithmétique spécialisés de faire des calculs sur plusieurs données en une seule instruction, en l'adaptant au calcul multithread (c'est-à-dire, comportant plusieurs files d'exécution). MIMD (multiple instruction, multiple data) SIMD (Single Instruction, Multiple Data) SPMD (Single Pogram, Multiple Data) Processeur vectoriel Cat
Isolation (informatique)Dans les systèmes de gestion de base de données (SGBD), l'isolation est la capacité d'un système d'isoler les modifications dans une transaction en cours de celles faites dans les autres transactions conduites simultanément, jusqu'à ce qu'elle soit complétée. C'est l'une des quatre propriétés ACID d'une base de données. L'isolation des transactions d'une base données est assurée par son moteur de stockage, par un contrôle de concurrence entre elles.
Processeur de signal numériqueUn DSP (de l'anglais « Digital Signal Processor », qu'on pourrait traduire par « processeur de signal numérique » ou « traitement numérique de signal ») est un microprocesseur optimisé pour exécuter des applications de traitement numérique du signal (filtrage, extraction de signaux) le plus rapidement possible. Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel. On les trouve dans les modems (modem RTC, modem ADSL), les téléphones mobiles, les appareils multimédia (lecteur MP3), les récepteurs GPS.
Philosophie naturelleLa philosophie naturelle, connue en latin sous le terme philosophia naturalis, est une expression qui s'appliquait à l'étude de la nature et de l'univers physique qui régnait avant le développement de la science moderne (Galilée), les philosophes posant des questions pertinentes qui, de leur temps, restèrent sans réponse, faute de moyens techniques appropriés. Traditionnellement alliée à la théologie naturelle, elle désignait autrefois l'ensemble des sciences naturelles (astronomie, physique, chimie et biologie).
Science de la natureLes sciences de la nature, ou sciences naturelles, ont pour objet le monde naturel. Il s'agit de termes surtout utilisés dans le domaine de l'enseignement scolaire. Les termes « sciences de la nature », « sciences naturelles » et « histoire naturelle » sont en réalité équivalents. La nuance sémantique qui les différencie consiste en ce que « sciences de la nature » et « sciences naturelles » sont des termes qui mettent l'accent sur un ensemble de sciences, chacune spécialisée, alors que le terme « histoire naturelle », le plus ancien des trois, est toujours exprimé au singulier en signifiant ainsi davantage l'unicité des sciences qui étudient la nature plutôt que leur diversité en tant que telle.
Abstraction lyriqueL'abstraction lyrique se réfère à deux mouvements distincts, bien que liés, de la peinture moderne d'après-guerre : L'abstraction lyrique européenne ainsi baptisée par le critique Jean José Marchand et le peintre Georges Mathieu en 1947, dont le courant initial et principal, le tachisme, a été défini à partir de 1951 par les critiques Pierre Guéguen, Charles Estienne et Michel Tapié, lequel inclura ces deux notions dans l'art informel en 1952. L'abstraction lyrique américaine, un mouvement décrit en 1969 par , fondateur de l' à Ridgefield Connecticut.
Commitment orderingCommitment ordering (CO) is a class of interoperable serializability techniques in concurrency control of databases, transaction processing, and related applications. It allows optimistic (non-blocking) implementations. With the proliferation of multi-core processors, CO has also been increasingly utilized in concurrent programming, transactional memory, and software transactional memory (STM) to achieve serializability optimistically. CO is also the name of the resulting transaction schedule (history) property, defined in 1988 with the name dynamic atomicity.