Power Management. Michael Müller vorname.nachname@cs.tu-dortmund.de. Energiesparen in eingebetteten Betriebssystemen

Ähnliche Dokumente
Software ubiquitärer Systeme

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

SSDs und Flash Memory. Matthias Müller 16.Juni 2010 Institut für Verteilte Systeme

Projekt Kanton Thurgau Energieverbrauch im Büro Top 5 Stromfresser

Mobile App Development. - Alarm -

Facharbeit Informatik. Thema:

Elektrische Spannung und Stromstärke

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Energieeffiziente Empfänger in Sensornetzwerken

Quanton Manual (de) Datum: URL: )

An integrated total solution for automatic job scheduling without user interaction

4D Server v12 64-bit Version BETA VERSION

Dynamic Ressource Management

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

Mikrocontroller Grundlagen. Markus Koch April 2011

LPT1 Anschluss mit PCMCIA Karte

Proling von Software-Energieverbrauch

Bedienungsanleitung für das Tektronix Oszilloskop TDS 2002B

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

Einführung in die Welt der Microcontroller

Einführung. Das Tor Netzwerk. Fazit. Eine Einführung. Michael Gröning. Hochschule für Angewandte Wissenschaften Hamburg

Support-Tipp Mai Release Management in Altium Designer

Fragebogen Auswahl Schrittmotor-System

Grundbegriffe der Informatik

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

DST EINFÜHRUNG IN MRT (V2)

Fragen zur GridVis MSSQL-Server

Tipps zum Energiesparen

Protokoll des Versuches 7: Umwandlung von elektrischer Energie in Wärmeenergie

Lizenzierung von System Center 2012

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

5. PC-Architekturen und Bussysteme

ICCS Prop CAN. Merkmale. Anwendungsgebiete. Gehäuse

Installation der SAS Foundation Software auf Windows

AVR Experimentierboard

Die DeskCenter Management Suite veröffentlicht neue Version 8.1

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Zur Konfiguration werden hierbei das Setup-Tool und die Shell verwendet.

Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf

Messung der Auswirkungen von ionisierender Strahlung auf CMOS Schaltungen

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

Objektorientiertes Software-Engineering

Moderne Organisationen brauchen Flexibilität

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop

Übung - Verwaltung der Gerätetreiber mit dem Geräte-Manager in Windows 7

Architekturplanung und IS-Portfolio-

Rechner- und Systemoptimierung für die Benutzung von WinPC-NC Light und WinPC-NC Economy

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Modulares, flexibles UltraCap Balancing und Management System

Switching. Übung 2 System Management. 2.1 Szenario

Die Installation eines MS SQL Server 2000 mit SP3a wird in diesem Artikel nicht beschrieben und vorausgesetzt.

Bedienungsanleitung Version 1.0

Dokumentation EGVP-Übertmittlungsfehler bei Server-Engpässen Vorgehensweise Seite 1 von 5

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

Ziel: Abfrage von Vorwissen oder Überprüfung des vermittelten Wissens. Teilweise sind Mehrfachnennungen möglich.

Strom - Spannungscharakteristiken

Samsung Large Format Display

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Toshiba Tools Im folgenden Text erhalten Sie eine Übersicht über die Funktion der folgenden Toshiba - Tools

Algorithmische Kryptographie

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Oventrop unterstützt Handwerker bei der Umsetzung der ErP-Richtlinie zu Heizgeräten

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Professionelle Seminare im Bereich MS-Office

Informationsblatt Induktionsbeweis

Strom in unserem Alltag

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Beschreibung. Elektronischer Münzprüfer G

DWA-140: Betrieb unter Mac OS X Über dieses Dokument. Vorbereitungen. Laden der Treiber aus dem Internet - 1 -

Herausforderungen des Enterprise Endpoint Managements

3. Anlegen eines WIN CC Projektes

TIPES Fernabschlag Programm Beschreibung

Übungsaufgaben zum 5. Versuch 13. Mai 2012

Applikationsvirtualisierung in der Praxis. Vortrag an der IHK Südlicher Oberrhein, Freiburg Thomas Stöcklin / 2007 thomas.stoecklin@gmx.

Hilfe bei der Qual der Wahl

AOSTA. Aspects in Operating Systems: Tools and Applications

Task: Nmap Skripte ausführen

Installationsbeschreibung Flottenmanager 7.1

MN Stickstoff-Station

Pflichtenheft. Projektteam. Rexford Osei - Frey Michael Weichert Thomas Thutewohl. Pflichtenheft Seite 1 von 7

TechNote: Exchange Journaling aktivieren

Stromanbieter-Studie Vertragsbedingungen und Service Exkurs: Preisspannen

Tabelle 139: DO479 Bestelldaten. Produktbezeichnung C-UL-US gelistet B&R ID-Code $40 Anzahl der Ausgänge gesamt in 2 Gruppen zu

DC-USV-Anlagen, Puffermodule, Schaltnetzteile, AC-USV-Anlagen und Wechselrichter

Grüne Innovationen im Auto

In welchem Betriebszustand verbrauchen ausgewählte Geräte pro Jahr den meisten Strom?

Anton Ochsenkühn OS X. amac BUCH VE R LAG. Mountain Lion. Alle News auf einen Blick, kompakt und kompetent. amac-buch Verlag. inkl.

i-tec USB 3.0 Gigabit Ethernet Adapter Gebrauchsanweisung

SNr bis mit Gigabyte AMD K7 Mainboard. Konfiguration 7 und 7M

Transkript:

Power Management Energiesparen in eingebetteten Betriebssystemen Michael Müller vorname.nachname@cs.tu-.de AG Eingebettete System Informatik 12, TU Dortmund

Inhalt Einleitung Warum Energie sparen? Elektrotechnische Grundlagen Energiesparen per DVS Peripherie und Power-Management Energiemodelle in Betriebssystem Zusammenfassung 2

Inhalt Einleitung Warum Energie sparen? Elektrotechnische Grundlagen Energiesparen per DVS Peripherie und Power-Management Energiemodelle in Betriebssystem Zusammenfassung 3

Energieverbrauch Beispiel MSP430FR59xx mit TI CC1200 und Low Power Display CPU FRAM (typ) Funk (senden)l Funk (empf) Display AES Modul Stromaufnahme CPU 1920 μa FRAM 1845 μa1 Funken (Senden) 33600 μa Funken (Empfangen) 19000 μa Display 6 μa AES 336 μa Quelle: www.ti.com, Datasheet MSP430FR59xx, [2] 1 typischer Verbrauch bei Ablauf eines Programms 4

Energieverbrauch Beispiel MSP430FR59xx mit TI CC1200 und Low Power Display Modul Stromaufnahme CPU 1920 μa FRAM 1845 μa1 Funken (Empfangen) 19000 μa Display 6 μa AES 336 μa Funken sehr teuer! Aber CPU bereits auf Platz 2 33600 μa Fazit: Nur selten Funken undfunken CPU sparsam (Senden) verwenden Aber wie? CPU FRAM (typ) Funk (senden)l Funk (empf) Display AES Quelle: www.ti.com, Datasheet MSP430FR59xx, [2] 1 typischer Verbrauch bei Ablauf eines Programms 5

Inhalt Einleitung Warum Energie sparen? Elektrotechnische Grundlagen Energiesparen per DVS Peripherie und Power-Management Energiemodelle in Betriebssystem Zusammenfassung 6

Wodurch enstehen die Verluste? Umwandlung von Energie in Wärme Verursacht durch Stromfluss in der Schaltung Physikalischer Zusammenhang zwischen Stromfluss und Energie E = P Δt (Energie = Leistung Zeit) P=U I (Leistung = Spannung Strom) 7

CMOS-Technologie CMOS heute dominierende Technologie für CPUs und Speicher Basiert auf komplementär verschalteten MOSFETs Stromfluss nur beim Schalten Leistung Leistung einer einer CMOS-Schaltung: CMOS-Schaltung: PP = =C C U U22 ff + + IILL U U C C U U ff IILL Schaltkapazität Schaltkapazität Versorgungsspannung Versorgungsspannung Schaltfrequenz Schaltfrequenz Leckstrom Leckstrom (in (in der der Regel Regel vernachlässigbar) vernachlässigbar) 8

CMOS-Technologie CMOS heute dominierende Technologie für CPUs und Speicher Basiert auf komplementär verschalteten MOSFETs Stromfluss nur beim Schalten Fazit: Größtes Energiesparpontenzial durch Reduktion der Betriebsspannug Aber Reduktion auch der Taktrate Leistung einer PP = ff + Leistung einer CMOS-Schaltung: CMOS-Schaltung: =C C U U22(Frequenz) + IIL U U nötig C C U U ff IILL L Schaltkapazität Schaltkapazität Versorgungsspannung Versorgungsspannung Schaltfrequenz Schaltfrequenz Leckstrom Leckstrom (in (in der der Regel Regel vernachlässigbar) vernachlässigbar) 9

Techniken Überblick Dynamic Voltage and Frequency Scaling (DVFS) Dynamische Anpassung von Taktfrequenz und Spannung um Energie zu sparen Setzt geschicktes Scheduling vorraus Clock-Gating Abschalten des Taktes für CPU, Peripherie durch eine zusätzliche Hardwarekomponente (Gate) Softwareumsetzung meist durch Sleep Modes Sleep Modes Modi zum Abschalten bestimmter Komponenten Werden durch Software-Instruktionen ausgewählt 10

Sleep Modes Dienen dazu bestimmte Peripheriegeräte abzuschalten Modus bestimmt welche Geräte abgeschaltet werden Deutliches Energiesparpotenzial, z.b. MSP430 Modus Eigenschaften Stromaufnahme Aufwachzeit AM Aktivmodus ~1420 μa LPM0 CPU und MCLK angehalten ~225 μa 0 μs LPM1 FRAM aus, DCO wenn nicht nötig ~180 μa 6 μs LPM2 SMCLK, DCO aus ~0,9 μa 7 μs LPM3 VCC für DCO aus ~0.6 μa 7 μs LPM4 ACLK aus ~0.5 μa 7 μs LPM3.5 Nur RTC arbeitet ~0.45 μa 250 μs LPM4.5 Alle CLKs und Komponenten aus ~0.2 μa 250 μs 11

Inhalt Einleitung Warum Energie sparen? Elektrotechnische Grundlagen Energiesparen per DVS Peripherie und Power-Management Energiemodelle in Betriebssystemen Zusammenfassung 12

Einfache Heuristik: PAST [7] Idle-Zeiten Idle-Zeitenund undlaufzeiten Laufzeitenbestimmen bestimmen Letzte LetzteCPU-Last CPU-Lastberechnen berechnen Überhang Überhangfür fürnächste nächsteperiode Periodeberechnen berechnen Überhang > Idle-Zeit Last < 50% Last > 70% Geschwindigkeit Geschwindigkeit==1.0 1.0 Geschwindigkeit Geschwindigkeiterhöhen erhöhen Geschwindigkeit Geschwindigkeitsenken senken 13

Einfache Heuristik: PAST [7] Idle-Zeiten Idle-Zeitenund undlaufzeiten Laufzeitenbestimmen bestimmen Letzte LetzteCPU-Last CPU-Lastberechnen berechnen Überhang Überhangfür fürnächste nächsteperiode Periodeberechnen berechnen Energie-Ersparnis laut zu Energie-Ersparnis laut Weiser: Weiser: bis zu 50% 50% und und 75% 75% Überhang > Idle-Zeit Lastbis < 50% Last > 70% Geschwindigkeit Geschwindigkeit==1.0 1.0 Geschwindigkeit Geschwindigkeiterhöhen erhöhen Geschwindigkeit Geschwindigkeitsenken senken 14

DVS mit Echtzeit In Echtzeitsystem max. Laufzeit meist bekannt (WCET) Verwendung des Schlupfs um Laufzeit bei Reduktion der Frequenz auszudehnen Bestimmung der Durchführbarkeit eines Schedules mit Formeln (z.b. bei EDF) möglich 15

Inhalt Einleitung Warum Energie sparen? Elektrotechnische Grundlagen Energiesparen per DVS Peripherie und Power-Management Energiemodelle in Betriebssystemen Zusammenfassung 16

Peripherie: Anwendung bisher Every 5 minutes: Turn on SPI bus Turn on flash chip Turn on voltage reference Turn on I2C bus Log prior readings Start humidity sample Wait 5ms for log Turn off flash chip Turn off SPI bus Wait 12ms for vref Turn on ADC Start total solar sample Wait 2ms for total solar Start photo active sample Wait 2ms for photo active Turn off ADC Turn off voltage reference Wait 34ms for humidity Start temperature sample Wait 220ms for temperature Turn off I2C bus Abschalten aller nicht benötigten Peripherieeinheiten Im tiefstmöglichen Schlafmodus auf Messergebnis warten Die eigentliche Funktion des Programms ohne Power Management Quelle: SuS Folien 3.8 PowerManagement 17

Peripherie: Beispiel TinyOS Verlagerung der Energieverwaltung in Treiber Kennt drei Arten von Geräten Dedicated Devices (Low-Level etwa GPIO-Pin, ADC) Shared Devices (z.b. SPI, I2C) Virtualized Devices (komplexe Geräte, wie Funkmodul) 18

TinyOS Dedicated Devices Repräsentieren Lowlevel-Devices (GPIO-Pins, Counter, Timer, ) Erlauben nur einen Klienten den Zugrif Explizite Steuerung des Energieverbrauchs Standardschnittstellen zum Ein- und Ausschalten StdControl, AsyncStdControl, SplitControl interface interface SplitControl SplitControl {{ command command error_t error_t start(); start(); event event void void startdone(error_t startdone(error_t error); error); command command error_t error_t stop(); stop(); event event void void stopdone(error_t stopdone(error_t error); error); }} 19

TinyOS Shared Devices Implizites Power Management Gestattet mehreren Komponenten Zugrif auf ein Gerät Üblicherweise geteilte Geräte (z.b. Busse, wie I2C, SPI, UART) Client Client11 Arbiter Arbiter Lock Client Client22 Arbiter Configure Config Config11 Data Interface Default Owner Config Config22 HW-specific config Dedicated DedicatedDevice Device StdControl Power PowerManager Manager 20

TinyOS Virtualized Devices Stellen einfache funktionale Schnittstelle bereit (z.b. Paket senden/empfangen) Erlauben (implizit) mehrere Nutzer Client Client11 Client Client22 Lock Arbiter Arbiter Virtualizer Virtualizer Default Owner Dedicated DedicatedDevice Device StdControl Power PowerManager Manager 21

TinyOS Verwendung von asynchroner E/A-Schnittstelle Protokollierung von E/A-Aufträgen erlaubt Blick in die Zukunft Erlaubt parallele Ausführung von E/A-Aktionen Damit effiziente Ansteuerung von Geräten möglich 98% des Optimums erreichbar 22

Inhalt Einleitung Warum Energie sparen? Elektrotechnische Grundlagen Energiesparen per DVS Peripherie und Power-Management Energiemodelle in Betriebssystemen Zusammenfassung 23

Herkömmliches Betriebssystem 24

Energiegewahres Betriebssystem 25

ECOSystem currentcy Prozesse Resource Container Currentcy CurrentcyUnit Unit==Nutzung Nutzungvon vonδe ΔEpro proδt Δt kenrgd Nutzerauflagen 26

ECOSystem currentcy Prozesse Resource Container kenrgd Aufteilung Aufteilungder derzeit Zeitinin Energieepochen Energieepochen Nutzerauflagen 27

ECOSystem currentcy Prozesse Resource Container kenrgd Kernel-Thread Kernel-Threadverwaltet verwaltetund undverteilt verteilt Currentcy Currentcyim imsystem System Nutzerauflagen 28

ECOSystem currentcy Prozesse Resource Container kenrgd Nutzerauflagen 29

ECOSystem - Zusammenfassung Energie als First-Level-Resource im System Prozesse zahlen mit Energiewährung für Benutzung von Geräten Erreichen festgelegten Batterielaufzeit (mit max. Abweichung von 10%) möglich Allerdings auf Kosten der Performance konkurriender Anwendungen 30

Energiemodell PTAs Quelle: [2] Modellierung des Geräts als Finite State Machine Transitionen zusätzlich gewichtet mit Zeitschranken und Energieverbrauch Zustände gewichtet mit Leistungsaufnahme 31

Zusammenfassung Power-Management wichtig insb. in eingebetteten Systemen Dynamic Voltage Scaling erlaubt Energie bei der Verwendung der CPU zu sparen Setzt genaue Kenntnis über Verhalten der Prozesse vorraus Meist nicht gegeben Heuristiken und Hints nötig Erleichterung der Anwendungsentwicklung durch Verlagerung des Power-Managements in Gerätetreiber Energiemodelle erlauben das Accounting und Abschätzen von Energie durch das OS Schwierig zu erstellen (messen), vereinfachen daher ungenau 32

Literatur [1] Zeng, H., Ellis, C., Lebeck, A., Vahdat, A.: ECOSystem. ACM SIGPLAN Notices. 37, 123 (2002). [2] Rapczynski, R., Entwurf eines energiegewahren Treibermodells für eingebettete Betriebssysteme, Masterarbeit, TU-Dortmund (2014). [3] D. Grunwald, C.B. Morrey, P. Levis, M. Neufeld, and K.I. Farkas, Policies for dynamic clock scheduling. In Proceedings of the 4th Conference on Symposium on OSDI. USENIX Association, 2000. [4] M. Weiser, B. Welch, A. Demers, and S. Shenker. Scheduling for reduced CPU energy. In Proceedings of the 1st USENIX Conference on OSDI (Monterey, California). Vol. 1. USENIX Association, 1994. [5] K. Klues, V. Handziski, C. Lu, A. Wolisz, D. Culler, D. Gay, and P. Levis. Integrating concurrency control and energy management in device drivers. In Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (SOSP '07). ACM, New York, pages 251264, 2007. 33

Literatur [6] D. Grunwald, C.B. Morrey, P. Levis, M. Neufeld, and K.I. Farkas, Policies for dynamic clock scheduling. In Proceedings of the 4th Conference on Symposium on OSDI. USENIX Association, 2000. [7] M. Weiser, B. Welch, A. Demers, and S. Shenker. Scheduling for reduced CPU energy. In Proceedings of the 1st USENIX Conference on OSDI (Monterey, California). Vol. 1. USENIX Association, 1994. 34