5 research outputs found
Synapse: Synthetic Application Profiler and Emulator
We introduce Synapse motivated by the needs to estimate and emulate workload
execution characteristics on high-performance and distributed heterogeneous
resources. Synapse has a platform independent application profiler, and the
ability to emulate profiled workloads on a variety of heterogeneous resources.
Synapse is used as a proxy application (or "representative application") for
real workloads, with the added advantage that it can be tuned at arbitrary
levels of granularity in ways that are simply not possible using real
applications. Experiments show that automated profiling using Synapse
represents application characteristics with high fidelity. Emulation using
Synapse can reproduce the application behavior in the original runtime
environment, as well as reproducing properties when used in a different
run-time environments
Framework para la extracción automática de firmas de aplicaciones HPC para estimación de energía
La reciente expansión de sectores que procesan grandes cantidades de datos (Inteligencia artificial, análisis, banca, etc.) ha elevado en los últimos años el consumo de energía, obretodo en los centros de datos destinados a la computación, pero no solo eso, sino también gastos derivados al mantenimiento de los mismos. En un centro de datos podemos encontrarnos tres tipos principales de consumo energético: Gastos de refrigeración, de cómputo o equipos TI (Tecnología de la Información) e infraestructuras, ordenados según su contribución al propio consumo energético.
A pesar de los recientes avances en términos de optimización del consumo de energía, los centros de datos siguen generando un alto consumo de energía. Para mejorar la eficiencia energética se han desarrollado técnicas como power budgeting, power capping ó resource management, asociadas al consumo generado por el sector TI. Estas técnicas necesitan el dato de estimación de energía de las aplicaciones que se van a ejecutar. Las técnicas tradicionales obtienen el dato de consumo energético mediante un profiling dinámico de toda la ejecución de la aplicación. Esto no es asumible en escenarios de High Performance Computing (HPC) debido a que las ejecuciones son muy largas (horas o días).
En un trabajo previo se ha desarrollado una metodología capaz de realizar una estimación rápida del consumo de energía para aplicaciones de tipo HPC sin la necesidad de ejecutar toda la aplicación y mediante un proceso automático [1]. En esta metodología se describe la aplicación de un profiling dinámico sobre una versión reducida de la aplicación, la cuál se define en la metodología desarrollada como firma de la aplicación.
Por tanto, en este trabajo se ha desarrollado un framework capaz de implementar la metodología de estimación rápida de energía mencionada anteriormente. El framework funciona de forma automática sin la necesidad de interacción por parte del usuario y además, posee funcionalidades secundarias que aportan la información necesaria para poder observar los datos obtenidos durante cada etapa de la metodología.
La herramienta se ha validado con aplicaciones reales de tipo HPC, y los resultados obtenidos se han comparado con otros resultados generados previamente de forma manual, con la intención de verificar que el proceso automatizado se realiza correctamente
Statistical Techniques to Model and Optimize Performance of Scientific, Numerically Intensive Workloads
Projecting performance of applications and hardware is important to several market segments—hardware designers, software developers, supercomputing centers, and end users. Hardware designers estimate performance of current applications on future systems when designing new hardware. Software developers make performance estimates to evaluate performance of their code on different architectures and input datasets. Supercomputing centers try to optimize the process of matching computing resources to computing needs. End users requesting time on supercomputers must provide estimates of their application’s run time, and incorrect estimates can lead to wasted supercomputing resources and time. However, application performance is challenging to predict because it is affected by several factors in application code, specifications of system hardware, choice of compilers, compiler flags, and libraries.
This dissertation uses statistical techniques to model and optimize performance of scientific applications across different computer processors. The first study in this research offers statistical models that predict performance of an application across different input datasets prior to application execution. These models guide end users to select parameters that produce optimal application performance during execution. The second study offers a suite of statistical models that predict performance of a new application on a new processor. Both studies present statistical techniques that can be generalized to analyze, optimize, and predict performance of diverse computation- and data-intensive applications on different hardware