1,234 research outputs found
Enhancing Energy Production with Exascale HPC Methods
High Performance Computing (HPC) resources have become the key actor for achieving more ambitious challenges in many disciplines. In this step beyond, an explosion on the available parallelism and the use of special purpose
processors are crucial. With such a goal, the HPC4E project applies new exascale HPC techniques to energy industry simulations, customizing them if necessary, and going beyond the state-of-the-art in the required HPC exascale
simulations for different energy sources. In this paper, a general overview of these methods is presented as well as some specific preliminary results.The research leading to these results has received funding from the European Union's Horizon 2020 Programme (2014-2020) under the HPC4E Project (www.hpc4e.eu), grant agreement n° 689772, the Spanish Ministry of
Economy and Competitiveness under the CODEC2 project (TIN2015-63562-R), and
from the Brazilian Ministry of Science, Technology and Innovation through Rede
Nacional de Pesquisa (RNP). Computer time on Endeavour cluster is provided by the
Intel Corporation, which enabled us to obtain the presented experimental results in
uncertainty quantification in seismic imagingPostprint (author's final draft
Towards resource-aware computing for task-based runtimes and parallel architectures
Current large scale systems show increasing power demands, to the point that it has become a huge strain on facilities and budgets. The increasing restrictions in terms of power consumption of High Performance Computing (HPC) systems and data centers have forced hardware vendors to include power capping capabilities in their commodity processors. Power capping opens up new opportunities for applications to directly manage their power behavior at user level. However, constraining power consumption causes the individual sockets of a parallel system to deliver different performance levels under the same power cap, even when they are equally designed, which is an effect caused by manufacturing variability. Modern chips suffer from heterogeneous power consumption due to manufacturing issues, a problem known as manufacturing or process variability. As a result, systems that do not consider such variability caused by manufacturing issues lead to performance degradations and wasted power. In order to avoid such negative impact, users and system administrators must actively counteract any manufacturing variability.
In this thesis we show that parallel systems benefit from taking into account the consequences of manufacturing variability, in terms of both performance and energy efficiency. In order to evaluate our work we have also implemented our own task-based version of the PARSEC benchmark suite. This allows to test our methodology using state-of-the-art parallelization techniques and real world workloads. We present two approaches to mitigate manufacturing variability, by power redistribution at runtime level and by power- and variability-aware job scheduling at system-wide level. A parallel runtime system can be used to effectively deal with this new kind of performance heterogeneity by compensating the uneven effects of power capping. In the context of a NUMA node composed of several multi core sockets, our system is able to optimize the energy and concurrency levels assigned to each socket to maximize performance. Applied transparently within the parallel runtime system, it does not require any programmer interaction like changing the application source code or manually reconfiguring the parallel system. We compare our novel runtime analysis with an offline approach and demonstrate that it can achieve equal performance at a fraction of the cost. The next approach presented in this theis, we show that it is possible to predict the impact of this variability on specific applications by using variability-aware power prediction models. Based on these power models, we propose two job scheduling policies that consider the effects of manufacturing variability for each application and that ensures that power
consumption stays under a system wide power budget. We evaluate our policies under different power budgets and traffic scenarios, consisting of both single- and multi-node parallel applications.Los sistemas modernos de gran escala muestran crecientes demandas de energía, hasta el punto de que se ha convertido en una gran presión para las instalaciones y los presupuestos. Las restricciones crecientes de consumo de energía de los sistemas de alto rendimiento (HPC) y los centros de datos han obligado a los proveedores de hardware a incluir capacidades de limitación de energía en sus procesadores. La limitación de energía abre nuevas oportunidades para que las aplicaciones administren directamente su comportamiento de energía a nivel de usuario. Sin embargo, la restricción en el consumo de energía de sockets individuales de un sistema paralelo resulta en diferentes niveles de rendimiento, por el mismo límite de potencia, incluso cuando están diseñados por igual. Esto es un efecto causado durante el proceso de la fabricación. Los chips modernos sufren de un consumo de energía heterogéneo debido a problemas de fabricación, un problema conocido como variabilidad del proceso o fabricación. Como resultado, los sistemas que no consideran este tipo de variabilidad causada por problemas de fabricación conducen a degradaciones del rendimiento y desperdicio de energía. Para evitar dicho impacto negativo, los usuarios y administradores del sistema deben contrarrestar activamente cualquier variabilidad de fabricación. En esta tesis, demostramos que los sistemas paralelos se benefician de tener en cuenta las consecuencias de la variabilidad de la fabricación, tanto en términos de rendimiento como de eficiencia energética. Para evaluar nuestro trabajo, también hemos implementado nuestra propia versión del paquete de aplicaciones de prueba PARSEC, basada en tareas paralelos. Esto permite probar nuestra metodología utilizando técnicas avanzadas de paralelización con cargas de trabajo del mundo real. Presentamos dos enfoques para mitigar la variabilidad de fabricación, mediante la redistribución de la energía a durante la ejecución de las aplicaciones y mediante la programación de trabajos a nivel de todo el sistema. Se puede utilizar un sistema runtime paralelo para tratar con eficacia este nuevo tipo de heterogeneidad de rendimiento, compensando los efectos desiguales de la limitación de potencia. En el contexto de un nodo NUMA compuesto de varios sockets y núcleos, nuestro sistema puede optimizar los niveles de energía y concurrencia asignados a cada socket para maximizar el rendimiento. Aplicado de manera transparente dentro del sistema runtime paralelo, no requiere ninguna interacción del programador como cambiar el código fuente de la aplicación o reconfigurar manualmente el sistema paralelo. Comparamos nuestro novedoso análisis de runtime con los resultados óptimos, obtenidos de una análisis manual exhaustiva, y demostramos que puede lograr el mismo rendimiento a una fracción del costo. El siguiente enfoque presentado en esta tesis, muestra que es posible predecir el impacto de la variabilidad de fabricación en aplicaciones específicas mediante el uso de modelos de predicción de potencia conscientes de la variabilidad. Basados en estos modelos de predicción de energía, proponemos dos políticas de programación de trabajos que consideran los efectos de la variabilidad de fabricación para cada aplicación y que aseguran que el consumo se mantiene bajo un presupuesto de energía de todo el sistema. Evaluamos nuestras políticas con diferentes presupuestos de energía y escenarios de tráfico, que consisten en aplicaciones paralelas que corren en uno o varios nodos
Towards resource-aware computing for task-based runtimes and parallel architectures
Current large scale systems show increasing power demands, to the point that it has become a huge strain on facilities and budgets. The increasing restrictions in terms of power consumption of High Performance Computing (HPC) systems and data centers have forced hardware vendors to include power capping capabilities in their commodity processors. Power capping opens up new opportunities for applications to directly manage their power behavior at user level. However, constraining power consumption causes the individual sockets of a parallel system to deliver different performance levels under the same power cap, even when they are equally designed, which is an effect caused by manufacturing variability. Modern chips suffer from heterogeneous power consumption due to manufacturing issues, a problem known as manufacturing or process variability. As a result, systems that do not consider such variability caused by manufacturing issues lead to performance degradations and wasted power. In order to avoid such negative impact, users and system administrators must actively counteract any manufacturing variability.
In this thesis we show that parallel systems benefit from taking into account the consequences of manufacturing variability, in terms of both performance and energy efficiency. In order to evaluate our work we have also implemented our own task-based version of the PARSEC benchmark suite. This allows to test our methodology using state-of-the-art parallelization techniques and real world workloads. We present two approaches to mitigate manufacturing variability, by power redistribution at runtime level and by power- and variability-aware job scheduling at system-wide level. A parallel runtime system can be used to effectively deal with this new kind of performance heterogeneity by compensating the uneven effects of power capping. In the context of a NUMA node composed of several multi core sockets, our system is able to optimize the energy and concurrency levels assigned to each socket to maximize performance. Applied transparently within the parallel runtime system, it does not require any programmer interaction like changing the application source code or manually reconfiguring the parallel system. We compare our novel runtime analysis with an offline approach and demonstrate that it can achieve equal performance at a fraction of the cost. The next approach presented in this theis, we show that it is possible to predict the impact of this variability on specific applications by using variability-aware power prediction models. Based on these power models, we propose two job scheduling policies that consider the effects of manufacturing variability for each application and that ensures that power
consumption stays under a system wide power budget. We evaluate our policies under different power budgets and traffic scenarios, consisting of both single- and multi-node parallel applications.Los sistemas modernos de gran escala muestran crecientes demandas de energía, hasta el punto de que se ha convertido en una gran presión para las instalaciones y los presupuestos. Las restricciones crecientes de consumo de energía de los sistemas de alto rendimiento (HPC) y los centros de datos han obligado a los proveedores de hardware a incluir capacidades de limitación de energía en sus procesadores. La limitación de energía abre nuevas oportunidades para que las aplicaciones administren directamente su comportamiento de energía a nivel de usuario. Sin embargo, la restricción en el consumo de energía de sockets individuales de un sistema paralelo resulta en diferentes niveles de rendimiento, por el mismo límite de potencia, incluso cuando están diseñados por igual. Esto es un efecto causado durante el proceso de la fabricación. Los chips modernos sufren de un consumo de energía heterogéneo debido a problemas de fabricación, un problema conocido como variabilidad del proceso o fabricación. Como resultado, los sistemas que no consideran este tipo de variabilidad causada por problemas de fabricación conducen a degradaciones del rendimiento y desperdicio de energía. Para evitar dicho impacto negativo, los usuarios y administradores del sistema deben contrarrestar activamente cualquier variabilidad de fabricación. En esta tesis, demostramos que los sistemas paralelos se benefician de tener en cuenta las consecuencias de la variabilidad de la fabricación, tanto en términos de rendimiento como de eficiencia energética. Para evaluar nuestro trabajo, también hemos implementado nuestra propia versión del paquete de aplicaciones de prueba PARSEC, basada en tareas paralelos. Esto permite probar nuestra metodología utilizando técnicas avanzadas de paralelización con cargas de trabajo del mundo real. Presentamos dos enfoques para mitigar la variabilidad de fabricación, mediante la redistribución de la energía a durante la ejecución de las aplicaciones y mediante la programación de trabajos a nivel de todo el sistema. Se puede utilizar un sistema runtime paralelo para tratar con eficacia este nuevo tipo de heterogeneidad de rendimiento, compensando los efectos desiguales de la limitación de potencia. En el contexto de un nodo NUMA compuesto de varios sockets y núcleos, nuestro sistema puede optimizar los niveles de energía y concurrencia asignados a cada socket para maximizar el rendimiento. Aplicado de manera transparente dentro del sistema runtime paralelo, no requiere ninguna interacción del programador como cambiar el código fuente de la aplicación o reconfigurar manualmente el sistema paralelo. Comparamos nuestro novedoso análisis de runtime con los resultados óptimos, obtenidos de una análisis manual exhaustiva, y demostramos que puede lograr el mismo rendimiento a una fracción del costo. El siguiente enfoque presentado en esta tesis, muestra que es posible predecir el impacto de la variabilidad de fabricación en aplicaciones específicas mediante el uso de modelos de predicción de potencia conscientes de la variabilidad. Basados en estos modelos de predicción de energía, proponemos dos políticas de programación de trabajos que consideran los efectos de la variabilidad de fabricación para cada aplicación y que aseguran que el consumo se mantiene bajo un presupuesto de energía de todo el sistema. Evaluamos nuestras políticas con diferentes presupuestos de energía y escenarios de tráfico, que consisten en aplicaciones paralelas que corren en uno o varios nodos.Postprint (published version
New cross-layer techniques for multi-criteria scheduling in large-scale systems
The global ecosystem of information technology (IT) is in transition to a new generation
of applications that require more and more intensive data acquisition, processing and
storage systems. As a result of that change towards data intensive computing, there is a
growing overlap between high performance computing (HPC) and Big Data techniques in
applications, since many HPC applications produce large volumes of data, and Big Data
needs HPC capabilities.
The hypothesis of this PhD. thesis is that the potential interoperability and convergence
of the HPC and Big Data systems are crucial for the future, being essential the unification
of both paradigms to address a broad spectrum of research domains. For this reason, the
main objective of this Phd. thesis is purposing and developing a monitoring system to
allow the HPC and Big Data convergence, thanks to giving information about behaviors of
applications in a system which execute both kind of them, giving information to improve
scalability, data locality, and to allow adaptability to large scale computers. To achieve
this goal, this work is focused on the design of resource monitoring and discovery to
exploit parallelism at all levels. These collected data are disseminated to facilitate global
improvements at the whole system, and, thus, avoid mismatches between layers. The
result is a two-level monitoring framework (both at node and application level) with
a low computational load, scalable, and that can communicate with different modules
thanks to an API provided for this purpose. All data collected is disseminated to facilitate
the implementation of improvements globally throughout the system, and thus avoid
mismatches between layers, which combined with the techniques applied to deal with fault
tolerance, makes the system robust and with high availability.
On the other hand, the developed framework includes a task scheduler capable of managing
the launch of applications, their migration between nodes, as well as the possibility
of dynamically increasing or decreasing the number of processes. All these thanks to the
cooperation with other modules that are integrated into LIMITLESS, and whose objective
is to optimize the execution of a stack of applications based on multi-criteria policies. This
scheduling mode is called coarse-grain scheduling based on monitoring.
For better performance and in order to further reduce the overhead during the monitorization,
different optimizations have been applied at different levels to try to reduce
communications between components, while trying to avoid the loss of information. To
achieve this objective, data filtering techniques, Machine Learning (ML) algorithms, and
Neural Networks (NN) have been used.
In order to improve the scheduling process and to design new multi-criteria scheduling
policies, the monitoring information has been combined with other ML algorithms to
identify (through classification algorithms) the applications and their execution phases,
doing offline profiling. Thanks to this feature, LIMITLESS can detect which phase is executing an application and tries to share the computational resources with other applications
that are compatible (there is no performance degradation between them when both are
running at the same time). This feature is called fine-grain scheduling, and can reduce the
makespan of the use cases while makes efficient use of the computational resources that
other applications do not use.El ecosistema global de las tecnologías de la información (IT) se encuentra en transición
a una nueva generación de aplicaciones que requieren sistemas de adquisición de datos,
procesamiento y almacenamiento cada vez más intensivo. Como resultado de ese cambio
hacia la computación intensiva de datos, existe una superposición, cada vez mayor, entre
la computación de alto rendimiento (HPC) y las técnicas Big Data en las aplicaciones,
pues muchas aplicaciones HPC producen grandes volúmenes de datos, y Big Data necesita
capacidades HPC.
La hipótesis de esta tesis es que hay un gran potencial en la interoperabilidad y
convergencia de los sistemas HPC y Big Data, siendo crucial para el futuro tratar una
unificación de ambos para hacer frente a un amplio espectro de problemas de investigación.
Por lo tanto, el objetivo principal de esta tesis es la propuesta y desarrollo de un sistema
de monitorización que facilite la convergencia de los paradigmas HPC y Big Data gracias
a la provisión de datos sobre el comportamiento de las aplicaciones en un entorno en
el que se pueden ejecutar aplicaciones de ambos mundos, ofreciendo información útil
para mejorar la escalabilidad, la explotación de la localidad de datos y la adaptabilidad
en los computadores de gran escala. Para lograr este objetivo, el foco se ha centrado en
el diseño de mecanismos de monitorización y localización de recursos para explotar el
paralelismo en todos los niveles de la pila del software. El resultado es un framework
de monitorización en dos niveles (tanto a nivel de nodo como de aplicación) con una
baja carga computacional, escalable, y que se puede comunicar con distintos módulos
gracias a una API proporcionada para tal objetivo. Todos datos recolectados se difunden
para facilitar la realización de mejoras de manera global en todo el sistema, y así evitar
desajustes entre capas, lo que combinado con las técnicas aplicadas para lidiar con la
tolerancia a fallos, hace que el sistema sea robusto y con una alta disponibilidad.
Por otro lado, el framework desarrollado incluye un planificador de tareas capaz de
gestionar el lanzamiento de aplicaciones, la migración de las mismas entre nodos, además
de la posibilidad de incrementar o disminuir su número de procesos de forma dinámica.
Todo ello gracias a la cooperación con otros módulos que se integran en LIMITLESS, y
cuyo objetivo es optimizar la ejecución de una pila de aplicaciones en base a políticas
multicriterio. Esta funcionalidad se llama planificación de grano grueso.
Para un mejor desempeño y con el objetivo de reducir más aún la carga durante la
ejecución, se han aplicado distintas optimizaciones en distintos niveles para tratar de
reducir las comunicaciones entre componentes, a la vez que se trata de evitar la pérdida
de información. Para lograr este objetivo se ha hecho uso de técnicas de filtrado de datos,
algoritmos de Machine Learning (ML), y Redes Neuronales (NN).
Finalmente, para obtener mejores resultados en la planificación de aplicaciones y
para diseñar nuevas políticas de planificación multi-criterio, los datos de monitorización recolectados han sido combinados con nuevos algoritmos de ML para identificar (por
medio de algoritmos de clasificación) aplicaciones y sus fases de ejecución. Todo ello
realizando tareas de profiling offline. Gracias a estas técnicas, LIMITLESS puede detectar
en qué fase de su ejecución se encuentra una determinada aplicación e intentar compartir los
recursos de computacionales con otras aplicaciones que sean compatibles (no se produce
una degradación del rendimiento entre ellas cuando ambas se ejecutan a la vez en el mismo
nodo). Esta funcionalidad se llama planificación de grano fino y puede reducir el tiempo
total de ejecución de la pila de aplicaciones en los casos de uso porque realiza un uso más
eficiente de los recursos de las máquinas.This PhD dissertation has been partially supported by the Spanish Ministry of Science and Innovation under an FPI fellowship associated to a National Project with reference TIN2016-79637-P (from July 1,
2018 to October 10, 2021)Programa de Doctorado en Ciencia y Tecnología Informática por la Universidad Carlos III de MadridPresidente: Félix García Carballeira.- Secretario: Pedro Ángel Cuenca Castillo.- Vocal: María Cristina V. Marinesc
Applying future Exascale HPC methodologies in the energy sector
The appliance of new exascale HPC techniques to energy industry simulations is absolutely needed nowadays. In this sense, the common procedure is to customize these techniques to the specific energy sector they are of interest in order to go beyond the state-of-the-art in the required HPC exascale simulations. With this aim, the HPC4E project is developing new exascale methodologies to three different energy sources that are the present and the future of energy: wind energy production and design, efficient combustion systems for biomass-derived fuels (biogas), and exploration geophysics for hydrocarbon reservoirs. In this work, the general exascale advances proposed as part of HPC4E and its outcome to specific results in different domains are presented.The research leading to these results has received funding from the European Union's Horizon 2020 Programme (2014-2020) under the HPC4E Project (www.hpc4e.eu), grant agreement n° 689772, the Spanish Ministry of Economy and Competitiveness under the CODEC2 project (TIN2015-63562-R), and from the Brazilian Ministry of Science, Technology and Innovation through Rede Nacional de Pesquisa (RNP). Computer time on Endeavour cluster is provided by the Intel Corporation, which enabled us to obtain the presented experimental results in uncertainty quantification in seismic imaging.Postprint (author's final draft
A Three Step Blind Approach for Improving HPC Systems' Energy Performance
International audienceNowadays, there is no doubt that energy consumption has become a limiting factor in the design and operation of high performance computing (HPC) systems. This is evidenced by the rise of efforts both from the academia and the industry to reduce the energy consumption of those systems. Unlike hardware solutions, software initiatives targeting HPC systems' energy consumption reduction despite their effectiveness are often limited for reasons including: (i) the program specific nature of the solution proposed; (ii) the need of deep understanding of applications at hand; (iii) proposed solutions are often difficult to use by novices and/or are designed for single task environments. This paper propose a three step blind system-wide, application independent, fine-grain, and easy to use (user friendly) methodology for improving energy performance of HPC systems. The methodology typically breaks into phase detection, phase characterization, and phase identification and system reconfiguration. And it is blind in the sense that it does not require any knowledge from users. It relies upon reconfigurable capabilities offered by the majority of HPC subsystems -- including the processor, storage, memory, and communication subsystems -- to reduce the overall energy consumption of the system (excluding network equipments) at runtime. We also present an implementation of our methodology through which we demonstrate its effectiveness via static analyses and experiments using benchmarks representative of HPC workloads
Big Data and Large-scale Data Analytics: Efficiency of Sustainable Scalability and Security of Centralized Clouds and Edge Deployment Architectures
One of the significant shifts of the next-generation computing technologies will certainly be in
the development of Big Data (BD) deployment architectures. Apache Hadoop, the BD
landmark, evolved as a widely deployed BD operating system. Its new features include
federation structure and many associated frameworks, which provide Hadoop 3.x with the
maturity to serve different markets. This dissertation addresses two leading issues involved in
exploiting BD and large-scale data analytics realm using the Hadoop platform. Namely,
(i)Scalability that directly affects the system performance and overall throughput using
portable Docker containers. (ii) Security that spread the adoption of data protection practices
among practitioners using access controls. An Enhanced Mapreduce Environment (EME),
OPportunistic and Elastic Resource Allocation (OPERA) scheduler, BD Federation Access Broker
(BDFAB), and a Secure Intelligent Transportation System (SITS) of multi-tiers architecture for
data streaming to the cloud computing are the main contribution of this thesis study
Automatic Rescaling and Tuning of Big Data Applications on Container-Based Virtual Environments
Programa Oficial de Doutoramento en Investigación en Tecnoloxías da Información. 524V01[Resumo]
As aplicacións Big Data actuais evolucionaron dun xeito significativo, dende
fluxos de traballo baseados en procesamento por lotes ata outros máis complexos
que poden requirir múltiples etapas de procesamento usando diferentes tecnoloxías,
e mesmo executándose en tempo real. Doutra banda, para despregar estas aplicacións,
os clusters ‘commodity’ foron substituídos nalgúns casos por paradigmas máis
flexibles como o Cloud, ou mesmo por outros emerxentes como a computación ‘serverless’,
precisando ambos paradigmas de tecnoloxías de virtualización. Esta Tese
propón dúas contornas que proporcionan modos alternativos de realizar unha análise
en profundidade e unha mellor xestión dos recursos de aplicacións Big Data despregadas
en contornas virtuais baseadas en contedores software. Por unha banda, a
contorna BDWatchdog permite realizar unha análise de gran fino e en tempo real
en termos do uso dos recursos do sistema e do perfilado do código. Doutra banda,
descríbese unha contorna para o reescalado dinámico e en tempo real dos recursos
segundo un conxunto de políticas configurables. A primeira política proposta
céntrase no reescalado automático dos recursos dos contedores segundo o uso real
que as aplicacións fan dos mesmos, proporcionando así unha contorna ‘serverless’.
Ademais, preséntase unha política alternativa centrada na xestión enerxética que
permite implementar os conceptos de limitación e presuposto de potencia, que poden
aplicarse a contedores, aplicacións ou mesmo usuarios. En xeral, as contornas
propostas nesta Tese tratan de poñer de relevo o potencial de aplicar novos xeitos de
analizar e axustar os recursos das aplicacións Big Data despregadas en clusters de
contedores, mesmo en tempo real. Os casos de uso presentados son exemplos diso,
demostrando que as aplicacións Big Data poden adaptarse a novas tecnoloxías ou
paradigmas sen teren que cambiar as súas características máis intrínsecas.[Resumen]
Las aplicaciones Big Data actuales han evolucionado de forma significativa, desde
flujos de trabajo basados en procesamiento por lotes hasta otros más complejos que
pueden requerir múltiples etapas de procesamiento usando distintas tecnologías, e incluso
ejecutándose en tiempo real. Por otra parte, para desplegar estas aplicaciones,
los clusters ‘commodity’ se han reemplazado en algunos casos por paradigmas más
flexibles como el Cloud, o incluso por otros emergentes como la computación ‘serverless’,
requiriendo ambos paradigmas de tecnologías de virtualización. Esta Tesis
propone dos entornos que proporcionan formas alternativas de realizar un análisis en
profundidad y una mejor gestión de los recursos de aplicaciones Big Data desplegadas
en entornos virtuales basados en contenedores software. Por un lado, el entorno
BDWatchdog permite realizar un análisis de grano fino y en tiempo real en lo que
respecta a la monitorización de los recursos del sistema y al perfilado del código. Por
otro lado, se describe un entorno para el reescalado dinámico y en tiempo real de
los recursos de acuerdo a un conjunto de políticas configurables. La primera política
propuesta se centra en el reescalado automático de los recursos de los contenedores
de acuerdo al uso real que las aplicaciones hacen de los mismos, proporcionando así
un entorno ‘serverless’. Además, se presenta una política alternativa centrada en la
gestión energética que permite implementar los conceptos de limitación y presupuesto
de potencia, pudiendo aplicarse a contenedores, aplicaciones o incluso usuarios.
En general, los entornos propuestos en esta Tesis tratan de resaltar el potencial de
aplicar nuevas formas de analizar y ajustar los recursos de las aplicaciones Big Data
desplegadas en clusters de contenedores, incluso en tiempo real. Los casos de uso
que se han presentado son ejemplos de esto, demostrando que las aplicaciones Big
Data pueden adaptarse a nuevas tecnologías o paradigmas sin tener que cambiar su
características más intrínsecas.[Abstract]
Current Big Data applications have significantly evolved from its origins, moving
from mostly batch workloads to more complex ones that may involve many processing
stages using different technologies or even working in real time. Moreover, to
deploy these applications, commodity clusters have been in some cases replaced
in favor of newer and more flexible paradigms such as the Cloud or even emerging
ones such as serverless computing, usually involving virtualization techniques.
This Thesis proposes two frameworks that provide alternative ways to perform indepth
analysis and improved resource management for Big Data applications deployed
on virtual environments based on software containers. On the one hand,
the BDWatchdog framework is capable of performing real-time, fine-grain analysis
in terms of system resource monitoring and code profiling. On the other hand, a
framework for the dynamic and real-time scaling of resources according to several
tuning policies is described. The first proposed policy revolves around the automatic
scaling of the containers’ resources according to the real usage of the applications,
thus providing a serverless environment. Furthermore, an alternative policy focused
on energy management is presented in a scenario where power capping and budgeting
functionalities are implemented for containers, applications or even users.
Overall, the frameworks proposed in this Thesis aim to showcase how novel ways
of analyzing and tuning the resources given to Big Data applications in container
clusters are possible, even in real time. The supported use cases that were presented
are examples of this, and show how Big Data applications can be adapted to newer
technologies or paradigms without having to lose their distinctive characteristics
Energy Measurements of High Performance Computing Systems: From Instrumentation to Analysis
Energy efficiency is a major criterion for computing in general and High Performance Computing in particular. When optimizing for energy efficiency, it is essential to measure the underlying metric: energy consumption. To fully leverage energy measurements, their quality needs to be well-understood. To that end, this thesis provides a rigorous evaluation of various energy measurement techniques. I demonstrate how the deliberate selection of instrumentation points, sensors, and analog processing schemes can enhance the temporal and spatial resolution while preserving a well-known accuracy. Further, I evaluate a scalable energy measurement solution for production HPC systems and address its shortcomings.
Such high-resolution and large-scale measurements present challenges regarding the management of large volumes of generated metric data. I address these challenges with a scalable infrastructure for collecting, storing, and analyzing metric data. With this infrastructure, I also introduce a novel persistent storage scheme for metric time series data, which allows efficient queries for aggregate timelines.
To ensure that it satisfies the demanding requirements for scalable power measurements, I conduct an extensive performance evaluation and describe a productive deployment of the infrastructure.
Finally, I describe different approaches and practical examples of analyses based on energy measurement data. In particular, I focus on the combination of energy measurements and application performance traces. However, interweaving fine-grained power recordings and application events requires accurately synchronized timestamps on both sides. To overcome this obstacle, I develop a resilient and automated technique for time synchronization, which utilizes crosscorrelation of a specifically influenced power measurement signal. Ultimately, this careful combination of sophisticated energy measurements and application performance traces yields a detailed insight into application and system energy efficiency at full-scale HPC systems and down to millisecond-range regions.:1 Introduction
2 Background and Related Work
2.1 Basic Concepts of Energy Measurements
2.1.1 Basics of Metrology
2.1.2 Measuring Voltage, Current, and Power
2.1.3 Measurement Signal Conditioning and Analog-to-Digital Conversion
2.2 Power Measurements for Computing Systems
2.2.1 Measuring Compute Nodes using External Power Meters
2.2.2 Custom Solutions for Measuring Compute Node Power
2.2.3 Measurement Solutions of System Integrators
2.2.4 CPU Energy Counters
2.2.5 Using Models to Determine Energy Consumption
2.3 Processing of Power Measurement Data
2.3.1 Time Series Databases
2.3.2 Data Center Monitoring Systems
2.4 Influences on the Energy Consumption of Computing Systems
2.4.1 Processor Power Consumption Breakdown
2.4.2 Energy-Efficient Hardware Configuration
2.5 HPC Performance and Energy Analysis
2.5.1 Performance Analysis Techniques
2.5.2 HPC Performance Analysis Tools
2.5.3 Combining Application and Power Measurements
2.6 Conclusion
3 Evaluating and Improving Energy Measurements
3.1 Description of the Systems Under Test
3.2 Instrumentation Points and Measurement Sensors
3.2.1 Analog Measurement at Voltage Regulators
3.2.2 Instrumentation with Hall Effect Transducers
3.2.3 Modular Instrumentation of DC Consumers
3.2.4 Optimal Wiring for Shunt-Based Measurements
3.2.5 Node-Level Instrumentation for HPC Systems
3.3 Analog Signal Conditioning and Analog-to-Digital Conversion
3.3.1 Signal Amplification
3.3.2 Analog Filtering and Analog-To-Digital Conversion
3.3.3 Integrated Solutions for High-Resolution Measurement
3.4 Accuracy Evaluation and Calibration
3.4.1 Synthetic Workloads for Evaluating Power Measurements
3.4.2 Improving and Evaluating the Accuracy of a Single-Node Measuring System
3.4.3 Absolute Accuracy Evaluation of a Many-Node Measuring System
3.5 Evaluating Temporal Granularity and Energy Correctness
3.5.1 Measurement Signal Bandwidth at Different Instrumentation Points
3.5.2 Retaining Energy Correctness During Digital Processing
3.6 Evaluating CPU Energy Counters
3.6.1 Energy Readouts with RAPL
3.6.2 Methodology
3.6.3 RAPL on Intel Sandy Bridge-EP
3.6.4 RAPL on Intel Haswell-EP and Skylake-SP
3.7 Conclusion
4 A Scalable Infrastructure for Processing Power Measurement Data
4.1 Requirements for Power Measurement Data Processing
4.2 Concepts and Implementation of Measurement Data Management
4.2.1 Message-Based Communication between Agents
4.2.2 Protocols
4.2.3 Application Programming Interfaces
4.2.4 Efficient Metric Time Series Storage and Retrieval
4.2.5 Hierarchical Timeline Aggregation
4.3 Performance Evaluation
4.3.1 Benchmark Hardware Specifications
4.3.2 Throughput in Symmetric Configuration with Replication
4.3.3 Throughput with Many Data Sources and Single Consumers
4.3.4 Temporary Storage in Message Queues
4.3.5 Persistent Metric Time Series Request Performance
4.3.6 Performance Comparison with Contemporary Time Series Storage Solutions
4.3.7 Practical Usage of MetricQ
4.4 Conclusion
5 Energy Efficiency Analysis
5.1 General Energy Efficiency Analysis Scenarios
5.1.1 Live Visualization of Power Measurements
5.1.2 Visualization of Long-Term Measurements
5.1.3 Integration in Application Performance Traces
5.1.4 Graphical Analysis of Application Power Traces
5.2 Correlating Power Measurements with Application Events
5.2.1 Challenges for Time Synchronization of Power Measurements
5.2.2 Reliable Automatic Time Synchronization with Correlation Sequences
5.2.3 Creating a Correlation Signal on a Power Measurement Channel
5.2.4 Processing the Correlation Signal and Measured Power Values
5.2.5 Common Oversampling of the Correlation Signals at Different Rates
5.2.6 Evaluation of Correlation and Time Synchronization
5.3 Use Cases for Application Power Traces
5.3.1 Analyzing Complex Power Anomalies
5.3.2 Quantifying C-State Transitions
5.3.3 Measuring the Dynamic Power Consumption of HPC Applications
5.4 Conclusion
6 Summary and Outloo
- …