A new approach for distributed programming in smart grids

par Thi Thanh Quynh Nguyen

Thèse de doctorat en Génie électrique

Sous la direction de Nouredine Hadj-Said.

Le président du jury était Marie-Christine Rousset.

Le jury était composé de Vincent Debusschere, Christophe Bobineau.

Les rapporteurs étaient Dave Edward Bakken, Vasile-Marian Scuturici.

  • Titre traduit

    Une nouvelle approche pour la programmation distribuée dans les smartgrids


  • Résumé

    Le principal défi du contrôle et de la gestion des réseaux électriques intelligents (Smartgrids) est la quantité de données à traiter. Les techniques classiques centralisées, même si elles offrent l’avantage de facilité de gestion par leur vision globale du réseau, ne supportent pas en pratique la croissance continue des volumes de données (bande passante limitée, goulot d’étranglement, quantité de calculs à assurer, etc.). Le passage à un contrôle et une gestion décentralisée (répartie), où le système est composé d’une multitude d’unités de calcul coopérantes, offre de très bonnes perspectives (robustesse, calcul au plus près des producteurs et consommateurs de données, exploitation de toutes les ressources disponibles), mais reste difficile à mettre en place. En effet, la programmation d’algorithmes distribués nécessite de prendre en compte les échanges de données et la synchronisation des unités participantes, cette complexité augmentant avec le nombre d’unités. Dans cette thèse, nous proposons une approche innovante de programmation de haut niveau d’abstraction masquant ces difficultés.Tout d’abord, nous proposons d’abstraire l’ensemble des unités de calcul du Smartgrid (compteur intelligent, capteurs, concentrateurs de données, etc.) sous forme d’une base de données distribuées. Chaque unité de calcul hébergeant une base de données locale et seules les données nécessaires à la poursuite du calcul sont échangées avec d’autres unités, ce qui diminue l’utilisation de la bande passante disponible. L’utilisation d’un langage de manipulation de données déclaratif simplifiera la programmation des applications de contrôle et de gestion. Nous proposons également SmartLog, un langage à base de règles (basé sur le langage Datalog et ses dérivés) dédié à ces applications. Il facilite la programmation distribuée des applications Smartgrid en réagissant immédiatement à tout changement dans les données.Même avec un langage tel que SmartLog, il est nécessaire de prendre en compte les échanges de données et la synchronisation des participants. C’est pourquoi nous proposons ensuite une approche simplifiant la programmation distribuée. Cette approche, nommée CPDE pour Centralized Programmation and Distributed Execution, consiste en deux étapes : (i) programmer l’application centralisée en SmartLog, car cela est plus facile, et (ii) traduire le programme centralisé en programme distribué en se basant sur la localisation réelle des données. Pour ce faire, nous proposons un algorithme de distribution semi-automatique des règles SmartLog.Afin de démontrer l’intérêt de CPDE, nous avons mené une expérimentation exhaustive en utilisant des applications et des algorithmes réellement utilisés dans les Smartgrids, telles que le contrôle secondaire dans les micro-réseaux isolés ou la régulation de tension équitable. L’expérimentation a été réalisée sur une plate-forme de simulation de réseau électrique temps réel, avec une machine de simulation OPAL-RT, et des un réseau Raspberry-Pi représentant les unités de calcul (leurs performances sont tout à fait comparables aux équipements réels). Cette expérimentation a permis de valider les comportements et les performances des programmes distribués conçus avec CPDE comparativement à leurs versions centralisées en SmartLog et à leurs versions de référence implantés en Java. Nous avons également étudié l’impact de différents paramètres, tels que le nombre d’unités de calcul ou les différentes alternatives de répartition des données.


  • Résumé

    The main challenge of smart grids control and management is the amount of data to be processed. Traditional, centralized techniques, even if they offer the advantage of the ease of management by their global grid vision, do not support in practice the continuous growth of data volumes (limited bandwidth, bottleneck, amount of calculations, etc.). The transition to decentralized(distributed)control and management, where the system is made up of a multitude of co-operating computing units, offers very good prospects (robustness, calculation close to the producers and consumers of data, exploitation of data in all available resources), but remains challenging to implement. In fact, the programming of distributed algorithms requires taking into account the data exchanges and the synchronization of the participating units; this complexity increases with the number of units. In this thesis, we propose an innovative approach of programming of a high level of abstraction masking these difficulties.First, we propose to abstract all Smartgrid computing units (smart meters, sensors, data concentrators, etc.) as a distributed database. Each computing unit hosts a local database and only the data needed to continue the calculation are exchanged with other units, which decreases the use of the available bandwidth. The use of a declarative data handling language will simplify the programming of control and management applications. Besides, we also propose SmartLog, a rule-based language (based on the Datalog language and its derivatives dedicated to these applications. It facilitates distributed programming of Smartgrid applications by immediately responding to any changes in the data.Even with a language such as SmartLog, it is necessary to take into account the data exchange and the synchronization of the participants. This is why we then propose an approach that simplifies distributed programming. This approach, named CPDE for Centralized Programming and Distributed Execution, consists of two steps: (i) programming the centralized application in SmartLog, as this is easier, and (ii) translating the centralized program into a distributed program based on the actual location of the data. To do this, we propose a semi-automatic Smartlog rule distribution algorithm.In order to demonstrate the interest of CPDE, we conducted a comprehensive experiment using applications and algorithms actually used in Smartgrids, such as secondary control in isolated micro-grids or fair voltage regulation. The experiment was carried out on a real-time electrical network simulation platform, with an OPAL-RT simulation machine, and a Raspberry-Pi network representing the computing units (their performances are quite comparable to the real equipment). This experiment allowed validating the behaviours and the performances of the distributed programs conceived with CPDE, and comparing to their centralized versions in SmartLog and their reference versions implanted in Java. The impact of different parameters, such as the number of calculation units or different data distribution alternatives, is studied as well.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université Savoie Mont Blanc (Chambéry-Annecy). Service commun de la documentation et des bibliothèques universitaires. Bibliothèque électronique.
  • Bibliothèque : Université Grenoble Alpes. Bibliothèque et Appui à la Science Ouverte. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.