Calcul distribuéUn calcul distribué, ou réparti ou encore partagé, est un calcul ou un traitement réparti sur plusieurs microprocesseurs et plus généralement sur plusieurs unités centrales informatiques, et on parle alors d'architecture distribuée ou de système distribué. Le calcul distribué est souvent réalisé sur des clusters de calcul spécialisés, mais peut aussi être réalisé sur des stations informatiques individuelles à plusieurs cœurs. La distribution d'un calcul est un domaine de recherche des sciences mathématiques et informatiques.
Equivalence classIn mathematics, when the elements of some set have a notion of equivalence (formalized as an equivalence relation), then one may naturally split the set into equivalence classes. These equivalence classes are constructed so that elements and belong to the same equivalence class if, and only if, they are equivalent. Formally, given a set and an equivalence relation on the of an element in denoted by is the set of elements which are equivalent to It may be proven, from the defining properties of equivalence relations, that the equivalence classes form a partition of This partition—the set of equivalence classes—is sometimes called the quotient set or the quotient space of by and is denoted by .
Relation d'équivalenceEn mathématiques, une relation d'équivalence permet, dans un ensemble, de mettre en relation des éléments qui sont similaires par une certaine propriété. On pourra ainsi regrouper ces éléments par « paquets » d'éléments qui se ressemblent, définissant ainsi la notion de classe d'équivalence, pour enfin construire de nouveaux ensembles en « assimilant » les éléments similaires à un seul et même élément. On aboutit alors à la notion d'ensemble quotient. vignette|upright=1.5|Sur cet ensemble de huit exemplaires de livres, la relation « .
Nombre premiervignette|Nombres naturels de zéro à cent. Les nombres premiers sont marqués en rouge. vignette|Le nombre 7 est premier car il admet exactement deux diviseurs positifs distincts. Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs. Ces deux diviseurs sont 1 et le nombre considéré, puisque tout nombre a pour diviseurs 1 et lui-même (comme le montre l’égalité n = 1 × n), les nombres premiers étant ceux qui ne possèdent pas d'autre diviseur.
Asynchronous I/OIn computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlapped I/O. Input and output (I/O) operations on a computer can be extremely slow compared to the processing of data. An I/O device can incorporate mechanical devices that must physically move, such as a hard drive seeking a track to read or write; this is often orders of magnitude slower than the switching of electric current.
Processus (informatique)Un processus (en anglais, process), en informatique, est un programme en cours d'exécution par un ordinateur. De façon plus précise, il peut être défini comme : un ensemble d'instructions à exécuter, pouvant être dans la mémoire morte, mais le plus souvent chargé depuis la mémoire de masse vers la mémoire vive ; un espace d'adressage en mémoire vive pour stocker la pile, les données de travail ; des ressources permettant des entrées-sorties de données, comme des ports réseau.
Processus zombieEn informatique, sous les systèmes de type UNIX et similaires, zombie (on utilise plutôt l'orthographe anglaise) est un terme désignant un processus qui s'est achevé, mais qui dispose toujours d'un identifiant de processus (PID) et reste donc encore visible dans la table des processus. On parle aussi de processus défunt (en anglais "defunct"). Au moment de la terminaison d'un processus, le système désalloue les ressources que possède encore le processus mais ne détruit pas son bloc de contrôle.
Indicatrice de Carmichaelvignette|upright=2|Fonction λ de Carmichael : λ(n) pour 1 ≤ n ≤ 1000 (avec les valeurs de la fonction φ d'Euler en comparaison) La fonction indicatrice de Carmichael, ou indicateur de Carmichael ou encore fonction de Carmichael, notée λ, est définie sur les entiers naturels strictement positifs ; elle associe à un entier n le plus petit entier m vérifiant, pour tout entier a premier avec n, am ≡ 1 mod n. Elle est introduite par Robert Daniel Carmichael dans un article de 1910.
Programmation concurrenteLa programmation concurrente est un paradigme de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques qui peuvent être appelées threads, processus ou tâches. Elles sont matérialisées en machine par une pile d'exécution et un ensemble de données privées. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe).
Corps de nombresEn mathématiques, un corps de nombres algébriques (ou simplement corps de nombres) est une extension finie K du corps Q des nombres rationnels. En particulier, c'est une extension algébrique : tous les éléments de K sont des nombres algébriques, dont le degré divise le degré de l'extension. C'est aussi une extension séparable car Q est de caractéristique nulle donc parfait. Tout sous-corps de C engendré par un nombre fini de nombres algébriques est un corps de nombres.
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.
Groupe fondamentalEn mathématiques, et plus spécifiquement en topologie algébrique, le groupe fondamental, ou groupe de Poincaré, est un invariant topologique. Le groupe fondamental d'un espace topologique pointé (X, d) est, par définition, l'ensemble des classes d'homotopie de lacets (chemins fermés) de X de base d. C'est un groupe dont la loi de composition interne est induite par la concaténation (juxtaposition) des arcs. L'examen des groupes fondamentaux permet de prouver que deux espaces particuliers ne peuvent être homéomorphes (c'est-à-dire topologiquement équivalents).
Mémoire virtuellethumb|Schéma de principe de la mémoire virtuelle. En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il repose sur l'utilisation de traduction à la volée des adresses (virtuelles) vues du logiciel, en adresses physiques de mémoire vive. La mémoire virtuelle permet : d'utiliser de la mémoire de masse comme extension de la mémoire vive ; d'augmenter le taux de multiprogrammation ; de mettre en place des mécanismes de protection de la mémoire ; de partager la mémoire entre processus.
Équivalence de catégoriesEn mathématiques, plus précisément en théorie des catégories, une équivalence de catégories est une relation qui établit que deux catégories sont "essentiellement les mêmes". C'est un foncteur entre les deux catégories, qui prend compte formellement du fait que ces catégories relèvent d'une même structure : on dit alors que les catégories sont équivalentes. À la différence de la notion d'isomorphisme de catégories, la notion d'équivalence est moins rigide, plus pratique et plus courante.
Étale fundamental groupThe étale or algebraic fundamental group is an analogue in algebraic geometry, for schemes, of the usual fundamental group of topological spaces. In algebraic topology, the fundamental group of a pointed topological space is defined as the group of homotopy classes of loops based at . This definition works well for spaces such as real and complex manifolds, but gives undesirable results for an algebraic variety with the Zariski topology.
Fundamental groupoidIn algebraic topology, the fundamental groupoid is a certain topological invariant of a topological space. It can be viewed as an extension of the more widely-known fundamental group; as such, it captures information about the homotopy type of a topological space. In terms of , the fundamental groupoid is a certain functor from the category of topological spaces to the category of groupoids. Let X be a topological space. Consider the equivalence relation on continuous paths in X in which two continuous paths are equivalent if they are homotopic with fixed endpoints.
Passage de messagesLe modèle de passage de messages (message passing en anglais) est un modèle de communication entre ordinateurs ou entre processus à l'intérieur d'un même ordinateur. Il réalise l’envoi de messages simples. Il constitue la couche de base des Middleware Orientés Messages. Au-dessus de cette couche, on trouve d'autres couches de middleware de plus en plus perfectionnées et qui sont : La (message queueing en anglais) qui ajoute la notion de persistance au passage de messages ; Le modèle par abonnement (publish-subscribe en anglais), qui utilise les fonctions du passage de messages ou des files d'attente de message et qui ajoute la notion d’anonymat et d’abonnement.
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.
Communication inter-processusvignette|Image montrant un échange de données (avec un communication inter-processus) entre deux unités d'un cloud computing. En informatique, la communication inter-processus (inter-process communication, IPC, en anglais) regroupe un ensemble de mécanismes permettant à des processus concurrents de communiquer. Ces mécanismes peuvent être classés en trois catégories : les mécanismes permettant l'échange de données entre les processus ; les mécanismes permettant la synchronisation entre les processus (notamment pour gérer le principe de section critique) ; les mécanismes permettant l'échange de données et la synchronisation entre les processus.
Partitioned global address spaceIn computer science, partitioned global address space (PGAS) is a parallel programming model paradigm. PGAS is typified by communication operations involving a global memory address space abstraction that is logically partitioned, where a portion is local to each process, thread, or processing element. The novelty of PGAS is that the portions of the shared memory space may have an affinity for a particular process, thereby exploiting locality of reference in order to improve performance.