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.
Structure de donnéesEn informatique, une structure de données est une manière d'organiser les données pour les traiter plus facilement. Une structure de données est une mise en œuvre concrète d'un type abstrait. Pour prendre un exemple de la vie quotidienne, on peut présenter des numéros de téléphone par département, par nom, par profession (comme les Pages jaunes), par numéro téléphonique (comme les annuaires destinés au télémarketing), par rue et/ou une combinaison quelconque de ces classements.
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.
Purely functional data structureIn computer science, a purely functional data structure is a data structure that can be directly implemented in a purely functional language. The main difference between an arbitrary data structure and a purely functional one is that the latter is (strongly) immutable. This restriction ensures the data structure possesses the advantages of immutable objects: (full) persistency, quick copy of objects, and thread safety. Efficient purely functional data structures may require the use of lazy evaluation and memoization.
Grille informatiqueUne grille informatique (en anglais, grid) est une infrastructure virtuelle constituée d'un ensemble de ressources informatiques potentiellement partagées, distribuées, hétérogènes, délocalisées et autonomes. Une grille est en effet une infrastructure, c'est-à-dire des équipements techniques d'ordres matériel et logiciel. Cette infrastructure est qualifiée de virtuelle car les relations entre les entités qui la composent n'existent pas sur le plan matériel mais d'un point de vue logique.
ComputingComputing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, engineering, mathematical, technological and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology, digital art and software engineering.
.NET FrameworkLe .NET Framework (abr. NetFx) est un cadriciel (framework) pouvant être utilisé par un système d'exploitation Microsoft Windows et Microsoft Windows Mobile depuis la version 5 (.NET Compact Framework). Une version légère et limitée fournie avec un moteur d'exécution fonctionnant à l'intérieur d'un navigateur ou d'un périphérique mobile est disponible sous le nom de Silverlight. La version 3.0 du framework est intégrée à Windows Vista et à la plupart des versions de Windows Server 2008 ou téléchargeable depuis le site de l'éditeur Microsoft.
Parallel algorithmIn computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can do multiple operations in a given time. It has been a tradition of computer science to describe serial algorithms in abstract machine models, often the one known as random-access machine. Similarly, many computer science researchers have used a so-called parallel random-access machine (PRAM) as a parallel abstract machine (shared-memory).
GénéricitéEn programmation, la généricité (ou programmation générique), consiste à définir des algorithmes identiques opérant sur des données de types différents. On définit de cette façon des procédures ou des types entiers génériques. On pourrait ainsi programmer une pile, ou une procédure qui prend l'élément supérieur de la pile, indépendamment du type de données contenues. C'est donc une forme de polymorphisme, le « polymorphisme de type » dit aussi « paramétrage de type » : en effet, le type de donnée général (abstrait) apparaît comme un paramètre des algorithmes définis, avec la particularité que ce paramètre-là est un type.
Structure de données persistanteEn informatique, une structure de données persistante est une structure de données qui préserve ses versions antérieures lorsqu'elle est modifiée ; une telle structure est immuable, car ses opérations ne la modifient pas en place (de manière visible) mais renvoient au contraire de nouvelles structures. Une structure est partiellement persistante si seule sa version la plus récente peut être modifiée, les autres n'étant accessibles qu'en lecture. La structure est dite totalement persistante si chacune de ses versions peut être lue ou modifiée.
Port parallèleLe port parallèle est un connecteur situé à l'arrière des ordinateurs compatibles PC reposant sur la communication parallèle. Il est associé à l'interface parallèle Centronics. La communication parallèle a été conçue pour une imprimante imprimant du texte, caractère par caractère. Les imprimantes graphiques (pouvant imprimer des images) ont ensuite continué à utiliser ce système pour profiter de l'interface parallèle normalisée. Le port parallèle est à l'origine unidirectionnel.
Réseau systoliqueDans les architectures informatiques parallèles, un réseau systolique est un réseau homogène d'unités de traitement de données (DPU) étroitement couplées appelées cellules ou nœuds. Chaque nœud ou DPU calcule indépendamment un résultat partiel en fonction des données reçues de ses voisins en amont, stocke le résultat et le transmet en aval. Les matrices systoliques ont été utilisées pour la première fois dans Colossus, qui était un des premiers ordinateurs utilisés pour casser les chiffrements allemands de Lorenz pendant la Seconde Guerre mondiale.
Ramasse-miettes (informatique)thumb|Illustration d'un ramasse-miette compactant. Un ramasse-miettes, ou récupérateur de mémoire, ou glaneur de cellules (en anglais garbage collector, abrégé en GC), est un sous-système informatique de gestion automatique de la mémoire. Il est responsable du recyclage de la mémoire préalablement allouée puis inutilisée. Lorsqu'un système dispose d'un ramasse-miettes, ce dernier fait généralement partie de l'environnement d'exécution associé à un langage de programmation particulier.
Performances (informatique)En informatique, les performances énoncent les indications chiffrées mesurant les possibilités maximales ou optimales d'un matériel, d'un logiciel, d'un système ou d'un procédé technique pour exécuter une tâche donnée. Selon le contexte, les performances incluent les mesures suivantes : Un faible temps de réponse pour effectuer une tâche donnée Un débit élevé (vitesse d'exécution d'une tâche) L'efficience : faible utilisation des ressources informatiques : processeur, mémoire, stockage, réseau, consommation électrique, etc.
Calcul hétérogèneHeterogeneous computing refers to systems that use more than one kind of processor or core. These systems gain performance or energy efficiency not just by adding the same type of processors, but by adding dissimilar coprocessors, usually incorporating specialized processing capabilities to handle particular tasks. Usually heterogeneity in the context of computing referred to different instruction-set architectures (ISA), where the main processor has one and other processors have another - usually a very different - architecture (maybe more than one), not just a different microarchitecture (floating point number processing is a special case of this - not usually referred to as heterogeneous).
Collection (museum)A museum is distinguished by a collection of often unique objects that forms the core of its activities for exhibitions, education, research, etc. This differentiates it from an archive or library, where the contents may be more paper-based, replaceable and less exhibition oriented, or a private collection of art formed by an individual, family or institution that may grant no public access. A museum normally has a collecting policy for new acquisitions, so only objects in certain categories and of a certain quality are accepted into the collection.
Langage de programmation à usage généralEn informatique, un langage de programmation à usage général () est un langage de programmation conçu pour être utilisé pour la conception de logiciels dans la plus grande variété de domaines d'application. Un langage de programmation peut être qualifié ainsi s'il n'inclut pas de constructions de langage conçues pour être utilisées dans un domaine d'application spécifique. Inversement, un langage dédié () est un langage conçu pour être utilisé dans un domaine d'application spécifique.
Communicating sequential processesEn programmation concurrente, Communicating sequential processes (CSP) est une algèbre de processus permettant de modéliser l'interaction de systèmes. CSP intègre un mécanisme de synchronisation basé sur le principe du rendez-vous (détaillé plus loin au travers de la commande d'entrée/sortie). Combinant ce mécanisme à une syntaxe simple et concise, CSP permet l'implémentation rapide des paradigmes classiques de la concurrence, tels que producteurs/consommateurs ou lecteurs/écrivains.
Utility computingUtility computing, or computer utility, is a service provisioning model in which a service provider makes computing resources and infrastructure management available to the customer as needed, and charges them for specific usage rather than a flat rate. Like other types of on-demand computing (such as grid computing), the utility model seeks to maximize the efficient use of resources and/or minimize associated costs. Utility is the packaging of system resources, such as computation, storage and services, as a metered service.
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.