EP2286354A1 - Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants - Google Patents

Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants

Info

Publication number
EP2286354A1
EP2286354A1 EP09766060A EP09766060A EP2286354A1 EP 2286354 A1 EP2286354 A1 EP 2286354A1 EP 09766060 A EP09766060 A EP 09766060A EP 09766060 A EP09766060 A EP 09766060A EP 2286354 A1 EP2286354 A1 EP 2286354A1
Authority
EP
European Patent Office
Prior art keywords
cluster
nodes
server
server cluster
database
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.)
Ceased
Application number
EP09766060A
Other languages
German (de)
English (en)
Inventor
Thierry Missimilly
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 SAS
Original Assignee
Bull SAS
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 SAS filed Critical Bull SAS
Publication of EP2286354A1 publication Critical patent/EP2286354A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Definitions

  • the present invention relates to a method for generating requests for the manipulation of a server.
  • the present invention relates to a method for generating requests for the manipulation of a server.
  • the present invention relates to a method for generating requests for manipulating a server.
  • database for initializing and administering a cluster of servers having a plurality of nodes interconnected by at least one data transmission network. It also relates to a data carrier for the implementation of this method and a server cluster comprising a database completed by requests generated according to this method.
  • Server clusters are known that comprise in particular several computation nodes interconnected with each other.
  • Clusters of servers of this type are computer installations generally comprising several computers in a network, appearing from the outside as a calculator with a very high computing power, called high performance computing calculator or HPC calculator (from the English "High Performance Computing ").
  • HPC calculator from the English "High Performance Computing ".
  • server clusters some of the simplest, may have homogeneous elements observing the same identification protocol, so that these elements can be identified automatically at power up of the installation, for a good initialization and administration of cluster.
  • This is not the case for most existing complex server clusters, with very high computational capacities, for which the generation of a database containing all the heterogeneous elements and parameters of the server cluster is needed. This database then represents the single repository of the configuration and state of the server cluster.
  • a major difficulty is to inform this database of all the information necessary for the initialization and administration of the server cluster, using queries.
  • the minimum necessary information is static data of logical and material description of the elements of the cluster of servers and their interrelations such as for example a description of the material, a geographical location of the servers and nodes of the cluster in a center calculation, a state of the installed software tools, operating data of the cluster, or a state of the hardware.
  • database manipulation queries are typically defined.
  • cluster database they are written manually as single-file or multi-file code lines, which can be up to several thousand rows for complex server clusters. Familiarizing yourself with the technical documents that define a cluster of servers, including cluster architecture and cabling, and writing these database manipulation queries can take several months.
  • the writing is generally not structured according to a pre-established order which makes it even more difficult and long.
  • the manual writing of manipulation requests is a source of input errors and requires multiple consistency checks. It may thus be desirable to provide a method of generating requests for manipulating a database for initializing and administering a cluster of servers that makes it possible to overcome the aforementioned problems and constraints.
  • the subject of the invention is therefore a method for generating requests for manipulating an initialization and administration database of a server cluster comprising several nodes interconnected by at least one data transmission network. characterized in that it comprises the following steps:
  • the invention takes advantage of the definition of a node addressing policy of the server cluster to structure in an original way the steps of generating a set of parameters of the cluster that, after application of the policy of addressing to the node addresses of the server cluster, makes it possible to envisage a facilitated or even automated generation of a file for querying manipulation of the database.
  • the step of generating at least one set of profiles of the nodes and the data transmission network comprises generating a digital summary file from a first predetermined digital file of logical representation of the cluster of servers and a second predetermined digital file of physical representation of the cluster of servers.
  • the step of defining an addressing policy includes the definition of IP address assignment software rules available to at least a portion of the components of the server cluster, and the step of assigning at least one address to each node of the server cluster is performed by executing these software rules.
  • the software rules comprise at least one of the elements of the set consisting of following software rules:
  • a priori reservation of certain addresses as virtual nodes addresses - A priori reservation of an address zone, for serially interconnected nodes, in which a first address is reserved for a serial interface between the interconnected nodes. in series and the rest of the server cluster, and the following for each of the interconnected nodes in series, - automatically assigning an address, or an address range, to a cluster node based on its identifier in the cluster using a predefined formula,
  • a method according to the invention comprises a step in which the request file is executed so as to complete the database of the server cluster.
  • the invention also relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for the implementation of a method for generating requests for manipulation of a database for initialization and administration of a server cluster as defined above.
  • the invention also relates to a server cluster comprising several nodes interconnected by at least one data transmission network, including at least one node management server of the cluster associated with a data storage array of administration, characterized in that it further comprises an initialization and administration database completed by requests generated by a method as defined above, the initialization and administration data being stored in the storage bay. storage of administration data and the administration server comprising means for managing this database.
  • at least a portion of the nodes comprises computation nodes and the data transmission network comprises at least one interconnection network of the computation nodes.
  • the server cluster further comprises at least one traffic management node and at least one data backup node
  • the data transmission network further comprises at least one network different from the network. interconnection of the compute nodes for the connection of the administration server to the compute nodes, traffic management and data backup.
  • FIG. 1 schematically represents the general structure of an example of an HPC calculator server cluster
  • FIG. 2 diagrammatically represents the configuration of a database for managing the server cluster of FIG. 1;
  • FIG. 3 illustrates the successive steps of a method for generating and informing the database of FIG. 2.
  • the computer installation shown in Figure 1 comprises a control terminal 10 connected to a backbone network 12, generally called backbone network (the English "backbone network"). It is also to this backbone 12 that is connected a cluster of servers 14 appearing from the outside, ie from the point of view of the control terminal 10, as a single entity of HPC computer.
  • backbone network the English "backbone network”
  • the server cluster 14 comprises several computers interconnected by means of several networks, each of which is heterogeneous.
  • the set of computers in the server cluster 14 constitutes all the nodes of this cluster.
  • a node is a calculator which can comprise one or more unit (s) of calculation.
  • two types of nodes can be distinguished: the compute nodes and the service nodes.
  • the computing nodes are those that effectively execute the different processing instructions ordered from the control terminal 10, under the supervision of the service nodes.
  • each service node is associated with a replica having the same characteristics as it and ready to replace immediately in case of failure.
  • the set of service nodes of the server cluster 14 of FIG. 1 comprises a processing interface 16, an administration server 18, a metadata management server 20 of the cluster, an access management server 22. outputs and a backup server 24.
  • the processing interface 16 more commonly referred to as the Login interface, performs a computing interface function between the backbone network 12 and the server cluster 14. It is a priori of the same nature as the computing nodes but is in further provided with compilers and specific calculation tools whose presence on this interface is necessary to process the instructions received from the control terminal 10.
  • the processing interface 16 is duplicated, as previously indicated for security reasons, and is thus connected, with its replicate, to the backbone network 12 via two links 26.
  • the administration server 18 performs a general administration function of the server cluster 14. It is in particular that it manages the distribution of the instructions transmitted by the processing interface 16 to the different compute nodes according to their nature and availability. It is also duplicated for security reasons.
  • the administration server 18 and its replica share a disk storage bay 28 to which they are connected by a plurality of optical fibers 29, for very fast access to the stored data.
  • the administration server 18 is generally also directly connected to the backbone network 12 with its replicator via two links 27. in addition to a user of the control terminal 10 to have more control over the strategies and computing options chosen by the server cluster 14. Moreover, in some embodiments of small server clusters not having no Login interface, this double link 27 is the only link between the server cluster and the backbone network.
  • the metadata management server 20 otherwise known as the Meta Data Server (MDS) and the input / output management server 22, otherwise known as the Object Storage Server (OSS), fill a data traffic management function processed by the compute nodes of the server cluster 14. They manage for this a distributed file management system, for example the system Luster (registered trademark).
  • MDS Meta Data Server
  • OSS Object Storage Server
  • the MDS server 20 and its replica share a disk storage array 30 to which they are connected by a plurality of optical fibers 32.
  • the OSS server 22 and its replica share a disk storage array 34 to which they are attached. connected by a plurality of optical fibers 36.
  • backup server 24 manages the data protection of the entire HPC computer and is therefore connected to a tape storage array 38.
  • the set of calculation nodes of the HPC calculator of FIG. 1 is heterogeneous and comprises several units of calculation nodes such as for example a first computing unit 40 comprising six servers, a second computing unit 42 comprising twelve servers and a third computing unit 44 having twenty-four servers.
  • the first computing unit 40 comprises six fast computing servers connected in a serial network and is connected for this purpose to a series 46 power strip performing a translation of the serial ports of each of the servers of this first unit 40 into IP addresses.
  • Internet Protocol Internet Protocol
  • the series power strip 46 more generally performs an interface function between the serial network of the first computing unit 40 and an administration network of the server cluster 14.
  • the six servers of the first computing unit 40 share a specific storage bay 48 to which they are connected via a switch 50. This storage bay 48 gives access to data volumes which are for example organized according to their own file management system, which may be different from that managed by the servers MDS 20 and OSS 22.
  • a specific administration of this first computing unit 40 is provided by an administration platform 52 associated with peripherals such as a screen and / or keyboard and / or mouse 54.
  • the platform of administration 52 is in practice a computer dedicated to monitoring the six fast calculation servers.
  • the first computing unit 40 as shown in FIG. 1, is designed to be more powerful than the second and third computing units 42 and 44.
  • the peripherals 54 can be shared between the management platform 52 and the administration server 18 of the HPC computer using a KVM switch 56 (of the "Keyboard Video Mouse"), thus enabling an operator to act directly on the site of the server cluster 14 for an intervention on the platform 52 and / or the administration server 18.
  • KVM switch 56 of the "Keyboard Video Mouse
  • the different nodes of the above-mentioned server cluster 14 are interconnected with one another using several networks.
  • a first network 58 specifically links the fast calculation servers of the first computing unit 40 to each other.
  • a second network 60 called an administration network, generally of a type
  • Ethernet makes it possible to connect the administration server 18 of the server cluster 14, via an administration port of this server, to the other nodes of the cluster such as the processing interface 16, the MDS server 20, its replica and its storage array 30, the OSS server 22, its replica and storage array 34, the backup server 24 and its tape storage array 38, the first, second, and third computing units 40, 42, and 44, the specific storage bay 48 of the first computing unit 40, the series 46 power supply and the administration platform 52.
  • the second administration network 60 may be duplicated by a primary control network 62 connected to the administration server 18 via a primary control port of this computer. server different from the administration port.
  • This primary control network 62 is dedicated to powering up, starting, stopping and processing some predetermined primary errors, called fatal errors and generating Core files, servers it administers.
  • the primary control network 62 connects the administration server 18 to the processing interface 16 and its replica, to the MDS server 20 and to its replica, to the OSS server 22 and to its server. replicated, to the backup server 24, and the second and third computing units 42 and 44.
  • a third network 64 said interconnection network computing nodes, interconnects, on the one hand, the servers of the first, second and third computing units 40, 42 and 44, and, on the other hand, the processing interface 16, the MDS server 20, the OSS server 22 and the backup server 24.
  • the switching of the data transiting between the different elements interconnected by this interconnection network 64 is provided by a switching member 66 of this network which is itself connected to the administration network 60.
  • This third interconnection network 64 has characteristics of very high flow rate with respect to the characteristicsIt is in fact through this interconnection network 64 that the calculation data necessary to execute the processing instructions transmitted by the control terminal 10 via the processing interface are transited. 16.
  • the third interconnection network 64 may be doubled by a supplementary interconnection network 68 connected to at least a portion of the elements already interconnected by the third interconnection network 64.
  • the additional network interconnection 68 connects the servers of the first and second computing units 40 and 42 to double their bandwidth.
  • the switching of the data transiting between the various elements interconnected by this additional interconnection network 68 is provided by an additional switching member 70 of this network which is itself connected to the administration network 60.
  • a server cluster has service nodes comprising at least one administration server, compute nodes, an administration network connecting the administration node to the other nodes of the cluster and a network of servers. interconnection of computing nodes whose bit rate higher than that of the administration network makes it possible to achieve high computing performance.
  • the data, static or dynamic, of the database 72 are regularly saved in the tape storage array 38.
  • This database 72 is shown schematically. in Figure 2.
  • It includes a DB database core, including its administration tools, and structured description data (D (58), D (60,62), D (64,68), nodes, HMI, Deployment, @IP, Geographical location, SGF, storage) aiming to fill in the information necessary for the initialization and administration of the server cluster 14.
  • structured description data D (58), D (60,62), D (64,68), nodes, HMI, Deployment, @IP, Geographical location, SGF, storage
  • This information firstly comprises data D (58), D (60,62), D (64,68) concerning the different networks of the server cluster 14: the first serial network 58, the second administration network 60, 62 and the third interconnection network 64, 68.
  • These data concern, for example, the type of network, its transmission capabilities, a provider identifier, etc.
  • the information further comprises data "nodes" on the server type nodes of the server cluster 14 such as those connected to the primary control network 62: the nature of each node (calculation, administration server, etc.), its technical characteristics (model, hardware status, computing capacity, RAM memory and state of installed software tools), a vendor ID, etc.
  • the information also includes storage data describing the storage infrastructure, volume logical slicing, deployment models, and so on.
  • HMI human-machine interface used by the server cluster 14
  • SGF file management system used (for example the Luster system)
  • Delivery data relating to the user interface. organization of the deployment in the server cluster 14, "@IP” data concerning the distribution of IP addresses within the cluster, as well as “geographical location” data concerning the geographical location of the various elements.
  • an IP address of a cluster node is defined by four bytes whose values are separated by dots, ordering them by the octet with the highest weight. to the lowest weight. Assuming this address is class C, the first three bytes define the server cluster as a local area network, and the last byte allows you to theoretically distribute 255 IP addresses to the nodes of the server cluster. If the server cluster has too many nodes compared to the available addresses in class C, then its IP address can be chosen in class B.
  • An addressing policy consists of predefining software rules for allocating available addresses. For example, it includes the following rules:
  • a priori reservation of certain addresses for the switches of the interconnection network of the computation nodes - A priori reservation of certain addresses as virtual addresses of nodes thus identified by an alias when they are duplicated (this is particularly the case of the processing interface 16, the administration server 18 and the nodes of traffic management 20 and 22), - a priori reservation of an address zone, for the interconnected serial communication nodes such as the nodes of the first calculation unit 40, zone in which the first address is reserved for the serial interface concerned, such as the power strip 46, and the following for each of the series interconnected computing nodes, - automatically assigning an address, or an address range, to a node of the cluster as a function of its identifier in the cluster using a predefined formula,
  • a formula for the automatic allocation of addresses Ai to the nodes Ni of the cluster according to their identifier id (Ni) is for example:
  • step 102 of start of generation of the database 72 static data, defining a logical and geographical distribution of the nodes of the cluster in its various networks, and physically defining the nodes of the cluster, are collected and verified by an operator.
  • this data is available in the form of digital files, for example tables of data generated using a spreadsheet.
  • these documents are generally from a technical study phase following a call for tenders and aimed at defining the precise architecture of the server cluster 14.
  • a first table 74 which will be called the logical representation table of the server cluster 14, comprises a list of port-to-port equipment and interconnections constituting the cluster together with all the information enabling them to be uniquely identified as as hardware and as part of the cluster (especially this document assigns credentials for each node in the cluster).
  • a second table 76 which will be called the physical representation table of the server cluster 14, provides additional information on the elements of the server cluster, specifying their location in a computer center intended to receive the server cluster. for example by means of a coordinate system, specifying in particular for each cable the necessary length, indicating in addition some constraints of weight or location, etc.
  • the verification by the operator consists in ensuring that the fields of the tables 74 and 76 necessary for the generation of the database 72 are well filled.
  • a new table file 78 which will be called summary table, is created.
  • a first tab is created containing at least the information necessary for the generation of the database 72 from data extracted from the logical representation table 74.
  • a second tab is created containing at least the information necessary for the creation of the database. generation of the base 72 from data extracted from the physical representation table 76.
  • an additional summary tab lists the hardware component of the server cluster 14. This list can also be extracted from the logical representation table 74.
  • each node of the server cluster 14 listed in the summary table 78 is associated, as far as possible, with one of the predetermined profiles based on information already known on this node.
  • This profile to which the node is associated is integrated in the synthesis table 78.
  • general configuration information of the server cluster 14 is added to the data already recorded in the summary table 78. This information concerns especially :
  • the server cluster 14 for its general operation, among which the file management system, the resource management system (the resource management system), the management system of the resources; queues (of the English "batch manager"), the management system for the security of data transmission, and
  • step 108 of assigning the IP addresses using the predetermined addressing policy (step 100) and data already entered in the synthesis table 78 on the different elements of the server cluster IP addresses are automatically generated and assigned to the relevant elements.
  • a choice of addressing class is made according to the number of bytes necessary for all the elements of the cluster concerned to have an address
  • IP addresses of virtual networks are defined according to the general configuration information, and - the available IP addresses are distributed between the nodes of the server cluster 14 according to the predefined formula.
  • step 1 10 if in step 104 all the nodes of the server cluster 14 could not be associated with predetermined profiles, or if new servers or storage arrays with unreferenced profiles must be introduced, the missing parameters are completed for example by an operator in the summary table 78.
  • step 106 When the summary table 78 is complete, it is saved for possible future use (see step 106) and its data is translated automatically into database manipulation requests 72 of the server cluster 14 which are saved in a request file 80, during a step 1 12.
  • step 1 14 an operator checks the result of the translation of data into requests. At this point, an interaction is possible to modify the request file 80.
  • this request file 80 is executed by the administration server 18 on site, when the server cluster 14 is installed and in operating state, so as to complete the base of data 72 of the cluster that can then be used to initialize and / or administer the server cluster 14.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ce procédé concerne la génération de requêtes de manipulation d'une base de données d'initialisation et d'administration d'une grappe de serveurs comportant plusieurs noeds interconnectés entre eux par au moins un réseau de transmission de données. Il comporte les étapes suivantes : à partir d'une répartition logique (74) des noeds de la grappe dans le réseau de transmission de données, d'une répartition géographique (76) et d'une définition matérielle (74, 76) des noeds de la grappe, génération (102, 104, 106) d'au moins un ensemble de profils des noeds et du réseau de transmission de données; définition (100) d'une politique d'adressage des noeds de la grappe; à partir de l'ensemble de profils et en fonction de la politique d'adressage, affectation (108) d'au moins une adresse à chaque noed de la grappe de serveurs et génération (1 10) d'un ensemble de paramètres de la grappe; et à partir de l'ensemble de paramètres de la grappe et des adresses de ses noeuds, génération (1 12, 1 14) d'au moins un fichier (80) de requêtes de manipulation de la base de données.

Description

PROCEDE DE GENERATION DE REQUETES DE MANIPULATION D'UNE BASE DE DONNEES D'INITIALISATION ET D'ADMINISTRATION D'UNE GRAPPE DE SERVEURS, SUPPORT DE DONNEES ET GRAPPE DE SERVEURS CORRESPONDANTS La présente invention concerne un procédé de génération de requêtes de manipulation d'une base de données d'initialisation et d'administration d'une grappe de serveurs comportant plusieurs nœuds interconnectés entre eux par au moins un réseau de transmission de données. Elle concerne également un support de données pour la mise en œuvre de ce procédé et une grappe de serveur comportant une base de données complétée par des requêtes générées selon ce procédé.
On connaît des grappes de serveurs comportant notamment plusieurs nœuds de calcul interconnectés entre eux. Les grappes de serveurs de ce type sont des installations informatiques comprenant généralement plusieurs ordinateurs en réseau, apparaissant de l'extérieur comme un calculateur à très forte puissance de calcul, dit calculateur à haute performance de traitement ou calculateur HPC (de l'Anglais « High Performance Computing »). Ces installations optimisées permettent la répartition de traitements complexes et/ou de calculs parallèles sur au moins une partie des nœuds de calcul.
Certaines grappes de serveurs, parmi les plus simples, peuvent comporter des éléments homogènes observant un même protocole d'identification, de sorte que ces éléments peuvent s'identifier automatiquement à la mise sous tension de l'installation, pour une bonne initialisation et administration de la grappe. Ce n'est malheureusement pas le cas de la plupart des grappes de serveurs complexes existant aujourd'hui, à capacités de calculs très élevées, pour lesquelles la génération d'une base de données reprenant l'ensemble des éléments hétérogènes et des paramètres de la grappe de serveurs est nécessaire. Cette base de données représente alors le référentiel unique de la configuration et de l'état de la grappe de serveurs.
Une difficulté majeure consiste à renseigner cette base de données de toutes les informations nécessaires à l'initialisation et à l'administration de la grappe de serveurs, à l'aide de requêtes. Les informations minimales nécessaires sont des données statiques de description logique et matérielle des éléments de la grappe de serveurs et de leurs interrelations telles que par exemple une description du matériel, une localisation géographique des serveurs et nœuds de la grappe dans un centre de calcul, un état des outils logiciels installés, des données d'exploitation de la grappe, ou un état du matériel.
Pour renseigner la base de données, souvent définie sous forme de base de données relationnelle, des requêtes de manipulation de la base de données sont généralement définies. Pour remplir une base de données de grappe de serveurs, elles sont rédigées manuellement sous la forme de lignes de codes rassemblées en un ou plusieurs fichiers, pouvant atteindre plusieurs milliers de lignes pour les grappes de serveurs complexes. Prendre connaissance des documents techniques définissant une grappe de serveurs, incluant l'architecture et le câblage de la grappe, et rédiger ces requêtes de manipulation de la base de données peut prendre plusieurs mois. En outre, la rédaction n'est généralement pas structurée selon un ordre préétabli ce qui la rend encore plus difficile et longue. Enfin, la rédaction manuelle des requêtes de manipulation est source d'erreurs de saisie et nécessite de multiples vérifications de cohérence. II peut ainsi être souhaité de prévoir un procédé de génération de requêtes de manipulation d'une base de données d'initialisation et d'administration d'une grappe de serveurs qui permette de s'affranchir des problèmes et contraintes précités.
L'invention a donc pour objet un procédé de génération de requêtes de manipulation d'une base de données d'initialisation et d'administration d'une grappe de serveurs comportant plusieurs nœuds interconnectés entre eux par au moins un réseau de transmission de données, caractérisé en ce qu'il comporte les étapes suivantes :
- à partir d'une répartition logique des nœuds de la grappe dans le réseau de transmission de données, d'une répartition géographique et d'une définition matérielle des nœuds de la grappe, génération d'au moins un ensemble de profils des nœuds et du réseau de transmission de données,
- définition d'une politique d'adressage des nœuds de la grappe,
- à partir de l'ensemble de profils et en fonction de la politique d'adressage, affectation d'au moins une adresse à chaque nœud de la grappe de serveurs et génération d'un ensemble de paramètres de la grappe, et
- à partir de l'ensemble de paramètres de la grappe et des adresses de ses noeuds, génération d'au moins un fichier de requêtes de manipulation de la base de données d'initialisation et d'administration de la grappe de serveurs. Ainsi, l'invention tire profit de la définition d'une politique d'adressage des nœuds de la grappe de serveurs pour structurer de façon originale les étapes de génération d'un ensemble de paramètres de la grappe qui, après application de la politique d'adressage aux adresses de nœuds de la grappe de serveurs, permet d'envisager une génération facilitée, voire automatisée, d'un fichier de requêtes de manipulation de la base de données.
De façon optionnelle, l'étape de génération d'au moins un ensemble de profils des nœuds et du réseau de transmission de données comporte la génération d'un fichier numérique de synthèse à partir d'un premier fichier numérique prédéterminé de représentation logique de la grappe de serveurs et d'un deuxième fichier numérique prédéterminé de représentation physique de la grappe de serveurs.
De façon optionnelle également, l'étape de définition d'une politique d'adressage comporte la définition de règles logicielles d'attribution d'adresses IP disponibles à au moins une partie des éléments constitutifs de la grappe de serveurs, et l'étape d'affectation d'au moins une adresse à chaque nœud de la grappe de serveurs est réalisée par l'exécution de ces règles logicielles.
De façon optionnelle également, les règles logicielles comprennent au moins l'un des éléments de l'ensemble constitués de règles logicielles suivantes :
- choix d'une classe d'adressage IP en fonction du nombre d'adresses IP à distribuer dans la grappe de serveurs,
- réservation a priori de certaines adresses pour des commutateurs du réseau de transmission de données,
- réservation a priori de certaines adresses en tant qu'adresses virtuelles de nœuds, - réservation a priori d'une zone d'adresses, pour des nœuds interconnectés en série, dans laquelle une première adresse est réservée pour une interface série entre les nœuds interconnectés en série et le reste de la grappe de serveurs, et les suivantes pour chacun des nœuds interconnectés en série, - attribution automatique d'une adresse, ou d'un intervalle d'adresses, à un nœud de la grappe en fonction de son identifiant dans la grappe à l'aide d'une formule prédéfinie,
- attribution d'une adresse IP à chaque réseau de transmission de données de la grappe de serveurs. De façon optionnelle également, un procédé selon l'invention comporte une étape lors de laquelle le fichier de requêtes est exécuté de manière à compléter la base de données de la grappe de serveurs.
L'invention a également pour objet un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre d'un procédé de génération de requêtes de manipulation d'une base de données d'initialisation et d'administration d'une grappe de serveurs tel que défini précédemment.
L'invention a également pour objet une grappe de serveurs comportant plusieurs nœuds interconnectés entre eux par au moins un réseau de transmission de données, dont au moins un serveur d'administration des nœuds de la grappe associé à une baie de stockage de données d'administration, caractérisé en ce qu'elle comprend en outre une base de données d'initialisation et d'administration complétée par des requêtes générées par un procédé tel que défini précédemment, les données d'initialisation et d'administration étant stockées dans la baie de stockage de données d'administration et le serveur d'administration comportant des moyens de gestion de cette base de données. De façon optionnelle, au moins une partie des nœuds comporte des nœuds de calcul et le réseau de transmission de données comporte au moins un réseau d'interconnexion des nœuds de calcul.
De façon optionnelle également, la grappe de serveurs comporte en outre au moins un noeud de gestion de trafic et au moins un noeud de sauvegarde de données, et le réseau de transmission de données comporte en outre au moins un réseau d'administration différent du réseau d'interconnexion des nœuds de calcul pour la connexion du serveur d'administration aux nœuds de calcul, de gestion de trafic et de sauvegarde de données.
L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels :
- la figure 1 représente schématiquement la structure générale d'un exemple de grappe de serveurs de type calculateur HPC,
- la figure 2 représente schématiquement la configuration d'une base de données pour la gestion de la grappe de serveurs de la figure 1 , - la figure 3 illustre les étapes successives d'un procédé de génération et de renseignement de la base de données de la figure 2.
L'installation informatique représentée sur la figure 1 comporte un terminal de commande 10 relié à un réseau dorsal 12, généralement appelé réseau backbone (de l'anglais « backbone network »). C'est également à ce réseau dorsal 12 qu'est connectée une grappe de serveurs 14 apparaissant de l'extérieur, c'est à dire du point de vue du terminal de commande 10, comme une entité unique de calculateur HPC.
En fait, la grappe de serveurs 14 comporte plusieurs ordinateurs interconnectés entre eux au moyen de plusieurs réseaux, les uns et les autres étant hétérogènes.
L'ensemble des ordinateurs de la grappe de serveurs 14 constitue l'ensemble des nœuds de cette grappe. D'une façon plus générale, un nœud est un calculateur pouvant comporter une ou plusieurs unité(s) de calcul. Dans la grappe de serveurs 14, on peut distinguer deux types de noeuds : les noeuds de calcul et les noeuds de service. Les noeuds de calcul sont ceux qui exécutent effectivement les différentes instructions de traitements commandées depuis le terminal de commande 10, sous la supervision des noeuds de services.
La plupart des noeuds de service sont dupliqués pour des raisons de sécurité. Autrement dit, chaque noeud de service est associé à un répliquât comportant les mêmes caractéristiques que lui et prêt à le remplacer immédiatement en cas de panne.
On notera par ailleurs que sur la figure 1 , chaque fois qu'une multiplicité de liens existe entre deux entités (nœuds et/ou portions de réseaux), seul un lien sera représenté et accompagné d'un nombre indiquant le nombre de liens entre les deux entités, par souci de clarté de cette figure. En effet, si chaque lien devait être représenté, du fait de la complexité de la grappe de serveurs 14, il en résulterait une confusion qui nuirait à la compréhension de l'invention.
L'ensemble des noeuds de service de la grappe de serveurs 14 de la figure 1 comprend une interface de traitement 16, un serveur d'administration 18, un serveur 20 de gestion de métadonnées de la grappe, un serveur 22 de gestion des entrées/sorties et un serveur de sauvegarde 24.
L'interface de traitement 16, plus communément qualifiée d'interface Login, remplit une fonction d'interface de calcul entre le réseau dorsal 12 et la grappe de serveurs 14. Elle est a priori de même nature que les nœuds de calcul mais est en outre dotée de compilateurs et d'outils spécifiques de calculs dont la présence sur cette interface est nécessaire pour traiter les instructions reçues du terminal de commande 10. L'interface de traitement 16 est dupliquée, comme indiqué précédemment pour des raisons de sécurité, et est donc reliée, avec son répliquât, au réseau dorsal 12 par l'intermédiaire de deux liens 26.
Le serveur d'administration 18 remplit une fonction d'administration générale de la grappe de serveurs 14. C'est notamment lui qui gère la distribution des instructions transmises par l'interface de traitement 16 aux différents nœuds de calcul en fonction de leur nature et disponibilité. Il est également dupliqué pour des raisons de sécurité. Le serveur d'administration 18 et son répliquât partagent une baie de stockage sur disque 28 à laquelle ils sont reliés par une pluralité de fibres optiques 29, pour un accès très rapide aux données stockées.
Pour permettre l'administration de la grappe de serveurs 14 par un utilisateur du terminal de commande 10, le serveur d'administration 18 est généralement lui aussi relié directement au réseau dorsal 12 avec son répliquât par l'intermédiaire de deux liens 27. Cela permet en outre à un utilisateur du terminal de commande 10 d'avoir plus d'emprise sur les stratégies et options de calcul choisies par la grappe de serveurs 14. Par ailleurs, dans certains modes de réalisation de grappes de serveurs de petite dimension n'ayant pas d'interface Login, ce double lien 27 est le seul lien entre la grappe de serveurs et le réseau dorsal.
Le serveur 20 de gestion de métadonnées, autrement appelé serveur MDS (de l'anglais « Meta Data Server ») et le serveur 22 de gestion des entrées/sorties, autrement appelé serveur OSS (de l'anglais « Object Storage Server ») remplissent une fonction de gestion du trafic des données traitées par les nœuds de calcul de la grappe de serveurs 14. Ils gèrent pour cela un système de gestion de fichiers distribué, par exemple le système Lustre (marque déposée).
Ces deux serveurs sont également dupliqués et sont chacun reliés à une baie de stockage par fibres optiques. Le serveur MDS 20 et son répliquât partagent une baie de stockage sur disque 30 à laquelle ils sont reliés par une pluralité de fibres optiques 32. De même, le serveur OSS 22 et son répliquât partagent une baie de stockage sur disque 34 à laquelle ils sont reliés par une pluralité de fibres optiques 36.
Enfin le serveur de sauvegarde 24 gère la protection des données de l'ensemble du calculateur HPC et est pour cela relié à une baie de stockage sur bandes 38. Ce serveur de sauvegarde 24, contrairement aux autres nœuds de service de la grappe de serveurs 14, n'est pas dupliqué dans l'exemple illustré sur la figure 1.
L'ensemble des noeuds de calcul du calculateur HPC de la figure 1 est hétérogène et comporte plusieurs unités de nœuds de calcul telles que par exemple une première unité de calcul 40 comportant six serveurs, une deuxième unité de calcul 42 comportant douze serveurs et une troisième unité de calcul 44 comportant vingt-quatre serveurs.
La première unité de calcul 40 comporte six serveurs de calcul rapide montés en réseau série et est reliée pour cela à une multiprise série 46 réalisant une traduction des ports série de chacun des serveurs de cette première unité 40 en adresses IP (de l'anglais « Internet Protocol ») identifiables par un réseau de type Ethernet. La multiprise série 46 remplit plus généralement une fonction d'interface entre le réseau série de la première unité de calcul 40 et un réseau d'administration de la grappe de serveurs 14. En outre, les six serveurs de la première unité de calcul 40 partagent une baie de stockage spécifique 48 à laquelle ils sont reliés via un commutateur 50. Cette baie de stockage 48 donne accès à des volumes de données qui sont par exemple organisés selon leur propre système de gestion de fichiers, qui peut être différent de celui géré par les serveurs MDS 20 et OSS 22. Une administration spécifique de cette première unité de calcul 40 est assurée par une plateforme d'administration 52 associée à des périphériques tels qu'un écran et/ou clavier et/ou souris 54. La plateforme d'administration 52 est en pratique un ordinateur dédié à la surveillance des six serveurs de calcul rapide. Ainsi, la première unité de calcul 40, telle qu'elle est représentée sur la figure 1 , est conçue pour être plus puissante que les deuxième et troisième unités de calcul 42 et 44.
Les périphériques 54 peuvent être partagés entre la plateforme d'administration 52 et le serveur d'administration 18 du calculateur HPC à l'aide d'un commutateur KVM 56 (de l'anglais « Keyboard Video Mouse »), permettant ainsi à un opérateur d'agir directement sur le site de la grappe de serveurs 14 pour une intervention sur la plateforme 52 et/ou le serveur d'administration 18.
Les différents nœuds de la grappe de serveurs 14 précités sont interconnectés entre eux à l'aide de plusieurs réseaux.
Il a déjà été vu qu'un premier réseau 58, dit réseau série, relie spécifiquement les serveurs de calcul rapide de la première unité de calcul 40 entre eux. Un deuxième réseau 60, dit réseau d'administration, en général de type
Ethernet, permet de relier le serveur d'administration 18 de la grappe de serveurs 14, via un port d'administration de ce serveur, aux autres nœuds de la grappe tels que l'interface de traitement 16, le serveur MDS 20, son répliquât et sa baie de stockage 30, le serveur OSS 22, son répliquât et sa baie de stockage 34, le serveur de sauvegarde 24 et sa baie de stockage sur bandes 38, les première, deuxième et troisième unités de calcul 40, 42 et 44, la baie de stockage spécifique 48 de la première unité de calcul 40, la multiprise série 46 et la plateforme d'administration 52.
De façon optionnelle, selon le matériel utilisé pour les nœuds de type serveur du calculateur, le deuxième réseau d'administration 60 peut être doublé d'un réseau de contrôle primaire 62 connecté au serveur d'administration 18 via un port de contrôle primaire de ce serveur différent du port d'administration. Ce réseau de contrôle primaire 62 est dédié à la mise sous tension, au démarrage, à l'arrêt et au traitement de certaines erreurs primaires prédéterminées, dites erreurs fatales et générant des fichiers Core, des serveurs qu'il administre. Dans l'exemple de la figure 1 , le réseau de contrôle primaire 62 relie le serveur d'administration 18 à l'interface de traitement 16 et à son répliquât, au serveur MDS 20 et à son répliquât, au serveur OSS 22 et à son répliquât, au serveur de sauvegarde 24, et aux deuxième et troisième unités de calcul 42 et 44. Un troisième réseau 64, dit réseau d'interconnexion des nœuds de calcul, relie entre eux, d'une part, les serveurs des première, deuxième et troisième unités de calcul 40, 42 et 44, et, d'autre part, l'interface de traitement 16, le serveur MDS 20, le serveur OSS 22 et le serveur de sauvegarde 24. La commutation des données transitant entre les différents éléments interconnectés par ce réseau d'interconnexion 64 est assurée par un organe de commutation 66 de ce réseau qui est lui-même relié au réseau d'administration 60. Ce troisième réseau d'interconnexion 64 a des caractéristiques de débit très élevé par rapport aux caractéristiques de débit du réseau d'administration 60. C'est en effet par ce réseau d'interconnexion 64 que transitent les données de calcul nécessaires à l'exécution des instructions de traitement transmises par le terminal de commande 10, via l'interface de traitement 16.
De façon optionnelle, le troisième réseau d'interconnexion 64 peut être doublé d'un réseau supplémentaire d'interconnexion 68 relié à au moins une partie des éléments déjà reliés entre eux par le troisième réseau d'interconnexion 64. Par exemple, dans la grappe de serveurs 14 de la figure 1 , le réseau supplémentaire d'interconnexion 68 relie les serveurs des première et deuxième unités de calcul 40 et 42 pour doubler leur bande passante. De même, la commutation des données transitant entre les différents éléments interconnectés par ce réseau supplémentaire d'interconnexion 68 est assurée par un organe de commutation supplémentaire 70 de ce réseau qui est lui-même relié au réseau d'administration 60.
La structure de la grappe de serveurs 14, telle que décrite précédemment en référence à la figure 1 , est appropriée pour la mise en oeuvre de l'invention, mais d'autres configurations possibles de grappes, notamment de type calculateur HPC, comprenant tout ou partie des éléments précités, voire comprenant d'autres éléments en cas de plus grande complexité, conviennent aussi. Dans une configuration simple, une grappe de serveurs comporte des noeuds de services comprenant au moins un serveur d'administration, des noeuds de calcul, un réseau d'administration reliant le noeud d'administration aux autres noeuds de la grappe et un réseau d'interconnexion des noeuds de calcul dont le débit plus élevé que celui du réseau d'administration permet d'atteindre des performances élevées de calcul.
Une telle grappe de serveurs 14, composé d'éléments très hétérogènes, requiert une base de données 72 d'initialisation et d'administration, dont les outils d'administration sont par exemple hébergés par le serveur d'administration 18 et dont les données de description sont stockées dans la baie de stockage 28 associée au serveur d'administration 18. Les données, statiques ou dynamiques, de la base de données 72 sont régulièrement sauvegardées dans la baie de stockage sur bandes 38. Cette base de données 72 est représentée schématiquement sur la figure 2.
Elle comporte un cœur de base de données DB, incluant notamment ses outils d'administration, et des données de descriptions structurées (D(58), D(60,62), D(64,68), nœuds, IHM, Déploiement, @IP, Localisation géographique, SGF, stockage) visant à renseigner les informations nécessaires à l'initialisation et à l'administration de la grappe de serveurs 14.
Ces informations comportent tout d'abord des données D(58), D(60,62), D(64,68) concernant les différents réseaux de la grappe de serveurs 14 : le premier réseau série 58, le deuxième réseau d'administration 60, 62 et le troisième réseau d'interconnexion 64, 68. Ces données concernent par exemple le type de réseau, ses capacités de transmission, un identifiant du fournisseur, etc.
Les informations comportent en outre des données « nœuds » sur les noeuds de type serveur de la grappe de serveurs 14 tels que ceux reliés au réseau de contrôle primaire 62 : la nature de chaque noeud (serveur de calcul, d'administration, etc.), ses caractéristiques techniques (modèle, état du matériel, capacité de calcul, mémoire RAM et état des outils logiciels installés), un identifiant du fournisseur, etc.
Les informations comportent également des données « stockage » de description sur l'infrastructure du stockage, sur la découpe logique de volume, sur les modèles de déploiement, etc.
Elles comportent aussi des données « IHM » concernant l'interface homme machine utilisée par la grappe de serveurs 14, des données « SGF » concernant le système de gestion de fichiers utilisé (par exemple le système Lustre), des données « Déploiement » concernant l'organisation du déploiement dans la grappe de serveurs 14, des données « @IP » concernant la distribution des adresses IP au sein de la grappe, ainsi que des données « Localisation géographique » concernant la localisation géographique des différents éléments.
Pour générer la base de données 72, c'est-à-dire pour renseigner les valeurs de ses données de description, on utilise avantageusement un procédé tel que celui dont les étapes sont illustrées sur la figure 3.
Lors d'une étape préalable 100, on définit une politique d'adressage des nœuds de la grappe de serveurs 14.
En prenant l'exemple de la version 4 du protocole IP, une adresse IP d'un nœud de la grappe est définie par quatre octets dont les valeurs sont séparées par des points, en les ordonnant de l'octet ayant le poids le plus fort à celui de poids le plus faible. En supposant que cette adresse est de classe C, les trois premiers octets définissent la grappe de serveur en tant que réseau local et le dernier octet permet de distribuer théoriquement 255 adresses IP aux nœuds de la grappe de serveurs. Si la grappe de serveurs comporte trop de nœuds par rapport aux adresses a priori disponibles en classe C, alors son adresse IP peut être choisie en classe B.
Une politique d'adressage consiste à prédéfinir des règles logicielles d'attribution des adresses disponibles. Elle comporte par exemple les règles suivantes :
- choix de la classe d'adressage en fonction du nombre d'adresses à distribuer dans la grappe de serveurs,
- réservation a priori de certaines adresses pour les commutateurs du réseau d'administration,
- réservation a priori de certaines adresses pour les commutateurs du réseau d'interconnexion des nœuds de calcul, - réservation a priori de certaines adresses en tant qu'adresses virtuelles de nœuds ainsi identifiés par un alias lorsqu'ils sont dupliqués (c'est notamment le cas de l'interface de traitement 16, du serveur d'administration 18 et des nœuds de gestion de trafic 20 et 22), - réservation a priori d'une zone d'adresses, pour les nœuds de calcul interconnectés en série tels que les nœuds de la première unité de calcul 40, zone dans laquelle la première adresse est réservée pour l'interface série concernée, telle que la multiprise 46, et les suivantes pour chacun des nœuds de calcul interconnectés en série, - attribution automatique d'une adresse, ou d'un intervalle d'adresses, à un nœud de la grappe en fonction de son identifiant dans la grappe à l'aide d'une formule prédéfinie,
- attribution d'une adresse IP à chacun des trois réseaux de la grappe de serveurs 14, - etc.
Une formule pour l'attribution automatique d'adresses Ai aux nœuds Ni de la grappe en fonction de leur identifiant id(Ni) est par exemple :
Ai = aaa.bbb.ccc.[1 +id(Ni)], où aaa.bbb.ccc.O est l'adresse IP générale de la grappe de serveurs 14 en classe C. Lors d'une étape 102 de début de génération de la base de données 72, des données statiques, définissant une répartition logique et géographique des nœuds de la grappe dans ses différents réseaux, et définissant matériellement les nœuds de la grappe, sont rassemblées et vérifiées par un opérateur.
De façon classique ces données sont disponibles sous la forme de fichiers numériques, par exemple des tableaux de données générés à l'aide d'un tableur. En effet, ces documents sont généralement issus d'une phase d'étude technique faisant suite à un appel d'offre et visant à définir l'architecture précise de la grappe de serveurs 14.
Un premier tableau 74, que l'on appellera tableau de représentation logique de la grappe de serveurs 14, comporte une liste des matériels et des interconnexions de port à port constituant la grappe accompagnés de toutes les informations permettant de les identifier de façon unique en tant que matériel et en tant qu'éléments de la grappe (notamment ce document attribue des identifiants pour chaque noeud de la grappe). Un second tableau 76, que l'on appellera tableau de représentation physique de la grappe de serveurs 14, donne une information complémentaire sur les éléments de la grappe de serveurs, en précisant leur localisation dans un centre de calcul destiné à recevoir la grappe de serveurs, par exemple à l'aide d'un système de coordonnées, en précisant notamment pour chaque câble la longueur nécessaire, en indiquant en outre certaines contraintes de poids ou de localisation, etc.
La vérification par l'opérateur consiste à s'assurer que les champs des tableaux 74 et 76 nécessaires à la génération de la base de données 72 sont bien remplis. Lors de cette même étape 102, un nouveau fichier de type tableau 78, que l'on appellera tableau de synthèse, est créé. Dans ce tableau de synthèse 78, un premier onglet est créé reprenant au moins les informations nécessaires à la génération de la base 72 à partir de données extraites du tableau de représentation logique 74. Un deuxième onglet est créé reprenant au moins les informations nécessaires à la génération de la base 72 à partir de données extraites du tableau de représentation physique 76. Eventuellement, un onglet supplémentaire récapitulatif reprend la liste du matériel composant la grappe de serveur 14. Cette liste peut être également extraite du tableau de représentation logique 74.
Ensuite, lors d'une étape 104 de génération de profils de nœuds, sur la base de profils complets de nœuds prédéterminés, chaque nœud de la grappe de serveurs 14 répertorié dans le tableau de synthèse 78 est associé, dans la mesure du possible, à l'un des profils prédéterminés en fonction des informations déjà connues sur ce nœud. Ce profil auquel le nœud est associé est intégré au tableau de synthèse 78. Lors d'une étape 106 suivante, des informations de configuration générale de la grappe de serveurs 14 sont ajoutées aux données déjà enregistrées dans le tableau de synthèse 78. Ces informations concernent notamment :
- un certain nombre de systèmes logiciels utilisés par la grappe de serveurs 14 pour son fonctionnement général, parmi lesquels le système de gestion de fichiers, le système de gestion de ressources (de l'anglais « ressource manager »), le système de gestion des files d'attente (de l'anglais « batch manager »), le système de gestion de la sécurité de transmission de données, et
- un certain nombre de paramètres indiquant par exemple l'existence d'un réseau virtuel, la duplication de certains nœuds, etc. On notera que ces informations peuvent provenir d'un tableau de synthèse préexistant similaire au tableau 78, créé lors d'une génération de base de données précédente par exemple.
Ensuite, lors d'une étape 108 d'affectation des adresses IP, à l'aide de la politique d'adressage prédéterminée (étape 100) et des données déjà inscrites dans le tableau de synthèse 78 sur les différents éléments de la grappe de serveurs, des adresses IP sont automatiquement générées et affectées aux éléments concernés.
Notamment, conformément à la politique d'adressage décrite précédemment :
- un choix de classe d'adressage est fait en fonction du nombre d'octets nécessaire pour que tous les éléments de la grappe concernés aient une adresse,
- des adresses IP virtuelles sont éventuellement définies,
- des adresses IP de réseaux virtuels sont définies selon les informations de configuration générale, et - les adresses IP disponibles sont distribuées entre les nœuds de la grappe de serveurs 14 en fonction de la formule prédéfinie.
Au cours d'une étape 1 10, si lors de l'étape 104 tous les nœuds de la grappe de serveurs 14 n'ont pas pu être associés à des profils prédéterminés, ou si de nouveaux serveurs ou baies de stockage aux profils non référencés doivent être introduits, les paramètres manquants sont complétés par exemple par un opérateur dans le tableau de synthèse 78.
Lorsque le tableau de synthèse 78 est complet, il est sauvegardé pour une éventuelle utilisation ultérieure (voir l'étape 106) et ses données sont traduites automatiquement en requêtes de manipulation de la base de données 72 de la grappe de serveurs 14 qui sont sauvegardées dans un fichier de requêtes 80, lors d'une étape 1 12.
Cette traduction de données d'un fichier de type tableau en requêtes est classique et ne sera pas détaillée.
Lors d'une étape 1 14, un opérateur vérifie le résultat de la traduction de données en requêtes. A ce stade, une interaction est possible pour modifier le fichier de requêtes 80.
Enfin, au cours d'une dernière étape 1 16, ce fichier de requêtes 80 est exécuté par le serveur d'administration 18 sur site, lorsque la grappe de serveurs 14 est installée et en état de fonctionnement, de manière à compléter la base de données 72 de la grappe qui peut alors servir pour initialiser et/ou administrer la grappe de serveurs 14.
Il apparaît clairement qu'un procédé de génération de base de données tel que décrit précédemment, pour l'initialisation et l'administration d'une grappe de serveurs, notamment de type calculateur HPC, améliore sensiblement la fiabilité des données enregistrées et la vitesse d'installation ou d'initialisation d'une telle grappe.
Par ailleurs, il apparaîtra à l'homme de l'art que diverses modifications peuvent être apportées au mode de réalisation décrit ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Dans les revendications qui suivent, les termes utilisés ne doivent pas être interprétés comme limitant les revendications au mode de réalisation exposé dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents que les revendications visent à couvrir du fait de leur formulation et dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement décrit précédemment.

Claims

REVENDICATIONS
1. Procédé de génération de requêtes de manipulation d'une base de données (72) d'initialisation et d'administration d'une grappe de serveurs (14) comportant plusieurs nœuds (16, 18, 20, 22, 24, 28, 30, 34, 38, 40, 42, 44, 46, 48, 52) interconnectés entre eux par au moins un réseau de transmission de données (58, 60, 62, 64, 68), caractérisé en ce qu'il comporte les étapes suivantes :
- à partir d'une répartition logique (74) des nœuds de la grappe dans le réseau de transmission de données, d'une répartition géographique (76) et d'une définition matérielle (74, 76) des nœuds de la grappe, génération (102, 104, 106) d'au moins un ensemble de profils des nœuds et du réseau de transmission de données,
- définition (100) d'une politique d'adressage des nœuds de la grappe,
- à partir de l'ensemble de profils et en fonction de la politique d'adressage, affectation (108) d'au moins une adresse à chaque nœud de la grappe de serveurs et génération (1 10) d'un ensemble de paramètres de la grappe, et
- à partir de l'ensemble de paramètres de la grappe et des adresses de ses noeuds, génération (1 12, 1 14) d'au moins un fichier (80) de requêtes de manipulation de la base de données (72) d'initialisation et d'administration de la grappe de serveurs (14).
2. Procédé de génération de requêtes de manipulation d'une base de données (72) d'initialisation et d'administration d'une grappe de serveurs (14) selon la revendication 1 , dans lequel l'étape (102, 104, 106) de génération d'au moins un ensemble de profils des nœuds et du réseau de transmission de données comporte la génération d'un fichier numérique de synthèse (78) à partir d'un premier fichier numérique (74) prédéterminé de représentation logique de la grappe de serveurs et d'un deuxième fichier numérique (76) prédéterminé de représentation physique de la grappe de serveurs.
3. Procédé de génération de requêtes de manipulation d'une base de données (72) d'initialisation et d'administration d'une grappe de serveurs (14) selon la revendication 1 ou 2, dans lequel l'étape (100) de définition d'une politique d'adressage comporte la définition de règles logicielles d'attribution d'adresses IP disponibles à au moins une partie des éléments constitutifs de la grappe de serveurs (14), et dans lequel l'étape (108) d'affectation d'au moins une adresse à chaque nœud de la grappe de serveurs est réalisée par l'exécution de ces règles logicielles.
4. Procédé de génération de requêtes de manipulation d'une base de données (72) d'initialisation et d'administration d'une grappe de serveurs (14) selon la revendication 3, dans lequel les règles logicielles comprennent au moins l'un des éléments de l'ensemble constitués de règles logicielles suivantes :
- choix d'une classe d'adressage IP en fonction du nombre d'adresses IP à distribuer dans la grappe de serveurs (14),
- réservation a priori de certaines adresses pour des commutateurs du réseau de transmission de données (58, 60, 62, 64, 68),
- réservation a priori de certaines adresses en tant qu'adresses virtuelles de nœuds,
- réservation a priori d'une zone d'adresses, pour des nœuds (40) interconnectés en série, dans laquelle une première adresse est réservée pour une interface série (46) entre les nœuds (40) interconnectés en série et le reste de la grappe de serveurs, et les suivantes pour chacun des nœuds interconnectés en série,
- attribution automatique d'une adresse, ou d'un intervalle d'adresses, à un nœud de la grappe en fonction de son identifiant dans la grappe à l'aide d'une formule prédéfinie,
- attribution d'une adresse IP à chaque réseau de transmission de données de la grappe de serveurs.
5. Procédé de génération de requêtes de manipulation d'une base de données (72) d'initialisation et d'administration d'une grappe de serveurs (14) selon l'une quelconque des revendications 1 à 4, comportant une étape (1 16) lors de laquelle le fichier de requêtes (80) est exécuté de manière à compléter la base de données (72) de la grappe de serveurs (14).
6. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre d'un procédé de génération de requêtes de manipulation d'une base de données (72) d'initialisation et d'administration d'une grappe de serveurs (14) selon l'une quelconque des revendications 1 à 5.
7. Grappe de serveurs (14) comportant plusieurs nœuds (16, 18, 20, 22, 24, 28, 30, 34, 38, 40, 42, 44, 46, 48, 52) interconnectés entre eux par au moins un réseau de transmission de données (58, 60, 62, 64, 68), dont au moins un serveur (18) d'administration des nœuds de la grappe associé à une baie (28) de stockage de données d'administration, caractérisé en ce qu'elle comprend en outre une base de données (72) d'initialisation et d'administration complétée par des requêtes générées par un procédé selon l'une quelconque des revendications 1 à 5, les données d'initialisation et d'administration étant stockées dans la baie (28) de stockage de données d'administration et le serveur d'administration (18) comportant des moyens de gestion de cette base de données.
8. Grappe de serveurs (14) selon la revendication 7, dans laquelle au moins une partie des nœuds comporte des nœuds de calcul (40, 42, 44) et dans laquelle le réseau de transmission de données comporte au moins un réseau (64, 68) d'interconnexion des nœuds de calcul.
9. Grappe de serveurs (14) selon la revendication 8, comportant en outre au moins un noeud de gestion de trafic (20, 22) et au moins un noeud de sauvegarde de données (24), et dans laquelle le réseau de transmission de données comporte en outre au moins un réseau d'administration (60, 62) différent du réseau d'interconnexion des nœuds de calcul pour la connexion du serveur d'administration (18) aux nœuds de calcul (40, 42, 44), de gestion de trafic (20, 22) et de sauvegarde de données (24).
EP09766060A 2008-05-27 2009-05-27 Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants Ceased EP2286354A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0802861A FR2931970B1 (fr) 2008-05-27 2008-05-27 Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs , support de donnees et grappe de serveurs correspondants
PCT/FR2009/050982 WO2009153498A1 (fr) 2008-05-27 2009-05-27 Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants

Publications (1)

Publication Number Publication Date
EP2286354A1 true EP2286354A1 (fr) 2011-02-23

Family

ID=40039736

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09766060A Ceased EP2286354A1 (fr) 2008-05-27 2009-05-27 Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants

Country Status (5)

Country Link
US (1) US20100115070A1 (fr)
EP (1) EP2286354A1 (fr)
JP (1) JP5459800B2 (fr)
FR (1) FR2931970B1 (fr)
WO (1) WO2009153498A1 (fr)

Families Citing this family (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
CN102104617A (zh) * 2010-11-30 2011-06-22 厦门雅迅网络股份有限公司 一种网站运营系统存储海量图片数据的方法
FR2977421B1 (fr) 2011-06-29 2013-08-02 Bull Sas Procede d'affectation d'adresses logiques aux ports de connexion d'equipements d'une grappe de serveurs, programme d'ordinateur et grappe de serveurs correspondants
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) * 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US10001981B2 (en) 2016-05-26 2018-06-19 At&T Intellectual Property I, L.P. Autonomous server installation
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10613974B2 (en) 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory
US12039165B2 (en) 2016-10-04 2024-07-16 Pure Storage, Inc. Utilizing allocation shares to improve parallelism in a zoned drive storage system
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US12067274B2 (en) 2018-09-06 2024-08-20 Pure Storage, Inc. Writing segments and erase blocks based on ordering
US12032848B2 (en) 2021-06-21 2024-07-09 Pure Storage, Inc. Intelligent block allocation in a heterogeneous storage system
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10733006B2 (en) 2017-12-19 2020-08-04 Nutanix, Inc. Virtual computing systems including IP address assignment using expression evaluation
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US12079494B2 (en) 2018-04-27 2024-09-03 Pure Storage, Inc. Optimizing storage system upgrades to preserve resources
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
FR3104757B1 (fr) * 2019-12-16 2021-12-03 Bull Sas Procédé de fourniture d’une base de données d’administration d’une grappe de serveurs, procédé d’initialisation d’une grappe de serveurs, programme d’ordinateur correspondant et installation informatique
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US12056365B2 (en) 2020-04-24 2024-08-06 Pure Storage, Inc. Resiliency for a storage system
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US12093545B2 (en) 2020-12-31 2024-09-17 Pure Storage, Inc. Storage system with selectable write modes
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US12067282B2 (en) 2020-12-31 2024-08-20 Pure Storage, Inc. Write path selection
US12061814B2 (en) 2021-01-25 2024-08-13 Pure Storage, Inc. Using data similarity to select segments for garbage collection
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US12099742B2 (en) 2021-03-15 2024-09-24 Pure Storage, Inc. Utilizing programming page size granularity to optimize data segment storage in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038677A (en) * 1997-03-31 2000-03-14 International Business Machines Corporation Automatic resource group formation and maintenance in a high availability cluster configuration
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6928485B1 (en) * 1999-08-27 2005-08-09 At&T Corp. Method for network-aware clustering of clients in a network
WO2001035278A1 (fr) * 1999-11-10 2001-05-17 Fakhouri Sameh A Systeme decisionnel de gestion de ressources distribuees et de modelisation d'un probleme d'optimisation globale
US6917626B1 (en) * 1999-11-30 2005-07-12 Cisco Technology, Inc. Apparatus and method for automatic cluster network device address assignment
US6847993B1 (en) * 2000-05-31 2005-01-25 International Business Machines Corporation Method, system and program products for managing cluster configurations
JP3896310B2 (ja) * 2002-07-02 2007-03-22 株式会社イイガ 仮想ネットワーク設計装置及びサブネットワーク設計装置及び仮想ネットワーク設計方法及びプログラム及びコンピュータ読み取り可能な記録媒体
CN1266882C (zh) * 2002-12-04 2006-07-26 华为技术有限公司 一种网络设备的管理方法
CA2554579A1 (fr) * 2004-02-17 2005-09-01 Thales Avionics, Inc. Systeme et procede utilisant le sequencage ip pour identifier les composants d'un systeme d'information d'un vol passagers (pfis)
US20050256942A1 (en) * 2004-03-24 2005-11-17 Mccardle William M Cluster management system and method
WO2007055014A1 (fr) * 2005-11-11 2007-05-18 Fujitsu Limited Programme de surveillance réseau exécuté par un ordinateur d’un système en cluster, méthode de traitement des informations et ordinateur

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2009153498A1 *

Also Published As

Publication number Publication date
WO2009153498A1 (fr) 2009-12-23
JP2011525007A (ja) 2011-09-08
JP5459800B2 (ja) 2014-04-02
US20100115070A1 (en) 2010-05-06
FR2931970B1 (fr) 2010-06-11
FR2931970A1 (fr) 2009-12-04

Similar Documents

Publication Publication Date Title
EP2286354A1 (fr) Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants
EP2727319B1 (fr) Procédé d'affectation d'adresses logiques aux ports de connexion d'équipements d'une grappe de serveurs, programme d'ordinateur et grappe de serveurs correspondants
JP4195209B2 (ja) ストレージ・エリア・ネットワークの構成を自動化する方法およびシステム
US20150381725A1 (en) Service plan tiering, protection, and rehydration strategies
US20190245912A1 (en) Optimizing internet data transfers using an intelligent router agent
US11308223B2 (en) Blockchain-based file handling
US20130073717A1 (en) Optimizing clustered network attached storage (nas) usage
JP2003515813A5 (fr)
EP2353256A1 (fr) Determination et gestion de reseaux virtuels
US11076020B2 (en) Dynamically transitioning the file system role of compute nodes for provisioning a storlet
US11159607B2 (en) Management for a load balancer cluster
EP2751959B1 (fr) Procédé d'échange de données entre noeuds d'une grappe de serveurs et grappe de serveurs mettant en oeuvre ce procédé
US20210271998A1 (en) System, method, and recording medium for distributed probabilistic eidetic querying, rollback, and replay
US10536328B2 (en) Methods and systems that implement an application-level tunnel through which long syslog messages are transmitted
US20030035380A1 (en) Node management system
EP2856323B1 (fr) Procédé, dispositif et programme d'ordinateur de contrôle dynamique de distances d'accès mémoire dans un système de type numa
US6715070B1 (en) System and method for selectively enabling and disabling plug-ins features in a logical volume management enviornment
WO2006016085A1 (fr) Procede de sauvegarde distribuee sur des postes clients dans un reseau informatique
US20180225333A1 (en) Data write/import performance in a database through distributed memory
US20170373946A1 (en) Topology graph of a network infrastructure and selected services status on selected hubs and nodes
CN117751347A (zh) 用于分布式界面组件生成的技术
CN114661458A (zh) 通过循环部署和评估迁移进行预置到云工作负载迁移的方法和系统
WO2019122626A1 (fr) Systeme et procede d'elaboration et d'execution de tests fonctionnels pour grappe de serveurs
CN113094354A (zh) 一种数据库架构方法、装置、数据库一体机和存储介质
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20101206

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20170829

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20181201