[en] Clusters of computers represent an alternative for speeding up scientific applications. Nevertheless applications grow in complexity and need more resources. The joint of distributed clusters, using Internet, in a multi-cluster can allow the resources obtainment. A problem on reaching an effective collaboration from multiple clusters is the increase on the computation and communication heterogeneity. This factor increases the complexity of such a system bringing difficulties in its use. The target of this thesis is to attain the reduction of the execution time of applications, originally written for a single cluster, efficiently using a multi-cluster. In order to reach this goal we propose a system architecture, an analytical model and a performance and tuning methodology. The proposed system architecture aims to obtain a multi-cluster virtual machine, transparent to the application and that provides scalability and robustness, tolerating possible faults in the Internet communication between clusters. This architecture is organized around a hierarchical master-worker with communication managers. Communication managers are a key element responsible for the robustness, security and transparency in the communication between clusters using Internet. The analytical performance model was developed to estimate the execution time and efficiency of an application executing in a multi-cluster. The precision on the estimations are over 90%. The proposed performance prediction and application tuning methodology is a procedure that defines the steps to predict the execution time and efficiency, to guarantee an efficiency threshold and to guide on the application tuning, evaluating the execution bottlenecks.

[es] Los clusters de computadores son una alternativa actual usada para el cómputo de aplicaciones científicas. Sin embargo las aplicaciones crecen en complejidad y necesitan más recursos. Unir estos clusters distribuidos usando Internet en un multi-cluster puede permitir lograrlo. Un problema que se introduce con esta colaboración es un incremento en la heterogeneidad tanto de cómputo como de comunicación, aumentando la complejidad de dicho sistema lo que dificulta su uso. El objetivo de esta tesis es lograr la reducción del tiempo de ejecución de aplicaciones, originalmente desarrolladas para un cluster, usando eficientemente un multi-cluster. Proponemos una arquitectura del sistema para lograr una máquina virtual multi-cluster transparente a la aplicación que además la dota de escalabilidad y robustez tolerando los problemas de la comunicación por Internet. Esta arquitectura propone un master-worker jerárquico en el que se introducen elementos claves como los gestores de comunicación que dotan al sistema de robustez, seguridad y transparencia en las comunicaciones entre clusters a través de Internet. Desarrollamos un modelo de prestaciones para poder hacer una estimación teórica del tiempo de ejecución y de la eficiencia de una aplicación ejecutándose en un multi-cluster. La precisión de las estimaciones es superior al 90%. Proponemos una metodología que da un procedimiento que define los pasos para realizar la predicción del tiempo de ejecución, para garantizar un umbral de eficiencia seleccionando los recursos adecuados y para guiar a la sintonización de la aplicación encontrando los cuellos de botella de la ejecución.