Effektives Powermanagement benötigt Hardware und Software

Optimale Funktionsdauer pro Batterieladung #####

11. Dezember 2006, 11:17 Uhr | Andrew Barth
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Optimale Funktionsdauer pro Batterieladung

Dynamische Spannungs- und Frequenzskalierung
Deutlicher lässt sich der Leistungsbedarf senken, wenn die Betriebsspannung entsprechend skaliert wird. Da die Leistung sich proportional zum Quadrat der Spannung verhält, folgt auch die Energieeinsparung einer quadratischen Gleichung, wenn man die Spannung reduziert. Kommen sowohl Spannungs- als auch Frequenzskalierung zum Einsatz, so können mit dieser „Dynamic Voltage and Frequency Scaling“ (DVFS) genannten Kombination Energieeinsparungen realisiert werden, die in etwa in der dritten Potenz zur Betriebsspannung verlaufen. In der Praxis hängen diese mit zweiter und dritter Potenz eingehenden Energieeinsparungen nicht nur von der Konfiguration und Effizienz der für die Spannungssteuerung eingesetzten Schaltung ab, sondern auch von der Qualität der für die Leistungsabschätzung zum Einsatz kommenden Software, mit deren Hilfe Spannung und Frequenz eingestellt werden.

Für ein gegebenes IC wird die maximal mögliche Betriebsfrequenz durch die Betriebsspannung definiert. Die Spannung – und damit auch die Frequenz – werden skaliert, um einen Kompromiss zwischen benötigter Rechenleistung und minimalem Energiebedarf zu finden. Erhöht oder senkt man die Spannung – verbunden mit mehr oder weniger Stromaufnahme –, so muss man auch eine Skalierung der Betriebsfrequenz und damit eine Skalierung der verfügbaren Rechenleistung des Bausteins in Kauf nehmen, will man innerhalb der für den Baustein spezifizierten Betriebstoleranzen bleiben (Bild 1).

Für den Einsatz mit DVFS-basierten Prozessoren gibt es eine ganze Reihe von Algorithmen zur Einstellung der Betriebsfrequenz des Prozessors (und damit der Spannung), die darauf basieren, die kurzzeitige Auslastung des Prozessors zu bestimmen. Beispielsweise könnte ein in diese Kategorie fallender Algorithmus die zuletzt gemessene Auslastung jeder im Betriebssystem ablaufenden Anwendung auswerten. Das Verfahren geht davon aus, dass eine vernünftige Korrelation zwischen einer bereits bewältigten und einer erst bevorstehenden Rechenlast besteht – und dies ist bei den meisten Multimediaprogrammen wohl auch so der Fall. Diese Taskstatus-Information muss vom Kernel des Betriebssystems bereitgestellt werden.

Der Algorithmus führt Abschätzungen bezüglich der Auslastung und nicht in Anspruch genommener Leerlaufzeiten durch, um die Gesamtauslastung über alle Tasks hinweg zu ermitteln. Diese normalisierte CPU-Auslastung wird von entsprechender Software in die adäquaten Frequenz- und Spannungseinstellungen übersetzt, wie sie für den zum Einsatz kommenden DVFS-Mechanismus benötigt werden. Als Reaktion auf eine sich ändernde Rechenlast führt der Algorithmus laufend Neuberechnungen durch und stellt eine neue Abschätzung zur Verfügung.

Im Idealfall sagt der Algorithmus die benötigte Rechenleistung des Prozessors korrekt voraus, bei der die von jedem einzelnen Task geforderten Randbedingungen eingehalten werden. Der Algorithmus funktioniert gut für Betriebssystem-Tasks, die keinen plötzlichen Änderungen unterliegen. Um auf andere Situationen, wie z.B. vom Anwender ausgelöste Ereignisse, zu reagieren, sind möglicherweise andere Algorithmen vonnöten.

Dynamische Prozess- und Temperaturkompensation
Die im DVFS-Verfahren ermittelte Einstellung der Betriebsspannung für eine bestimmte Betriebsfrequenz ist üblicherweise ein „Worst-Case“-Wert. Er beinhaltet Reserven für Toleranzen der Prozesstechnologie und Temperatur. Diese Reserven sind reine Energieverschwendung, weil das IC normalerweise bei einer etwas höheren Spannung betrieben wird als es die vorherrschende Umgebungstemperatur und die Fertigungstoleranzen des Chips eigentlich ermöglichen würden. Überwacht man das IC mit Hilfe einer auf dem Chip integrierten prozess- und temperaturabhängigen Struktur, so kann man rechnerisch eine niedrigere Betriebsspannung ermitteln, die sehr nahe an den vom Fertigungsprozess vorgegebenen Grenzen liegt, und so jegliche Energievergeudung minimieren.

6221001_01.jpg
Bild 1. Eine optimale Energieeinsparung ergibt sich aus der kombinierten Anpassung der Versorgungsspannung und der Taktfrequenz einer CPU – in Abhängigkeit von der Rechenlast.

Energiesparsysteme (ECS, Energy Conserving System) haben zum Ziel, die auf die Batterie oder eine andere Stromquelle wirkende Last zu minimieren. Spezielle Techniken zur Minimierung des Energieverbrauchs kommen hier zur Anwendung. In Bild 2 sind die Grundzüge eines ECS dargestellt, das aus drei Teilen besteht:

  • der Plattform-Hardware mit verschiedenen PMCs,
  • dem so genannten „Performance Estimator“ zur Abschätzung der Rechenleistung, der auf DVFS und anderen Algorithmen basiert und
  • dem so genannten „Performance Setter“, der diese Abschätzungen auf bestimmte Arbeitspunkte der Plattform umsetzt, d.h. als Kombination von PMC-Einstellungen.

Aber wie findet man die optimalen Einstellungen, den besten Arbeitspunkt, für die ganzen PMCs heraus? Das wird von der sich ändernden Auslastung des Prozessors und der Peripheriefunktionen durch die Software abhängen. Von Anwendung zu Anwendung werden sich Unterschiede ergeben, und vermutlich sieht man sich auch noch mit mehreren gleichzeitig ablaufenden Anwendungen konfrontiert.

Natürlich ließe sich die Auslastung für jede einzelne Anwendung statisch bestimmen und dann für alle bekannten Kombinationen die Summe bilden. Dieses Vorgehen erweist sich aber als schwierig und ist daher nicht der beste Ansatz. Eine wirklich effiziente Lösung würde auf Prognosetechniken und andere Verfahren setzen, um die benötigte Leistung dynamisch während des Betriebs zu berechnen.

6221002_04.jpg
Bild 2. Ein einfaches Energiesparsystem (ECS, Energy Conserving System) muss die benötigte Rechenleistung der CPU abschätzen können und daraus die optimale Einstellung für die per Powermanagement steuerbaren Baugruppen (PMC, Power Managed Component)

  1. Optimale Funktionsdauer pro Batterieladung #####
  2. Optimale Funktionsdauer pro Batterieladung
  3. Intelligente Energiesparsysteme
  4. Software für selbstoptimierende Systeme

Jetzt kostenfreie Newsletter bestellen!