6 research outputs found

    Energy Concerns with HPC Systems and Applications

    Full text link
    For various reasons including those related to climate changes, {\em energy} has become a critical concern in all relevant activities and technical designs. For the specific case of computer activities, the problem is exacerbated with the emergence and pervasiveness of the so called {\em intelligent devices}. From the application side, we point out the special topic of {\em Artificial Intelligence}, who clearly needs an efficient computing support in order to succeed in its purpose of being a {\em ubiquitous assistant}. There are mainly two contexts where {\em energy} is one of the top priority concerns: {\em embedded computing} and {\em supercomputing}. For the former, power consumption is critical because the amount of energy that is available for the devices is limited. For the latter, the heat dissipated is a serious source of failure and the financial cost related to energy is likely to be a significant part of the maintenance budget. On a single computer, the problem is commonly considered through the electrical power consumption. This paper, written in the form of a survey, we depict the landscape of energy concerns in computer activities, both from the hardware and the software standpoints.Comment: 20 page

    Energy Measurements of High Performance Computing Systems: From Instrumentation to Analysis

    Get PDF
    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

    Performance Evaluation of Linux Operating Systems

    Get PDF
    Recently Linux has undergone a significant progress and since it provides many helpful features to companies and home users it has become one of the most commonly used operating systems in IT industry Considering the popularity of available Linux distributions three Linux desktop distributions were selected for further evaluation The idea of this paper is to evaluate performance and compare three different Linux distributions and their influence on processor memory graphics system and disk drive performance Measurements were performed with a three different benchmarking tools specialized for a specific computer component All Linux operating system distributions were installed on the same desktop computer and based on the achieved performance measurement results it was concluded that the best results were achieved by using Pop OS 20 04 Linux distribution which is very surprising because it is a relatively new distribution on the marke

    Power limiting mechanisms

    Get PDF

    Ein Framework zur Optimierung der Energieeffizienz von HPC-Anwendungen auf der Basis von Machine-Learning-Methoden

    Get PDF
    Ein üblicher Ansatzpunkt zur Verbesserung der Energieeffizienz im High Performance Computing (HPC) ist, neben Verbesserungen an der Hardware oder einer effizienteren Nachnutzung der Wärme des Systems, die Optimierung der ausgeführten Programme. Dazu können zum Beispiel energieoptimale Einstellungen, wie die Frequenzen des Prozessors, für verschiedene Programmfunktionen bestimmt werden, um diese dann im späteren Verlauf des Programmes anwenden zu können. Mit jeder Änderung des Programmes kann sich dessen optimale Einstellung ändern, weshalb diese zeitaufwendig neu bestimmt werden muss. Das stellt eine wesentliche Hürde für die Anwendung solcher Verfahren dar. Dieser Prozess des Bestimmens der optimalen Frequenzen kann mithilfe von Machine-Learning-Methoden vereinfacht werden, wie in dieser Arbeit gezeigt wird. So lässt sich mithilfe von sogenannten Performance-Events ein neuronales Netz erstellen, mit dem während der Ausführung des Programmes die optimalen Frequenzen automatisch geschätzt werden können. Performance-Events sind prozessorintern und können Einblick in die Abläufe im Prozessor gewähren. Bei dem Einsatz von Performance-Events gilt es einige Fallstricke zu vermeiden. So werden die Performance-Events von Performance-Countern gezählt. Die Anzahl der Counter ist allerdings begrenzt, womit auch die Anzahl der Events, die gleichzeitig gezählt werden können, limitiert ist. Eine für diese Arbeit wesentliche Fragestellung ist also: Welche dieser Events sind relevant und müssen gezählt werden? Bei der Beantwortung dieser Frage sind Merkmalsauswahlverfahren hilfreich, besonders sogenannte Filtermethoden, bei denen die Merkmale vor dem Training ausgewählt werden. Viele bekannte Methoden gehen dabei entweder davon aus, dass die Zusammenhänge zwischen den Merkmalen linear sind, wie z. B. bei Verfahren, die den Pearson-Korrelationskoeffizienten verwenden, oder die Daten müssen in Klassen eingeteilt werden, wie etwa bei Verfahren, die auf der Transinformation beruhen. Beides ist für Performance-Events nicht ideal. Auf der einen Seite können keine linearen Zusammenhänge angenommen werden. Auf der anderen Seite bedeutet das Einteilen in Klassen einen Verlust an Information. Um diese Probleme zu adressieren, werden in dieser Arbeit bestehende Merkmalsauswahlverfahren mit den dazugehörigen Algorithmen analysiert, neue Verfahren entworfen und miteinander verglichen. Es zeigt sich, dass mit neuen Verfahren, die auf sogenannten Copulas basieren, auch nichtlineare Zusammenhänge erkannt werden können, ohne dass die Daten in Klassen eingeteilt werden müssen. So lassen sich schließlich einige Events identifiziert, die zusammen mit neuronalen Netzen genutzt werden können, um die Energieeffizienz von HPC-Anwendung zu steigern. Das in dieser Arbeit erstellte Framework erfüllt dabei neben der Auswahl der Performance-Events weitere Aufgaben: Es stellt sicher, dass diverse Programmteile mit verschiedenen optimalen Einstellungen voneinander unterschieden werden können. Darüber hinaus sorgt das Framework dafür, dass genügend Daten erzeugt werden, um ein neuronales Netz zu trainieren, und dass dieses Netz später einfach genutzt werden kann. Dabei ist das Framework so flexibel, dass auch andere Machine-Learning-Methoden getestet werden können. Die Leistungsfähigkeit des Frameworks wird abschließend in einer Ende-zu-Ende-Evaluierung an einem beispielhaften Programm demonstriert. Die Evaluierung il­lus­t­riert, dass bei nur 7% längerer Laufzeit eine Energieeinsparung von 24% erzielt werden kann und zeigt damit, dass mit Machine-Learning-Methoden wesentliche Energieeinsparungen erreicht werden können.:1 Einleitung und Motiovation 2 Energieeffizienz und Machine-Learning – eine thematische Einführung 2.1 Energieeffizienz von Programmen im Hochleistungsrechnen 2.1.1 Techniken zur Energiemessung oder -abschätzung 2.1.2 Techniken zur Beeinflussung der Energieeffizienz in der Hardware 2.1.3 Grundlagen zur Performanceanalyse 2.1.4 Regionsbasierte Ansätze zur Erhöhung der Energieeffizienz 2.1.5 Andere Ansätze zur Erhöhung der Energieeffizienz 2.2 Methoden zur Merkmalsauswahl 2.2.1 Merkmalsauswahlmethoden basierend auf der Informationstheorie 2.2.2 Merkmalsauswahl für stetige Merkmale 2.2.3 Andere Verfahren zur Merkmalsauswahl 2.3 Machine-Learning mit neuronalen Netzen 2.3.1 Neuronale Netze 2.3.2 Backpropagation 2.3.3 Aktivierungsfunktionen 3 Merkmalsauswahl für mehrdimensionale nichtlineare Abhängigkeiten 3.1 Analyse der Problemstellung, Merkmale und Zielgröße 3.2 Merkmalsauswahl mit mehrdimensionaler Transinformation für stetige Merkmale 3.2.1 Mehrdimensionale Copula-Entropie und mehrdimensionale Transinformation 3.2.2 Schätzung der mehrdimensionalen Transinformation basierend auf Copula-Dichte 3.3 Normierung 3.4 Vergleich von Copula-basierten Maßzahlen mit der klassischen Transinformation und dem Pearson-Korrelationskoeffizienten 3.4.1 Deterministische Abhängigkeit zweier Variablen 3.4.2 UnabhängigkeitVergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5 Vergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5.1 Erzeugung synthetischer Daten 3.5.2 Szenario 1 – fünf relevante Merkmale 3.5.3 Szenario 2 – fünf relevante Merkmale, fünf wiederholte Merkmale 3.5.4 Schlussfolgerungen aus den Simulationen 3.6 Zusammenfassung 4 Entwicklung und Umsetzung des Frameworks 4.1 Erweiterungen der READEX Runtime Library 4.1.1 Grundlegender Aufbau der READEX Runtime Library 4.1.2 Call-Path oder Call-Tree 4.1.3 Calibration-Module 4.2 Testsystem 4.2.1 Architektur 4.2.2 Bestimmung des Offsets zur Energiemessung mit RAPL 4.3 Verwendete Benchmarks zur Erzeugung der Datengrundlage 4.3.1 Datensatz 1: Der Stream-Benchmark 4.3.2 Datensatz 2: Eine Sammlung verschiedener Benchmarks 4.4 Merkmalsauswahl und Modellgenerierung 4.4.1 Datenaufbereitung 4.4.2 Merkmalsauswahl Algorithmus 4.4.3 Performance-Events anderer Arbeiten zum Vergleich 4.4.4 Erzeugen und Validieren eines Modells mithilfe von TensorFlow und Keras 4.5 Zusammenfassung 5 Evaluierung des Ansatzes 5.1 Der Stream-Benchmark 5.1.1 Analyse der gewählten Merkmale 5.1.2 Ergebnisse des Trainings 5.2 Verschiedene Benchmarks 5.2.1 Ausgewählte Merkmale 5.2.2 Ergebnisse des Trainings 5.3 Energieoptimierung einer Anwendung 6 Zusammenfassung und Ausblick Literatur Abbildungsverzeichnis Tabellenverzeichnis QuelltextverzeichnisThere are a variety of different approaches to improve energy efficiency in High Performance Computing (HPC). Besides advances to the hardware or cooling systems, optimising the executed programmes' energy efficiency is another a promising approach. Determining energy-optimal settings of program functions, such as the processor frequency, can be applied during the program's execution to reduce energy consumption. However, when the program is modified, the optimal setting might change. Therefore, the energy-optimal settings need to be determined again, which is a time-consuming process and a significant impediment for applying such methods. Fortunately, finding the optimal frequencies can be simplified using machine learning methods, as shown in this thesis. With the help of so-called performance events, a neural network can be trained, which can automatically estimate the optimal processor frequencies during program execution. Performance events are processor-specific and can provide insight into the procedures of a processor. However, there are some pitfalls to be avoided when using performance events. Performance events are counted by performance counters, but as the number of counters is limited, the number of events that can be counted simultaneously is also limited. This poses the question of which of these events are relevant and need to be counted. % Though the issue has received some attention in several publications, a convincing solution remains to be found. In answering this question, feature selection methods are helpful, especially so-called filter methods, where features are selected before the training. Unfortunately, many feature selection methods either assume a linear correlation between the features, such as methods using the Pearson correlation coefficient or require data split into classes, particularly methods based on mutual information. Neither can be applied to performance events as linear correlation cannot be assumed, and splitting the data into classes would result in a loss of information. In order to address that problem, this thesis analyses existing feature selection methods together with their corresponding algorithms, designs new methods, and compares different feature selection methods. By utilising new methods based on the mathematical concept of copulas, it was possible to detect non-linear correlations without splitting the data into classes. Thus, several performance events could be identified, which can be utilised together with neural networks to increase the energy efficiency of HPC applications. In addition to selecting performance events, the created framework ensures that different programme parts, which might have different optimal settings, can be identified. Moreover, it assures that sufficient data for the training of the neural networks is generated and that the network can easily be applied. Furthermore, the framework is flexible enough to evaluate other machine learning methods. Finally, an end-to-end evaluation with a sample application demonstrated the framework's performance. The evaluation illustrates that, while extending the runtime by only 7%, energy savings of 24% can be achieved, showing that substantial energy savings can be attained using machine learning approaches.:1 Einleitung und Motiovation 2 Energieeffizienz und Machine-Learning – eine thematische Einführung 2.1 Energieeffizienz von Programmen im Hochleistungsrechnen 2.1.1 Techniken zur Energiemessung oder -abschätzung 2.1.2 Techniken zur Beeinflussung der Energieeffizienz in der Hardware 2.1.3 Grundlagen zur Performanceanalyse 2.1.4 Regionsbasierte Ansätze zur Erhöhung der Energieeffizienz 2.1.5 Andere Ansätze zur Erhöhung der Energieeffizienz 2.2 Methoden zur Merkmalsauswahl 2.2.1 Merkmalsauswahlmethoden basierend auf der Informationstheorie 2.2.2 Merkmalsauswahl für stetige Merkmale 2.2.3 Andere Verfahren zur Merkmalsauswahl 2.3 Machine-Learning mit neuronalen Netzen 2.3.1 Neuronale Netze 2.3.2 Backpropagation 2.3.3 Aktivierungsfunktionen 3 Merkmalsauswahl für mehrdimensionale nichtlineare Abhängigkeiten 3.1 Analyse der Problemstellung, Merkmale und Zielgröße 3.2 Merkmalsauswahl mit mehrdimensionaler Transinformation für stetige Merkmale 3.2.1 Mehrdimensionale Copula-Entropie und mehrdimensionale Transinformation 3.2.2 Schätzung der mehrdimensionalen Transinformation basierend auf Copula-Dichte 3.3 Normierung 3.4 Vergleich von Copula-basierten Maßzahlen mit der klassischen Transinformation und dem Pearson-Korrelationskoeffizienten 3.4.1 Deterministische Abhängigkeit zweier Variablen 3.4.2 UnabhängigkeitVergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5 Vergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5.1 Erzeugung synthetischer Daten 3.5.2 Szenario 1 – fünf relevante Merkmale 3.5.3 Szenario 2 – fünf relevante Merkmale, fünf wiederholte Merkmale 3.5.4 Schlussfolgerungen aus den Simulationen 3.6 Zusammenfassung 4 Entwicklung und Umsetzung des Frameworks 4.1 Erweiterungen der READEX Runtime Library 4.1.1 Grundlegender Aufbau der READEX Runtime Library 4.1.2 Call-Path oder Call-Tree 4.1.3 Calibration-Module 4.2 Testsystem 4.2.1 Architektur 4.2.2 Bestimmung des Offsets zur Energiemessung mit RAPL 4.3 Verwendete Benchmarks zur Erzeugung der Datengrundlage 4.3.1 Datensatz 1: Der Stream-Benchmark 4.3.2 Datensatz 2: Eine Sammlung verschiedener Benchmarks 4.4 Merkmalsauswahl und Modellgenerierung 4.4.1 Datenaufbereitung 4.4.2 Merkmalsauswahl Algorithmus 4.4.3 Performance-Events anderer Arbeiten zum Vergleich 4.4.4 Erzeugen und Validieren eines Modells mithilfe von TensorFlow und Keras 4.5 Zusammenfassung 5 Evaluierung des Ansatzes 5.1 Der Stream-Benchmark 5.1.1 Analyse der gewählten Merkmale 5.1.2 Ergebnisse des Trainings 5.2 Verschiedene Benchmarks 5.2.1 Ausgewählte Merkmale 5.2.2 Ergebnisse des Trainings 5.3 Energieoptimierung einer Anwendung 6 Zusammenfassung und Ausblick Literatur Abbildungsverzeichnis Tabellenverzeichnis Quelltextverzeichni

    Матеріали VІІІ науково-технічної конференції „Інформаційні моделі, системи та технології“

    Get PDF
    Напрямки роботи конференції: Математичне моделювання Інформаційні системи та технології, кібербезпека Комп’ютерні системи та мережі Програмна інженерія та моделювання складних розподілених систем Новітні фізико-технічні та освітні технологі
    corecore