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.
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.
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.
Pentium ProLe Pentium Pro est un microprocesseur x86 32 bits produit par Intel, de sixième génération (architecture P6), sorti en 1995. Avec ce processeur, Intel s'est attaqué au marché des serveurs pour entreprises, dominé par IBM, faisant baisser le prix des serveurs et monter en puissance les architectures Intel, ce qui profite aussi aux produits pour PC, devenus assez puissants pour traiter de grandes quantités de sons et photos. Ce processeur a été conçu pour les systèmes 32 bits de l'époque comme Windows NT et OS/2.
Intel PentiumLIntel Pentium est le microprocesseur de de la famille Intel x86. Lancé en , il succède à l' et précède le Pentium Pro. Le Pentium MMX est une évolution mineure du Pentium. Intel a réutilisé la marque déposée « Pentium » pour de nombreux autres microprocesseurs, et le premier microprocesseur à porter ce nom est parfois appelé Pentium original pour le distinguer des suivants.
Applet JavaUn applet Java est un applet, fournie aux utilisateurs sous la forme de bytecode Java. Un applet Java peut fonctionner dans un navigateur web, grâce à une machine virtuelle Java (JVM), ou dans l'AppletViewer de Sun, un outil permettant de tester les applets Java. Les applets Java ont été introduits dans la première version du langage, de 1995. Les applets Java sont la plupart du temps écrits en langage Java, mais ils peuvent également être écrits dans n'importe quel langage qui se compile en bytecode, comme Jython, Groovy ou encore Scala.
Chapel (langage)Chapel, the Cascade High Productivity Language, is a parallel programming language that was developed by Cray, and later by Hewlett Packard Enterprise which acquired Cray. It was being developed as part of the Cray Cascade project, a participant in DARPA's High Productivity Computing Systems (HPCS) program, which had the goal of increasing supercomputer productivity by 2010. It is being developed as an open source project, under version 2 of the Apache license. The Chapel compiler is written in C and C++ (C++14).
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.
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.
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.
PowerPCPowerPC, parfois abrégé PPC, est une gamme de microprocesseurs dérivée de l'architecture de processeur RISC POWER d'IBM, et développée conjointement par Apple, IBM et Freescale (anciennement Motorola Semiconducteurs). Le rétro-acronyme de PowerPC est Performance Optimization With Enhanced RISC Performance Computing. Depuis 2004, l'architecture est gérée par la fondation Power.org. À partir de 2019, la fondation Power est gérée par la Linux Foundation qui place le design et les jeux d’instructions sous licence Open Source.
Multithreadingthumb|Schéma d'un process multithread Un processeur est dit multithread s'il est capable d'exécuter efficacement plusieurs threads simultanément. Contrairement aux systèmes multiprocesseurs (tels les systèmes multi-cœur), les threads doivent partager les ressources d'un unique cœur : les unités de traitement, le cache processeur et le translation lookaside buffer ; certaines parties sont néanmoins dupliquées : chaque thread dispose de ses propres registres et de son propre pointeur d'instruction.
Processeur 64 bitsthumb|Un processeur AMD. Un processeur est un processeur dont la largeur des registres est de sur les nombres entiers. Les processeurs ne peuvent normalement pas adresser plus de () de mémoire centrale, tandis que les processeurs peuvent en adresser (). C'est pourquoi dès qu'il y a plus de de RAM sur une machine, la mémoire au-delà de ce seuil ne sera directement adressable qu'en mode . Diverses techniques contournent cette limitation sans franchir le pas du mode .
Intel i860L'Intel i860 (i860 dit aussi 80860, nom de code N10) est un microprocesseur RISC d'Intel, lancé en 1989. L'i860 est le premier à proposer une architecture et un jeu d'instructions (ISA, Instruction Set Architecture) complètement nouveau, depuis l'échec de l'iAPX 432 au début des années 1980. Lancé en fanfare, il masque l'i960, pourtant techniquement meilleur. L'i860 n'arriva cependant pas à devenir populaire. La fabrication de ce processeur fut interrompue à la suite de résultats commerciaux décevants.
AppletUne appliquette, applette ou applet est un logiciel ou un mini-logiciel qui s'exécute dans la fenêtre d'une autre application, en général un navigateur web. Le terme « applet » est issu de l'anglais app (« application ») et -let (suffixe indiquant la petite taille), d’autres sources indiquent qu’il pourrait s’agir de l’acronyme d’ ( « application de petite taille »). Les francisations proposées sont « applette », « appliquette » et « applet » tel quel.
Machine virtuelle Javavignette|Machine virtuelle Java - Spécification Java 7 La machine virtuelle Java (en anglais Java virtual machine, abr. JVM) est un appareil informatique fictif qui exécute des programmes compilés sous forme de bytecode Java. L'appareil est simulé par un logiciel spécifique à chaque plateforme ou couple (machine/système d’exploitation) et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.
Comparison of instruction set architecturesAn instruction set architecture (ISA) is an abstract model of a computer, also referred to as computer architecture. A realization of an ISA is called an implementation. An ISA permits multiple implementations that may vary in performance, physical size, and monetary cost (among other things); because the ISA serves as the interface between software and hardware. Software that has been written for an ISA can run on different implementations of the same ISA.
Java (technique)Java est une technique informatique développée initialement par Sun Microsystems puis acquise par Oracle à la suite du rachat de l'entreprise. Défini à l'origine comme un langage de programmation, Java a évolué pour devenir un ensemble cohérent d'éléments techniques et non techniques.
MultitâcheUn système d'exploitation est multitâche () s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes informatiques. On parle également de multiprogrammation. Cette fonction est indépendante du nombre de processeurs dotant l’ordinateur ; une machine multiprocesseur n'est aucunement nécessaire pour exécuter un système d'exploitation multitâche. La simultanéité apparente ou réelle, selon le nombre de processeurs, est le résultat de l’alternance rapide d’exécution des processus présents en mémoire.
HyperTransportL'HyperTransport (anciennement Lightning Data Transport ou LDT) est un bus local série/parallèle plus rapide que le bus PCI et qui utilise le même nombre de broches. HyperTransport est une technologie issue des laboratoires Digital. À la suite de la disparition de Digital, le développement fut repris par AMD, IBM et nVidia qui avaient acquis une licence. Le bus hypertransport a connu différentes évolutions offrant une bande passante théorique de : 1.x : : échanges jusqu'à .