FR2773239A1 - CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM - Google Patents

CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM Download PDF

Info

Publication number
FR2773239A1
FR2773239A1 FR9716701A FR9716701A FR2773239A1 FR 2773239 A1 FR2773239 A1 FR 2773239A1 FR 9716701 A FR9716701 A FR 9716701A FR 9716701 A FR9716701 A FR 9716701A FR 2773239 A1 FR2773239 A1 FR 2773239A1
Authority
FR
France
Prior art keywords
processors
group
node
nodes
cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR9716701A
Other languages
French (fr)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Priority to FR9716701A priority Critical patent/FR2773239A1/en
Priority to PCT/FR1998/002885 priority patent/WO1999035572A1/en
Publication of FR2773239A1 publication Critical patent/FR2773239A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention concerns a system (S) with a number of processors (P) corresponding to the power desired by the client and shared into nodes (N) according to the tasks assigned to the system by the client, so as to optimise the system performance. The number and size of the nodes can also vary according to the tasks assigned to the system and the change in number of processors in the system.

Description

Titre: Configuration d'un système informatique multinodal.Title: Configuration of a multinodal computer system.

Description.Description.

Domaine technique.Technical area.

L'invention a pour objets un procédé de configuration d'un système informatique multinodal et un système mettant en oeuvre ce procédé. The subject of the invention is a method for configuring a multinodal computer system and a system implementing this method.

État de la technique.State of the art.

On connaît aujourd'hui deux types principaux de systèmes informatiques multiprocesseurs. Un système du premier type est appelé système multiprocesseur symétrique et, plus couramment, système SMP (Symmetric Multi-Processor). I1 comprend un nombre n de processeurs reliés à une mémoire partagée par les processeurs et perçue par eux comme une mémoire unique. Les processeurs et la mémoire sont aussi connectés à un sous-système d'entrée-sortie pour la communication du système avec l'extérieur. Ce type de système inclut une variante selon laquelle les processeurs sont physiquement reliés à des mémoires respectives qui communiquent avec les autres processeurs pour constituer une mémoire partagée. La communication se fait par l'intermédiaire d'un réseau d'interconnexion rapide pour que les transferts entre processeurs et mémoires se fassent de façon satisfaisante pour les processeurs. Un système multiprocesseur symétrique selon cette variante est appelé système à mémoire partagée distribuée ou système DSM (Distributed Shared Memory). Two main types of multiprocessor computer systems are known today. A system of the first type is called symmetric multiprocessor system and, more commonly, SMP system (Symmetric Multi-Processor). I1 includes a number n of processors connected to a memory shared by the processors and perceived by them as a single memory. The processors and memory are also connected to an input-output subsystem for communication of the system with the outside. This type of system includes a variant in which the processors are physically connected to respective memories which communicate with the other processors to constitute a shared memory. Communication takes place via a rapid interconnection network so that transfers between processors and memories are carried out in a satisfactory manner for the processors. A symmetrical multiprocessor system according to this variant is called a distributed shared memory system or DSM (Distributed Shared Memory) system.

Les systèmes DSM incluent les systèmes CCNUMA (Cache Coherent, Non
Uniform Memory Access). Un système de ce premier type est géré par un seul système d'exploitation.
DSM systems include CCNUMA systems (Cache Coherent, No
Uniform Memory Access). A system of this first type is managed by a single operating system.

Un système du second type est appelé système multiprocesseur multinodal ou système à grappe de processeurs. Chaque noeud comprend un ou plusieurs processeurs connectés à une mémoire et à un sous-ensemble d'entrée-sortie. Les noeuds du système sont gérés par des systèmes d'exploitation indépendants les uns des autres, et fréquemment identiques. A system of the second type is called a multinodal multiprocessor system or a cluster system of processors. Each node comprises one or more processors connected to a memory and to an input-output subset. The nodes of the system are managed by operating systems independent of each other, and frequently identical.

L'ensemble des noeuds forme une grappe, appelée aussi par sa désignation anglo-saxonne "cluster". All the nodes form a cluster, also called by its Anglo-Saxon designation "cluster".

Chacun des deux types a ses propres avantages et ses propres inconvénients. Un système du premier type est puissant et rapide, grâce à la gestion du traitement des données par un seul système d'exploitation, à une liaison intime entre processeurs et la mémoire et à l'utilisation de la mémoire pour la communication entre processeurs. Les systèmes ouverts UNIX (marque déposée) ont fait l'effort de s'adapter à ce type de systèmes et continuent d'évoluer dans ce sens. Un tel système ouvert peut avoir actuellement jusqu'à plus de soixante-quatre processeurs. Par contre, un système du premier type a l'inconvénient d'avoir un réseau d'interconnexion interne cher, du fait que la mémoire partagée exige une performance qui augmente sensiblement plus vite que le nombre de processeurs. En outre, le fait de n'avoir qu'un seul système d'exploitation le rend très vulnérable à une défaillance de ce système et ne permet pas d'assurer une disponibilité à tout instant. Each of the two types has its own advantages and disadvantages. A system of the first type is powerful and fast, thanks to the management of data processing by a single operating system, to an intimate connection between processors and memory and to the use of memory for communication between processors. Open systems UNIX (registered trademark) have made the effort to adapt to this type of system and continue to evolve in this direction. Such an open system can currently have up to more than sixty-four processors. On the other hand, a system of the first type has the drawback of having an expensive internal interconnection network, since shared memory requires performance which increases significantly faster than the number of processors. In addition, having only one operating system makes it very vulnerable to a failure of this system and does not ensure availability at all times.

Un système du second type offre une bonne disponibilité, du fait que si un système d'exploitation est défaillant, les autres systèmes d'exploitation peuvent gérer la défaillance et maintenir le service aux utilisateurs. Un autre avantage réside dans les systèmes d'exploitation euxmêmes. Par exemple, le système d'exploitation NT (marque déposée) évolue de façon à bien former un système multinodal. Actuellement, il convient bien à un système multinodal, dont les noeuds ont peu de processeurs, de l'ordre de quatre par exemple. Dans ces conditions, ce système d'exploitation peut s'étendre à de nombreux noeuds, à seize actuellement en ajoutant des logiciels spécialisés appropriés, dits de "clustering", proposés par certains constructeurs. À ces avantages s'ajoute aussi celui de nécessiter un réseau d'interconnexion aujourd'hui sensiblement moins cher que celui des systèmes du premier type. Néanmoins, les systèmes du second type présentent plusieurs inconvénients. D'abord, ils sont moins efficaces que les systèmes du premier type à nombre total égal de processeurs. Cela est dû au fait que les communications internodales se font par des interconnexions plus lentes et que les processeurs communiquent par messages. Une telle liaison nécessite en effet, en plus de la durée de transmission des données, l'usage de protocoles d'ouverture et de fermeture de la liaison. Un autre inconvénient majeur possible pour certains systèmes d'exploitation est de ne pas pouvoir actuellement s'adapter à des noeuds ayant un nombre relativement élevé de processeurs. A system of the second type offers good availability, since if an operating system fails, other operating systems can manage the failure and maintain service to users. Another advantage is the operating systems themselves. For example, the NT (registered trademark) operating system evolves so as to form a multi-modal system. Currently, it is well suited to a multinodal system, whose nodes have few processors, of the order of four for example. Under these conditions, this operating system can extend to numerous nodes, to currently sixteen by adding appropriate specialized software, known as "clustering", offered by certain manufacturers. In addition to these advantages, there is that of requiring an interconnection network which is today considerably cheaper than that of systems of the first type. However, systems of the second type have several drawbacks. First, they are less efficient than systems of the first type with equal total number of processors. This is due to the fact that the internodal communications are made by slower interconnections and that the processors communicate by messages. Such a link requires, in addition to the duration of data transmission, the use of protocols for opening and closing the link. Another major drawback possible for certain operating systems is that it cannot currently adapt to nodes having a relatively large number of processors.

Un problème très important se rapporte à l'évolution d'un système informatique. Supposons par exemple un client ayant investi dans un système du second type, approprié à un logiciel de gestion d'entreprise ordinairement appelé sous la désignation anglo-saxonne ERP (Enterprise
Resource Planning). Ce système inclut ordinairement un noeud puissant, appelé serveur de base de données, et des noeuds moins puissants, appelés serveurs d'application. Par exemple, le système du client comprend un serveur de base de données formé d'un noeud de six processeurs, extensible à huit processeurs au maximum, et de trois serveurs d'application chacun incluant un processeur et extensible à deux processeurs au maximum. Ce système est donc formé au total de neuf processeurs. Supposons maintenant que le client a actuellement besoin d'un système formé d'un serveur de base de données de dix processeurs et de quatre machines d'application de trois processeurs chacune. Pour former ce système de vingt-deux processeurs, le client ne peut donc récupérer de son investissement initial que le noeud de six processeurs ayant servi de serveur de base de données, pour en faire un serveur d'application ne nécessitant que trois processeurs. Compte tenu de la forte croissance dans le temps des performances des systèmes et des besoins des clients, on comprend qu'un problème de ce genre se pose souvent. Les conséquences financières sont donc très importantes.
A very important problem relates to the evolution of a computer system. Suppose for example a customer having invested in a system of the second type, suitable for a business management software usually called under the Anglo-Saxon designation ERP (Enterprise
Resource Planning). This system usually includes a powerful node, called the database server, and less powerful nodes, called the application servers. For example, the client system includes a database server formed by a node of six processors, expandable to a maximum of eight processors, and three application servers each including a processor and expandable to a maximum of two processors. This system is therefore formed in total of nine processors. Now assume that the client currently requires a system consisting of a database server of ten processors and four application machines of three processors each. To form this system of twenty-two processors, the client can therefore recover from its initial investment only the node of six processors having served as database server, to make it an application server requiring only three processors. Given the strong growth over time in system performance and customer needs, it is understandable that a problem of this kind often arises. The financial consequences are therefore very significant.

Un autre problème très important concerne l'amélioration de l'efficacité de la disponibilité du système utilisé. La solution actuelle à ce problème est lourde et coûteuse. Actuellement, la disponibilité du système utilisé est obtenue en exploitant deux machines à peu près équivalentes qui se répartissent la charge de travail de façon que la défaillance d'une machine soit prise en charge par l'autre machine. Dans ce cas, l'autre machine ne dispose plus que la moitié environ de la capacité normale du système, alors que la défaillance de l'autre machine peut n'être due qu'à la défaillance de l'un de ses processeurs. On comprend qu'il serait beaucoup plus profitable pouvoir configurer le système en rapport avec une défaillance possible de ce système. Ceci n'est à présent pas du tout envisageable. Another very important problem concerns improving the efficiency of the availability of the system used. The current solution to this problem is cumbersome and expensive. Currently, the availability of the system used is obtained by operating two roughly equivalent machines which distribute the workload so that the failure of one machine is taken care of by the other machine. In this case, the other machine has only about half of the normal system capacity, while the failure of the other machine may only be due to the failure of one of its processors. We understand that it would be much more profitable to be able to configure the system in relation to a possible failure of this system. This is now not at all possible.

La présente invention résout tous ces problèmes. The present invention solves all of these problems.

Sommaire de l'invention
Un premier but de l'invention est de pouvoir configurer de façon flexible un système afin de satisfaire à des demandes d'utilisation différentes du système, ces demandes pouvant être différentes à cause de clients différents qui ont des besoins différents, ou à cause de besoins différents dans le temps d'un même client.
Summary of the invention
A first object of the invention is to be able to flexibly configure a system in order to meet different requests for use of the system, these requests being able to be different because of different customers who have different needs, or because of needs. different over time for the same client.

Un second but est de pouvoir faire évoluer la configuration tout en lui donnant les meilleures performances pour le nombre accru de ses processeurs et pour les tâches qu'il doit exécuter. A second goal is to be able to change the configuration while giving it the best performance for the increased number of its processors and for the tasks it has to perform.

Un troisième but est de pouvoir configurer le système en fonction du degré de défaillance qu'il peut présenter, afin d'assurer une haute disponibilité du système. A third goal is to be able to configure the system according to the degree of failure that it may present, in order to ensure high availability of the system.

Un quatrième but est d'atteindre l'un des trois buts précédents avec un coût réduit.  A fourth goal is to achieve one of the previous three goals at a reduced cost.

L'invention a pour objet un procédé de configuration d'un système informatique, comprenant la détermination d'au moins un groupe de processeurs pour correspondre à une puissance de traitement désirée, caractérisé en ce qu'il consiste à déterminer le nombre et/ou la taille de noeuds à former avec les processeurs du groupe en fonction de tâches attribuées au groupe, de façon à optimiser les performances du groupe pour l'exécution des tâches. The subject of the invention is a method of configuring a computer system, comprising determining at least one group of processors to correspond to a desired processing power, characterized in that it consists in determining the number and / or the size of nodes to be formed with the processors of the group as a function of tasks assigned to the group, so as to optimize the performance of the group for the execution of the tasks.

L'invention a aussi pour objet corollaire un système informatique comprenant au moins un groupe de processeurs correspondant à une puissance de traitement désirée, caractérisé en ce que le groupe est fait d'un nombre de cellules élémentaires faites chacune d'un nombre donné de processeurs, d'une mémoire et d'une interface d'entrée-sortie et connectées entre elles pour former et ajuster le nombre et/ou la taille de noeuds dans le groupe en fonction de tâches attribuées au groupe, de façon à optimiser les performances du groupe pour l'exécution des tâches. The invention also has as a corollary object a computer system comprising at least one group of processors corresponding to a desired processing power, characterized in that the group is made of a number of elementary cells each made of a given number of processors , a memory and an input-output interface and connected together to form and adjust the number and / or size of nodes in the group according to tasks assigned to the group, so as to optimize the performance of the group for the execution of tasks.

Les caractéristiques et avantages de l'invention ressortent de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. The characteristics and advantages of the invention appear from the description which follows, given by way of example and made with reference to the accompanying drawings.

Dans les dessins:
- la figure 1 est une vue de principe illustrant schématiquement des processeurs d'un système multiprocesseur multinodal conforme à l'invention;
- la figure 2 est un graphe illustrant un exemple de mise en oeuvre du procédé de l'invention pour la configuration du système représenté sur la figure 1 ; et
- la figure 3 est une vue schématique d'un exemple de réalisation d'un système multiprocesseur multinodal conforme à l'invention.
In the drawings:
- Figure 1 is a principle view schematically illustrating processors of a multinodal multiprocessor system according to the invention;
- Figure 2 is a graph illustrating an example of implementation of the method of the invention for the configuration of the system shown in Figure 1; and
- Figure 3 is a schematic view of an exemplary embodiment of a multinodal multiprocessor system according to the invention.

Description détaillée d'exemples illustrant l'invention.Detailed description of examples illustrating the invention.

La figure lA représente les processeurs P d'un système informatique multinodal S configuré selon le procédé illustré dans la figure 2. FIG. 1A represents the processors P of a multinodal computer system S configured according to the method illustrated in FIG. 2.

Le système illustré comprend initialement un groupe prédéterminé G1 de vingt-quatre processeurs P correspondant à la puissance désirée par un client.The illustrated system initially comprises a predetermined group G1 of twenty-four processors P corresponding to the power desired by a client.

On suppose maintenant que le client destine ce groupe de processeurs à l'exécution d'un ou plusieurs ensembles de tâches. Par exemple, les tâches choisies se rapportent à l'exploitation d'un logiciel ERP. Ce logiciel nécessite un serveur de base de données relatif à un premier ensemble de tâches, et un ou plusieurs serveurs d'application relatifs à d'autres ensembles respectifs de tâches.We now assume that the client intends this group of processors to execute one or more sets of tasks. For example, the tasks chosen relate to the operation of ERP software. This software requires a database server relating to a first set of tasks, and one or more application servers relating to other respective sets of tasks.

La figure 2 est un graphe ayant pour abscisses P/N représentatives du nombre de processeurs par noeud et pour ordonnées le nombre de noeuds N du système. Ce graphe illustre avec la figure 1A un exemple du procédé conforme à l'invention de configuration du système S. Le procédé consiste à déterminer le nombre et/ou la taille de noeuds N à former avec les processeurs P du groupe Gl, de façon à optimiser les performances du groupe de processeurs pour l'exécution des ensembles de tâches relatives au logiciel ERP. Dans la figure 2, chaque noeud N est suivi par un premier chiffre relatif au groupe auquel il appartient et par un second chiffre en indice relatif au nombre de processeurs P qu'il contient. En référence aux figures lA et 2, le client disposant des vingt-quatre processeurs P du groupe G1 les a réparti en un noeud de dix processeurs Nllo comme serveur de base de données, et en un noeud biprocesseur N12 et trois noeuds quadriprocesseurs Nl4 comme serveurs d'application.  FIG. 2 is a graph having for abscissa P / N representative of the number of processors per node and for ordinates the number of nodes N of the system. This graph illustrates with FIG. 1A an example of the method according to the invention for configuring the system S. The method consists in determining the number and / or the size of nodes N to be formed with the processors P of the group Gl, so as to optimize the performance of the processor group for the execution of the ERP software task sets. In FIG. 2, each node N is followed by a first digit relating to the group to which it belongs and by a second digit in index relating to the number of processors P it contains. With reference to FIGS. 1A and 2, the client having the twenty-four processors P from group G1 has distributed them into a node of ten processors Nllo as the database server, and into a biprocessor node N12 and three quadriprocessor nodes Nl4 as servers of application.

La figure 1B illustre un exemple d'évolution de la configuration du groupe G1. Selon cet exemple, on suppose que le client doit avoir, avec le même nombre de processeurs P du groupe G1, un serveur de base de données un peu plus puissant, conserver deux des trois serveurs quadriprocesseurs d'application et avoir deux autres serveurs d'application au lieu du troisième serveur quadriprocesseur de la configuration précédente. Selon l'exemple illustré dans les figures lB et 2, la connexion des vingt-quatre processeurs P du groupe G1 est modifiée pour avoir un noeud de douze processeurs Ni12 comme serveur de base de données et, comme serveurs d'application, un noeud monoprocesseur N11, un noeud triprocesseur Ni3 et deux noeuds quadriprocesseurs N'14. FIG. 1B illustrates an example of evolution of the configuration of the group G1. According to this example, we suppose that the client must have, with the same number of P processors of group G1, a slightly more powerful database server, keep two of the three quad-processor application servers and have two other servers. application instead of the third quad-processor server of the previous configuration. According to the example illustrated in FIGS. 1B and 2, the connection of the twenty-four processors P of group G1 is modified to have a node of twelve Ni12 processors as a database server and, as application servers, a single processor node N11, a Ni3 triprocessor node and two N'14 quadprocessor nodes.

La figure 1C illustre avec la figure 2 un autre d'exemple d'évolution possible de la configuration du système S conforme à l'invention. FIG. 1C illustrates with FIG. 2 another example of possible evolution of the configuration of the system S according to the invention.

Selon cet exemple, le client doit encore accroître la puissance du serveur de base de données et accroître le nombre de serveurs d'application. Selon un avantage de l'invention, le nombre total de processeurs peut inclure tout nombre additionnel désiré pour faire évoluer le système. Dans l'exemple illustré dans les figures 1C et 2, le client ayant le logiciel ERP a simplement à ajouter au groupe précédent Gl un nombre de huit processeurs P représentés symboliquement dans une colonne additionnelle. En utilisant le procédé de l'invention, le client dispose ainsi d'un nouveau groupe G2 de trente-deux processeurs et peut les répartir à volonté de façon à optimiser les performances du logiciel ERP. La nouvelle configuration choisie comprend un noeud de seize processeurs N216 comme serveur de base, trois noeuds biprocesseurs N22, deux noeuds triprocesseurs N23 et un noeud quadriprocesseur N24. Cependant, on comprend qu'il pourrait définir toute autre configuration et qu'il peut la faire évoluer en une nouvelle configuration.In this example, the client still needs to increase the power of the database server and increase the number of application servers. According to an advantage of the invention, the total number of processors can include any additional number desired to develop the system. In the example illustrated in FIGS. 1C and 2, the client having the ERP software simply has to add to the preceding group Gl a number of eight processors P symbolically represented in an additional column. Using the method of the invention, the customer thus has a new group G2 of thirty-two processors and can distribute them at will so as to optimize the performance of the ERP software. The new configuration chosen includes a node of sixteen processors N216 as the base server, three nodes of two processors N22, two nodes of three processors N23 and one node of quadriprocessor N24. However, we understand that it could define any other configuration and that it can evolve into a new configuration.

Le client pourrait aussi diminuer le nombre de processeurs pour le logiciel ERP et disposer des autres processeurs pour faire une configuration variable adaptée à d'autres tâches, optionnellement avec des processeurs additionnels disponibles du système ou ajoutés au système. Suivant cette logique, dans le cas d'une défaillance d'un noeud il est maintenant possible d'envisager une configuration supplétive adaptée à la défaillance. Par exemple, si un processeur P tombe en panne dans un noeud N24, il devient possible d'adapter la configuration du groupe G2 de façon à isoler le processeur défaillant des noeuds du système. Par exemple, le noeud N24 peut être configuré en un noeud triprocesseur. Si cette configuration est insuffisante pour l'application dont il a la charge, le noeud N24 pourrait être reconfiguré en un noeud quadriprocesseur en empruntant temporairement un processeur d'un autre noeud du groupe ou d'un autre groupe pouvant supporter la suppression d'un seul processeur. The customer could also reduce the number of processors for the ERP software and have the other processors to make a variable configuration adapted to other tasks, optionally with additional processors available from the system or added to the system. Following this logic, in the event of a node failure it is now possible to envisage an additional configuration adapted to the failure. For example, if a processor P breaks down in a node N24, it becomes possible to adapt the configuration of the group G2 so as to isolate the failing processor from the nodes of the system. For example, node N24 can be configured as a triprocessor node. If this configuration is insufficient for the application for which it is responsible, the N24 node could be reconfigured into a quad-processor node by temporarily borrowing a processor from another node of the group or from another group which can support the deletion of a single processor.

La figure 1D illustre avec la figure 2 deux configurations extrêmes pouvant être obtenues du procédé de l'invention à partir d'un groupe G3 de trente-deux processeurs P destinés à diverses tâches autres que le logiciel ERP. Ces processeurs peuvent être contenus dans un seul noeud
N332 ou dans trente deux noeuds monoprocesseurs N31. Entre ces deux cas limites, toute configuration est possible. Parmi les configurations illustrées dans la figure 2 seulement, les trente-deux processeurs P peuvent être répartis en deux noeuds de seize processeurs N316, ou en quatre noeuds octoprocesseurs N3s, ou encore en huit noeuds quadriprocesseurs N34.
FIG. 1D illustrates with FIG. 2 two extreme configurations which can be obtained from the method of the invention from a group G3 of thirty-two processors P intended for various tasks other than the ERP software. These processors can be contained in a single node
N332 or in thirty two N31 single processor nodes. Between these two borderline cases, any configuration is possible. Among the configurations illustrated in FIG. 2 only, the thirty-two processors P can be divided into two nodes of sixteen processors N316, or into four octoprocessor nodes N3s, or even into eight quadriprocessor nodes N34.

La figure 3 illustre un exemple de mise en oeuvre du procédé de l'invention. Cette mise en oeuvre consiste à former le nombre et/ou la taille des noeuds en utilisant des cellules élémentaires C faites chacune d'un nombre donné de processeurs. La figure 3 illustre un groupe de huit cellules biprocesseurs interconnectées pour former trois noeuds Na, Nb et Nc dans un système S conforme à l'invention. Chaque cellule C comprend deux processeurs P connectés entre eux ainsi qu'à une mémoire M et à une interface d'entrée-sortie I par l'intermédiaire d'une liaison formée par un bus
B dans l'exemple illustré.
FIG. 3 illustrates an example of implementation of the method of the invention. This implementation consists in forming the number and / or the size of the nodes using elementary cells C each made of a given number of processors. FIG. 3 illustrates a group of eight biprocessor cells interconnected to form three nodes Na, Nb and Nc in a system S according to the invention. Each cell C comprises two processors P connected to each other as well as to a memory M and to an input-output interface I via a link formed by a bus
B in the example illustrated.

Chaque cellule C peut former à elle seule un noeud, tel que le noeud Na illustré. La cellule fonctionne alors avec un système d'exploitation autonome, c'est-à-dire indépendant de tous les systèmes d'exploitation qui gèrent les autres noeuds. Les noeuds illustrés sont délimités par une ligne en trait fantôme. Les cellules sont interconnectées entre elles par un réseau K de liaisons L, de préférence des liaisons de transmission de données à haut débit. Each C cell can alone form a node, such as the Na node illustrated. The cell then operates with an autonomous operating system, that is to say independent of all the operating systems which manage the other nodes. The illustrated nodes are delimited by a ghost line. The cells are interconnected with one another by a network K of links L, preferably high speed data transmission links.

Pour des raisons de clarté des dessins, seules les liaisons L relatives à la cellule C constitutive du noeud Na ont été représentées. Grâce aux liaisons L intercellulaires, le groupe de huit processeurs système S peut former un système autonome dont les noeuds sont faits chacun d'une seule cellule C.For reasons of clarity of the drawings, only the links L relating to the cell C constituting the Na node have been shown. Thanks to the intercellular L links, the group of eight system processors S can form an autonomous system whose nodes are each made of a single cell C.

Ce système peut être aisément configuré en fonction des besoins de chaque client d'un tel système. Dans l'exemple illustré dans la figure 3, on a supposé que le client dispose d'un système S à seize processeurs et a besoin d'un noeud biprocesseur Na, d'un noeud hexaprocesseur Nb et d'un noeud octoprocesseur Nc. L'invention consiste donc à faire fonctionner trois cellules
C de façon à former le noeud Nb et quatre autres cellules de façon à former le noeud Nc. En pratique, comme les liaisons L relient chaque cellule à chacune des autres cellules, l'assemblage de cellules pour former un noeud consiste donc simplement à inclure dans chaque cellule, de préférence dans l'interface
I de la cellule comme illustré, un bloc de communication U, câblé ou programmable, pour identifier les autres cellules et faire fonctionner la cellule avec un nombre donné de cellules déterminées. Un but essentiel du bloc de communication U consiste à permettre l'accès partagé aux mémoires
M des cellules du noeud par tous les processeurs de ce noeud et à gérer la cohérence de ces mémoires. Les blocs de communication U fonctionnent donc de façon à former un ou plusieurs systèmes du premier type qui a été défini en introduction de la présente demande. Ce sont des systèmes DSM dès qu'un noeud a plus d'une cellule. En outre, le bloc de communication U permet d'identifier les autres noeuds du système de façon à gérer les transmissions internodales selon le second type.
This system can be easily configured according to the needs of each client of such a system. In the example illustrated in FIG. 3, it has been assumed that the client has a system S with sixteen processors and needs a biprocessor node Na, a hexaprocessor node Nb and an octoprocessor node Nc. The invention therefore consists in operating three cells
C to form the Nb node and four other cells to form the Nc node. In practice, as the L links connect each cell to each of the other cells, the assembly of cells to form a node therefore consists simply of including in each cell, preferably in the interface
I of the cell as illustrated, a communication block U, wired or programmable, to identify the other cells and operate the cell with a given number of determined cells. An essential purpose of the communication block U is to allow shared access to memories
M of the cells of the node by all the processors of this node and in managing the consistency of these memories. The communication blocks U therefore operate so as to form one or more systems of the first type which has been defined in the introduction to the present application. These are DSM systems as soon as a node has more than one cell. In addition, the communication block U makes it possible to identify the other nodes of the system so as to manage the internodal transmissions according to the second type.

Selon une autre approche de l'invention, on peut dire qu'une configuration variable peut donc être facilement obtenue d'un système S du type DSM, en isolant entre eux des ensemble-s de processeurs avec leurs mémoires respectives pour en faire des noeuds différents. Pour un système du premier type, il suffit de former des groupes de processeurs avec des sousensembles de la mémoire du système, et de faire communiquer ces groupes entre eux par l'intermédiaire de messages. Si les groupes de processeurs ne pouvaient pas communiquer entre eux, on reviendrait alors à une fonctionnalité bien connue de partitionnement des systèmes, que l'invention permet donc de traiter également. According to another approach of the invention, it can be said that a variable configuration can therefore be easily obtained from a system S of the DSM type, by isolating between them sets of processors with their respective memories in order to make them nodes. different. For a system of the first type, it suffices to form groups of processors with subsets of the memory of the system, and to make these groups communicate with each other by means of messages. If the groups of processors could not communicate with each other, we would then return to a well-known functionality for partitioning systems, which the invention therefore makes it possible to also treat.

Les exemples relatifs aux figures 1 et 2 supposent l'emploi de cellules monoprocesseurs, qui offre l'avantage de donner une souplesse maximale de la configuration d'un système. Cependant, cette configuration nécessiterait l'insertion d'un bloc de communication U dans chacune des cellules et serait donc très coûteuse. Les cellules multiprocesseurs sont un compromis entre la souplesse de configuration et le coût du système. Le nombre de processeurs par cellule dépend aussi du nombre maximal admissible de processeurs du système. Les cellules biprocesseurs de la figure 3 sont plutôt appropriées à des petits systèmes, alors qu'un bon compromis actuel pour les grands systèmes serait des cellules quadriprocesseurs. The examples relating to FIGS. 1 and 2 assume the use of monoprocessor cells, which offers the advantage of giving maximum flexibility in the configuration of a system. However, this configuration would require the insertion of a communication block U in each of the cells and would therefore be very expensive. Multiprocessor cells are a compromise between configuration flexibility and system cost. The number of processors per cell also depends on the maximum allowable number of processors in the system. The biprocessor cells of Figure 3 are rather suitable for small systems, while a good current compromise for large systems would be quadriprocessor cells.

L'invention offre aussi l'avantage de pouvoir tirer parti des avantages spécifiques des systèmes d'exploitation disponibles sur le marché au moment du choix de la configuration pour faire fonctionner les noeuds. The invention also offers the advantage of being able to take advantage of the specific advantages of the operating systems available on the market when choosing the configuration for operating the nodes.

Actuellement par exemple, on choisirait le système d'exploitation NT pour gérer plusieurs noeuds ayant un faible nombre de processeurs et le système d'exploitation UNIX pour les autres noeuds. Lors d'une prochaine configuration faite quelques années plus tard, par exemple, il serait possible de choisir les systèmes d'exploitation les mieux adaptés à la nouvelle configuration. Currently, for example, we would choose the NT operating system to manage several nodes with a low number of processors and the UNIX operating system for the other nodes. During a next configuration made a few years later, for example, it would be possible to choose the operating systems best suited to the new configuration.

I1 ressort donc des exemples précédents que l'invention a pour objet général un procédé de configuration d'un système informatique consistant à déterminer au moins un groupe G1-G3 de processeurs P pour correspondre à une puissance de traitement désirée et à déterminer le nombre et/ou la taille de noeuds N à former avec les processeurs du groupe en fonction de tâches attribuées au groupe, de façon à optimiser les performances du groupe pour l'exécution des tâches. I1 therefore emerges from the preceding examples that the invention has as its general object a method for configuring a computer system consisting in determining at least one group G1-G3 of processors P to correspond to a desired processing power and in determining the number and / or the size of nodes N to be formed with the processors of the group as a function of tasks assigned to the group, so as to optimize the performance of the group for the execution of the tasks.

En bref, un groupe a un nombre de processeurs P correspondant à la puissance désirée par le client et est partagé en noeuds N en fonction des tâches attribuées au groupe par le client, de façon à optimiser les performances de ce groupe. Le nombre et la taille des noeuds peuvent ainsi varier en fonction des tâches attribuées au groupe et du changement de nombre de processeurs dans le groupe. In short, a group has a number of processors P corresponding to the power desired by the client and is divided into nodes N according to the tasks assigned to the group by the client, so as to optimize the performance of this group. The number and size of nodes can thus vary depending on the tasks assigned to the group and the change in the number of processors in the group.

Par conséquent, il est possible de livrer à tout client un système informatique multiprocesseur non configuré ayant un nombre de processeurs suffisant pour répondre aux besoins de ce client. Le critère de départ est donc la puissance que le système doit avoir pour répondre aux besoins d'un client, indépendamment de la nature de ces besoins. Par exemple, un système octoprocesseur non configuré peut servir à de multiples fonctions. Le client peut alors disposer à tout moment de ce système pour le configurer de façon à optimiser les performances du système en fonction de la nature des besoins du moment. Quand le client aura besoin d'une puissance supérieure, par exemple d'environ la moitié dont il dispose actuellement, il lui suffira d'acheter le nombre de processeurs correspondant à la moitié de puissance additionnelle désirée et de faire la configuration de l'ensemble des processeurs dont il dispose. Cette configuration peut être une amélioration du système existant, ou être adaptée à d'autres tâches. Par exemple, il est possible de transformer une configuration existante, adaptée à des calculs scientifiques, en une configuration servant par exemple à des services ERP.  Consequently, it is possible to deliver to any customer an unconfigured multiprocessor computer system having a sufficient number of processors to meet the needs of this customer. The starting criterion is therefore the power that the system must have to meet the needs of a client, regardless of the nature of these needs. For example, an unconfigured octoprocessor system can serve multiple functions. The customer can then have this system at any time to configure it so as to optimize system performance according to the nature of the needs at the time. When the customer will need more power, for example about half of what he currently has, he will just have to buy the number of processors corresponding to half of the additional power desired and configure the assembly processors it has. This configuration can be an improvement of the existing system, or can be adapted to other tasks. For example, it is possible to transform an existing configuration, adapted to scientific calculations, into a configuration used for example for ERP services.

Dans ce cas, les processeurs du système seront divisés en deux groupes destinés à des tâches distinctes, telles que les tâches de serveur de base de données et celles de serveur d'application qui ont été illustrées en référence aux figures lA-lC. La notion de groupe est donc très souple et peut être tout ou partie des processeurs d'un système.In this case, the processors of the system will be divided into two groups intended for distinct tasks, such as the tasks of database server and those of application server which have been illustrated with reference to FIGS. 1A-1C. The notion of group is therefore very flexible and can be all or part of the processors of a system.

On a vu aussi qu'un avantage important de l'invention consiste à faire varier le nombre et/ou la taille de noeuds dans un groupe en fonction d'un nombre de processeurs défaillants de ce groupe. On peut aussi disposer d'autres processeurs disponibles du système en dehors du groupe. We have also seen that an important advantage of the invention consists in varying the number and / or the size of nodes in a group as a function of a number of faulty processors of this group. We can also have other processors available from the system outside the group.

On a vu aussi que ce procédé consiste, pour sa mise oeuvre, à former le nombre et/ou la taille des noeuds dans le groupe en utilisant des cellules élémentaires faites chacune d'un nombre donné de processeurs. We have also seen that this method consists, for its implementation, in forming the number and / or the size of the nodes in the group by using elementary cells each made of a given number of processors.

Pour la formation d'un noeud à partir d'une cellule, il suffit que la cellule ait au moins un processeur, une mémoire et une interface d'entréesortie. Pour la formation d'un noeud à partir d'au moins deux cellules, on inclut un bloc de communication U dans les cellules du noeud. En d'autres termes, toutes les cellules doivent inclure un bloc de communication U si on veut que chacune des cellules puisse former un noeud avec une autre cellule. For the formation of a node from a cell, it is sufficient that the cell has at least one processor, a memory and an output interface. For the formation of a node from at least two cells, a communication block U is included in the cells of the node. In other words, all the cells must include a communication block U if it is desired that each of the cells can form a node with another cell.

Ce bloc permet l'accès partagé aux mémoires M des cellules du noeud par tous les processeurs de ce noeud et gère la cohérence de ces mémoires.This block allows shared access to the memories M of the cells of the node by all the processors of this node and manages the consistency of these memories.

I1 en résulte que l'invention a aussi pour objet un système informatique S comprenant au moins un groupe G1-G3 de processeurs P correspondant à une puissance de traitement désirée, le groupe étant fait d'un nombre de cellules élémentaires C faites chacune d'un nombre donné de processeurs P, d'une mémoire M et d'une interface d'entrée-sortie I et connectées entre elles pour former et ajuster le nombre et/ou la taille de noeuds N dans le groupe en fonction de tâches attribuées au groupe, de façon à optimiser les performances du groupe pour l'exécution des tâches.  As a result, the invention also relates to a computer system S comprising at least one group G1-G3 of processors P corresponding to a desired processing power, the group being made of a number of elementary cells C each made of a given number of processors P, a memory M and an input-output interface I and connected together to form and adjust the number and / or the size of nodes N in the group as a function of tasks assigned to the group, so as to optimize group performance for the execution of tasks.

L'interface d'entrée-sortie inclut un bloc de communication U permettant l'accès partagé aux mémoires M des cellules du noeud par tous les processeurs de ce noeud et la gestion de la cohérence de ces mémoires. De préférence, ce bloc identifie les cellules du noeud et/ou les autres noeuds, bien que cette identification puisse être localisée ailleurs. The input-output interface includes a communication block U allowing shared access to the memories M of the cells of the node by all the processors of this node and the management of the consistency of these memories. Preferably, this block identifies the cells of the node and / or the other nodes, although this identification can be located elsewhere.

De préférence aussi, le système comporte des moyens V pour faire varier le nombre et/ou la taille de noeuds dans un groupe en fonction d'un nombre de processeurs défaillants de ce groupe. De préférence, ces moyens de reconfiguration dynamique V seraient inclus dans un logiciel de gestion de serveur ou de plate-forme et placés dans un processeur de service
Ps du système S, tel que représenté sur la figure 3. Le processeur de service d'un système sert notamment à l'initialisation du système et de préférence à l'analyse des pannes.
Preferably also, the system comprises means V for varying the number and / or the size of nodes in a group as a function of a number of faulty processors of this group. Preferably, these dynamic reconfiguration means V would be included in server or platform management software and placed in a service processor
Ps of the system S, as shown in FIG. 3. The service processor of a system is used in particular for initializing the system and preferably for analyzing faults.

Claims (9)

Revendications:Claims: 1. Procédé de configuration d'un système informatique (S), comprenant la détermination d'au moins un groupe (G1-G3) de processeurs (P) pour correspondre à une puissance de traitement désirée, caractérisé en ce qu'il consiste à déterminer le nombre et/ou la taille de noeuds (N) à former avec les processeurs du groupe en fonction de tâches attribuées au groupe, de façon à optimiser les performances du groupe pour l'exécution des tâches. 1. A method of configuring a computer system (S), comprising determining at least one group (G1-G3) of processors (P) to correspond to a desired processing power, characterized in that it consists in determine the number and / or size of nodes (N) to be formed with the group processors as a function of tasks assigned to the group, so as to optimize the performance of the group for the execution of the tasks. 2. Procédé selon la revendication 1, caractérisé en ce que le nombre de processeurs du groupe étant modifié, il consiste à déterminer à nouveau le nombre et/ou la taille des noeuds du groupe en fonction de tâches attribuées au groupe. 2. Method according to claim 1, characterized in that the number of processors of the group being modified, it consists in again determining the number and / or the size of the nodes of the group as a function of tasks assigned to the group. 3. Procédé selon la revendication 2, caractérisé en ce qu'il consiste à faire varier le nombre et/ou la taille de noeuds dans un groupe en fonction d'un nombre de processeurs défaillants de ce groupe. 3. Method according to claim 2, characterized in that it consists in varying the number and / or the size of nodes in a group as a function of a number of faulty processors of this group. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il consiste à former le nombre et/ou la taille des noeuds dans le groupe en utilisant des cellules élémentaires (C) faites chacune d'un nombre donné de processeurs. 4. Method according to one of claims 1 to 3, characterized in that it consists in forming the number and / or the size of the nodes in the group using elementary cells (C) each made of a given number of processors. 5. Procédé selon la revendication 4, caractérisé en ce que la formation d'un noeud à partir d'au moins deux cellules consiste à insérer dans chacune des cellules du noeud un bloc de communication (U) permettant l'accès partagé aux mémoires (M) des cellules du noeud par tous les processeurs de ce noeud et la gestion de la cohérence de ces mémoires. 5. Method according to claim 4, characterized in that the formation of a node from at least two cells consists in inserting into each of the cells of the node a communication block (U) allowing shared access to the memories ( M) of the cells of the node by all the processors of this node and the management of the consistency of these memories. 6. Système informatique (S) comprenant au moins un groupe (G1-G3) de processeurs (P) correspondant à une puissance de traitement désirée, caractérisé en ce que le groupe est fait d'un nombre de cellules élémentaires (C) faites chacune d'un nombre donné de processeurs (P), d'une mémoire (M) et d'une interface d'entrée-sortie (1) et connectées entre elles pour former et ajuster le nombre et/ou la taille de noeuds (N) dans le groupe en fonction de tâches attribuées au groupe, de façon à optimiser les performances du groupe pour l'exécution des tâches. 6. Computer system (S) comprising at least one group (G1-G3) of processors (P) corresponding to a desired processing power, characterized in that the group is made up of a number of elementary cells (C) each made a given number of processors (P), a memory (M) and an input-output interface (1) and connected together to form and adjust the number and / or size of nodes (N ) in the group according to the tasks assigned to the group, so as to optimize the performance of the group for the execution of the tasks. 7. Système selon la revendication 6, caractérisé en ce que l'interface d'entrée-sortie d'une cellule destinée à former un noeud avec une autre cellule inclut un bloc de communication (U) permettant l'accès partagé aux mémoires (M) des cellules du noeud par tous les processeurs de ce noeud et la gestion de la cohérence de ces mémoires. 7. System according to claim 6, characterized in that the input-output interface of a cell intended to form a node with another cell includes a communication block (U) allowing shared access to the memories (M ) of the cells of the node by all the processors of this node and the management of the consistency of these memories. 8. Système selon la revendication 6 ou 7, caractérisé en ce qu'il comporte des moyens (V) pour faire varier le nombre et/ou la taille de noeuds dans un groupe en fonction d'un nombre de processeurs défaillants de ce groupe. 8. System according to claim 6 or 7, characterized in that it comprises means (V) for varying the number and / or the size of nodes in a group as a function of a number of faulty processors of this group. 9. Système selon la revendication 8, caractérisé en ce que lesdits moyens (V) sont placés dans un processeur de service (Ps) du système pour analyser dans le système les disponibilités potentielles de processeurs hors du groupe et ajouter à ce groupe au moins un des processeurs disponibles.  9. System according to claim 8, characterized in that said means (V) are placed in a service processor (Ps) of the system to analyze in the system the potential availability of processors outside the group and add to this group at least one processors available.
FR9716701A 1997-12-30 1997-12-30 CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM Withdrawn FR2773239A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9716701A FR2773239A1 (en) 1997-12-30 1997-12-30 CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM
PCT/FR1998/002885 WO1999035572A1 (en) 1997-12-30 1998-12-28 Multinode computer system configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9716701A FR2773239A1 (en) 1997-12-30 1997-12-30 CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM

Publications (1)

Publication Number Publication Date
FR2773239A1 true FR2773239A1 (en) 1999-07-02

Family

ID=9515297

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9716701A Withdrawn FR2773239A1 (en) 1997-12-30 1997-12-30 CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM

Country Status (2)

Country Link
FR (1) FR2773239A1 (en)
WO (1) WO1999035572A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2770603B2 (en) * 1991-03-14 1998-07-02 三菱電機株式会社 Parallel computer
US5574914A (en) * 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
SE9404295D0 (en) * 1994-12-09 1994-12-09 Ellemtel Utvecklings Ab Methods and apparatus for telecommunications
US5666486A (en) * 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework

Also Published As

Publication number Publication date
WO1999035572A1 (en) 1999-07-15

Similar Documents

Publication Publication Date Title
CA2852367C (en) Method, computer program, and device for allocating computer resources of a cluster for carrying out a job controlled by said cluster
FR2865818A1 (en) COMPUTER SYSTEM, CONTROL DEVICE, MEMORY SYSTEM, AND COMPUTER DEVICE
EP2366147B1 (en) Physical manager of synchronization barrier between multiple processes
EP2286354A1 (en) Method of generating requests to manipulate an initialization and administration database for a cluster of servers, corresponding data medium and cluster of servers
US20020174420A1 (en) Apparatus and method for automated creation of resource types
EP2727319B1 (en) Method for assigning logical addresses to the connection ports of devices of a server cluster, and corresponding computer program and server cluster
FR2727540A1 (en) TOOL TO HELP DISTRIBUTE THE LOAD OF A DISTRIBUTED APPLICATION
FR2664719A1 (en) CONTROL DEVICE FOR A RECONFIGURABLE PARTITIONING BUFFER MEMORY.
FR2948247A1 (en) METHOD AND SYSTEM FOR HIGH PERFORMANCE AND AUTOMATED MANAGEMENT OF VIRTUAL NETWORKS.
EP3588294A2 (en) Method for managing failure in a network of nodes based on an overall strategy
FR3023398A1 (en) METHOD AND APPARATUS FOR SYNCHRONIZED EXECUTION OF AN APPLICATION IN A HIGH-AVAILABILITY ENVIRONMENT
FR3089322A1 (en) Management of access restrictions within a system on chip
FR2773239A1 (en) CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM
EP2802992A1 (en) System and method for managing correspondence between a cache memory and a main memory
FR2707777A1 (en) Computer system with shared memory.
EP3729273B1 (en) System and method for formulating and executing fonctional tests for cluster de servers
EP2721487B1 (en) Method, apparatus and computer program for software update of clusters to optimise the availability of these
FR2707778A1 (en) Processor node.
WO2005008492A2 (en) System for the distributed management of computer resources and calculations
FR3061391A1 (en) COMPUTER NETWORK OF KNOTS COMMUNICATING BETWEEN THEM THROUGH PAIR MESSAGES AND INTERCONNECTION METHOD BETWEEN NODES ASSOCIATED THEREWITH
EP0976040A1 (en) Management of interruptions on a computer platform
FR2816419A1 (en) Method for dividing load between servers on distributed system, comprises determination of tasks for transfer by a first server followed by negotiation with load control units on other servers
FR2760547A1 (en) COMPUTER EQUIPMENT FORMED OF A PLURALITY OF INTERCONNECTED MODULES AND METHOD FOR OPTIMIZING SUCH COMPUTER RESOURCES
EP2077500A1 (en) High-availability computer system
EP0797153A1 (en) Information handling device comprising a plurality of parallel processors

Legal Events

Date Code Title Description
ST Notification of lapse