FR2965947A1 - Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel - Google Patents

Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel Download PDF

Info

Publication number
FR2965947A1
FR2965947A1 FR1058226A FR1058226A FR2965947A1 FR 2965947 A1 FR2965947 A1 FR 2965947A1 FR 1058226 A FR1058226 A FR 1058226A FR 1058226 A FR1058226 A FR 1058226A FR 2965947 A1 FR2965947 A1 FR 2965947A1
Authority
FR
France
Prior art keywords
task
scheduling
period
launch
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1058226A
Other languages
English (en)
Other versions
FR2965947B1 (fr
Inventor
Christian Valpard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Electronics and Defense SAS
Original Assignee
Sagem Defense Securite SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem Defense Securite SA filed Critical Sagem Defense Securite SA
Priority to FR1058226A priority Critical patent/FR2965947B1/fr
Priority to PCT/EP2011/067537 priority patent/WO2012049082A1/fr
Priority to EP11767994.4A priority patent/EP2628079A1/fr
Publication of FR2965947A1 publication Critical patent/FR2965947A1/fr
Application granted granted Critical
Publication of FR2965947B1 publication Critical patent/FR2965947B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention vise un procédé d'ordonnancement de tâches semi-périodiques. Ces tâches doivent respecter une séquence de lancements périodique. Pour chaque tâche est définie une période d'ordonnancement. Au sein de chaque période est déclarée la séquence des moments de lancement de la tâche. Ainsi, la tâche peut être lancée en respectant une séquence de lancements non périodique. Cette séquence étant, elle, répétée de manière périodique.

Description

La présente invention concerne le domaine des noyaux temps réel et plus particulièrement un procédé d'ordonnancement de tâches semi-périodiques dans un système multitâche temps réel. On s'intéresse en particulier aux systèmes permettant le lancement régulier de tâches. De tels systèmes sont basés sur une base de temps périodique. Lors de chaque période de la base de temps, le noyau détermine les tâches devant être lancées parmi les tâches déclarées dans le système. De tels environnements sont par exemple le domaine des logiciels embarqués dans les avions, les centrales nucléaires ou les systèmes militaires.
On appelle tâche, une fonction logicielle s'exécutant sur un processeur et typiquement constituée d'une succession de cycles de calcul. Une telle tâche est lancée lors d'une période particulière de la base de temps. Elle s'exécute ensuite sur le processeur du système pendant un certain nombre de périodes. Elle se termine ensuite. Le noyau temps réel est chargé de la relancer de manière régulière.
De tels noyaux temps réel sont généralement limités à un mécanisme permettant d'initialiser les tâches de manière périodique. Cette limitation entraîne que des tâches qui ne suivent pas strictement cette logique de lancement périodique vont devoir être, par exemple, dupliquées pour permettre leur gestion par un noyau d'ordonnancement purement périodique. Cette duplication entraîne une gestion dispendieuse des ressources et de la capacité de calcul du processeur du système. L'invention vise à résoudre les problèmes précédents par un procédé d'ordonnancement de tâches semi-périodiques. Ces tâches doivent respecter une séquence de lancements périodique. Pour chaque tâche est définie une période d'ordonnancement. Au sein de chaque période est déclarée la séquence des moments de lancement de la tâche. Ainsi, la tâche peut être lancée en respectant une séquence de lancements non périodique, cette séquence étant, elle, répétée de manière périodique. L'invention concerne un dispositif de traitement d'information temps réel, disposant de moyens d'ordonnancement d'au moins une tâche, le temps étant découpé de manière périodique pour définir une période d'ordonnancement, qui comporte des moyens pour définir pour chaque tâche une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ; des moyens pour définir pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée et des moyens pour déterminer, lors de chaque période d'ordonnancement, les tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancements définie se répète de manière périodique. Selon un mode de réalisation particulier de l'invention, le dispositif comporte en outre des moyens de stocker une table contenant pour chaque tâche la durée de la période de lancement exprimée sous la forme d'un nombre entier de périodes d'ordonnancement et une liste des moments de lancement de la tâche exprimés sous la forme d'indexes des périodes d'ordonnancement lors desquelles la tâche doit être lancée au sein de la période de lancement. Selon un mode de réalisation particulier de l'invention, la valeur -1 affectée à 10 une période de lancement correspond à une période infinie permettant de gérer une tâche apériodique. L'invention concerne également un procédé d'ordonnancement d'au moins une tâche au sein d'un dispositif de traitement d'information temps réel, le temps étant découpé de manière périodique pour définir une période d'ordonnancement, qui 15 comporte une étape de définition pour chaque tâche d'une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ; une étape de définition pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée et lors de chaque période d'ordonnancement, une étape de détermination des tâches devant être lancées sachant 20 que pour chaque tâche chaque séquence de lancement définie se répète de manière périodique. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi 25 lesquels : La Fig. 1 illustre l'ordonnancement d'un ensemble de tâches périodiques. La Fig. 2 illustre l'ordonnancement d'un exemple de tâche semi-périodique. Les systèmes multitâches temps réel sont utilisés dans nombre d'environnements où il est nécessaire de maîtriser le fonctionnement d'un système 30 d'information. Ils sont utilisés par exemple dans les domaines où la sécurité de fonctionnement du système est primordiale comme le pilotage de sites sensibles tels que les centrales nucléaires ou encore la gestion électronique d'un avion. Ces systèmes sont multitâches dans le sens où une pluralité de fonctions logicielles indépendantes s'exécute sur le même système. Ils sont temps réel, dans la mesure où les moments d'exécution de ces tâches sont connus. I1 dérive de ces contraintes que les tâches doivent avoir un temps d'exécution borné et ne doivent pas, même en cas de problème de programmation, pouvoir consommer les ressources du système hors des allocations qui ont été faites, ces ressources comprenant l'utilisation du processeur, des périphériques et aussi du temps. Les tâches utilisées dans ces systèmes ont donc une durée d'exécution maximale connue. Elles doivent typiquement être exécutées régulièrement. Exceptionnellement, certaines tâches spécifiques ont un fonctionnement permanent. Le fonctionnement de ces systèmes est basé sur une découpe périodique du temps. Cette découpe périodique définit donc une horloge de fonctionnement. Le temps entre deux tops de cette horloge est appelé ici un intervalle temporel (time slot en anglais). On s'intéresse ici à la détermination des moments de lancement des différentes tâches devant s'exécuter sur le système, c'est-à-dire à l'ordonnancement de ces tâches.
L'ordonnancement est basé sur une horloge d'ordonnancement périodique, l'intervalle temporel associé définit la période d'ordonnancement. Il est connu de définir pour chacune des tâches devant être exécutées dans le système une période de lancement. Cette période s'exprime généralement en un nombre entier de périodes d'ordonnancement. Cette période de lancement est choisie supérieure à la durée maximale connue d'exécution de la tâche. Le lancement de la tâche est alors déclenché lors d'une période d'ordonnancement et répété périodiquement lors des périodes d'ordonnancement correspondant à la période de lancement. Avantageusement, ces systèmes définissent également pour chaque tâche périodique un décalage (offset en anglais) qui est le nombre de périodes d'ordonnancement que l'on doit attendre au démarrage du système pour lancer la première occurrence de la tâche. La Fig. 1 illustre un tel système. L'horloge d'ordonnancement 1.1 est située en bas, douze périodes d'ordonnancement étant figurées. La Fig. 1 illustre les moments de lancement de trois tâches périodiques. La tâche TO possède un décalage de 0 et une période de 3. Elle est donc lancée aux périodes d'ordonnancement 0, 3, 6, 9 et 12. La tâche Tl possède un décalage de 1 et une période de 3. Elle est donc lancée aux périodes d'ordonnancement 1, 4, 7 et 10. La tâche T2 possède un décalage de 2 et une période de 4. Elle est donc lancée aux périodes d'ordonnancement 2, 6 et 10.
Le problème se pose de la gestion de tâches qui ne suivraient pas strictement un schéma de lancement périodique. On s'intéresse plus particulièrement à des tâches qualifiées de semi-périodiques. Concernant ces tâches, le lancement n'est pas périodique. Par contre, il est possible d'identifier une séquence de moments de lancement qui elle est périodique. Un exemple d'une telle tâche est illustré Fig. 2. La tâche TO doit être lancée aux périodes d'ordonnancement 0, 2, 6, 8 12, etc. I1 est possible de réaliser cet ordonnancement avec les systèmes connus. Il faut alors considérer qu'il y a deux tâches, TO et Tl auxquelles on affecte une période de 6 intervalles et un décalage de 0 pour la première et de deux pour la seconde. La tâche TO est donc lancée aux périodes d'ordonnancement 0, 6, 12, tandis que la tâche Tl est lancée aux périodes 2 et 8. L'ordonnancement d'une seule et même tâche consomme alors les ressources de deux tâches au sein du noyau temps réel. Pour permettre l'ordonnancement de telles tâches, l'invention se propose de définir pour chaque tâche une période de lancement. Cette période de lancement est le nombre de périodes d'ordonnancement qui permet d'avoir une séquence de lancement de la tâche qui se répète à l'identique. Pour la tâche illustrée à la Fig. 2, elle est typiquement de 6 périodes d'ordonnancement. Une fois cette période de lancement définie, il faut indiquer à quelle période d'ordonnancement la tâche doit être lancée.
On définit alors une liste des index, au sein de la séquence, des périodes d'ordonnancement auxquelles la tâche doit être lancée. Pour la tâche illustrée Fig. 2, il s'agit des index 1 et 3, signifiant que la tâche doit être lancée lors de la première période d'ordonnancement de la séquence et lors de la troisième. Avantageusement, ces informations sont mémorisées par le noyau temps réel au sein d'une table qui contient une entrée pour chaque tâche du système. Cette entrée est constituée au moins de l'indication de la période de lancement et de la liste des index des périodes d'ordonnancement auxquelles la tâche doit être lancée au sein de la période. Le noyau fonctionne alors en effectuant une étape de détermination des tâches devant être lancées lors de chaque période d'ordonnancement. Un exemple de réalisation de cette étape de détermination consiste à maintenir pour chaque tâche un compteur d'index de la période d'ordonnancement au sein de la séquence de lancement. Ce compteur est initialisé à 1 et s'incrémente lors de chaque tâche d'ordonnancement. Lorsque sa valeur est égale à la période plus un, on réinitialise le compteur à 1. Le compteur est comparé aux index de la liste associée à la tâche. Si l'index est compris dans la liste, on lance la tâche. Alternativement, on peut aussi calculer l'index directement par une division d'un index global croissant modulo la période de la tâche. Le reste de cette division donne l'index au sein de la séquence de lancement. Avantageusement, une tâche ayant une période négative ne sera jamais relancée. On peut ainsi gérer des tâches apériodiques, c'est-à-dire continues, en sus des tâches semi-périodiques dans le système. Avantageusement, la fin de la liste des index de lancement au sein de la 10 séquence est indiquée par une valeur nulle. Ce procédé d'ordonnancement permet de gérer les tâches semi-périodiques efficacement. Il ne nécessite qu'une entrée par tâche dans la table de gestion.

Claims (1)

  1. REVENDICATIONS1/ Dispositif de traitement d'information temps réel, disposant de moyens d'ordonnancement d'au moins une tâche, le temps étant découpé de manière périodique pour définir une période d'ordonnancement, caractérisé en ce qu'il comporte : - des moyens pour définir pour chaque tâche une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ; - des moyens pour définir pour chaque tâche des périodes d'ordonnancement 10 particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée ; - des moyens pour déterminer, lors de chaque période d'ordonnancement, les tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancement définie se répète de manière périodique. 15 2/ Dispositif selon la revendication 1, caractérisé en ce qu'il comporte en outre des moyens de stocker une table contenant pour chaque tâche : - la durée de la période de lancement exprimée sous la forme d'un nombre entier de périodes d'ordonnancement ; 20 - une liste des moments de lancement de la tâche exprimés sous le forme d'un index de la période d'ordonnancement lors de laquelle la tâche doit être lancée au sein de la période de lancement. 3/ Dispositif selon la revendication 2, caractérisé en ce que la valeur -1 affectée 25 à une période de lancement corresponde à une période infinie permettant de gérer une tâche apériodique. 4/ Procédé d'ordonnancement d'au moins une tâche au sein d'un dispositif de traitement d'information temps réel, le temps étant découpé de manière périodique 30 pour définir une période d'ordonnancement, caractérisé en ce qu'il comporte les étapes suivantes : - une étape de définition pour chaque tâche d'une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ;- une étape de définition pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée ; - lors de chaque période d'ordonnancement, une étape de détermination des 5 tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancement définie se répète de manière périodique.
FR1058226A 2010-10-11 2010-10-11 Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel Active FR2965947B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1058226A FR2965947B1 (fr) 2010-10-11 2010-10-11 Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel
PCT/EP2011/067537 WO2012049082A1 (fr) 2010-10-11 2011-10-07 Procédé et dispositif d'ordonnancement de tâches semi-périodiques dans un système multitâche temps réel
EP11767994.4A EP2628079A1 (fr) 2010-10-11 2011-10-07 Procédé et dispositif d'ordonnancement de tâches semi-périodiques dans un système multitâche temps réel

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1058226 2010-10-11
FR1058226A FR2965947B1 (fr) 2010-10-11 2010-10-11 Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel

Publications (2)

Publication Number Publication Date
FR2965947A1 true FR2965947A1 (fr) 2012-04-13
FR2965947B1 FR2965947B1 (fr) 2019-05-31

Family

ID=44072606

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1058226A Active FR2965947B1 (fr) 2010-10-11 2010-10-11 Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel

Country Status (3)

Country Link
EP (1) EP2628079A1 (fr)
FR (1) FR2965947B1 (fr)
WO (1) WO2012049082A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3060150A1 (fr) * 2016-12-12 2018-06-15 Continental Automotive France Procede de diagnostic d'un ordonnancement de taches
FR3072197A1 (fr) * 2017-10-10 2019-04-12 Krono-Safe Procede d'execution de plans de sequencement assurant une communication a faible latence entre taches temps-reel
FR3072795A1 (fr) * 2017-10-20 2019-04-26 Thales Procede de controle de la restitution d'alerte(s) et/ou de procedure(s) de reconfiguration systeme(s), produit programme d'ordinateur et systeme de controle associes

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3090957B1 (fr) * 2018-12-19 2022-02-04 Moben & Rooster dispositif et procédé d’ordonnancement de tâches
CN113777910B (zh) * 2021-09-17 2024-02-23 北京空间飞行器总体设计部 一种巡视器周期式自主运行控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0880094A2 (fr) * 1997-05-23 1998-11-25 Rolls-Royce Plc Système de commande

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0880094A2 (fr) * 1997-05-23 1998-11-25 Rolls-Royce Plc Système de commande

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. RAHNI: "Contributions à la validation d'ordonnancement temps réel en présence de transactions sous priorités fixes et EDF", THÈSE, 5 December 2008 (2008-12-05), Université de Poitiers, France, pages A - 197, XP002640505, Retrieved from the Internet <URL:http://theses.edel.univ-poitiers.fr/theses/2008/Rahni-Ahmed/2008-Rahni-Ahmed-These.pdf> [retrieved on 20110606] *
LOCKE C D: "SOFTWARE ARCHITECTURE FOR HARD REAL-TIME APPLICATIONS: CYCLIC EXECUTIVES VS. FIXED PRIORITY EXECUTIVES", REAL TIME SYSTEMS, vol. 4, no. 1, 1 March 1992 (1992-03-01), KLUWER ACADEMIC PUBLISHERS, DORDRECHT, NL, pages 37 - 53, XP000324270, ISSN: 0922-6443, DOI: 10.1007/BF00365463 *
R. MALL: "Real-time task scheduling", 2007, India, pages I-II,1 - 43, XP002640504, ISBN: 978-81-317-0069-3, Retrieved from the Internet <URL:http://nptel.iitm.ac.in/courses/Webcourse-contents/IIT%20Kharagpur/Real%20time%20system/pdf/Module2.pdf> [retrieved on 20110606] *
W. WANG ET AL: "Pre-Scheduling: Integrating Offline and Online Scheduling Techniques", LECTURE NOTES IN COMPUTER SCIENCE, vol. 2855, 2003, pages 356 - 372, XP002640555, Retrieved from the Internet <URL:http://www.springerlink.com/content/qhu2hf72ungta9km/fulltext.pdf> [retrieved on 20110606] *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3060150A1 (fr) * 2016-12-12 2018-06-15 Continental Automotive France Procede de diagnostic d'un ordonnancement de taches
WO2018109288A1 (fr) * 2016-12-12 2018-06-21 Continental Automotive France Procédé de diagnostic d'un ordonnancement de tâches
FR3072197A1 (fr) * 2017-10-10 2019-04-12 Krono-Safe Procede d'execution de plans de sequencement assurant une communication a faible latence entre taches temps-reel
WO2019073156A1 (fr) * 2017-10-10 2019-04-18 Krono-Safe Procédé d'exécution de plans de séquencement assurant une communication à faible latence entre tâches temps-réel
US11249802B2 (en) 2017-10-10 2022-02-15 Krono-Safe Method for executing sequencing plans ensuring low-latency communication between real-time tasks
FR3072795A1 (fr) * 2017-10-20 2019-04-26 Thales Procede de controle de la restitution d'alerte(s) et/ou de procedure(s) de reconfiguration systeme(s), produit programme d'ordinateur et systeme de controle associes
US10569899B2 (en) 2017-10-20 2020-02-25 Thales Method for controlling the restitution of alert(s) and/or system(s) reconfiguration procedure(s), related computer program product and control system

Also Published As

Publication number Publication date
FR2965947B1 (fr) 2019-05-31
WO2012049082A1 (fr) 2012-04-19
EP2628079A1 (fr) 2013-08-21

Similar Documents

Publication Publication Date Title
US9015724B2 (en) Job dispatching with scheduler record updates containing characteristics combinations of job characteristics
FR2965947A1 (fr) Procede et dispositif d&#39;ordonnancement de taches semi-periodiques dans un systeme multitache temps reel
Hu et al. On exploring image resizing for optimizing criticality-based machine perception
US20150324229A1 (en) Propagation of task progress through the use of coalesced time intervals
US9870260B2 (en) Managing a set of assets for a user in a shared pool of configurable computing resources
FR2950714A1 (fr) Systeme et procede de gestion de l&#39;execution entrelacee de fils d&#39;instructions
WO2012028213A1 (fr) Replanification d&#39;une charge de travail dans un environnement informatique hybride
CA2908951A1 (fr) Procede d&#39;allocation temporelle de taches permettant une recuperation d&#39;erreur deterministe en temps reel
Wu et al. Irina: Accelerating dnn inference with efficient online scheduling
WO2018024581A1 (fr) Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
CN109710416A (zh) 资源调度方法及装置
WO2021048673A1 (fr) Atténuation de menaces sur des charges de travail à base de conteneurs
EP2850520B1 (fr) Procede de gestion d&#39;une execution de taches dans un systeme informatique
US11640552B2 (en) Two stage training to obtain a best deep learning model with efficient use of computing resources
EP2709008B1 (fr) Procédé et dispositif de décompte du temps déporté pour unité de traitement dans un système de traitement de l&#39;information
US8954974B1 (en) Adaptive lock list searching of waiting threads
CN120277001A (zh) 测试任务调度方法、设备、存储介质及程序产品
CN112181774A (zh) 一种系统资源监测方法、装置、设备及机器可读存储介质
US12266180B2 (en) Systems and methods for generating a video summary of video data
FR2956226A1 (fr) Procede, programme d&#39;ordinateur et dispositif de supervision d&#39;un ordonnanceur pour la gestion du partage de temps de traitement dans un systeme informatique multitache
FR3131051A1 (fr) Procédé de traitement de données d’un dispositif d’assistance au pilotage d’aéronefs
FR3061571A1 (fr) Procede et systeme de surveillance de traitements par lots d&#39;applications executees dans une infrastructure informatique
FR2965077A1 (fr) Procede de gestion de taches dans un microprocesseur ou un ensemble de microprocesseurs
EP2953029B1 (fr) Methodes et systemes de test de performances a debit configurable
EP3732560A1 (fr) Procede de stockage de donnees et procede d&#39;execution d&#39;application avec reduction du temps d&#39;acces aux donnees stockees

Legal Events

Date Code Title Description
CA Change of address

Effective date: 20140227

CA Change of address

Effective date: 20150106

PLFP Fee payment

Year of fee payment: 7

CD Change of name or company name

Owner name: SAFRAN ELECTRONICS & DEFENSE SAS, FR

Effective date: 20161208

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16