This work is dedicated to my parents brothers and to the love of my life. I hope I can give you back in some way all the love received from all of you.
AbstractPerformance prediction and application behavior modeling have been the subject of extensive research that aim to estimate applications performance with an acceptable precision. A novel approach to predict the performance of parallel applications is based in the concept of Parallel Application Signatures [36] that consists in extract an application most relevant parts (phases) and the number of times they repeat (weights). Executing these phases in a target machine and multiplying its exeuction time by its weight an estimation of the application total execution time can be made.One of the problems is that the performance of an application depends on the program workload. Every type of workload affects differently how an application performs in a given system and so affects the signature execution time.Since the workloads used in most scientific parallel applications have dimensions and data ranges well known and the behavior of these applications are mostly deterministic, a model of how the programs workload affect its performance can be obtained. We create a new methodology to model how a program's workload affect the parallel application signature.Using regression analysis we are able to generalize each phase time execution and weight function to predict an application performance in a target system for any type of workload within predefined range. We validate our methodology using a synthetic program, benchmarks applications and well known real scientific applications.
ResumenLa predicci贸n del rendimiento y el modelado del comportamiento de las aplicaciones son t贸picos ampliamente estudiados y se cuentan con numerosos trabajos de investigaci贸n que pretenden estimar el rendimiento de la aplicaciones con una precisi贸n aceptable. Un nuevo enfoque para predecir enfoque para predecir el rendimiento de aplicaciones paralelas es el basado en el concepto de las firmas de aplicaciones paralelas [36] que consiste en extraer las partes mas relevantes de una aplicaci贸n (fases) y el numero de veces que se repiten (pesos). Ejecutando estas fases en una maquina destino y multiplicando su tiempo de ejecuci贸n por su peso, se puede obtener una estimaci贸n del tiempo total de ejecuci贸n de la aplicaci贸n.Uno de los problemas es que el rendimiento de una aplicaci贸n depende de la carga de trabajo de esta. Cada tipo de carga de trabajo afecta de manera distinta el rendimiento que tiene una aplicaci贸n en un sistema determinado y por lo tanto el tiempo de ejecuci贸n de la firma.Dado que las cargas de trabajo de la mayor铆a de las aplicaciones cient铆ficas paralelas, tienen dimensiones y rango de datos bien conocidos y que el comportamiento de estas aplicaciones es generalmente determinista, se puede obtener un modelo de como la carga de trabajo de un programa afecta su rendimiento. Hemos creado una nueva metodolog铆a para modelar como la carga de trabajo de un programa afecta a la f...