Accélération (informatique)En architecture informatique, l'accélération (speedup en anglais) est une mesure du gain de performance entre deux systèmes traitant le même problème. Plus techniquement, c'est le gain de vitesse d'exécution d'une tâche exécutée par deux architectures similaires disposant de ressources différentes. La notion d'accélération a été établie par la loi d'Amdahl, qui se penchait principalement sur le calcul parallèle. Cependant, l'accélération peut être utilisée plus généralement pour montrer l'effet sur les performances lors de n'importe quelle amélioration des ressources.
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).
Framebufferthumb|400px|Photo d'un framebuffer SUN TGX. Un framebuffer (soit en français tampon de trame ou mémoire d'image) est un équipement de sortie vidéo qui commande un affichage vidéo à partir d'un tampon mémoire contenant une trame complète de données. Les informations dans le tampon mémoire sont en général les valeurs des composantes de couleurs pour chaque pixel (chaque point à afficher sur l'écran). Les valeurs sont habituellement mémorisées sous les formats 1-bit monochrome, 4-bit palettisées, 8-bit palettisées, 16-bit highcolor ou 24-bit truecolor (vraies couleurs).
False sharingIn computer science, false sharing is a performance-degrading usage pattern that can arise in systems with distributed, coherent caches at the size of the smallest resource block managed by the caching mechanism. When a system participant attempts to periodically access data that is not being altered by another party, but that data shares a cache block with data that is being altered, the caching protocol may force the first participant to reload the whole cache block despite a lack of logical necessity.
Ordonnancement de travaux informatiquesIl s'agit de l'automatisation de traitement d'une tâche informatique. Concerne exclusivement la manière de lancer des traitements ("batch") sur un ou plusieurs composants de son système d'information au moyen de progiciels spécifiques. Ces progiciels allient la théorie de l'ordonnancement avec des techniques propres à l'informatique (queues de traitements, gestion de fichiers, équilibrage de charge...). Dans la littérature, est généralement associé au mode dit "évènementiel".
Mémoire distribuéethumb|Exemple de mémoire distribuée sur trois systèmes La mémoire d'un système informatique multiprocesseur est dite distribuée lorsque la mémoire est répartie en plusieurs nœuds, chaque portion n'étant accessible qu'à certains processeurs. Un réseau de communication relie les différents nœuds, et l'échange de données doit se faire explicitement par « passage de messages ». La mémoire est organisée de cette manière par exemple lorsque l'on utilise des machines indépendantes pour former une grille.
High-availability clusterHigh-availability clusters (also known as HA clusters, fail-over clusters) are groups of computers that support server applications that can be reliably utilized with a minimum amount of down-time. They operate by using high availability software to harness redundant computers in groups or clusters that provide continued service when system components fail. Without clustering, if a server running a particular application crashes, the application will be unavailable until the crashed server is fixed.
Théorème CAPthumb|Représentation des contraintes du théorème CAP. Le théorème CAP ou CDP, aussi connu sous le nom de théorème de Brewer, dit qu'il est impossible sur un système informatique de calcul distribué de garantir en même temps (c'est-à-dire de manière synchrone) les trois contraintes suivantes : Cohérence (Consistency en anglais) : tous les nœuds du système voient exactement les mêmes données au même moment ; Disponibilité (Availability en anglais) : garantie que toutes les requêtes reçoivent une réponse ; Tolérance au partitionnement (Partition Tolerance en anglais) : aucune panne moins importante qu'une coupure totale du réseau ne doit empêcher le système de répondre correctement (ou encore : en cas de morcellement en sous-réseaux, chacun doit pouvoir fonctionner de manière autonome).
Manipulation de bitsLa manipulation de bits consiste à agir sur des données au niveau d'un bit ou d'un ensemble de bits à l'aide d'opérations booléennes. En informatique, cette technique est notamment utilisée pour des opérations de bas niveau comme le contrôle des périphériques, ou encore dans certains algorithmes comme la détection et la correction d'erreur ou le chiffrement, ainsi que pour l'optimisation.
Auto-vectorisationL'auto-vectorisation est une technique de compilation de langage de programmation, permettant d'adapter automatiquement des boucles de fonctions traitant des vecteurs, ou, plus généralement, des matrices, à un processeur vectoriel ou bien un SIMD. On appelle plus généralement, le fait d'adapter des traitements à des processeurs vectoriels, de façon manuelle ou automatique, une vectorisation. Le compilateur Gnu GCC utilise des techniques d'auto-vectorisation basées en 2011 sur le framework tree-ssa pour la majorité des SIMD (3DNow!, SSE (et SSE2, SSE3), ARM NEON et l'équivalent d'ARM pour l'embarqué, MVE.