WO1999035572A1 - Multinode computer system configuration - Google Patents
Multinode computer system configuration Download PDFInfo
- Publication number
- WO1999035572A1 WO1999035572A1 PCT/FR1998/002885 FR9802885W WO9935572A1 WO 1999035572 A1 WO1999035572 A1 WO 1999035572A1 FR 9802885 W FR9802885 W FR 9802885W WO 9935572 A1 WO9935572 A1 WO 9935572A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- group
- processors
- node
- nodes
- cells
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Definitions
- the subject of the invention is a method for configuring a multinodal computer system and a system implementing this method.
- a system of the first type is called symmetric multiprocessor system and, more commonly, SMP system (Symmetric Multi-Processor). It 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 is called a distributed shared memory system or DSM (Distributed Shared Memory) system.
- DSM systems include CCNUMA (Cache Coherent, Non-Uniform Memory Access) systems.
- CCNUMA Cache Coherent, Non-Uniform Memory Access
- a system of this first type is managed by a single operating system.
- a system of the second type is called a multinodal multiprocessor system or a cluster system of processors.
- Each node includes one or more processors connected to a memory and to a subset input-output.
- the nodes of the system are managed by operating systems independent of each other, and frequently identical. All the nodes form a cluster, also called by its Anglo-Saxon designation "cluster”.
- 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 the memory and to the use of the memory for the communication between processors.
- Open systems UNIX registered trademark
- Such an open system can currently have up to more than sixty-four processors.
- 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.
- having only one operating system makes it very vulnerable to a failure of this system and does not ensure availability at all times.
- 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 benefit is the operating systems themselves.
- the NT (registered trademark) operating system evolves so as to form a multi-modal system.
- this operating system can extend to numerous nodes, to currently sixteen by adding appropriate specialized software, known as "clustering", offered by certain manufacturers.
- clustering To these advantages is added that of requiring an interconnection network which is today considerably cheaper than that of the systems. of the first type.
- systems of the second type have several drawbacks.
- a very important problem relates to the evolution of a computer system.
- a client 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.
- 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.
- the client currently requires a system consisting of a database server of ten processors and four application machines of three processors each.
- 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.
- a problem of this kind often arises.
- the financial consequences are therefore very significant.
- 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.
- 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.
- the present invention solves all of these problems.
- 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.
- 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.
- 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.
- a fourth goal is to achieve one of the previous three goals at a reduced cost.
- 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 according to the tasks assigned to the group, so as to optimize the performance of the group for the execution of the tasks.
- the corollary subject of the invention is also a computer system comprising at least one group of processors corresponding to a desired processing power, characterized in that the group is made up 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.
- FIG. 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.
- FIG. 1A represents the processors P of a multinodal computer system S configured according to the method illustrated in FIG. 2.
- the system illustrated initially comprises a predetermined group Gl of twenty-four processors P corresponding to the power desired by a client.
- the client intends this group of processors to execute one or more sets of tasks.
- 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.
- 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.
- 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.
- FIG. 1A and 2 the client having the twenty-four processors P of the group Gl has distributed them into a node of ten processors Nl 10 as the database server, and into a biprocessor node Nl 2 and three quadriprocessor nodes Nl as application servers.
- FIG. 1B illustrates an example of evolution of the configuration of the group Gl. According to this example, it is assumed that the client must have, with the same number of P processors from group Gl, 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.
- connection of the twenty-four processors P of the group Gl is modified to have a node of twelve Ni 12 processors as a database server and, as application servers, a node monoprocessor Nli, a triprocessor node NI3 and two quadriprocessor nodes N'l.
- FIG. 1C illustrates with FIG. 2 another example of possible evolution of the configuration of the system S according to the invention.
- the client still needs to increase the power of the database server and increase the number of application servers.
- the total number of processors can include any additional number desired to develop the system.
- 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.
- 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 N2i ⁇ processors as the base server, three biprocessor nodes N2 2 , two triprocessor nodes N2 3 and a quadriprocessor node N2.
- N2i ⁇ processors as the base server
- three biprocessor nodes N2 2 two triprocessor nodes
- N2 3 two triprocessor nodes
- N2 3 quadriprocessor node
- the customer could also reduce the number of processors for the ERP software and have the other processors to make a configuration variable suitable for other tasks, optionally with additional processors available from the system or added to the system.
- additional processors available from the system or added to the system.
- the node N2 4 can be configured as a triprocessor node. If this configuration is insufficient for the application for which it is responsible, the node N2 could be reconfigured into a quadriprocessor 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.
- 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 N332 node or in thirty two N3_ monoprocessor 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 N3i6, or into four octoprocessor nodes N3 ⁇ , or even into eight quadriprocessor nodes N3 4 .
- 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 from a given number of processors.
- FIG. 3 illustrates a group of eight biprocessor cells interconnected to form three nodes Na, Nb and Ne in a system S according to the invention. Each cell C comprises two processors P connected together 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. 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.
- links L preferably high speed data transmission links.
- the group of eight system processors S can form an autonomous system whose nodes are each made of a single cell C.
- This system can be easily configured according to the needs of each client of such a system.
- the client has a system S with sixteen processors and needs a biprocessor node Na, a hexaprocessor node Nb and an octoprocessor node Ne.
- the invention therefore consists in operating three C cells so as to form the Nb node and four other cells so as to form the Ne node.
- the assembly of cells to form a node therefore consists simply in including in each cell, preferably in the interface I of the cell as illustrated, a block of U communication, wired or programmable, to identify the other cells and operate the cell with a given number of determined cells.
- An essential aim of the communication block U consists in enabling shared access to the memories M of the cells of the node by all of 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.
- 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. 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 different nodes.
- 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.
- 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.
- the NT operating system to manage several nodes with a low number of processors and the UNIX operating system for the other nodes.
- the operating systems best suited to the new configuration.
- the invention has as its general object a method of 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.
- 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.
- 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.
- 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.
- 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.
- processors of the system will be divided into two groups intended for separate tasks, such as the tasks of database server and those of application server which have been illustrated with reference to FIGS. 1A-1C.
- group is therefore very flexible and can be all or part of the processors of a system.
- 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.
- 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.
- 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. This block allows shared access to the memories M of the cells of the node by all of the processors of this node and manages the consistency of these memories.
- 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.
- 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.
- this block identifies the cells of the node and / or the other nodes, although this identification can be located elsewhere.
- the system comprises means M 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.
- these dynamic reconfiguration means M 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 system initialization and preferably for fault analysis.
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. Domaine technique.Description. 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). Il 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). Les systèmes DSM incluent les systèmes CCNUMA (Cache Cohérent, Non- Uniform Memory Access). Un système de ce premier type est géré par un seul système d'exploitation.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). It 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. DSM systems include CCNUMA (Cache Coherent, Non-Uniform Memory Access) systems. 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. L'ensemble des noeuds forme une grappe, appelée aussi par sa désignation anglo-saxonne "cluster".A system of the second type is called a multinodal multiprocessor system or a cluster system of processors. Each node includes one or more processors connected to a memory and to a subset input-output. The nodes of the system are managed by operating systems independent of each other, and frequently identical. 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 the memory and to the use of the memory for the 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 eux- mê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 benefit 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. To these advantages is added that of requiring an interconnection network which is today considerably cheaper than that of the 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.
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.A very important problem relates to the evolution of a computer system. Let us suppose for example a client 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. 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'inventionSummary of the 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.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.
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.A fourth goal is to achieve one of the previous three goals at a reduced cost. 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 according to the 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 corollary subject of the invention is also a computer system comprising at least one group of processors corresponding to a desired processing power, characterized in that the group is made up 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 :In the drawings:
- la figure 1 est une vue de principe illustrant schématiquement des processeurs d'un système multiprocesseur multinodal conforme à l'invention ;- Figure 1 is a principle view schematically illustrating processors of a multinodal multiprocessor system according to the invention;
- la figure 2 est un graphe illustrant un exemple de mise en œuvre 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.- 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 1A représente les processeurs P d'un système informatique multinodal S configuré selon le procédé illustré dans la figure 2. Le système illustré comprend initialement un groupe prédéterminé Gl de vingt-quatre processeurs P correspondant à la puissance désirée par un 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.FIG. 1A represents the processors P of a multinodal computer system S configured according to the method illustrated in FIG. 2. The system illustrated initially comprises a predetermined group Gl of twenty-four processors P corresponding to the power desired by a client. 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 1A et 2, le client disposant des vingt-quatre processeurs P du groupe Gl les a réparti en un noeud de dix processeurs Nl10 comme serveur de base de données, et en un noeud biprocesseur Nl2 et trois noeuds quadriprocesseurs Nl comme serveurs d'application.
La figure 1B illustre un exemple d'évolution de la configuration du groupe Gl. Selon cet exemple, on suppose que le client doit avoir, avec le même nombre de processeurs P du groupe Gl, 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 1B et 2, la connexion des vingt-quatre processeurs P du groupe Gl est modifiée pour avoir un noeud de douze processeurs Ni 12 comme serveur de base de données et, comme serveurs d'application, un noeud monoprocesseur Nli, un noeud triprocesseur NI3 et deux noeuds quadriprocesseurs N'l .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 of the group Gl has distributed them into a node of ten processors Nl 10 as the database server, and into a biprocessor node Nl 2 and three quadriprocessor nodes Nl as application servers. FIG. 1B illustrates an example of evolution of the configuration of the group Gl. According to this example, it is assumed that the client must have, with the same number of P processors from group Gl, 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 the group Gl is modified to have a node of twelve Ni 12 processors as a database server and, as application servers, a node monoprocessor Nli, a triprocessor node NI3 and two quadriprocessor nodes N'l.
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. 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 N2iβ comme serveur de base, trois noeuds biprocesseurs N22, deux noeuds triprocesseurs N23 et un noeud quadriprocesseur N2 . Cependant, on comprend qu'il pourrait définir toute autre configuration et qu'il peut la faire évoluer en une nouvelle configuration.FIG. 1C illustrates with FIG. 2 another example of possible evolution of the configuration of the system S according to the invention. 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 N2iβ processors as the base server, three biprocessor nodes N2 2 , two triprocessor nodes N2 3 and a quadriprocessor node N2. 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 N2 , 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 N2 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 configuration variable suitable for 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 N2, 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, the node N2 4 can be configured as a triprocessor node. If this configuration is insufficient for the application for which it is responsible, the node N2 could be reconfigured into a quadriprocessor 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 N3_. 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 N3i6, ou en quatre noeuds octoprocesseurs N3β, 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 N332 node or in thirty two N3_ monoprocessor 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 N3i6, or into four octoprocessor nodes N3β, or even into eight quadriprocessor nodes N3 4 .
La figure 3 illustre un exemple de mise en oeuvre du procédé de l'invention. Cette mise en œuvre 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 Ne 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é.
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. 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.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 from a given number of processors. FIG. 3 illustrates a group of eight biprocessor cells interconnected to form three nodes Na, Nb and Ne in a system S according to the invention. Each cell C comprises two processors P connected together 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. 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. 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 Ne. 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 Ne. 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.
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 ensembles 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 sous- ensembles 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.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 Ne. The invention therefore consists in operating three C cells so as to form the Nb node and four other cells so as to form the Ne 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 in including in each cell, preferably in the interface I of the cell as illustrated, a block of U communication, wired or programmable, to identify the other cells and operate the cell with a given number of determined cells. An essential aim of the communication block U consists in enabling shared access to the memories M of the cells of the node by all of 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. 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 different nodes. 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. 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.
II 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.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. 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. It therefore appears from the preceding examples that the invention has as its general object a method of 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.
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 1A-1C. La notion de groupe est donc très souple et peut être tout ou partie des processeurs d'un système.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. In this case, the processors of the system will be divided into two groups intended for separate 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 œuvre, à 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ée- sortie. 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. 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.For the formation of a node from a cell, it is sufficient that the cell has at least one processor, a memory and an input-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. This block allows shared access to the memories M of the cells of the node by all of the processors of this node and manages the consistency of these memories.
II 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.
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.It follows that 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. 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 M 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 M 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 M 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 M 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 system initialization and preferably for fault analysis.
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 according to 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 groupe6. Computer system (S) comprising at least one group
(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 (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.(G1-G3) of processors (P) corresponding to a desired processing power, characterized in that the group is made up of a number of cells elementary (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 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) un- oe-de-eommunication— -(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) un- oe-de-eommunication— - (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 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.8. System according to claim 6 or 7, 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.
9. Système selon la revendication 8, caractérisé en ce qu'il comporte des moyens 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.9. System according to claim 8, characterized in that it comprises means 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.
10. Système selon la revendication 9, caractérisé en ce que lesdits moyens analysent dans le système les disponibilités potentielles de processeurs hors du groupe et ajoutent à ce groupe au moins un des processeurs disponibles.
10. System according to claim 9, characterized in that said means analyze in the system the potential availability of processors outside the group and add to this group at least one of the available processors.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR97/16701 | 1997-12-30 | ||
FR9716701A FR2773239A1 (en) | 1997-12-30 | 1997-12-30 | CONFIGURATION OF A MULTINODAL COMPUTER SYSTEM |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999035572A1 true WO1999035572A1 (en) | 1999-07-15 |
Family
ID=9515297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR1998/002885 WO1999035572A1 (en) | 1997-12-30 | 1998-12-28 | Multinode computer system configuration |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2773239A1 (en) |
WO (1) | WO1999035572A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996018149A2 (en) * | 1994-12-09 | 1996-06-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Configuration mechanism |
US5574914A (en) * | 1993-01-04 | 1996-11-12 | Unisys Corporation | Method and apparatus for performing system resource partitioning |
EP0750256A2 (en) * | 1995-06-23 | 1996-12-27 | Data General Corporation | Framework for managing cluster membership in a multiprocessor system |
US5649106A (en) * | 1991-03-14 | 1997-07-15 | Mitsubishi Denki Kabushiki Kaisha | Parallel computer with reconstruction of processor clusters |
-
1997
- 1997-12-30 FR FR9716701A patent/FR2773239A1/en not_active Withdrawn
-
1998
- 1998-12-28 WO PCT/FR1998/002885 patent/WO1999035572A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649106A (en) * | 1991-03-14 | 1997-07-15 | Mitsubishi Denki Kabushiki Kaisha | Parallel computer with reconstruction of processor clusters |
US5574914A (en) * | 1993-01-04 | 1996-11-12 | Unisys Corporation | Method and apparatus for performing system resource partitioning |
WO1996018149A2 (en) * | 1994-12-09 | 1996-06-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Configuration mechanism |
EP0750256A2 (en) * | 1995-06-23 | 1996-12-27 | Data General Corporation | Framework for managing cluster membership in a multiprocessor system |
Non-Patent Citations (2)
Title |
---|
MENKAE JENG ET AL: "A DISTRIBUTED MANAGEMENT SCHEME FOR PARTITIONABLE PARALLEL COMPUTERS", SOFTWARE, PENNSYLVANIA, AUG. 8 - 12, 1989, vol. 2, 8 August 1989 (1989-08-08), PLACHY E C;KOGGE P M, pages II 57 - 64, XP000078478 * |
NAIK V K ET AL: "PERFORMANCE ANALYSIS OF JOB SCHEDULING POLICIES IN PARALLEL SUPERCOMPUTING ENVIRONMENTS", PROCEEDINGS OF THE SUPERCOMPUTING CONFERENCE, PORTLAND, NOV. 15 - 19, 1993, 15 November 1993 (1993-11-15), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 824 - 833, XP000437418 * |
Also Published As
Publication number | Publication date |
---|---|
FR2773239A1 (en) | 1999-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2865818A1 (en) | COMPUTER SYSTEM, CONTROL DEVICE, MEMORY SYSTEM, AND COMPUTER DEVICE | |
FR2931970A1 (en) | METHOD FOR GENERATING HANDLING REQUIREMENTS OF SERVER CLUSTER INITIALIZATION AND ADMINISTRATION DATABASE, DATA CARRIER AND CLUSTER OF CORRESPONDING SERVERS | |
CA2852367C (en) | Method, computer program, and device for allocating computer resources of a cluster for carrying out a job controlled by said cluster | |
EP2366147B1 (en) | Physical manager of synchronization barrier between multiple processes | |
FR2802318A1 (en) | METHOD FOR ACCESSING DATA IN A NETWORK SYSTEM AND NETWORK SYSTEM | |
FR2727540A1 (en) | TOOL TO HELP DISTRIBUTE THE LOAD OF A DISTRIBUTED APPLICATION | |
EP2727319B1 (en) | Method for assigning logical addresses to the connection ports of devices of a server cluster, and corresponding computer program and server cluster | |
FR2948247A1 (en) | METHOD AND SYSTEM FOR HIGH PERFORMANCE AND AUTOMATED MANAGEMENT OF VIRTUAL NETWORKS. | |
WO1999035572A1 (en) | Multinode computer system configuration | |
FR3089322A1 (en) | Management of access restrictions within a system on chip | |
WO2013104875A1 (en) | System and method for managing correspondence between a cache memory and a main memory | |
EP2721487B1 (en) | Method, apparatus and computer program for software update of clusters to optimise the availability of these | |
FR2707777A1 (en) | Computer system with shared memory. | |
FR2707778A1 (en) | Processor node. | |
WO2019122626A1 (en) | System and method for formulating and executing fonctional tests for cluster de servers | |
FR2857472A1 (en) | DISTRIBUTED MANAGEMENT SYSTEM FOR COMPUTER RESOURCES AND CALCULATIONS | |
WO1999040513A1 (en) | Management of interruptions on a computer platform | |
FR2916550A1 (en) | Data storage system for host computer, has resource groups divided by logical partitions, where quantity of resources in each resource group is allocated based on performance required for each group | |
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 | |
WO1994015296A1 (en) | High throughput computer system, memory component and resulting memory controller | |
EP0797153A1 (en) | Information handling device comprising a plurality of parallel processors | |
FR2805905A1 (en) | METHOD FOR EXECUTING AN ACTION IN A HETEROGENEOUS INFORMATION SYSTEM | |
WO1998040836A1 (en) | Computer equipment consisting of a plurality of interconnected modules and method for optimising such computer resources | |
EP1493083A2 (en) | Reconfigurable control system based on hardware implementation of petri graphs | |
EP0454526A1 (en) | Symmetrical multiprocessor tightly coupled machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase |