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.
Optimistic concurrency controlOptimistic concurrency control (OCC), also known as optimistic locking, is a concurrency control method applied to transactional systems such as relational database management systems and software transactional memory. OCC assumes that multiple transactions can frequently complete without interfering with each other. While running, transactions use data resources without acquiring locks on those resources. Before committing, each transaction verifies that no other transaction has modified the data it has read.
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).
Multiversion Concurrency ControlMultiversion concurrency control (abrégé en MCC ou MVCC) est une méthode informatique de contrôle des accès concurrents fréquemment utilisée dans les systèmes de gestion de base de données et les langages de programmation concernant la gestion des caches en mémoire. Le principe de MVCC repose sur un verrouillage dit optimiste contrairement au verrouillage pessimiste qui consiste à bloquer préalablement les objets à des garanties de bonne fin. L'inconvénient logique est qu'une mise à jour peut être annulée du fait d'un "blocage" en fin de traitement.
Matériauvignette|Grandes classes de matériaux. Les matériaux minéraux sont des roches, des céramiques ou des verres. Les matériaux métalliques sont des métaux ou des alliages. Un matériau est toute matière utilisée pour réaliser un objet au sens large. Ce dernier est souvent une pièce d'un sous-ensemble. C'est donc une matière sélectionnée à l'origine en raison de propriétés particulières et mise en œuvre en vue d'un usage spécifique.
Science des matériauxLa science des matériaux repose sur la relation entre les propriétés, la morphologie structurale et la mise en œuvre des matériaux qui constituent les objets qui nous entourent (métaux, polymères, semi-conducteurs, céramiques, composites, etc.). Elle se focalise sur l'étude des principales caractéristiques des matériaux, ainsi que leurs propriétés mécaniques, chimiques, électriques, thermiques, optiques et magnétiques. La science des matériaux est au cœur de beaucoup des grandes révolutions techniques.
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.
Résistance des matériauxvignette|Essai de compression sur une éprouvette de béton, une pression croissante est appliquée verticalement sur l'échantillon pendant que deux appareils mesurent les déformations longitudinales et transversales de l'éprouvette. vignette|À l'issue du test, l'éprouvette s'est rompue. Notez la cassure longitudinale. La résistance des matériaux (RDM) est une discipline particulière de la mécanique des milieux continus, permettant le calcul des contraintes et déformations dans les structures des différents matériaux (machines, génie mécanique, bâtiment et génie civil).
Parallélisme de donnéeLe parallélisme par distribution de donnée ou parallélisme de donnée (data parallelism en anglais) est un paradigme de la programmation parallèle. Autrement dit, c'est une manière particulière d'écrire des programmes pour des machines parallèles. Les algorithmes des programmes qui entrent dans cette catégorie cherchent à distribuer les données au sein des processus et à y opérer les mêmes opérations à l'instar des SIMD. Le paradigme opposé est celui du parallélisme de tâche. Catégorie:Programmation concurr
Task parallelismTask parallelism (also known as function parallelism and control parallelism) is a form of parallelization of computer code across multiple processors in parallel computing environments. Task parallelism focuses on distributing tasks—concurrently performed by processes or threads—across different processors. In contrast to data parallelism which involves running the same task on different components of data, task parallelism is distinguished by running many different tasks at the same time on the same data.
Instruction-level parallelismInstruction-level parallelism (ILP) is the parallel or simultaneous execution of a sequence of instructions in a computer program. More specifically ILP refers to the average number of instructions run per step of this parallel execution. ILP must not be confused with concurrency. In ILP there is a single specific thread of execution of a process. On the other hand, concurrency involves the assignment of multiple threads to a CPU's core in a strict alternation, or in true parallelism if there are enough CPU cores, ideally one core for each runnable thread.