Parallélisme (informatique)vignette|upright=1|Un des éléments de Blue Gene L cabinet, un des supercalculateurs massivement parallèles les plus rapides des années 2000. En informatique, le parallélisme consiste à mettre en œuvre des architectures d'électronique numérique permettant de traiter des informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont pour but de réaliser le plus grand nombre d'opérations en un temps le plus petit possible.
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.
Parallel programming modelIn computing, a parallel programming model is an abstraction of parallel computer architecture, with which it is convenient to express algorithms and their composition in programs. The value of a programming model can be judged on its generality: how well a range of different problems can be expressed for a variety of different architectures, and its performance: how efficiently the compiled programs can execute. The implementation of a parallel programming model can take the form of a library invoked from a sequential language, as an extension to an existing language, or as an entirely new language.
Transactional memoryIn 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. It is a concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing. Transactional memory systems provide high-level abstraction as an alternative to low-level thread synchronization. This abstraction allows for coordination between concurrent reads and writes of shared data in parallel systems.
Mac miniLe Mac mini est un ordinateur de bureau développé et produit par Apple. À l'instar des ordinateurs Mini-ITX, il est particulièrement petit pour un ordinateur de bureau (un pavé de de côté et de de haut). Il pèse ( pour les Mac mini commercialisés en ). Le Mac mini a été présenté pour la première fois à la Macworld Conference & Expo le , il a depuis été plusieurs fois mis à jour avec de nouveaux composants, le rendant ainsi de plus en plus performant.
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.
Cell (processeur)Le Cell est un processeur conçu conjointement par IBM, Sony et Toshiba, révélé en . Il équipe notamment la console de jeu vidéo PlayStation 3 de Sony. Il est envisagé de produire également des ordinateurs à base de Cell chez IBM, et Toshiba (Qosmio F50/55 et G50/55).
Mémoire partagée (communication inter-processus)Dans un contexte de la programmation concurrente, le partage de mémoire est un moyen de partager des données entre différents processus : une même zone de la mémoire vive est accédée par plusieurs processus. C'est le comportement de la mémoire de threads issus d'un même processus. Pour cela, dans un système utilisant la pagination, la table de page de chaque processus contient les pages mémoires communes, mais chaque processus ne les voit pas nécessairement à la même adresse. Communication inter-processus
Traitement massivement parallèleEn informatique, le traitement massivement parallèle (en anglais, massively parallel processing ou massively parallel computing) est l'utilisation d'un grand nombre de processeurs (ou d'ordinateurs distincts) pour effectuer un ensemble de calculs coordonnés en parallèle (c'est-à-dire simultanément). Différentes approches ont été utilisées pour implanter le traitement massivement parallèle. Dans cette approche, la puissance de calcul d'un grand nombre d'ordinateurs distribués est utilisée de façon opportuniste chaque fois qu'un ordinateur est disponible.
Memory barrierIn computing, a memory barrier, also known as a membar, memory fence or fence instruction, is a type of barrier instruction that causes a central processing unit (CPU) or compiler to enforce an ordering constraint on memory operations issued before and after the barrier instruction. This typically means that operations issued prior to the barrier are guaranteed to be performed before operations issued after the barrier. Memory barriers are necessary because most modern CPUs employ performance optimizations that can result in out-of-order execution.
Pentium 4Le Pentium 4, produit par Intel, est un microprocesseur x86 de septième génération inaugurant la microarchitecture NetBurst. Il succède à la génération P6 inaugurée par le Pentium Pro. Cette nouvelle microarchitecture a comme but avoué la montée (relativement) facile en fréquence. En effet, lors du lancement de ce processeur, la fréquence de fonctionnement du processeur faisait un excellent argument marketing. Intel décide donc de proposer un processeur possédant une haute fréquence de fonctionnement par rapport à ses prédécesseurs ou à son principal concurrent, l'Athlon XP d'AMD.
Estimation par noyauEn statistique, l’estimation par noyau (ou encore méthode de Parzen-Rosenblatt ; en anglais, kernel density estimation ou KDE) est une méthode non-paramétrique d’estimation de la densité de probabilité d’une variable aléatoire. Elle se base sur un échantillon d’une population statistique et permet d’estimer la densité en tout point du support. En ce sens, cette méthode généralise astucieusement la méthode d’estimation par un histogramme. Si est un échantillon i.i.d.
Non uniform memory accessEn informatique, un système NUMA (pour non uniform memory access ou non uniform memory architecture, signifiant respectivement accès mémoire non uniforme et architecture mémoire non uniforme) est un système multiprocesseur dans lequel les zones mémoire sont séparées et placées en différents endroits (et sur différents bus). Vis-à-vis de chaque processeur, les temps d'accès diffèrent donc suivant la zone mémoire accédée.
Multivariate kernel density estimationKernel density estimation is a nonparametric technique for density estimation i.e., estimation of probability density functions, which is one of the fundamental questions in statistics. It can be viewed as a generalisation of histogram density estimation with improved statistical properties. Apart from histograms, other types of density estimators include parametric, spline, wavelet and Fourier series. Kernel density estimators were first introduced in the scientific literature for univariate data in the 1950s and 1960s and subsequently have been widely adopted.
Accès direct à la mémoirevignette|Entrée-sortie sans DMA vignette|Entrée-sortie avec DMA L'accès direct à la mémoire (en anglais DMA pour Direct Memory Access) est un procédé informatique où des données circulant de, ou vers, un périphérique (port de communication, disque dur) sont transférées directement par un contrôleur adapté vers la mémoire principale de la machine, sans intervention du microprocesseur si ce n'est pour lancer et conclure le transfert. La conclusion du transfert ou la disponibilité du périphérique peuvent être signalés par interruption.
Parallélisme (géométrie)En géométrie affine, le parallélisme est une propriété relative aux droites, aux plans ou plus généralement aux sous-espaces affines. La notion de parallélisme a été initialement formulée par Euclide dans ses Éléments, mais sa présentation a évolué dans le temps, passant d'une définition axiomatique à une simple définition. La notion de parallélisme est introduite dans le Livre I des Éléments d'Euclide. Pour Euclide, une droite s'apparente plutôt à un segment.
Verrou (informatique)Un verrou informatique permet de s'assurer qu'une seule personne, ou un seul processus accède à une ressource à un instant donné. Ceci est souvent utilisé dans le domaine des accès à des fichiers sur des systèmes d'exploitation multi-utilisateur, car si deux programmes modifient un même fichier au même moment, le risque est de : provoquer des erreurs dans un des deux programmes, voire dans les deux ; laisser le fichier en fin de traitement dans une complète incohérence ; endommager le fichier manipulé.
Histogrammethumb|Exemple d'histogramme. Échantillon de 100 valeurs générées pour une distribution normale N(0,1). En statistique, un histogramme est une représentation graphique permettant de représenter la répartition empirique d'une variable aléatoire en la représentant avec des colonnes correspondant chacune à une classe. L’histogramme est un moyen rapide pour étudier la répartition d’une variable. Il peut être, en particulier utilisé en gestion de la qualité lorsque les données sont obtenues lors d’une fabrication.
Hyper-threadingthumb|Principe de l’hyper-threading. Hyper-threading (officiellement appelée Hyper-Threading Technology (HTT) ou HT Technology (HT)) est la mise en œuvre par l'entreprise Intel du simultaneous multithreading (SMT) à deux voies dans ses microprocesseurs. Le premier modèle grand public de la gamme à en bénéficier fut le Pentium 4 Northwood cadencé à . Le Xeon Northwood en bénéficia auparavant. Schématiquement, l’hyper-threading consiste à créer deux processeurs logiques sur une seule puce, chacun doté de ses propres registres de données et de contrôle, et d’un contrôleur d’interruptions particulier.
Symmetric multiprocessingUn multiprocesseur symétrique (à mémoire partagée), ou symmetric shared memory multiprocessor (SMP), est une architecture parallèle qui consiste à multiplier les processeurs identiques au sein d'un ordinateur, de manière à augmenter la puissance de calcul, tout en conservant une unique mémoire. Disposer de plusieurs processeurs permet d'exécuter simultanément plusieurs processus du système, utilisateur ou noyau en leur allouant l'un ou l'autre des processeurs disponibles, ce qui augmente la fluidité lors de l'exécution de plusieurs programmes, et permet à un processus d'utiliser plus de ressources de calcul en créant plusieurs threads.