ES2395966A1 - System and method for the remote management of a supercomputing platform using a web interface - Google Patents

System and method for the remote management of a supercomputing platform using a web interface Download PDF

Info

Publication number
ES2395966A1
ES2395966A1 ES201230897A ES201230897A ES2395966A1 ES 2395966 A1 ES2395966 A1 ES 2395966A1 ES 201230897 A ES201230897 A ES 201230897A ES 201230897 A ES201230897 A ES 201230897A ES 2395966 A1 ES2395966 A1 ES 2395966A1
Authority
ES
Spain
Prior art keywords
user
execution
cluster
code
parameters
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.)
Granted
Application number
ES201230897A
Other languages
Spanish (es)
Other versions
ES2395966B1 (en
Inventor
José Manuel GONZALEZ VIDA
Tomás MORALES DE LUNA
Manuel Jesús CASTRO DIAZ
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.)
Universidad de Malaga
Universidad de Cordoba
Original Assignee
Universidad de Malaga
Universidad de Cordoba
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 Universidad de Malaga, Universidad de Cordoba filed Critical Universidad de Malaga
Priority to ES201230897A priority Critical patent/ES2395966B1/en
Publication of ES2395966A1 publication Critical patent/ES2395966A1/en
Priority to PCT/ES2013/000138 priority patent/WO2013182718A1/en
Application granted granted Critical
Publication of ES2395966B1 publication Critical patent/ES2395966B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Abstract

The invention relates to a system and method for the remote management of a supercomputing platform using a web interface, by means of a user interface (100) via a web browser (502) of a client station (504). The method comprises: dynamically generating a computation initialisation form (112) for the introduction of parameters, initial conditions and contour conditions of the problem, including obtaining the concrete model (200) of the problem to be solved, loading an XML metadata structure (202) associated with said model, using an advanced XSL style template (204) to transform (206) the XML structure, and obtaining the parameters, initial conditions and contour conditions of the problem for the subsequent execution in the cluster (508) selecting execution parameters (120) for executing the processes to be executed in the cluster (508) including data and compiling (122) the resulting code according to the execution parameters selected by the user and executing (126) the resulting code in computing nodes of the cluster (514).

Description

Sistema y método de gestión remota de una plataforma de supercomputación mediante interfaz web. System and method of remote management of a supercomputing platform via web interface.

Campo de la invención La presente invención se engloba dentro del campo de las plataformas de supercomputación empleadas especialmente para la simulación numérica de problemas descritos mediante modelos matemáticos relacionados con la física, estadística, ingeniería, biología, economía, etc. que requieren una gran capacidad de cómputo y que se emplean en entornos multidisciplinares como por ejemplo la simulación de flujos geofísicos. En este ámbito se ha aplicado para la modelización de inundaciones en medio rural, simulaciones de flujos marinos de una o dos capas superpuestas de fluidos, simulación de avalanchas subaéreas y submarinas, simulación de tsunamis, simulación del transporte de sedimentos y corrientes túrbidas, etc. Field of the invention The present invention falls within the field of supercomputing platforms used especially for the numerical simulation of problems described by mathematical models related to physics, statistics, engineering, biology, economics, etc. that require a large computing capacity and are used in multidisciplinary environments such as simulation of geophysical flows. In this area it has been applied for the modeling of floods in rural areas, simulations of marine flows of one or two superimposed layers of fluids, simulation of subarea and submarine avalanches, simulation of tsunamis, simulation of sediment transport and turbid currents, etc.

Antecedentes de la invención La resolución de problemas de simulación numérica se realiza habitualmente usando un ordenador (o un clúster de ordenadores -un clúster es un grupo de múltiples ordenadores unidos mediante una red de alta velocidad-) en los que se utiliza un determinado software preinstalado y adaptado al ordenador (o clúster de ordenadores) en sí. Así, por ejemplo, para la simulación de flujos geofísicos existen actualmente paquetes de software específicos. Este software suele estar limitado a un determinado sistema operativo y a ciertas especificaciones de hardware. Entre los programas que resuelven problemas de flujos geofísicos se pueden citar Mike 21 (DHI software), Fluent (Ansys), Comsol Multiphysics (Comsol) y Telemac 2D (EDF). Éstos necesitan de la instalación de programas específicos o de la exportación de terminales gráficas para la interacción entre el usuario y el software. BACKGROUND OF THE INVENTION Solving numerical simulation problems is usually performed using a computer (or a cluster of computers - a cluster is a group of multiple computers linked by a high-speed network -) in which certain pre-installed software is used. and adapted to the computer (or computer cluster) itself. Thus, for example, for the simulation of geophysical flows there are currently specific software packages. This software is usually limited to a certain operating system and certain hardware specifications. Among the programs that solve geophysical flow problems are Mike 21 (DHI software), Fluent (Ansys), Comsol Multiphysics (Comsol) and Telemac 2D (EDF). These require the installation of specific programs or the export of graphic terminals for the interaction between the user and the software.

Cuando se trata de resolver problemas reales de gran tamaño, la potencia de un ordenador personal suele ser insuficiente, haciéndose necesario el uso de un clúster de supercomputación. No todo el software existente está adaptado a este tipo de arquitecturas de supercomputación y los que lo están requieren de unas especificaciones de hardware precisas, de unos procesos de instalación específicos y pueden requerir de personal cualificado simplemente para su instalación. When it comes to solving real large problems, the power of a personal computer is usually insufficient, making it necessary to use a supercomputing cluster. Not all existing software is adapted to this type of supercomputing architectures and those that require it require precise hardware specifications, specific installation processes and may require qualified personnel simply for installation.

Además, la mayor parte de este tipo de aplicaciones permiten a lo sumo ejecutar códigos ya existentes y pre-compilados, pero no suelen permitir la inclusión de código fuente por parte del usuario ni posibilidad de compilación para su ejecución en un clúster de supercomputación. En los que permiten la inclusión de código fuente por el usuario, están orientados para la resolución de problemas específicos y la interacción con la aplicación suele hacerse mediante terminales de tipo consola, exportando terminales gráficas o mediante la instalación de software específico en el equipo de usuario final. In addition, most of this type of applications allow at most to execute existing and pre-compiled codes, but usually do not allow the inclusion of source code by the user or the possibility of compilation for execution in a supercomputing cluster. In those that allow the inclusion of source code by the user, they are oriented to the resolution of specific problems and the interaction with the application is usually done through console-type terminals, exporting graphic terminals or by installing specific software on the user equipment final.

Uno de los programas más completos en el ámbito de la simulación de flujos geofísicos es Fluent, que permite la definición de funciones específicas por parte del usuario (UDF) que son compiladas antes del proceso de ejecución. Sin embargo, este software requiere de la instalación no sólo en el clúster de supercomputación, sino también de programas específicos en el ordenador del usuario tanto para la interacción con el núcleo de cómputo de Fluent como para el manejo de las herramientas de pre y postproceso. One of the most complete programs in the field of simulation of geophysical flows is Fluent, which allows the definition of specific functions by the user (UDF) that are compiled before the execution process. However, this software requires installation not only in the supercomputing cluster, but also in specific programs on the user's computer both for the interaction with the Fluent computer core and for the handling of pre and postprocessing tools.

El clúster suele estar en una situación que no es accesible al usuario (salas especiales para laboratorios donde se encuentra físicamente el equipo informático y de acceso restringido). Interactuar con este tipo de software suele requerir herramientas de acceso remoto y de exportación de terminales gráficos, que hacen necesaria la intervención de personal cualificado que posibilite al usuario final el uso de dicho paquete informático. Se conocen aplicaciones que permiten la gestión remota de un clúster mediante una interfaz gráfica. Estas aplicaciones requieren su instalación en un equipo cliente. También son conocidas aplicaciones que permiten la monitorización de un clúster mediante un simple navegador web. Mediante estas aplicaciones el usuario puede comprobar la carga del clúster e incluso visualizar ciertos resultados. The cluster is usually in a situation that is not accessible to the user (special rooms for laboratories where the computer equipment and restricted access is physically located). Interacting with this type of software usually requires tools for remote access and export of graphic terminals, which require the intervention of qualified personnel that enable the end user to use said software package. Applications that allow remote management of a cluster through a graphical interface are known. These applications require installation on a client computer. Also known are applications that allow monitoring of a cluster using a simple web browser. Through these applications the user can check the load of the cluster and even display certain results.

Entre la literatura científica, el documento “A web-based platform for computer simulation of seismic ground response” (Zhaohui et al, Journal Advances in Engineering Software. Volumen 35, Issue 5, Mayo 2004 Elsevier Science Ltd. Oxford, UK) presenta una plataforma web para la simulación de efectos sísmicos. El interfaz de entrada se implementa mediante navegador web. Los datos de entrada pueden ser introducidos en un formulario estático, el cual está preparado exclusivamente para el problema a ser resuelto, y mediante la introducción de un fichero. Durante la ejecución de la simulación se informa al usuario del estado de la misma por ejemplo mediante una página web. Como interfaz de salida describe una página web dinámica donde se permite visualizar los resultados y manipularlos. Sin embargo, la plataforma web que divulga está diseñada exclusivamente para la resolución de un problema concreto, no es aplicable a distintos tipos de problemas, de forma que para cualquier otra realización se tendría que rediseñar todo de nuevo desde el inicio. Otro documento científico relacionado es el titulado “Simulation anywhere any time: web-based simulation implementation for evaluating order-to delivery system and progress” (Kumara et al; Proceedings of the Winter Simulation Conference, 2002 volumen 2. 11/12/2002. ISBN: 0-7803-7614-5). Este documento describe un marco de simulación cliente/servidor de tres niveles basado en internet. Los elementos principales son un servidor de base de datos, un servidor de ejecución y una interfaz de usuario basada en la web. La interfaz de usuario gráfica basada en la web ayuda a los usuarios a realizar fácilmente el estudio de simulación desde cualquier lugar y en cualquier momento, y también facilita la visualización de los resultados. Among the scientific literature, the document “A web-based platform for computer simulation of seismic ground response” (Zhaohui et al, Journal Advances in Engineering Software. Volume 35, Issue 5, May 2004 Elsevier Science Ltd. Oxford, UK) presents a web platform for simulation of seismic effects. The input interface is implemented through a web browser. The input data can be entered in a static form, which is prepared exclusively for the problem to be solved, and by entering a file. During the execution of the simulation, the user is informed of the status of the simulation, for example through a web page. As output interface describes a dynamic web page where you can view the results and manipulate them. However, the web platform that it discloses is designed exclusively for the resolution of a specific problem, it is not applicable to different types of problems, so that for any other embodiment everything would have to be redesigned from the beginning. Another related scientific document is entitled “Simulation anywhere any time: web-based simulation implementation for evaluating order-to delivery system and progress” (Kumara et al; Proceedings of the Winter Simulation Conference, 2002 volume 2. 11/12/2002. ISBN: 0-7803-7614-5). This document describes a three-tier client / server simulation framework based on the internet. The main elements are a database server, a runtime server and a web-based user interface. The web-based graphical user interface helps users easily perform the simulation study from anywhere and at any time, and also makes it easier to view the results.

El documento US20080178179-A1 describe un sistema y un método para un conjunto de componentes de middleware para soportar la ejecución de aplicaciones de análisis de riesgos financieros en una plataforma de supercomputación. El usuario envía los trabajos desde una aplicación o un navegador web y el cliente utiliza un fichero basado en XML para enviar los trabajos. Document US20080178179-A1 describes a system and method for a set of middleware components to support the execution of financial risk analysis applications on a supercomputing platform. The user sends the jobs from an application or a web browser and the client uses an XML-based file to send the jobs.

El documento US2008082933-A1 divulga una interfaz gráfica de usuarios que permite acceder a la cuenta de usuario y mostrar el estado de los trabajos. Un panel de entrada permite especificar el fichero de datos de entrada. La interfaz gráfica puede estar implementada mediante un servidor web interactivo accesible mediante tecnología de navegador web estándar. Una vez que el usuario accede a su cuenta puede seleccionar el centro de potencia virtual (VPC o clúster de supercomputadoras). La interfaz gráfica muestra la lista de las aplicaciones disponibles en el VPC, su estado actual y estadísticas de uso. La interfaz gráfica de usuario permite al usuario elegir el número de procesadores para la ejecución del trabajo. Document US2008082933-A1 discloses a graphical user interface that allows access to the user account and show the status of the work. An input panel allows you to specify the input data file. The graphical interface can be implemented through an interactive web server accessible through standard web browser technology. Once the user accesses their account, they can select the virtual power center (VPC or supercomputer cluster). The graphical interface shows the list of applications available in the VPC, their current status and usage statistics. The graphical user interface allows the user to choose the number of processors for the job execution.

También existen diferentes documentos en los que el usuario accede al clúster de supercomputación para la gestión, envío de trabajos u obtención de resultados mediante navegadores webs estándar, como por ejemplo los documentos WO2005106664, US2003028645 y el artículo “Web Access to Supercomputing” (Alosio et al.; Computing in Science & Engineering. Diciembre 2001. Volumen 3, Issue 6. Páginas 66-72. ISSN 1521-9615). There are also different documents in which the user accesses the supercomputing cluster for the management, submission of works or obtaining results through standard web browsers, such as documents WO2005106664, US2003028645 and the article "Web Access to Supercomputing" (Alosio et al .; Computing in Science & Engineering December 2001. Volume 3, Issue 6. Pages 66-72. ISSN 1521-9615).

Aunque algunas de las invenciones anteriores emplean una interfaz web como elemento de interacción entre usuario y clúster de supercomputación, sin embargo, ninguna permite la generación dinámica de formularios de preproceso para cada modelo matemático con la posibilidad de inclusión de código fuente por parte del usuario. Los códigos que describen los documentos antes mencionados están ya compilados y se ejecutan en función de los parámetros introducidos en los formularios de entrada, por lo que no se permite que el usuario pueda introducir su propio código fuente para, posteriormente, ser compilado junto con los códigos ya existentes. Asímismo, en las invenciones mencionadas anteriormente los cálculos se han de ejecutuar en CPUs convencionales y no están preparados para ser ejecutados en GPUs (procesadores de tarjetas gráficas). Although some of the previous inventions employ a web interface as an element of interaction between user and supercomputing cluster, however, none allows the dynamic generation of preprocess forms for each mathematical model with the possibility of including source code by the user. The codes that describe the aforementioned documents are already compiled and are executed based on the parameters entered in the entry forms, so the user is not allowed to enter their own source code to later be compiled together with the existing codes. Likewise, in the above-mentioned inventions the calculations must be executed in conventional CPUs and are not prepared to be executed in GPUs (graphics card processors).

Descripción de la invención La presente invención soluciona los problemas anteriormente mencionados, mediante la creación de una plataforma clúster e interfaz web que proporciona al usuario capacidad de la resolución numérica de problemas descritos mediante modelos matemáticos. La interfaz web libera al usuario de la dependencia de instalar software en el ordenador cliente a costa de una integración mucho mayor entre dicha interfaz y el hardware del clúster que, junto con una avanzada programación web, posibilita la interacción dinámica usuario-código en un ambiente amigable similar al de otros programas comerciales pero bajo una interfaz puramente web. Description of the invention The present invention solves the aforementioned problems, by creating a cluster platform and web interface that provides the user with the ability to numerically solve problems described by mathematical models. The web interface frees the user from the dependence of installing software on the client computer at the cost of a much greater integration between said interface and the cluster hardware that, together with advanced web programming, enables dynamic user-code interaction in an environment friendly similar to other commercial programs but under a purely web interface.

La plataforma de supercomputación de la presente invención está compuesta por un clúster de ordenadores interconectados entre sí y una nueva interfaz de usuario realizada íntegramente con tecnología web. Este tipo de plataforma está destinada a empresas e investigadores de carácter multidisciplinar interesados en la resolución numérica de problemas descritos mediante modelos matemáticos. The supercomputing platform of the present invention is composed of a cluster of computers interconnected with each other and a new user interface made entirely with web technology. This type of platform is intended for multidisciplinary companies and researchers interested in the numerical resolution of problems described through mathematical models.

Un primer aspecto de la invención se refiere a un método de gestión remota de una plataforma de supercomputación mediante interfaz web, siendo dicha gestión remota del clúster de computadoras realizada a través de una interfaz de usuario implementada mediante navegador web de una estación cliente. El método comprende: A first aspect of the invention relates to a method of remote management of a supercomputing platform by means of a web interface, said remote management of the computer cluster being carried out through a user interface implemented by means of a web browser of a client station. The method comprises:

--
una etapa de generación dinámica de un formulario de inicialización de cómputos para la introducción por parte del usuario de los parámetros, condiciones iniciales y de contorno del problema a resolver, donde dicha etapa de generación comprende:  a dynamic generation stage of a computation initialization form for the introduction by the user of the parameters, initial and contour conditions of the problem to be solved, where said generation stage comprises:

• obtener el modelo concreto de problema a resolver, según la selección del usuario; • obtain the specific model of the problem to be solved, according to the user's selection;

• cargar una estructura XML de metadatos de código asociada al modelo seleccionado; • load an XML structure of code metadata associated with the selected model;

• utilizar una plantilla de estilo avanzada XSL para transformar la estructura XML y mostrar al usuario el formulario de inicialización de cómputos asociado al modelo seleccionado; • use an XSL advanced style template to transform the XML structure and show the user the computation initialization form associated with the selected model;

• obtener los parámetros, condiciones iniciales y de contorno del problema del usuario para la posterior ejecución en el clúster; • obtain the parameters, initial conditions and contour of the user's problem for subsequent execution in the cluster;

--
una etapa de selección de los parámetros de ejecución de los procesos a ejecutar en el clúster de computadoras;  a step of selecting the execution parameters of the processes to be executed in the computer cluster;

--
una etapa de inclusión de datos y compilación, mediante la cual el clúster de computadoras incluye los datos del formulario de inicialización de cómputos en el código del modelo seleccionado y realiza una compilación del código resultante en función de los parámetros de ejecución seleccionados por el usuario;  a stage of data inclusion and compilation, whereby the computer cluster includes the data of the initialization form of computations in the code of the selected model and compiles the resulting code based on the execution parameters selected by the user;

--
una etapa de ejecución del código resultante en nodos de cómputo del clúster según los parámetros de ejecución seleccionados por el usuario.  an execution stage of the resulting code in compute nodes of the cluster according to the execution parameters selected by the user.

La etapa de inclusión de datos y compilación comprende preferentemente: - obtener recursos necesarios para la compilación, incluyendo: The data inclusion and compilation stage preferably comprises: obtaining resources necessary for compilation, including:

• plantilla XML asociada al modelo que indica los datos de entrada necesarios; • XML template associated with the model that indicates the necessary input data;

plantilla de código fuente modificable con los datos de condiciones iniciales y de contorno y asociada al modelo seleccionado por el usuario;  Modifiable source code template with initial condition and contour data and associated with the model selected by the user;

fichero XML con los datos introducidos por el usuario en el formulario de inicialización de cómputos;  XML file with the data entered by the user in the computation initialization form;

• biblioteca precompilada asociada al modelo seleccionado por el usuario; • precompiled library associated with the model selected by the user;

--
con los recursos obtenidos, generar un fichero de inicialización del código y generar el código fuente personalizado con los datos introducidos por el usuario en el formulario de inicialización de códigos.  With the resources obtained, generate a code initialization file and generate the custom source code with the data entered by the user in the code initialization form.

La etapa de selección de los parámetros de ejecución puede comprender la selección de nodos de cómputo del clúster para la ejecución. También puede comprender la selección de uno de los siguientes modos de ejecución: The step of selecting the execution parameters may comprise the selection of compute nodes of the cluster for execution. You can also understand the selection of one of the following execution modes:

--
secuencial o paralelo;  sequential or parallel;

--
en arquitectura CPU o GPU.  in CPU or GPU architecture.

La etapa de ejecución del código puede comprender: The code execution stage may comprise:

--
comprobar el modo de ejecución seleccionado por el usuario;  check the execution mode selected by the user;

--
seleccionar los recursos hardware del clúster necesarios para la ejecución, comprobando su disponibilidad;  select the hardware resources of the cluster necessary for execution, checking their availability;

--
una vez los recursos hardware estén disponibles, llevar a cabo la ejecución del código.  Once the hardware resources are available, carry out the code execution.

La etapa de ejecución del código puede también comprender actualizar la base de datos del clúster con los datos de la ejecución para permitir la monitorización por parte del usuario del estado de la ejecución mediante herramientas de monitorización del clúster y de los procesos en ejecución incluidas en la interfaz de usuario. The code execution stage may also comprise updating the cluster database with the execution data to allow the user to monitor the status of the execution by means of cluster monitoring tools and the running processes included in the user interface.

El método puede comprender enviar al clúster de computadores el formulario de inicialización de cómputos rellenado por el usuario para la verificación de errores y la validación del mismo. The method may include sending the computer initialization form filled out by the user to the computer cluster for error verification and validation.

Otro aspecto de la presente invención se refiere a un sistema de gestión remota de una plataforma de supercomputación mediante interfaz web, que comprende: Another aspect of the present invention relates to a remote management system of a supercomputing platform via web interface, comprising:

--
un clúster de computadoras con un servidor de acceso, un front-end del clúster y una pluralidad de nodos de cómputo del clúster; y a cluster of computers with an access server, a front-end of the cluster and a plurality of compute nodes in the cluster; Y

--
una interfaz de usuario implementada mediante navegador web de una estación cliente.  a user interface implemented through a web browser of a client station.

El servidor de acceso está configurado para obtener el modelo concreto de problema a resolver según la selección del usuario. Dicho servidor de acceso comprende: The access server is configured to obtain the specific problem model to solve according to the user's selection. Said access server comprises:

--
un módulo de gestión de formularios encargado de la generación dinámica de un formulario de inicialización de cómputos para la introducción por parte del usuario de los parámetros, condiciones iniciales y de contorno del problema a resolver, mediante:  a form management module responsible for the dynamic generation of a form for initialization of computations for the introduction by the user of the parameters, initial conditions and contour of the problem to be solved, by:

la carga una estructura XML de metadatos de código asociada al modelo seleccionado;  loads an XML structure of code metadata associated with the selected model;

la utilización una plantilla de estilo avanzada XSL para transformar la estructura XML y enviarla al navegador web de la estación cliente para que el formulario de inicialización de cómputos asociado al modelo seleccionado sea mostrado al usuario; the use of an advanced XSL style template to transform the XML structure and send it to the web browser of the client station so that the computation initialization form associated with the selected model is displayed to the user;

--
un módulo de ejecución encargado de:  An execution module responsible for:

• recibir los parámetros de ejecución de los procesos a ejecutar en el clúster de computadoras seleccionados por el usuario a través del navegador web en la estación cliente; • receive the execution parameters of the processes to be executed in the cluster of computers selected by the user through the web browser on the client station;

• gestionar la ejecución de los procesos con el front-end del clúster. • manage the execution of processes with the front-end of the cluster.

El front-end del clúster está configurado para: The front end of the cluster is configured to:

incluir los datos del formulario de inicialización de cómputos en el código del modelo seleccionado y realizar una compilación del código resultante en función de los parámetros de ejecución seleccionados por el usuario; include the data of the initialization form of computations in the code of the selected model and compile the resulting code based on the execution parameters selected by the user;

ejecutar el código resultante en los nodos de cómputo del clúster según los parámetros run the resulting code on the cluster compute nodes according to the parameters

de ejecución seleccionados por el usuario. El servidor está preferiblemente configurado para obtener y remitir al front-end del clúster recursos necesarios para la compilación, incluyendo: of execution selected by the user. The server is preferably configured to obtain and forward to the front end of the cluster resources necessary for compilation, including:

• plantilla XML asociada al modelo que indica los datos de entrada necesarios; • XML template associated with the model that indicates the necessary input data;

plantilla de código fuente modificable con los datos de condiciones iniciales y de contorno y asociada al modelo seleccionado por el usuario;  Modifiable source code template with initial condition and contour data and associated with the model selected by the user;

fichero XML con los datos introducidos por el usuario en el formulario de inicialización de cómputos;  XML file with the data entered by the user in the computation initialization form;

En el caso anterior el front-end del clúster dispone preferiblemente de acceso a una biblioteca precompilada asociada al modelo seleccionado por el usuario y está configurado para, con los recursos obtenidos, generar un fichero de inicialización del código y generar el código fuente personalizado con los datos introducidos por el usuario en el formulario de inicialización de códigos. In the previous case, the front-end of the cluster preferably has access to a precompiled library associated with the model selected by the user and is configured to, with the resources obtained, generate a code initialization file and generate the custom source code with the data entered by the user in the code initialization form.

Los parámetros de ejecución puede incluir la selección de nodos de cómputo del clúster para la ejecución y/o la selección de uno de los siguientes modos de ejecución: Execution parameters may include the selection of cluster compute nodes for execution and / or the selection of one of the following execution modes:

--
secuencial o paralelo;  sequential or parallel;

--
en arquitectura CPU o GPU.  in CPU or GPU architecture.

Para la ejecución del código el front-end del clúster puede estar adicionalmente configurado para: For code execution, the front end of the cluster can be additionally configured to:

--
comprobar el modo de ejecución seleccionado por el usuario;  check the execution mode selected by the user;

--
seleccionar los recursos hardware del clúster necesarios para la ejecución, comprobando su disponibilidad;  select the hardware resources of the cluster necessary for execution, checking their availability;

--
una vez los recursos hardware estén disponibles, llevar a cabo la ejecución del código.  Once the hardware resources are available, carry out the code execution.

La plataforma de supercomputación permite un fácil acceso a estos módulos directamente desde un navegador web sin necesidad de instalar ningún software específico. Además, los cálculos realizados a través de esta plataforma se llevan a cabo directamente en un clúster de ordenadores. The supercomputing platform allows easy access to these modules directly from a web browser without the need to install any specific software. In addition, the calculations made through this platform are carried out directly in a computer cluster.

La presente invención pone a disposición de los usuarios una gran capacidad de computación muy superior a la que se obtendría con un simple ordenador de uso doméstico. La presente invención permite al usuario acceder, a través de una interfaz de usuario multiplataforma basada en tecnología web, a un clúster de supercomputación de una manera fácil e intuitiva, rápida y transparente para el usuario. The present invention makes available to users a large computing capacity far superior to that which would be obtained with a simple home computer. The present invention allows the user to access, through a multiplatform user interface based on web technology, a supercomputing cluster in an easy and intuitive, fast and transparent way for the user.

Esta plataforma de computación aporta una serie de ventajas: This computing platform brings a number of advantages:

Independencia del sistema operativo del ordenador del usuario. Independence of the operating system of the user's computer.

Uso de estándares universales (tecnología web). Use of universal standards (web technology).

Actualización del software automática sin intervención del usuario. Automatic software update without user intervention.

Uso de un clúster de supercomputación desde un ordenador personal. Use of a supercomputing cluster from a personal computer.

El usuario no tiene necesidad de realizar tareas de instalación, mantenimiento, actualización de software y/o hardware ni conocimientos específicos de supercomputación. The user does not need to perform installation, maintenance, software and / or hardware update tasks or specific supercomputing knowledge.

Uso transparente e intuitivo con independencia de la formación específica del usuario. Proporciona una herramienta multidisciplinar válida para investigadores de ámbito científico (física, geología, matemática aplicada,...), consultoras medioambientales, centros de coordinación para la prevención de desastres naturales, etc. Transparent and intuitive use regardless of specific user training. It provides a valid multidisciplinary tool for researchers in the scientific field (physics, geology, applied mathematics, ...), environmental consultants, coordination centers for the prevention of natural disasters, etc.

La presente invención permite al usuario: The present invention allows the user:

Interactuar con el clúster como si estuviera trabajando en local. Interact with the cluster as if it were working locally.

Evitar la instalación de cualquier software específico en su ordenador local. Avoid installing any specific software on your local computer.

Aprovechar la arquitectura paralela y de supercomputación del clúster (tanto de CPU como GPU). Al usuario se le permite gestionar la topología de una máquina paralela (seleccionando los núcleos necesarios y arrancando o parando la máquina paralela a su conveniencia) en el caso de que su simulación requiera del uso de múltiples unidades de cómputo. Take advantage of the parallel and supercomputing architecture of the cluster (both CPU and GPU). The user is allowed to manage the topology of a parallel machine (selecting the necessary cores and starting or stopping the parallel machine at his convenience) in the event that his simulation requires the use of multiple computing units.

Posibilidad de modificar los códigos existentes según sus necesidades que son compilados automáticamente en tiempo de ejecución para la arquitectura CPU o GPU seleccionada por el usuario. El proceso de compilación incorpora un sistema de control de estado de la compilación. Possibility of modifying existing codes according to your needs that are automatically compiled at runtime for the CPU or GPU architecture selected by the user. The compilation process incorporates a compilation status control system.

Controlar en todo momento los procesos que se están ejecutando permitiéndole la detención en todo momento de los cálculos en ejecución, incluso cuando se están ejecutando en cientos de nodos. Control at all times the processes that are running allowing you to stop running calculations at all times, even when they are running on hundreds of nodes.

Tener información de los recursos disponibles: la carga de CPU, memoria y nodos de cómputo disponibles, etc. Have information on available resources: CPU load, memory and available compute nodes, etc.

También puede aportar opcionalmente otras ventajas: You can also optionally provide other advantages:

Autentificación mediante LDAP y SSH federado. Authentication using LDAP and federated SSH.

Gestor de ficheros avanzado vía web. Advanced file manager via web.

Posibilidad de incorporar herramientas de pre y post proceso específicas vía web para cada problema: Possibility of incorporating specific pre and post process tools via the web for each problem:

o Preproceso: o Preprocess:

Generadores de mallados. Mesh generators.

Módulos de interpolación de datos de condiciones iniciales. Interpolation modules for initial condition data.

Módulos de extracción de información a partir de bases de datos científicas disponibles (se suelen usar para la generación de topografías, batimetrías, lecturas de datos para la imposición de condiciones iniciales o de contorno, etc.). Information extraction modules from available scientific databases (they are usually used for the generation of topographies, bathymetries, data readings for the imposition of initial or boundary conditions, etc.).

Etc. Etc.

o Postproceso: o Postprocess:

Visualizadores analíticos 1D, 2D y 3D de resultados. 1D, 2D and 3D analytical results visualizers.

Conversores de tipos de ficheros. Converters of file types.

Etc. Etc.

Breve descripción de las figuras A continuación se pasa a describir de manera muy breve una serie de figuras que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta. BRIEF DESCRIPTION OF THE FIGURES Next, a series of figures that help to better understand the invention and that expressly relate to an embodiment of said invention which is presented as a non-limiting example thereof is described very briefly.

La Figura 1 muestra el diagrama de flujo de la plataforma de supercomputación. Figure 1 shows the flowchart of the supercomputing platform.

La Figura 2 muestra un esquema de funcionamiento del formulario de inicialización de cómputos. Figure 2 shows an operation scheme of the initialization form of computations.

La Figura 3 muestra el esquema de proceso de compilación de códigos. Figure 3 shows the code compilation process scheme.

La Figura 4 muestra el esquema de lanzamiento de ejecuciones en el clúster. Figure 4 shows the scheme for launching executions in the cluster.

La Figura 5 muestra un posible esquema de la plataforma de supercomputación. Figure 5 shows a possible scheme of the supercomputing platform.

Descripción detallada de la invención En la Figura 1 se muestra el diagrama de flujo de la plataforma de supercomputación, con sus distintos elementos: DETAILED DESCRIPTION OF THE INVENTION Figure 1 shows the flow chart of the supercomputing platform, with its various elements:

--
Interfaz de usuario 100, con las siguientes características:  User interface 100, with the following characteristics:

* *
El usuario accede a la plataforma de supercomputación a través de un navegador web estándar. The user accesses the supercomputing platform through a standard web browser.

**
En una realización particular la autentificación de los usuarios de la red académica se realiza mediante el sistema de federación de RedIRIS.  In a particular embodiment the authentication of the users of the academic network is carried out by means of the RedIRIS federation system.

* En el caso de que el usuario tenga derechos de administrador permite además: * In the event that the user has administrator rights, it also allows:

--
Gestión de otros usuarios mediante sistemas tipo LDAP (Protocolo Ligero de Acceso a Directorios).  Management of other users through LDAP (Lightweight Directory Access Protocol) systems.

--
Gestión de permisos de cada usuario: códigos a los que tiene acceso, nodos del clúster en los que puede lanzar ejecuciones, etc.  Permission management of each user: codes to which he has access, nodes of the cluster in which he can launch executions, etc.

--
Gestión del hardware del clúster: características físicas de cada nodo (CPU, memoria, GPU, etc).  Cluster hardware management: physical characteristics of each node (CPU, memory, GPU, etc.).

--
Administración de códigos gestionados por la plataforma de supercomputación.  Management of codes managed by the supercomputing platform.

Inicialmente se muestra la interfaz de usuario 100 donde el usuario se autentica en la plataforma para acceder a un menú personalizado donde se tiene acceso a las distintas opciones. A continuación el usuario puede hacer uso de las siguientes opciones: Initially, the user interface 100 is shown where the user authenticates on the platform to access a personalized menu where the different options are accessed. The user can then use the following options:

- -
Las herramientas de preproceso 102 (opcionales). Preprocessing tools 102 (optional).

- -
Las herramientas de postproceso 104 (opcionales). Postprocessing tools 104 (optional).

- -
Herramientas de gestión de su sistema de ficheros 106. Management tools for your file system 106.

- -
Herramientas de monitorización del clúster y de los procesos en ejecución 108. Cluster monitoring tools and running processes 108.

- -
Herramientas de administración (en el caso de administradores) 110. Administration tools (in the case of administrators) 110.

--
Formulario de inicialización de cómputos 112. Computation initialization form 112.

Uno de los elementos esenciales para la ejecución de problemas en la plataforma de supercomputación es el formulario de inicialización de cómputos 112 (su proceso de generación se describe más adelante). Este formulario está totalmente adaptado para cada problema y mediante el mismo el usuario introduce los parámetros, condiciones iniciales y de contorno para cada problema a resolver (que opcionalmente han podido ser pretratados con las herramientas de preproceso 102). Como se representa con la flecha circular, el formulario se adapta dinámicamente conforme a los datos introducidos por el usuario. Una vez que el usuario completa dicho formulario lo envía para verificación al clúster 114 donde cada campo se analiza en función del tipo definido, comprobando que la información suministrada coincide con las especificaciones de dicho tipo 116. En el caso de que existan errores se vuelve a mostrar el formulario al usuario para que los corrija. En caso de que la verificación sea correcta la plataforma asigna al formulario un identificador único y es guardado, llevando seguidamente al usuario a la interfaz de usuario 100. One of the essential elements for the execution of problems in the supercomputing platform is the initialization form of computations 112 (its generation process is described below). This form is fully adapted for each problem and through it the user enters the parameters, initial conditions and contour for each problem to be solved (which optionally have been pretreated with preprocessing tools 102). As represented by the circular arrow, the form adapts dynamically according to the data entered by the user. Once the user completes this form, he sends it for verification to cluster 114 where each field is analyzed according to the defined type, verifying that the information provided matches the specifications of said type 116. In the case of errors, it is returned to show the form to the user to correct them. If the verification is correct, the platform assigns the form a unique identifier and is saved, then taking the user to the user interface 100.

Una vez el usuario ha completado un formulario de inicialización de cómputos, el paso a seguir es lanzar la simulación numérica en el clúster de computación. Para ello, inicialmente el usuario debe seleccionar entre los formularios que haya completado 118. Once the user has completed a computation initialization form, the next step is to launch the numerical simulation in the computing cluster. To do this, the user must initially select from the forms that he has completed 118.

Posteriormente el usuario debe seleccionar parámetros de ejecución de procesos 120. En este paso la plataforma puede mostrar: Subsequently, the user must select process execution parameters 120. In this step the platform can display:

--
Monitorización en tiempo real de la carga computacional de cada nodo del clúster: porcentaje de uso de cada CPU, número de núcleos usados de cada CPU, memoria disponible y usada en cada nodo, etc. Real-time monitoring of the computational load of each node in the cluster: percentage of use of each CPU, number of cores used of each CPU, available and used memory in each node, etc.

--
Nodos de cómputo accesibles por el usuario y prioridad de ejecución en ellos. User-accessible compute nodes and execution priority in them.

--
Creación automática de la topología de cálculo para procesos en paralelo. Automatic creation of the calculation topology for parallel processes.

--
Posibilidad de selección personalizada por el usuario de los nodos de cómputo para un cálculo paralelo. Possibility of personalized selection by the user of the compute nodes for a parallel calculation.

El usuario selecciona el/los nodo/s que desee y ordena la ejecución. El clúster incluye los datos del formulario de inicialización de cómputos en el código del modelo seleccionado, compila el código resultante 122 (opcionalmente en caso de ser necesario un cómputo en paralelo, la plataforma arranca una máquina paralela con la topología seleccionada por el usuario) y verifica el resultado de la compilación 124. En caso de haber algún error de compilación se devuelven al usuario los errores encontrados y se lleva al usuario a la interfaz 100. Si la compilación es correcta la plataforma ejecuta en el clúster (en el modo seleccionado por el usuario -secuencial, paralelo o GPU-) el código resultante 126. Hasta obtener los resultados 128 el usuario dispone de herramientas para hacer el seguimiento de sus ejecuciones 108 (tiempo restante estimado, visualización de ficheros de traza, control de ejecuciones, etc.), esto es, una autogestión de procesos en ejecución y tiempo de finalización permitiendo control del usuario mediante interfaz web. The user selects the node (s) he wishes and orders the execution. The cluster includes the data of the initialization form of computations in the code of the selected model, compiles the resulting code 122 (optionally if a parallel computation is necessary, the platform starts a parallel machine with the topology selected by the user) and verifies the result of compilation 124. In case of any compilation error, the errors found are returned to the user and the user is taken to interface 100. If the compilation is correct, the platform executes in the cluster (in the mode selected by the user -sequential, parallel or GPU-) the resulting code 126. Until the results 128 are obtained, the user has tools to track his executions 108 (estimated remaining time, display of trace files, control of executions, etc. ), that is, a self-management of processes in execution and completion time allowing user control through a web interface.

Uno de los núcleos de la plataforma de supercomputación es el diseño de los formularios de inicialización de cómputos 112. En la Figura 2 se muestra un esquema de funcionamiento del formulario de inicialización de cómputos. Estos formularios son la interfaz entre el usuario y cada código y son la herramienta para la inicialización de cada cálculo científico que el usuario final desee lanzar. One of the cores of the supercomputing platform is the design of the computation initialization forms 112. Figure 2 shows an operation scheme of the computation initialization form. These forms are the interface between the user and each code and are the tool for the initialization of each scientific calculation that the end user wishes to launch.

A continuación se enumera de manera resumida en los siguientes ítems cuáles son los elementos fundamentales de estos formularios: The following are summarized in the following items which are the fundamental elements of these forms:

1. Diseño de un metalenguaje de etiquetas específico para diferenciar entre los distintos tipos de entrada posibles en un código que resuelva problemas de simulación numérica. Incorporación de un sistema de detección de errores intrínseco a este metalenguaje. 1. Design of a specific tag metalanguage to differentiate between the different possible input types in a code that solves numerical simulation problems. Incorporation of an intrinsic error detection system to this metalanguage.

El metalenguaje desarrollado consta de dos módulos: un módulo basado en lenguaje de tipo XML y otro complementario basado en lenguajes de hojas de estilo XSL. The metalanguage developed consists of two modules: a module based on XML type language and a complementary one based on XSL style sheet languages.

Se ha desarrollado un sofisticado sistema estructurado bajo un formato XML a fin de organizar y almacenar todos los tipos de datos necesarios para un código de simulación numérica. Este sistema incluye elementos ligados a los tipos de campos usuales (campos de texto, diversos selectores de opciones, etc.) en un formulario web y elementos avanzados adaptados para la introducción de datos especiales para un problema de simulación numérica (por ejemplo, para la introducción de las condiciones de contorno). A sophisticated structured system has been developed under an XML format to organize and store all the types of data needed for a numerical simulation code. This system includes elements linked to the types of usual fields (text fields, various options selectors, etc.) in a web form and advanced elements adapted for the introduction of special data for a numerical simulation problem (for example, for the introduction of boundary conditions).

Cada elemento dispone de atributos específicos así como de un conjunto de elementos hijos asociados y necesarios para el proceso de entrada, validación y verificación de datos introducidos. Each element has specific attributes as well as a set of associated and necessary child elements for the process of entering, validating and verifying the data entered.

A continuación se describe, a modo de ejemplo, dos elementos de este metalenguaje, uno de tipo básico y otro avanzado. The following describes, by way of example, two elements of this metalanguage, one of the basic type and the other advanced.

Elemento integer: Integer element:

o Uso: Almacenamiento de campos de tipo números enteros. o Use: Storage of fields of type whole numbers.

o Atributos: o Attributes:

name: nombre del campo. name: field name.

required (yes/no): indica si es un campo que el usuario debe completar necesariamente. required (yes / no): indicates if it is a field that the user must necessarily complete.

o Elementos hijos asociados: o Associated child elements:

label: contiene el texto mostrado al usuario como descripción del campo de texto. label: contains the text shown to the user as a description of the text field.

min: Elemento opcional. Indica el mínimo valor posible a introducir. min: Optional element. Indicates the minimum possible value to enter.

max: Elemento opcional. Indica el máximo valor posible a introducir. max: Optional element. Indicates the maximum possible value to enter.

fieldcomment: Elemento opcional. Indica texto de ayuda que se muestra al usuario en el formulario. fieldcomment: Optional element. Indicates help text that is displayed to the user in the form.

value: Elemento opcional. Valor de este campo. value: Optional element. Value of this field.

example: Elemento opcional. Muestra ejemplos al usuario. example: Optional element. Show examples to the user.

o Ejemplo: o Example:

<integer name="nodosmpi" required="yes"> <integer name = "nodosmpi" required = "yes">

<label>Nodos a emplear en paralelización MPI:</label> <label> Nodes to be used in MPI parallelization: </label>

<min>0</min> <min> 0 </min>

<max>48</max>  <max> 48 </max>

<fieldcomment>Debes introducir el número de nodos de la máquina <fieldcomment> You must enter the number of machine nodes

paralela</fieldcomment> parallel </fieldcomment>

<value/> <value />

</integer> </integer>

Elemento contour: Contour element:

o Uso: Imposición de las condiciones de contorno asociadas al problema considerado. o Use: Imposition of the boundary conditions associated with the problem considered.

o Atributos: o Attributes:

name: nombre del campo. name: field name.

filename: indica el nombre del campo en el que se almacena el nombre del fichero de mallado sobre el que se va a ejecutar el código. Este atributo lleva asociada una función avanzada que permite examinar dinámicamente las fronteras del mallado, leyéndolo desde la cuenta del usuario y mostrando dinámicamente de modo gráfico las fronteras del mallado clasificadas por referencias. filename: indicates the name of the field in which the name of the mesh file on which the code is to be executed is stored. This attribute is associated with an advanced function that allows you to dynamically examine the borders of the mesh, reading it from the user's account and dynamically displaying the borders of the mesh classified by references.

required (yes/no): indica si es un campo que el usuario debe completar necesariamente. required (yes / no): indicates if it is a field that the user must necessarily complete.

o Elementos hijos asociados: o Associated child elements:

• condition: Usado para describir las posibles condiciones de contorno que el usuario puede seleccionar para una frontera dada. Este nodo hijo se replicará dinámicamente tantas veces como fronteras haya en el mallado seleccionado. • condition: Used to describe the possible boundary conditions that the user can select for a given border. This child node will be dynamically replicated as many times as there are borders in the selected mesh.

Atributos:  Attributes:

o name: nombre del campo. o name: field name.

o image (yes/no): indica si deben mostrarse o no las figuras asociadas a las fronteras del mallado. o image (yes / no): indicates whether or not the figures associated with the meshing borders should be displayed.

Elementos hijos asociados: Associated child elements:

o label: Texto mostrado al usuario. o label: Text shown to the user.

o minselecteditems: Elemento opcional. Número mínimo de ítems a seleccionar. o minselecteditems: Optional element. Minimum number of items to select.

o maxselecteditems: Elemento opcional. Número máximo de ítems a seleccionar. o maxselecteditems: Optional element. Maximum number of items to select.

• options: usado para almacenar las opciones de condiciones de contorno posibles en cada frontera. • options: used to store the possible boundary condition options at each border.

• Elementos hijos asociados: • Associated child elements:

• Option: Texto correspondiente a la opción. • Option: Text corresponding to the option.

o Ejemplo: o Example:

<contour name="cc_ref" required="no" filename="ficheromallado"> <contour name = "cc_ref" required = "no" filename = "ficheromallado">

<condition name="ccontorno" image="yes"> <label>Tipo de CC para la referencia </label> <minselecteditems>0</minselecteditems> <maxselecteditems>2</maxselecteditems> <condition name = "ccontorno" image = "yes"> <label> Type of CC for reference </label> <minselecteditems> 0 </minselecteditems> <maxselecteditems> 2 </maxselecteditems>

<options> <option>Elevacion</option> <option>Q*n</option> <options> <option> Elevation </option> <option> Q * n </option>

</options> <value/> </condition> </contour> </options>  <value /> </condition> </contour>

2. Sistema automatizado de generación de formularios específicos a partir de plantillas diseñadas con este metalenguaje. En estos formularios se introducen los datos relativos al problema a resolver como por ejemplo condiciones iniciales, condiciones de contorno, parámetros, etc. 2. Automated system for generating specific forms from templates designed with this metalanguage. In these forms the data related to the problem to be solved is introduced, such as initial conditions, boundary conditions, parameters, etc.

3.3.
Posibilidad de completar formularios vacíos o recuperar datos de uno preexistente.  Possibility of completing empty forms or recovering data from a pre-existing one.

4.Four.
Campos especiales que permiten:  Special fields that allow:

Seleccionar un fichero almacenado remotamente en la cuenta del usuario del clúster accediendo en tiempo real a su sistema de ficheros. Select a file stored remotely in the user account of the cluster by accessing its file system in real time.

Incorporar el contenido de un fichero local o remoto directamente en el formulario. Incorporate the contents of a local or remote file directly into the form.

Generación de imágenes a partir de datos introducidos por el usuario. Son interesantes por ejemplo para la imposición de las condiciones de frontera de manera gráfica en los bordes del dominio espacial del problema. Para ello se interpreta dinámicamente el mallado o dominio espacial seleccionado por el usuario. Generation of images from data entered by the user. They are interesting for example for the imposition of boundary conditions graphically at the edges of the spatial domain of the problem. For this, the mesh or spatial domain selected by the user is dynamically interpreted.

Campos que evolucionan de forma dinámica a partir de los datos de entrada del usuario: repetición de estructuras, condicionales, selección múltiple, etc. Fields that evolve dynamically from the user's input data: repetition of structures, conditionals, multiple selection, etc.

Control de errores específico por campos. Specific error control by fields.

En la Figura 2 se muestra el proceso dinámico de generación y validación de formularios para la inicialización de cómputos (pasos 112, 114 y 116 de la Figura 1). Seguidamente se describe el diagrama de flujo: Figure 2 shows the dynamic process of generating and validating forms for the initialization of computations (steps 112, 114 and 116 of Figure 1). The flow chart is described below:

Una vez el usuario selecciona 200 el modelo con el que quiere realizar su experimento numérico, la plataforma de supercomputación carga la estructura XML asociada a dicho código 202, y utiliza la plantilla de estilo avanzada XSL 204 (esta plantilla es común a todos los formularios) para transformar la estructura XML y mostrar al usuario el formulario de inicialización de cómputo asociado al código que desea ejecutar 206. Este formulario puede incorporar además características únicas: Once the user selects 200 the model with which he wants to perform his numerical experiment, the supercomputing platform loads the XML structure associated with said code 202, and uses the XSL 204 advanced style template (this template is common to all forms) to transform the XML structure and show the user the computation initialization form associated with the code that you want to execute 206. This form can also incorporate unique features:

Acceso directo a la cuenta del usuario en el clúster para completar distintos tipos de campos 208 (ficheros de mallado, ficheros de condiciones iniciales, etc.). Direct access to the user's account in the cluster to complete different types of fields 208 (meshing files, initial condition files, etc.).

Campos dinámicos específicos 210 para la imposición de condiciones de contorno (campos que determinan las fronteras del mallado seleccionado y representan automáticamente las fronteras clasificadas por referencias para que el usuario indique el tipo de condiciones de contorno en cada frontera) y estructuras especiales de introducción de datos (por ejemplo, campos que replican estructuras de datos para adaptarse a la incorporación de nuevas variables al problema de partida, o campos que modifican en formulario automáticamente en función de la respuesta que el usuario ha dado a determinada pregunta). Specific dynamic fields 210 for the imposition of boundary conditions (fields that determine the boundaries of the selected mesh and automatically represent the boundaries classified by references for the user to indicate the type of boundary conditions at each border) and special data entry structures (For example, fields that replicate data structures to adapt to the incorporation of new variables to the starting problem, or fields that modify in form automatically based on the response that the user has given to a given question).

El último punto del diagrama de flujo se muestra el proceso de verificación 114 y de validación 116 de los datos introducidos. Para ello, la plataforma de supercomputación comprueba que los campos obligatorios se han rellenado y además la consistencia de los datos introducidos (por ejemplo, comprueba que las rutas a ficheros son correctas, que los valores numéricos están comprendidos entre los límites especificados, que los tipos de datos concuerdan con los tipos especificados, etc.). The last point of the flowchart shows the process of verification 114 and validation 116 of the data entered. For this, the supercomputing platform verifies that the mandatory fields have been filled in and also the consistency of the data entered (for example, verifies that the paths to files are correct, that the numerical values are within the specified limits, that the types of data match the specified types, etc.).

En cuanto al proceso de inclusión de datos y compilación 122 de la Figura 1, en la Figura 3 se muestra el esquema de proceso de compilación de códigos. As for the process of data inclusion and compilation 122 of Figure 1, Figure 3 shows the code compilation process scheme.

--
Con los datos introducidos por el usuario la plataforma genera automáticamente ejecutables óptimos para la arquitectura específica de los nodos seleccionados. Todo este proceso es automático, realizado en el clúster remotamente sin necesidad de instalación de ningún tipo de librería o dependencias en la máquina cliente y con independencia del sistema operativo usado por el usuario. With the data entered by the user, the platform automatically generates optimal executables for the specific architecture of the selected nodes. This entire process is automatic, performed in the cluster remotely without the need for installation of any type of library or dependencies on the client machine and regardless of the operating system used by the user.

--
Al mismo tiempo se realiza un control de errores en tiempo de compilación. At the same time, error control is performed at compile time.

A continuación se describe el diagrama de flujo de la Figura 3: The flowchart of Figure 3 is described below:

La plataforma de supercomputación recoge todos los recursos necesarios 300 para la compilación: The supercomputing platform collects all the necessary resources 300 for compilation:

- -
Plantilla XML asociada al modelo 302 que indica los datos de entrada necesarios. XML template associated with model 302 that indicates the necessary input data.

- -
Plantilla de código fuente modificable 304 asociada al modelo seleccionado por el usuario. Template of modifiable source code 304 associated with the model selected by the user.

--
Fichero XML 118 correspondiente a la información aportada por el usuario en el formulario seleccionado. XML 118 file corresponding to the information provided by the user in the selected form.

--
Biblioteca precompilada 308 asociada al modelo seleccionado por el usuario. Precompiled library 308 associated with the model selected by the user.

Con esta información la plataforma de supercomutación genera un fichero de inicialización del código 310 y crea el código fuente personalizado con los datos introducidos por el usuario 312 en el formulario de inicialización de códigos. With this information the supercomputing platform generates an initialization file of code 310 and creates the customized source code with the data entered by user 312 in the code initialization form.

Los ficheros generados son compilados contra la biblioteca propia del código siguiendo las especificaciones de hardware señaladas por el usuario en el formulario de inicialización de códigos y según el hardware del clúster en el que tiene permisos de ejecución el usuario 314. El proceso de compilación incorpora un control dinámico de errores. En tal caso, se recogen los errores de compilación y se muestran en un formulario de salida al usuario. The files generated are compiled against the code's own library following the hardware specifications indicated by the user in the code initialization form and according to the hardware of the cluster in which the user has execution permits 314. The compilation process incorporates a Dynamic error control. In this case, the compilation errors are collected and displayed in an exit form to the user.

La Figura 4 muestra el esquema de lanzamiento de ejecuciones en la plataforma de supercomputación Figure 4 shows the execution launch scheme in the supercomputing platform

126. A continuación se describe el diagrama de flujo: 126. The flowchart is described below:

El código (compilado según se ha mostrado en el proceso de inclusión de datos y compilación 122) va a pasar a ser ejecutado. Para ello se analizan 400 las especificaciones dadas por el usuario en el formulario de inicialización de códigos. En particular, se estudia si la ejecución es secuencial o en paralelo y en arquitectura CPU o GPU. Seguidamente la plataforma prepara 402 y comprueba 404 la disponibilidad de los recursos de hardware (CPUs y/o GPUs) de la plataforma necesarios para la ejecución. En caso de que los recursos de hardware no estén disponibles (porque están siendo usados) la plataforma pone en la cola de procesos del sistema la ejecución. Una vez los recursos están disponibles se lleva a cabo la ejecución 406. En dicho proceso, el código es registrado en la base de datos de la plataforma 408 de manera que el usuario puede monitorizar en todo momento: The code (compiled as shown in the process of data inclusion and compilation 122) will be executed. For this, 400 the specifications given by the user in the code initialization form are analyzed. In particular, it is studied whether the execution is sequential or in parallel and in CPU or GPU architecture. The platform then prepares 402 and checks 404 for the availability of the hardware resources (CPUs and / or GPUs) of the platform necessary for execution. In case the hardware resources are not available (because they are being used) the platform queues the system processes execution. Once the resources are available, execution 406 is carried out. In said process, the code is registered in the database of platform 408 so that the user can monitor at all times:

--
El estado de sus ejecuciones activas. The status of your active executions.

--
Trazabilidad del estado de la ejecución. Traceability of the execution status.

--
Posibilidad de interrupción de procesos en ejecución. Possibility of interruption of running processes.

--
Aviso por e-mail de la finalización del proceso. Notice by e-mail of the completion of the process.

En una realización preferente el funcionamiento interno del clúster está basado en el sistema operativo Linux, dotado de herramientas específicas para el modelado y la simulación numérica. In a preferred embodiment the internal operation of the cluster is based on the Linux operating system, equipped with specific tools for modeling and numerical simulation.

* Hardware: Clúster de supercomputación basado en arquitectura Intel compuesto por una máquina Frontend, nodos de cálculo con arquitectura CPU y GPU y máquinas de tipo SAN. * Hardware: Supercomputing cluster based on Intel architecture composed of a Frontend machine, calculation nodes with CPU and GPU architecture and SAN type machines.

* Software (Backend): * Software (Backend):

--
Compiladores GNU y específicos para la arquitectura Intel.  GNU and specific compilers for Intel architecture.

--
Bibliotecas de cálculo numérico.  Libraries of numerical calculation.

--
Bibliotecas de cálculo paralelo.  Parallel calculation libraries.

--
Sistemas de monitorización y seguimiento del estado de cada nodo del clúster, trabajos, etc... basado en Ganglia.  Systems for monitoring and tracking the status of each node in the cluster, jobs, etc ... based on Ganglia.

--
Sistema de gestión de colas: Sun Grid Engine (SGE).  Queue management system: Sun Grid Engine (SGE).

--
Python.  Python

* Software (Frontend):* Software (Frontend):

- -
PHP. PHP

--
AJAX.  AJAX

-  -
XML, XSLT. XML, XSLT.

--
CSS. CSS.

--
Python. Python

- -
MySQL. MySQL

- -
O3D. O3D

La Figura 5 representa, a modo de ejemplo, un esquema con el hardware de la plataforma de supercomputación. En la misma se muestra el usuario 500 accediendo a través de un navegador web 502 de un terminal o estación cliente 504 (un ordenador personal, una tablet, una PDA, etc.), via Internet 506, a un clúster de computadoras 508. En una posible realización se puede acceder al clúster a través del servidor de acceso 510 de la plataforma de supercomputación, que se encarga de recibir la información de la estación cliente 504, de interactuar con el front-end del clúster 512 y de coordinar las tareas entre los nodos de cómputo del clúster 514 conectados en una red local 516 de alta velocidad. Figure 5 represents, by way of example, a scheme with the hardware of the supercomputing platform. It shows the user 500 accessing through a web browser 502 of a terminal or client station 504 (a personal computer, a tablet, a PDA, etc.), via Internet 506, to a cluster of computers 508. In One possible embodiment can be accessed through the access server 510 of the supercomputing platform, which is responsible for receiving the information from the client station 504, interacting with the front end of the cluster 512 and coordinating tasks between the compute nodes of cluster 514 connected in a local high-speed network 516.

Claims (2)

REIVINDICACIONES 1- Método de gestión remota de una plataforma de supercomputación mediante interfaz web, siendo dicha gestión remota del clúster de computadoras (508) realizada a través de una interfaz de usuario (100) implementada mediante navegador web (502) de una estación cliente (504), caracterizado por que comprende: 1- Remote management method of a supercomputing platform through a web interface, said remote management of the computer cluster (508) being carried out through a user interface (100) implemented through a web browser (502) of a client station (504) ), characterized in that it comprises:
--
una etapa de generación dinámica de un formulario de inicialización de cómputos (112) para la introducción por parte del usuario (500) de los parámetros, condiciones iniciales y de contorno del problema a resolver, donde dicha etapa de generación comprende:  a dynamic generation stage of a computation initialization form (112) for the introduction by the user (500) of the parameters, initial and contour conditions of the problem to be solved, where said generation stage comprises:
• obtener el modelo concreto (200) de problema a resolver, según la selección del usuario (500); • obtain the specific model (200) of the problem to be solved, according to the user's selection (500);
cargar una estructura XML de metadatos de código (202) asociada al modelo seleccionado;  load an XML structure of code metadata (202) associated with the selected model;
utilizar una plantilla de estilo avanzada XSL (204) para transformar (206) la estructura XML y mostrar al usuario el formulario de inicialización de cómputos asociado al modelo seleccionado;  use an advanced XSL style template (204) to transform (206) the XML structure and show the user the computation initialization form associated with the selected model;
• obtener los parámetros, condiciones iniciales y de contorno del problema del usuario • obtain the parameters, initial and contour conditions of the user's problem (500) para la posterior ejecución en el clúster (508); (500) for subsequent execution in the cluster (508);
--
una etapa de selección de los parámetros de ejecución (120) de los procesos a ejecutar en el clúster de computadoras (508);  a step of selecting the execution parameters (120) of the processes to be executed in the computer cluster (508);
--
una etapa de inclusión de datos y compilación (122), mediante la cual el clúster de computadoras (508) incluye los datos del formulario de inicialización de cómputos en el código del modelo seleccionado y realiza una compilación del código resultante en función de los parámetros de ejecución seleccionados por el usuario;  a stage of data inclusion and compilation (122), whereby the computer cluster (508) includes the data of the initialization form in the code of the selected model and compiles the resulting code based on the parameters of execution selected by the user;
--
una etapa de ejecución (126) del código resultante en nodos de cómputo del clúster (514) según los parámetros de ejecución seleccionados por el usuario.  an execution stage (126) of the code resulting in compute nodes of the cluster (514) according to the execution parameters selected by the user.
2- Método según la reivindicación 1, caracterizado por que la etapa de inclusión de datos y compilación 2- Method according to claim 1, characterized in that the step of data inclusion and compilation (122) comprende: - obtener recursos (300) necesarios para la compilación, incluyendo: (122) includes: - obtaining resources (300) necessary for compilation, including: • plantilla XML asociada al modelo (302) que indica los datos de entrada necesarios; • XML template associated with the model (302) that indicates the necessary input data;
plantilla de código fuente (304) modificable con los datos de condiciones iniciales y de contorno y asociada al modelo seleccionado por el usuario; source code template (304) modifiable with initial condition and contour data and associated with the model selected by the user;
fichero XML (118) con los datos introducidos por el usuario en el formulario de inicialización de cómputos (112); XML file (118) with the data entered by the user in the computation initialization form (112);
• biblioteca precompilada (308) asociada al modelo seleccionado por el usuario; • precompiled library (308) associated with the model selected by the user;
--
con los recursos (300) obtenidos, generar un fichero de inicialización del código (310) y generar el código fuente personalizado (312) con los datos introducidos por el usuario en el formulario de inicialización de códigos (112).  with the resources (300) obtained, generate a code initialization file (310) and generate the custom source code (312) with the data entered by the user in the code initialization form (112).
3- Método según cualquiera de las reivindicaciones anteriores, caracterizado por que la etapa de selección de los parámetros de ejecución (120) comprende la selección de nodos de cómputo del clúster 3- Method according to any of the preceding claims, characterized in that the step of selecting the execution parameters (120) comprises the selection of compute nodes of the cluster (514) para la ejecución. (514) for execution. 4- Método según cualquiera de las reivindicaciones anteriores, caracterizado por que la etapa de selección de los parámetros de ejecución (120) comprende la selección de uno de los siguientes modos de ejecución: 4- Method according to any of the preceding claims, characterized in that the step of selecting the execution parameters (120) comprises the selection of one of the following execution modes:
--
secuencial o paralelo;  sequential or parallel;
--
en arquitectura CPU o GPU.  in CPU or GPU architecture.
5- Método según cualquiera de las reivindicaciones anteriores, caracterizado por que la etapa de ejecución (126) del código comprende: 5- Method according to any of the preceding claims, characterized in that the execution step (126) of the code comprises:
--
comprobar (400) el modo de ejecución seleccionado por el usuario;  check (400) the execution mode selected by the user;
--
seleccionar los recursos (402) hardware del clúster necesarios para la ejecución, comprobando su disponibilidad (404);  select the resources (402) hardware of the cluster necessary for the execution, checking its availability (404);
--
una vez los recursos hardware estén disponibles, llevar a cabo la ejecución (406) del código.  Once the hardware resources are available, carry out the execution (406) of the code.
6- Método según cualquiera de las reivindicaciones anteriores, caracterizado por que la etapa de ejecución (126) del código comprende actualizar la base de datos del clúster (408) con los datos de la ejecución para permitir la monitorización por parte del usuario del estado de la ejecución mediante herramientas de monitorización del clúster y de los procesos en ejecución (108) incluidas en la interfaz de usuario (100). 6- Method according to any of the preceding claims, characterized in that the execution stage (126) of the code comprises updating the database of the cluster (408) with the execution data to allow the user to monitor the status of the execution by means of tools for monitoring the cluster and the processes in execution (108) included in the user interface (100). 7- Método según cualquiera de las reivindicaciones anteriores, caracterizado por que comprende enviar al clúster de computadores (508) el formulario de inicialización de cómputos rellenado por el usuario para la verificación de errores (114) y la validación (116) del mismo. 7- Method according to any of the preceding claims, characterized in that it comprises sending to the computer cluster (508) the computation initialization form filled out by the user for the verification of errors (114) and the validation (116) thereof. 8- Sistema de gestión remota de una plataforma de supercomputación mediante interfaz web, que comprende: 8- Remote management system of a supercomputing platform through a web interface, comprising:
--
un clúster de computadoras (508) con un servidor de acceso (510), un front-end del clúster  a cluster of computers (508) with an access server (510), a front end of the cluster
(512) y una pluralidad de nodos de cómputo del clúster (514); y (512) and a plurality of cluster compute nodes (514); Y
--
una interfaz de usuario (100) implementada mediante navegador web (502) de una estación cliente (504); caracterizado por que el servidor de acceso (510) está configurado para obtener el modelo concreto  a user interface (100) implemented by web browser (502) of a client station (504); characterized in that the access server (510) is configured to obtain the specific model
(200) de problema a resolver según la selección del usuario (500), dicho servidor de acceso (510) comprendiendo: (200) of problem to be solved according to the user's selection (500), said access server (510) comprising:
--
un módulo de gestión de formularios encargado de la generación dinámica de un formulario de inicialización de cómputos (112) para la introducción por parte del usuario (500) de los parámetros, condiciones iniciales y de contorno del problema a resolver, mediante:  a form management module responsible for the dynamic generation of a form of initialization of computations (112) for the introduction by the user (500) of the parameters, initial conditions and contour of the problem to be solved, by:
la carga una estructura XML de metadatos de código (202) asociada al modelo seleccionado;  loads an XML code metadata structure (202) associated with the selected model;
la utilización una plantilla de estilo avanzada XSL (204) para transformar (206) la estructura XML y enviarla al navegador web (502) de la estación cliente (504) para que el formulario de inicialización de cómputos asociado al modelo seleccionado sea mostrado al usuario (500);  the use of an advanced style template XSL (204) to transform (206) the XML structure and send it to the web browser (502) of the client station (504) so that the computation initialization form associated with the selected model is shown to the user (500);
--
un módulo de ejecución encargado de:  An execution module responsible for:
• recibir los parámetros de ejecución de los procesos a ejecutar en el clúster de computadoras (508) seleccionados por el usuario a través del navegador web (502) en la estación cliente (504); • receive the execution parameters of the processes to be executed in the computer cluster (508) selected by the user through the web browser (502) on the client station (504); • gestionar la ejecución de los procesos con el front-end del clúster (512); y por que el front-end del clúster (512) está configurado para: • manage the execution of processes with the front-end of the cluster (512); and why the front end of the cluster (512) is configured to:
incluir los datos del formulario de inicialización de cómputos en el código del modelo seleccionado y realizar una compilación del código resultante en función de los parámetros de ejecución seleccionados por el usuario; include the data of the initialization form of computations in the code of the selected model and compile the resulting code based on the execution parameters selected by the user;
ejecutar el código resultante en los nodos de cómputo del clúster (514) según los parámetros de ejecución seleccionados por el usuario. execute the resulting code in the cluster compute nodes (514) according to the execution parameters selected by the user.
9- Sistema según la reivindicación 8, caracterizado por que el servidor (510) está configurado para obtener y remitir al front-end del clúster (512) recursos (300) necesarios para la compilación, incluyendo: 9. System according to claim 8, characterized in that the server (510) is configured to obtain and refer to the front end of the cluster (512) resources (300) necessary for compilation, including: • plantilla XML asociada al modelo (302) que indica los datos de entrada necesarios; • XML template associated with the model (302) that indicates the necessary input data; • plantilla de código fuente (304) modificable con los datos de condiciones iniciales y de contorno y asociada al modelo seleccionado por el usuario; • source code template (304) modifiable with initial and boundary condition data and associated with the model selected by the user; • fichero XML (118) con los datos introducidos por el usuario en el formulario de • XML file (118) with the data entered by the user in the form inicialización de cómputos (112); y por que el front-end del clúster (512) dispone de acceso a una biblioteca precompilada (308) asociada al modelo seleccionado por el usuario y está configurado para, con los recursos (300) obtenidos, generar un fichero de inicialización del código (310) y generar el código fuente personalizado (312) con los datos introducidos por el usuario en el formulario de inicialización de códigos (112). initialization of computations (112); and because the front end of the cluster (512) has access to a precompiled library (308) associated with the model selected by the user and is configured to generate, with the resources (300) obtained, generate a code initialization file ( 310) and generate the custom source code (312) with the data entered by the user in the code initialization form (112). 10- Sistema según cualquiera de las reivindicaciones 8 a 9, caracterizado por que los parámetros de ejecución incluye la selección de nodos de cómputo del clúster (514) para la ejecución. 10. System according to any of claims 8 to 9, characterized in that the execution parameters include the selection of cluster compute nodes (514) for execution. 11- Sistema según cualquiera de las reivindicaciones 8 a 10, caracterizado por que los parámetros de ejecución incluye la selección de uno de los siguientes modos de ejecución: 11- System according to any of claims 8 to 10, characterized in that the execution parameters include the selection of one of the following execution modes:
--
secuencial o paralelo;  sequential or parallel;
--
en arquitectura CPU o GPU.  in CPU or GPU architecture.
12- Sistema según cualquiera de las reivindicaciones 8 a 11, caracterizado por que para la ejecución 12- System according to any of claims 8 to 11, characterized in that for execution (126) del código el front-end del clúster (512) está adicionalmente configurado para: (126) of the code the front end of the cluster (512) is additionally configured to:
--
comprobar (400) el modo de ejecución seleccionado por el usuario;  check (400) the execution mode selected by the user;
--
seleccionar los recursos (402) hardware del clúster necesarios para la ejecución, comprobando su disponibilidad (404);  select the resources (402) hardware of the cluster necessary for the execution, checking its availability (404);
--
una vez los recursos hardware estén disponibles, llevar a cabo la ejecución (406) del código.  Once the hardware resources are available, carry out the execution (406) of the code.
OFICINA ESPAÑOLA DE PATENTES Y MARCAS SPANISH OFFICE OF THE PATENTS AND BRAND N.º solicitud: 201230897 Application no .: 201230897 ESPAÑA SPAIN Fecha de presentación de la solicitud: 08.06.2012 Date of submission of the application: 08.06.2012 Fecha de prioridad: Priority Date: INFORME SOBRE EL ESTADO DE LA TECNICA REPORT ON THE STATE OF THE TECHNIQUE 51 Int. Cl. : G06F9/50 (2006.01) 51 Int. Cl.: G06F9 / 50 (2006.01) DOCUMENTOS RELEVANTES RELEVANT DOCUMENTS
Categoría Category
56 Documentos citados Reivindicaciones afectadas 56 Documents cited Claims Affected
X X
US 2008178179 A1 (MITSUMORI S.; NATARAJAN R.;PHAN T.) 24-7-2008, 1-12 US 2008178179 A1 (MITSUMORI S .; NATARAJAN R.; PHAN T.) 24-7-2008, 1-12
A TO
ZHAOHUI YANG, JINCHI LU, AHMED ELGAMAL "A web-based platform for computer simulation of seismic ground response" ; Advances in Engineering Software 35; Págs 249-259; Disponible en: http://www.quakesim.net/cyclic1d/web_based_platform_yang_etal.pdf 1, 5-7 ZHAOHUI YANG, JINCHI LU, AHMED ELGAMAL "A web-based platform for computer simulation of seismic ground response"; Advances in Engineering Software 35; Pp 249-259; Available at: http://www.quakesim.net/cyclic1d/web_based_platform_yang_etal.pdf 1, 5-7
A TO
US 2008082933 A1 (MASSIVELY PARALLEL TECHNOLOGIES) 3-4-2008, 1,3-7 US 2008082933 A1 (MASSIVELY PARALLEL TECHNOLOGIES) 3-4-2008, 1.3-7
Categoría de los documentos citados X: de particular relevancia Y: de particular relevancia combinado con otro/s de la misma categoría A: refleja el estado de la técnica O: referido a divulgación no escrita P: publicado entre la fecha de prioridad y la de presentación de la solicitud E: documento anterior, pero publicado después de la fecha de presentación de la solicitud Category of the documents cited X: of particular relevance Y: of particular relevance combined with other / s of the same category A: reflects the state of the art O: refers to unwritten disclosure P: published between the priority date and the date of priority submission of the application E: previous document, but published after the date of submission of the application
El presente informe ha sido realizado • para todas las reivindicaciones • para las reivindicaciones nº: This report has been prepared • for all claims • for claims no:
Fecha de realización del informe 16.01.2013 Date of realization of the report 16.01.2013
Examinador M. Muñoz Sanchez Página 1/4 Examiner M. Muñoz Sanchez Page 1/4
INFORME DEL ESTADO DE LA TÉCNICA REPORT OF THE STATE OF THE TECHNIQUE Nº de solicitud: 201230897 Application number: 201230897 Documentación mínima buscada (sistema de clasificación seguido de los símbolos de clasificación) G06F Bases de datos electrónicas consultadas durante la búsqueda (nombre de la base de datos y, si es posible, términos de Minimum documentation searched (classification system followed by classification symbols) G06F Electronic databases consulted during the search (name of the database and, if possible, terms of búsqueda utilizados) INVENES, EPODOC, WPI search used) INVENES, EPODOC, WPI Informe del Estado de la Técnica Página 2/4 State of the Art Report Page 2/4 OPINIÓN ESCRITA  WRITTEN OPINION Nº de solicitud: 201230897 Application number: 201230897 Fecha de Realización de la Opinión Escrita: 16.01.2013 Date of Completion of Written Opinion: 01.01.2013 Declaración Statement
Novedad (Art. 6.1 LP 11/1986) Novelty (Art. 6.1 LP 11/1986)
Reivindicaciones Reivindicaciones 1-12 SI NO Claims Claims 1-12 IF NOT
Actividad inventiva (Art. 8.1 LP11/1986) Inventive activity (Art. 8.1 LP11 / 1986)
Reivindicaciones Reivindicaciones 1-12 SI NO Claims Claims 1-12 IF NOT
Se considera que la solicitud cumple con el requisito de aplicación industrial. Este requisito fue evaluado durante la fase de examen formal y técnico de la solicitud (Artículo 31.2 Ley 11/1986). The application is considered to comply with the industrial application requirement. This requirement was evaluated during the formal and technical examination phase of the application (Article 31.2 Law 11/1986). Base de la Opinión.-  Opinion Base.- La presente opinión se ha realizado sobre la base de la solicitud de patente tal y como se publica. This opinion has been made on the basis of the patent application as published. Informe del Estado de la Técnica Página 3/4 State of the Art Report Page 3/4 OPINIÓN ESCRITA  WRITTEN OPINION Nº de solicitud: 201230897 Application number: 201230897 1. Documentos considerados.-  1. Documents considered.- A continuación se relacionan los documentos pertenecientes al estado de la técnica tomados en consideración para la realización de esta opinión. The documents belonging to the state of the art taken into consideration for the realization of this opinion are listed below.
Documento Document
Número Publicación o Identificación Fecha Publicación Publication or Identification Number publication date
D01 D01
US 2008178179 A1 (MITSUMORI S.; NATARAJAN R.;PHAN T.) 24.07.2008 US 2008178179 A1 (MITSUMORI S .; NATARAJAN R.; PHAN T.) 24.07.2008
D02 D02
Zhaohui Yang, Jinchi Lu, Ahmed Elgamal "A web-based platform for computer simulation of seismic ground response" ; Advances in Engineering Software 35; Págs 249-259; Disponible en: http://www.quakesim.net/cyclic1d/web_based_platform_yang_etal.pdf" 13.04.2004 Zhaohui Yang, Jinchi Lu, Ahmed Elgamal "A web-based platform for computer simulation of seismic ground response"; Advances in Engineering Software 35; Pp 249-259; Available at: http://www.quakesim.net/cyclic1d/web_based_platform_yang_etal.pdf " 04/13/2004
D03 D03
US 2008082933 A1 (MASSIVELY PARALLEL TECHNOLOGIES) 03.04.2008 US 2008082933 A1 (MASSIVELY PARALLEL TECHNOLOGIES) 04.04.2008
2. Declaración motivada según los artículos 29.6 y 29.7 del Reglamento de ejecución de la Ley 11/1986, de 20 de marzo, de Patentes sobre la novedad y la actividad inventiva; citas y explicaciones en apoyo de esta declaración  2. Statement motivated according to articles 29.6 and 29.7 of the Regulations for the execution of Law 11/1986, of March 20, on Patents on novelty and inventive activity; quotes and explanations in support of this statement Se considera D01 el documento más próximo del estado de la técnica al objeto de la solicitud. D01 is considered the closest document of the state of the art to the object of the request. Reivindicaciones independientes  Independent claims Reivindicación 1: El documento D01 divulga un sistema de cómputo con una plataforma de supercomputación que utiliza una interfaz web y un fichero basado en XML para enviar trabajos que pasarán por una capa de middleware encargada de la gestión de la ejecución en la plataforma de supercomputación (computación en paralelo). El contenido de un archivo XML, como es sobradamente conocido y por tanto evidente para el experto en la materia, comprende estructuras de datos (plantillas) que facilitan la configuración de tareas de ejecución de cómputos. En el caso del cálculo científico los campos de un archivo XML podrían representar, y resultaría natural, condiciones iniciales, de contorno y otros parámetros (documento D02) o parámetros relativos a la ejecución del cómputo (documento D03) que se podrían usar por un lado en la propia compilación del modelo científico y por otro lado para controlar la ejecución. La diferencia de la reivindicación 1 con el documento D01 es el uso de una plantilla de estilo avanzada XSL para mostrarle el formulario de inicialización al usuario en otro formato. Esta característica no se considera que tenga carácter técnico por tratarse de una forma de presentar la información como indica la Ley de Patentes y por tanto el documento D01 afecta a la actividad inventiva de la reivindicación 1 según el artículo 8.1 de la Ley de Patentes. Claim 1: Document D01 discloses a computer system with a supercomputing platform that uses a web interface and an XML-based file to send jobs that will pass through a middleware layer in charge of managing execution in the supercomputing platform ( parallel computing). The content of an XML file, as is well known and therefore evident to the person skilled in the art, comprises data structures (templates) that facilitate the configuration of compute execution tasks. In the case of scientific calculation, the fields of an XML file could represent, and would be natural, initial, boundary conditions and other parameters (document D02) or parameters related to the execution of the computation (document D03) that could be used on the one hand in the compilation of the scientific model itself and on the other hand to control the execution. The difference of claim 1 with document D01 is the use of an XSL advanced style template to show the user initialization form in another format. This characteristic is not considered to be of a technical nature because it is a way of presenting the information as indicated by the Patent Law and therefore document D01 affects the inventive activity of claim 1 according to article 8.1 of the Patent Law. Reivindicación 8: el contenido de esta reivindicación de sistema se corresponde directamente con el de la reivindicación 1 de método, indicando solo la funcionalidad necesaria de los elementos y que se desprende de las operaciones que se ejecutan en el método. Claim 8: The content of this system claim corresponds directly to that of the method claim 1, indicating only the necessary functionality of the elements and which follows from the operations performed in the method. Así el documento D01 afecta a la actividad inventiva de la reivindicación 8 según el artículo 8.1 de la Ley de Patentes. Thus, document D01 affects the inventive activity of claim 8 according to article 8.1 of the Patent Law. Reivindicaciones dependientes  Dependent claims Reivindicación 2: el contenido de esta reivindicación detalla el contenido de la reivindicación 1 explicando lo que estaba implícito en ella. Claim 2: The content of this claim details the content of claim 1 explaining what was implied therein. Reivindicaciones 3 y 4: el contenido de estas reivindicaciones se refiere a parámetros a los que se ha hecho referencia en el análisis de la reivindicación 1. En particular algunos de ellos se encuentran en D03 también. Claims 3 and 4: The content of these claims refers to parameters referred to in the analysis of claim 1. In particular some of them are also found in D03. Reivindicación 5: la comprobación de los datos de entrada del usuario se hace en D01. En el marco de la comprobación del estado del sistema de cómputo y su monitorización además es comúnmente conocido evaluar los recursos hardware y gestionar los trabajos en función de la capacidad libre, no iniciándose el cómputo si no la hay. Este hecho se ilustra con el documento D03. Claim 5: the user input data is checked in D01. In the framework of the verification of the state of the computer system and its monitoring, it is also commonly known to evaluate the hardware resources and manage the work according to the free capacity, not counting if there is none. This fact is illustrated with document D03. Reivindicaciones 6-7: como se ha dicho para las reivindicaciones anteriores la monitorización es habitual y el uso de bases de datos asimismo, lo que reflejan D01 y D03. En cuanto al envío del formulario de inicialización estaría implícito en la comunicación con la plataforma de computación. Claims 6-7: As stated for the preceding claims, monitoring is common and the use of databases is also reflected in D01 and D03. As for the submission of the initialization form, it would be implicit in the communication with the computing platform. Reivindicaciones 9-12: el contenido de estas reivindicaciones se corresponde directamente con el de las reivindicaciones dependientes de método indicando solo la funcionalidad necesaria de los elementos que se desprende de las operaciones que se ejecutan en el método. Claims 9-12: The content of these claims corresponds directly to that of the method dependent claims indicating only the necessary functionality of the elements that follows from the operations performed in the method. En conclusión el documento D01 afecta a la actividad inventiva de las reivindicaciones 2-7, 9-12 según el artículo 8.1 de la Ley de Patentes. In conclusion, document D01 affects the inventive activity of claims 2-7, 9-12 according to article 8.1 of the Patent Law. Informe del Estado de la Técnica Página 4/4 State of the Art Report Page 4/4
ES201230897A 2012-06-08 2012-06-08 SYSTEM AND METHOD OF REMOTE MANAGEMENT OF A SUPERCOMPUTATION PLATFORM THROUGH THE WEB INTERFACE. Active ES2395966B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
ES201230897A ES2395966B1 (en) 2012-06-08 2012-06-08 SYSTEM AND METHOD OF REMOTE MANAGEMENT OF A SUPERCOMPUTATION PLATFORM THROUGH THE WEB INTERFACE.
PCT/ES2013/000138 WO2013182718A1 (en) 2012-06-08 2013-06-06 System and method for the remote management of a supercomputing platform using a web interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201230897A ES2395966B1 (en) 2012-06-08 2012-06-08 SYSTEM AND METHOD OF REMOTE MANAGEMENT OF A SUPERCOMPUTATION PLATFORM THROUGH THE WEB INTERFACE.

Publications (2)

Publication Number Publication Date
ES2395966A1 true ES2395966A1 (en) 2013-02-18
ES2395966B1 ES2395966B1 (en) 2014-01-27

Family

ID=47625619

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201230897A Active ES2395966B1 (en) 2012-06-08 2012-06-08 SYSTEM AND METHOD OF REMOTE MANAGEMENT OF A SUPERCOMPUTATION PLATFORM THROUGH THE WEB INTERFACE.

Country Status (2)

Country Link
ES (1) ES2395966B1 (en)
WO (1) WO2013182718A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11379710B2 (en) 2020-02-28 2022-07-05 International Business Machines Corporation Personalized automated machine learning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082933A1 (en) * 2006-09-01 2008-04-03 Massively Parallel Technologies, Inc. System And Method For Accessing And Using A Supercomputer
US20080178179A1 (en) * 2007-01-18 2008-07-24 Ramesh Natarajan System and method for automating and scheduling remote data transfer and computation for high performance computing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082933A1 (en) * 2006-09-01 2008-04-03 Massively Parallel Technologies, Inc. System And Method For Accessing And Using A Supercomputer
US20080178179A1 (en) * 2007-01-18 2008-07-24 Ramesh Natarajan System and method for automating and scheduling remote data transfer and computation for high performance computing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
13-4-2004, Zhaohui Yang, Jinchi Lu, Ahmed Elgamal "A web-based platform for computer simulation of seismic ground response" ; Advances in Engineering Software 35; Págs 249-259; Disponible en:http://www.quakesim.net/cyclic1d/web_based_platform_yang_etal.pdf *

Also Published As

Publication number Publication date
WO2013182718A1 (en) 2013-12-12
ES2395966B1 (en) 2014-01-27

Similar Documents

Publication Publication Date Title
Chen Service-oriented computing and system integration
Daniel et al. NeoEMF: A multi-database model persistence framework for very large models
Benelallam et al. Distributed Model-to-model Transformation with ATL on MapReduce
Catano et al. EventB2Java: A code generator for Event-B
CN102171681A (en) Type system for declarative data scripting language
Foust et al. Generating reactive programs for graphical user interfaces from multi-way dataflow constraint systems
Rouson et al. Design patterns for multiphysics modeling in Fortran 2003 and C++
ES2395966B1 (en) SYSTEM AND METHOD OF REMOTE MANAGEMENT OF A SUPERCOMPUTATION PLATFORM THROUGH THE WEB INTERFACE.
Nirgudkar et al. The mean stack
Sorensen et al. A simulator and compiler framework for agile hardware-software co-design evaluation and exploration
Capelli et al. A framework for early design and prototyping of service-oriented applications with design patterns
Diez Dolinski et al. Distributed simulation of P systems by means of map-reduce: first steps with Hadoop and P-Lingua
Cortez et al. Developing re-usable components based on the Virtual-MVC design pattern
Abate et al. Adoption of academic tools in open source communities: the Debian case study
Aroraa et al. Hands-On Design Patterns with C# and. NET Core: Write clean and maintainable code by using reusable solutions to common software design problems
Wilk Installation of complex e-Science applications on heterogeneous cloud infrastructures
Cantwell et al. A Programmer’s Guide to Nektar+
Trivedi User interface implementation of environmental data integration system with React
Górski Model-to-model transformations of architecture descriptions of an integration platform
Bultan Software for everyone by everyone
Lilleaas Automated Tests with jUnit 5
Ries UML for BOINC: A Modelling Language Approach for the Development of Distributed Applications based on the Berkeley Open Infrastructure for Network Computing
Koitzsch Pro Hadoop Data Analytics
Yu et al. CodingBlind: Automated Cloud Services Generation From Printed Forms and BPMN
Strøm et al. E-commerce in a distributed system of warehouses

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2395966

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20140127