Développement asymptotiqueEn mathématiques, un développement asymptotique d'une fonction f donnée dans un voisinage fixé est une somme finie de fonctions de référence qui donne une bonne approximation du comportement de la fonction f dans le voisinage considéré. Le concept de développement asymptotique a été introduit par Poincaré à propos de l'étude du problème à N corps de la mécanique céleste par la théorie des perturbations. La somme étant finie, la question de la convergence ne se pose pas.
Granularity (parallel computing)In parallel computing, granularity (or grain size) of a task is a measure of the amount of work (or computation) which is performed by that task. Another definition of granularity takes into account the communication overhead between multiple processors or processing elements. It defines granularity as the ratio of computation time to communication time, wherein computation time is the time required to perform the computation of a task and communication time is the time required to exchange data between processors.
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.
Analyse de la complexité des algorithmesvignette|Représentation d'une recherche linéaire (en violet) face à une recherche binaire (en vert). La complexité algorithmique de la seconde est logarithmique alors que celle de la première est linéaire. L'analyse de la complexité d'un algorithme consiste en l'étude formelle de la quantité de ressources (par exemple de temps ou d'espace) nécessaire à l'exécution de cet algorithme. Celle-ci ne doit pas être confondue avec la théorie de la complexité, qui elle étudie la difficulté intrinsèque des problèmes, et ne se focalise pas sur un algorithme en particulier.
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.
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.
Algorithme récursifUn algorithme récursif est un algorithme qui résout un problème en calculant des solutions d'instances plus petites du même problème. L'approche récursive est un des concepts de base en informatique. Les premiers langages de programmation qui ont autorisé l'emploi de la récursivité sont LISP et Algol 60. Depuis, tous les langages de programmation généraux réalisent une implémentation de la récursivité. Pour répéter des opérations, typiquement, un algorithme récursif s'appelle lui-même.