Jump label

Service navigation

Main navigation

You are here:

Main content

Diplomarbeit

Implementierung und Analyse eines parallelen On-line-Algorithmus für Lastflussberechnungen in elektrischen Versorgungsnetzen

Yi Lin

In einem Multiagentensystem zur Integration der Nutzung regenerativer Energiequellen in die elektrische Energieversorgungsstruktur, wie sie in dem DEZENT-Projekt umgesetzt wurde, führen Verbraucher und regenerative Erzeuger elektrischer Energie Verhandlungen über Menge und Preis der zu liefernden Energie. Neben den Verhandlungen selbst stellt die sich aus der Interaktion ergebende Belastung des elektrischen Energieversorgungsnetzes einen wichtigen Aspekt der Problemstellung dar. Verbraucher und regenerative Erzeuger erzeugen starke Schwankungen im Millisekundenbereich (wetterabhängige Einflüsse und unvorhersehbare Anforderungen bei Erzeugern und Verbrauchern). Die sich ergebenden Auswirkungen auf die elektrische Energieversorgungsstruktur müssen zum Einen geeignet bestimmt – oder zumindest qualifiziert abgeschätzt – werden, um unzulässige Netzbetriebszustände vorhersehen und vermeiden zu können. Zum Anderen muss ein Berechnungsverfahren für die Belastung des elektrischen Versorgungsnetzes laufzeiteffizient und on-line in einem ähnlichen Zeitbereich durchführbar sein. Für entsprechende Berechnungsverfahren in DEZENT mit festen vorgegebenen Betriebsintervallen von 500ms stellen sich hierdurch Echtzeitanforderungen, die einzuhalten sind.

Die mathematischen Verfahren, welche zur Analyse der Auswirkungen auf das elektrische Energieversorgungsnetz benötigt werden (wie z.B. diskrete Fast- Fourier-Transformation und Singulärwertzerlegung) erfordern bei der zu erwartenen großen Anzahl an Eingabewerten und Berechnungsschritten hocheffiziente Algorithmen und eine ausreichend hohe Rechenleistung.

Mit der AMD Core Math Library (ACML) stellt der Chiphersteller AMD seit einigen Jahren eine Bibliothek mit einer Vielzahl von mathematischen Funktionen zur Verfügung, welche auf Prozessoren und Grafikchips dieses Herstellers parallelisiert und optimiert ausgeführt werden können. Diese Bibliothek erscheint ideal für die Berechnungen der Lastflussanalyse eines elektrischen Netzes, da sie unter anderem eine große Anzahl an optimierten Funktionen beispielsweise für die Fast-Fourier-Transformation(FFT) zur Verfügung stellt.

Die Problematik im Zusammenhang mit dem DEZENT-Projekt besteht darin, dass DEZENT fast vollständig betriebssystemunabhängig (in Form von Webservices) in Java implementiert ist und sich die ACML-Bibliotheken nicht ohne weiteres ansprechen lassen. Die JNA (Java Native Access)-Schnittstelle ist ein OpenSource-Projekt, welches versucht, mit einem reinen Java-orientierten Ansatz die Stärken von nativen Bibliotheken auszunutzen, ohne die Grenzen über eine reine Java-Implementierung heraus zu überschreiten, so dass native Bibliotheken ohne Änderungen verwendet werden können.

In dieser Diplomarbeit soll die Implementierung und Analyse eines Algorithmus für die Berechnung des Lastflusses im Netzwerk in Java mit Hilfe der JNA-Schnittstelle und der ACML-Bibliothek durchgeführt werden. Einer der Schwerpunkte besteht in der Analyse der genauen Struktur der JNA-Bibliothek und deren Interaktion mit den nativen Bibliotheken aus der ACML. Wichtig in diesem Zusammenhang ist auch die Fragestellung, wie groß die Laufzeitunterschiede sind im Verhältnis zu Programmen einer rein nativen Sprache (wie z.B. C++, FORTRAN, die Sprachen, in der die ACML-Bibliothek ursprünglich implementiert ist). Im Anschluss soll eine geeignete Integration der Funktionalität in die DEZENT-Webservicestruktur erfolgen.

Für Testzwecke kommen AMD-Grafikkarten vom Modell Firestream 9250 zum Einsatz, welche laut Herstellerangaben Leistungen von bis zu 1 TFLOPS erreichen und die massive Parallelisierung von rechenintensiven Benutzerprogrammen unterstützen.

Literatur

[1] Projektseite der JNA-Bibliothek: https://jna.dev.java.net/

[2] Projektseite zur ACML-Bibliothek: http://developer.amd.com/cpu/Libraries/acml/Pages/default.aspx

[3] Java Matrix Package: http://math.nist.gov/javanumerics/jama/

[4] AMD-Firestream9250, Hauptrechenkomponente des Testsystems: http://ati.amd.com/technology/streamcomputing/product_firestream_9250.html