Skip to content
Snippets Groups Projects
main_thread 189.78 KiB
lavoisier wapet  9:47 AM
joined Slack
vlad.nitu  9:07 AM
on t’attend dans la réunion
vlad.nitu  11:06 AM
hello!
lavoisier wapet  11:55 AM
Bonjour Vlad, j'espère que tu vas bien, juste pour te dire que je t'ai envoyé un mail. (edited) 
vlad.nitu  9:13 AM
salut Lavoisier! on t’attend sur Slack
lavoisier wapet  9:15 AM
Bonjour Vlad, Peux tu me donner le lien de la réunion? s'il plaît?
Pinned by you
vlad.nitu  9:15 AM
https://zoom.us/j/92604504994?pwd=SGRBTEo1SGZoblRMalQ1UDZLcWE5UT09
lavoisier wapet  11:00 AM
Bonjour Vlad, c'est noté pour le retard. En passant, c'est bien ce lien qu'on utilisera? https://zoom.us/j/99360003235?pwd=VEV1UktTWUZjNlZyVnl6SHpYWjVCUT09
vlad.nitu  11:01 AM
https://zoom.us/j/99360003235?pwd=VEV1UktTWUZjNlZyVnl6SHpYWjVCUT09
11:01
(je crois que c’est le meme)
lavoisier wapet  11:01 AM
d'accord. Merci
vlad.nitu  10:34 AM
salut
lavoisier wapet  11:00 AM
Bonjour Vlad, je me connecte
vlad.nitu  11:00 AM
ok
lavoisier wapet  10:04 AM
Bonjour Vlad, j'espère que tu vas bien.  la réunion a t'elle commencée?
vlad.nitu  10:05 AM
oui
lavoisier wapet  10:06 AM
Par ce lien? https://zoom.us/j/92604504994?pwd=SGRBTEo1SGZoblRMalQ1UDZLcWE5UT09
vlad.nitu  10:06 AM
https://insa-lyon-fr.zoom.us/j/97040495809?pwd=V2JpTmJCWVh2VWt1cHZ6aXpOWm1adz09
vlad.nitu  9:09 AM
Salut
lavoisier wapet  9:59 AM
Bonjour Vlad.
vlad.nitu  9:59 AM
C’était juste pour te demander comment tu va faire finalement pour le travail avec Alain?
10:00
tu peux faire comme tu veux, up to you
lavoisier wapet  1:05 PM
Bonjour Vlad, j'espère que tu vas bien, Tout d'abord, toutes mes excuses pour la latence, il m'a fallut du temps pour être éclairé sur la situation. En fait il me paraît convenable de me concentrer sur le travail actuel (FL task scheduling). En plus du fait que c'est déjà lancé, je dois l'avouer que tout comme toi,  moi aussi j'ai retrouvé mes connaissances de thèse (Boris, toi même), et de nouvelles (Son, Naila, Daniel étudiant de Da costa, Da costa lui même et Sonia) qui en plus d'être plus ou moins expertes et travailleuses, m'ont l'air assez sympatiques.
     Cependant, Pour que je ne sois pas moi même dispersé, tu peux inviter Adrien, l'étudiant dont Alain parle, (et ses encadrants pourquoi pas), sur ce slack en lui restreignant l'accès pour qu'il puisse au moins me laisser ses questions à propos de son boulot. Et en semaine, durant les phases creuses, (comme après nos réunions avec Boris, et Naila, par exemple), je lui laisse juste les réponses rapides si je peux et je te fais signe lorsqu'il faut impérativement que je fasse des visios avec lui, il lui faut du temps pour prendre la main je pense.
    En espérant que cette solution ne te pose pas problème, cordiales salutations Vlad.
vlad.nitu  2:03 PM
> out d’abord, toutes mes excuses pour la latence, il m’a fallut du temps pour être éclairé sur la situation
pas de problème, there was no pressure
> il me paraît convenable de me concentrer sur le travail actuel (FL task scheduling)
Je pense que c’est une très bonne décision, de tout façon on parlera plus en détail demain
2:04
> Cependant, Pour que je ne sois pas moi même dispersé, tu peux inviter Adrien, l’étudiant dont Alain parle, (et ses encadrants pourquoi pas), sur ce slack en lui restreignant l’accès pour qu’il puisse au moins me laisser ses questions à propos de son boulot.
c’est justement pour ça que je t’ai posé la question, je veux pas que le travail avec Adrien te déconcentrer de notre travail
2:06
mais je panse pas que c’est une bonne idée de les ajouter sur ce Slack car sont deux sujets différents
2:06
je crois que si il a des questions il va te les envoyer par mail
2:07
du tout façon on discutera de tout ca demain
2:08
Comment c’était ton voyage a Marseille ?
lavoisier wapet  8:03 PM
D'accord, pour en discuter demain. Le voyage sur Marseille a été assez bien. Assez fatiguant, car précipité, certes. Mais assez bien. D'ailleurs je me demande pourquoi l'on doit renouveller un passeport alors que les pages de l'ancien ne sont pas encore terminées.  Bon bref.
lavoisier wapet  12:02 PM
Salut Vlad, tout à l'heure j'ai parlé un peu précipitamment en disant que je m'y plaisait en séjour ici; En réalité je ne sais pas vraiment et je pense même qu'on est toujours bien avec les siens ou bien avec sa propre famille (de sang :slightly_smiling_face:), et ici ce n'est pas trop le cas. Cependant, j'observais que le travail avait l'air d'avancer, aussi pareil pour des projets ici à long terme et je cherchais un moyen de me débarasser du stress des papiers.  Aussi  je compte appliquer tes conseils, merci d'ailleurs de me les avoir donné. Donc je demande pardon si j'ai précipitemment parlé et dit ce qui ne reflétait pas vraiment ma pensée.
vlad.nitu  12:45 PM
tkt, il y a pas de probleme
12:46
> je cherchais un moyen de me débarasser du stress des papiers
il faut pas que tu stresse avec les papier
12:46
il faut justre prendre le plaisir dans le travail, le papiers viendront
lavoisier wapet  3:00 PM
Vlad, bonjour une fois de plus.
Déjà je n'avais pas vu ton ancien message, c'est pourquoi je n'ai pas répondu depuis, désolé. (edited) 
3:02
Aussi c'est juste pour information que je laisse ce message, par rapport à la réunion de tout à l'heure.
je pense avoir sur le git du kernel essayé le changement du remote url, Comme tu m'as conseillé tout à l'heure
mais comme la compilation de kernel ne se faisait pas depuis son repository,
c'est à dire depuis android/lineage/kernel/google/redbull/
mais plutôt depuis android/lineage/  (qui est le parent)
j'avais l'impression qu'au cours de la compilation il y'avait des checks distants sur le git d'android même,
et ça buggait dans mon dossier du kernel vu que j'avais changé le remote.
vlad.nitu  3:03 PM
salut
3:03
oui, c’est possible qu’il y a des sousmodules git
3:04
https://git-scm.com/book/en/v2/Git-Tools-Submodules
3:05
si le code qu’on modifie fait partie d’un soumodule il faut modifier juste le remote de celui la (edited) 
lavoisier wapet  5:24 PM
Je prend note Vlad.
lavoisier wapet  2:16 PM
Bonjour Vlad, j'espère que tu vas bien malgré la nouvelle du serveur indisponible.
En espérant que l'on trouve une solution entre temps,  il fallait que je te demande
si on peut rapprocher la réunion de vendredi en la faisant plutôt jeudi.
Je demande car ce vendredi je risque ne pas être disponible à cause d'une urgence.
vlad.nitu  2:59 PM
Rappelle moi de ça durant la réunion de demain et on parlera
vlad.nitu  8:54 AM
Hello, du coup t'est pas dispo pour la réunion d'aujourd'hui ?
lavoisier wapet  9:53 AM
Bonjour Vlad, oui oui, je prévois ne pas être disponible cette journée.
vlad.nitu  9:56 AM
Ok
lavoisier wapet  4:24 PM
Bonjour Vlad, il fallait que je revienne sur ce que j'ai dit tout à l'heure à propos des vaccins. J'ai dit que je ne fréquentais pas de lieu publics mais c'est un mensonge. Désolé.
 En effet je fréquente les lieux publics, mais pas tous. Je fréquente ceux dans lesquels on peut accéder sans contrôle de pass sanitaire pour l'instant (rue, jardins, petits magasins de proximité, assemblée réligieuses, maisons de particuliers.....).
lavoisier wapet  12:05 PM
Bonjour une fois de plus Vlad,  c'est à propos des congés que je t'écris vu que tu en as parlé en réunion,
Je devais juste te dire que du 06 au 13 Octobre inclus, je prévoyais prendre des congés.
 Bien sûr hors mis quelques jours isolés où je risque  ne pas pouvoir travailler et faire des visios (au moins 3 jours)
Pour ces derniers je tâcherai de te prévenir à l'avance (environs une semaine ou deux à l'avance pour qu'on s'arrange au cas où).
vlad.nitu  3:39 PM
ok, ça marche
3:39
il faut juste voir quel conf on vise
3:40
L’histoire qu’on est pas en deadline
3:41
mais on discutera de tout ça quand on établit la conf ou on va soumettre
lavoisier wapet  11:04 AM
Bonjour Vlad, j'ai pris note.
lavoisier wapet  6:01 PM
Bonjour Vlad une fois de plus, j'ai pu écrire rapidement ce dont on a discuté en réunion. Question de sauvergarder les idées.     Les système de fédérated learning (fl) sont organisés selon une architecture serveur , multi-clients. Généralement, les tâches de calcul de modèles individuels sont réparties aux clients au départ du traitement. Une fois que chaque client a terminé son calcul local, il renvoie son modèle individuel au serveur unique qui se charge alors d'agréger les résultats.
	L'idéal pour le serveur serait d'obtenir les résultats de tous les clients au même moment avant de les agréger. Or cette situation n'est pas toujours garantie car le temps de calcul de chaque client dépend de plusieurs paramètres, comme sa charge de calcul, sa capacité cpu, son modèle....
	Pour gérer cet imprévu, certains systèmes de fédérated learning déploient sur les serveur des algorithmes d'aggrégation qui peuvent recevoir des modèles de la part des clients retartataires et les aggréger au modèle principal du système en temps réel. Or intégrer un modèle supplémentaire sur le modèle global, peut  s'avérer beaucoup plus coûteux que d'intégrer tous les modèles de tous les clients, surtout si on le fait beaucoup plus souvent. De plus le modèle retardataire se voit attribuer un coefficient moindre ce qui implique que tout son travail n'a pas été entièrement pris en compte.
	La première idée qui nous est venue en réunion a été dans une premier temps de ne pas considérer du tout les clients retardataires c'est à dire de leur informer que l'aggrégation globale sur le serveur a été faite et qu'il peuvent abandonner leur travail pour ne commencer que lorsque les prochaines tâches leur seront assignée. Déjà l'envoie de ce message d'information  peut s'avérer coûteux, en plus le client retardataire aurait travaillé durant une période de temps T inutilement; T étant le temps entre la réception de la tâche de calcul du modèle par le serveur, et l'aggrégation proprement dite.
	La seconde idéé a été de tout de même envoyer le messages mais de concerver le modèle calculé sur le client retardataire dans sa propre mémoire et de l'aggréger au modèle global sur le client retardataire, lorsque ce dernier aura recu le modèle global du serveur. En faisant ainsi on empèche au client retardataire de travailler d'interrompre le serveur, on sauve son travail effectué durant le temps T en l'aggrégeant au nouveau modèle global qu'il aura reçu, ce faisant le client retardataire ne travaille pas inutilement après que le serveur ait aggrégé les modèles des autres clients plus réactifs
	La troisième idée a été de ne pas envoyer de message aux clients, mais de s'entendre dès le départ avec un groupe de client sur ce temps T après lequel chacun devrait avoir terminé son calcul. Et si un client n'a pas terminé une fois le temps T écroulé, il peut alors lui même arrêter son calcul, sauvegarder le modèle qu'il a pu calculer, puis l'aggréger lui même au modèle global à la prochaine réception des tâches de la part du serveur.
        Cette approche soulève donc plusieurs questions:
         1 -  Comment catégoriser les clients en fonction des estimations possibles de T.
         2 - Quels sont les  features à prendre en compte pour une telle catégorisation.
         3 - Sachant que l'objectif étant d'être altruiste le plus possible en minimisant l'énergie au niveau du client, on de demande qui devra fixer ou faire varier la période de temps nécessaire à un calcul et l'attribuer à tel ou tel client? Est ce google qui doit le faire?
         4 - Etablir un système de récompense pour les clients réactifs est-il envisageable? (edited) 
vlad.nitu  6:02 PM
cool
6:02
ajout le dans le ficher partagé
6:02
j’ai ecris aussi 3 points
lavoisier wapet  6:02 PM
D'accord
vlad.nitu  9:50 AM
salut Lavoisier
9:51
est-ce que tu pourrais passer aujourd’hui pour récupérer l’ordi de Naila?
9:53
et l’utiliser au lieu de ton ordi ?
9:53
on me met la pression de rendre ton ordi
lavoisier wapet  10:41 AM
Bonjour Vlad, j'espère que tu vas bien. j'ai pris note de ton message, on peut aussi si possible, en parler durant la réunion de tout à l'heure. (edited) 
lavoisier wapet  5:11 PM
Bonjour une fois de plus Vlad, je prévois rencontrer Gilles mardi dans l'après midi pour qu'il me donne le cable HDMI.
Penses tu que ce soit une bonne idée que je lui demande en même temps l'écran et le clavier?
vlad.nitu  5:32 PM
On parlera dans la réunion de mardi
5:32
On va essayer d'aller au Gaston Berger voir si je retrouve mes écrans
lavoisier wapet  7:17 PM
J'ai pris note Vlad. (edited) 
vlad.nitu  6:54 AM
Merci pour le texte que t’a écrit dans le overleaf
6:55
Mais comme c’est en francais je l’ai transféré dans le doc partagée
vlad.nitu  9:23 AM
Salut Lavoisier, est-ce que t’a réfléchi a ma proposition de postdoc?
lavoisier wapet  2:23 PM
Bonjour Vlad, j'espère que tu vas bien.
1-Par rapport au texte, aucun soucis, c'était juste pour sauvegarder l'idée que je l'ai écrit.
2-Pour ce qui est de la proposition de post-doc, j'y réfléchis encore et je prévois te donner la réponse demain si possible avant la réunion (dumoins selon le délai que tu m'as accordé).
3-Et j'aurai aussi besoin d'apporter une modification par rapport aux jours de congés que j'avais demandé (je prévois n'être pas disponible ce vendredi 01/10/2021 ( jour de réunion ), Mercredi 06 et Mercredi 13. ce n'est plus une semaine entière comme j'avais demandé au préalable, toutes mes excuses pour l'erreur.
vlad.nitu  2:25 PM
Pas de probleme pour le congrès
2:25
A demain
lavoisier wapet  10:47 AM
Bonjour Vlad, je suis favorable au prolongement de contrat (bien sûr sous couvert approbation de ses clauses après lecture, dumoins s'il y'a changement).
vlad.nitu  10:54 AM
Très bien, on verra le contrat plus tard dans l’année
5 replies
Last reply 5 months agoView thread
lavoisier wapet  12:20 PM
Vlad , si tu passes sur le campus, n'oublie pas s'il te plaît de me dire si ton écran est toujours présent dans ton bureau,
je peux passer le chercher demain car je prévois aussi passer sur le campus demain prendre le cable.
J'aurais aussi besoin du clavier (edited) 
6 replies & 1 draft
Last reply 5 months agoView thread
vlad.nitu  10:39 AM
Salut Lavoisier
lavoisier wapet  3:56 PM
Salut Vlad, en matinée j'étais un peu pris, toutes mes excuses. J'ai vu la procédure FSD que tu as envoyé.
vlad.nitu  7:00 PM
Pas de probleme
7:01
Demain après-midi il y a le workshop de l'équipe
7:02
Je t'ai transféré le mail de Sonia
7:02
Essaye de trouver une place dans une voiture
lavoisier wapet  12:11 AM
Vlad, je crains de ne pas pouvoir y aller car j'ai beaucoup de choses à faire en fin d'après midi.
A défaut de reporter la réunion, On peut discuter demain vers 10 h (en visio) ou vers 11h,
avant que vous y alliez avec les autres. (edited) 
vlad.nitu  8:44 AM
Salut Lavoisier, c'est un séminaire d'équipe (edited) 
8:45
C'est obligatoire de participer
8:46
C'est pour ça que je t'ai appelé hier
8:48
Mais biensûr, si t'as des problèmes graves (e.g. problèmes médicaux) les gens vont comprendre
vlad.nitu  9:07 AM
Ça commence à 14h mais on a aussi un repas à midi
9:07
C'est au lac de Miribel, c'est cool
9:08
Call
Missed CallYou missed this call
vlad.nitu  9:13 AM
Pour le travail, t'est dispo pour faire un point demain (mercredi) a 10h?
lavoisier wapet  9:25 AM
Demain fait partir des journée où je prévoyais ne pas être disponible. Disons Jeudi si possible?
vlad.nitu  9:25 AM
Ah d'accord
9:25
J'avais oublié
9:26
Jeudi je participe à un autre workshop
9:27
Ce soir t'est dispo ?
9:27
Disons 18h
lavoisier wapet  9:36 AM
J'ai bien peur que non Vlad, en fait j'ai beaucoup de choses à faire en fin d'après midi, Jeudi 10h me parait être une bon crénau (edited) 
vlad.nitu  9:40 AM
Jeudi j'ai un workshop tout la journée
9:41
Écrit ici un paragraphe avec les choses que t'as fait
9:41
Et on se verra vendredi
lavoisier wapet  10:01 AM
Bien reçu Vlad !! (edited) 
lavoisier wapet  12:46 PM
Bonjour une fois de plus Vlad,
   Durant ces quelques jours, j'ai eu la possibilité de lire le papier (celui écrit par beaucoup d'auteurs à la fois) décrivant un peu les problématiques liés au FL et une approche de modélisation des problèmes de FL (Bien que n'ayant pas approfondis les concepts mathématiques. je crois avoir eu une vue d'ensemble du sujet).
   Aussi j'ai lu le Papier FLeet qui propose carrément un protocole de FL pour les applications courantes. Apparemment les clients n'ont pas vraiment la contrainte de temps car il initient la communication avec le serveur qui se charge d'aggréger les modèles calculés dès qu'ils auront terminé. Aussi j'ai remarqué que le serveur leur donne des charges de calcul en fonction de leur capacités, et que sur le téléphone le big core sont utilisé pour le calcul du GD par exemple. Ayant touché plusieurs aspect du FL, Fleet exposes plusieurs expérimentations, et dans l'une d'elle Fleet se compare avec CALOREE . Et j'ai lu le papier CALOREE
    Déjà, comme tu me l'a dis Caloree, est une solution de contrôle des configurations lors de l'exécution d'une application quelconque avec une valeur ajoutée provenant du ML. Et  au cours de l'exécution d'une application (comme  le GD par exemple), l'approche de CALOREE  c'est  d'estimer puis d'appliquer à intervalle de temps réguliers (10 ms à 15ms par exemple) une configuration qui correspond à la latence actuelle de l'application responsive.
        Et bien que les algorithme de FL ne soient pas responsives, Fleet s'est comparé avec CALOREE. Pour l'instant je ne sais pas pas encore comment dans leur évaluation CALOREE mesurait la latence au cours de son adapatation des configurations car il me semble que le GD est une tâche batch ou un learner non responsive.  Mais toujours est-il, en supposant que c'est le temps total de calcul du GD qui est pris en compte , le papier FLeet prouve que CALOREE n'est pas adapté pour ce protocole à cause de son processus energivore de changement de configurations sur le téléphone. Et si c'est déjà le cas lorsque les configuration changent à chaque requête de clients, combien de fois est ce que ce sera au cours de l'exécution même de la tâche au niveau du  scheduling.
   Ce qu'il m'est donc venu à l'idée c'est de réfléchir à une protocole à la même échelle que celle de Fleet, mais qui utilise une approche de scheduling s'inspirant de celle de  Meng Zhu en l'appliquant au FL. Dans ce nouveau protocole on peut faire l'effort de ne pas du tout prendre en compte la latence des clients tout comme Fleet le fait mais miser sur le gain énergétique que procure Meng Zhu. Et pour ce qui est de CALOREE je ne pense pas que ce soit une bonne idée de l'intégrer au papier.
MPEG 4 Audio 
Rapport pour Vlad.m4a
8:44(9 MB)
8:44
vlad.nitu  8:03 PM
Desole pour le reponse tardif, j’étais pris par le workshop
MPEG 4 Audio 
Untitled.m4a
4:36(9 MB)
4:36
lavoisier wapet  10:44 AM
Bonjour Vlad, j'espère que tu vas bien.  On peut s'appeler si tu es libre maintenant. C'est préférable que tu m'envoies le lien zoom et je te rejoins.
vlad.nitu  10:45 AM
Salut Lavoisier
10:45
Je suis dans un workshop maintenant
10:47
https://www.eventbrite.com/e/redchainlab-workshop-tickets-171151698337
EventbriteEventbrite
RedChainLab Workshop
The 1st RedChainLab scientific workshop (iExec & CNRS): scientific presentations & networking.
Where
79 Cours Vitton, 69006 Lyon, France
When
Thu, Oct 7, 2021 at 9:30 AM
https://www.eventbrite.com/e/redchainlab-workshop-tickets-171151698337
10:47
regardent le programme
10:48
si il y a des talks qui t’intéressent je peux t’envoyer un lien zoom
10:48
peut etre le talk de 13h30 ou 14h
10:50
je pense que aujourd’hui tu peux continuer a lire un peu sur l’état de l’art et on décident demain comment on continuent
lavoisier wapet  10:50 AM
Bien reçu Vlad.
vlad.nitu  10:56 AM
t’as lu ce papier http://proceedings.mlr.press/v130/ruan21a.html (edited) 
PMLRPMLR
Towards Flexible Device Participation in Federated Learning
Traditional federated learning algorithms impose strict requirements on the participation rates of devices, which limit the potential reach of federated lear...
Mar 18th, 2021
10:57
il faut le lire, il cite FLeet et me semble assez similaire (edited) 
11:01
https://ieeexplore.ieee.org/abstract/document/9484497
ieeexplore.ieee.orgieeexplore.ieee.org
Timely Communication in Federated Learning
We consider a federated learning framework in which a parameter server (PS) trains a global model by using n clients without actually storing the client data centrally at a cloud server. Focusing on a setting where the client datasets are fast changing and highly temporal in nature, we investigate the timeliness of model updates and propose a novel timely communication scheme. Under the proposed scheme, at each iteration, the PS waits for m available clients and sends them the current model. Then, the PS uses the local updates of the earliest k out of m clients to update the global model at each iteration. We find the average age of information experienced by each client and numerically char…
11:01
https://ieeexplore.ieee.org/abstract/document/9460535
ieeexplore.ieee.orgieeexplore.ieee.org
Optimal Task Assignment for Heterogeneous Federated Learning Devices
Federated Learning provides new opportunities for training machine learning models while respecting data privacy. This technique is based on heterogeneous devices that work together to iteratively train a model while never sharing their own data. Given the synchronous nature of this training, the performance of Federated Learning systems is dictated by the slowest devices, also known as stragglers. In this paper, we investigate the problem of minimizing the duration of Federated Learning rounds by controlling how much data each device uses for training. We formulate this as a makespan minimization problem with identical, independent, and atomic tasks that have to be assigned to heterogeneous…
11:04
https://ieeexplore.ieee.org/abstract/document/9264060
ieeexplore.ieee.orgieeexplore.ieee.org
Analysis of Federated Learning as a Distributed Solution for Learning on Edge Devices
Sensors and smart devices are continuously collecting massive amounts of data. Today's state-of-the-art machine learning (ML) techniques, such as deep networks, are typically trained using cloud platforms, leveraging the elastic scalability of the cloud. For such processing, data from various sources need to be transferred to a cloud server. While this works well for some application domains, it is not suitable for all due to privacy and network overhead concerns. Sharing life logging photos and videos from cell phones and wearable devices can cause privacy concerns for users. To respond to the needs of such applications, federated learning (FL) is proposed as a distributed ML solution for l…
vlad.nitu  4:01 PM
Resalut Lavoisier, aussi je pense que c’est bien si t’as aussi le temps de finir avec le FSD pour ne pas être en retard
vlad.nitu  1:19 AM
Du coup on se voit demain à la bibliothèque à 11h dans la salle 131
lavoisier wapet  11:01 AM
Bonjour Vlad, j'ai vu ton message un peu tard, (toutes mes excuses ) et je ne plus m'y rendre présentement. Peut-on faire une visio à la place? (edited) 
vlad.nitu  11:03 AM
https://insa-lyon-fr.zoom.us/j/99360003235?pwd=VEV1UktTWUZjNlZyVnl6SHpYWjVCUT09
vlad.nitu  9:51 PM
Très intéressant ce papier
9:51
Energy efficient federated learning over wireless communication networks
9:52
https://arxiv.org/pdf/1911.02417
lavoisier wapet  10:28 AM
Bonjour Vlad, bien reçu.
vlad.nitu  8:47 AM
Salut Lavoisier
8:51
J'ai réservé la salle 221 pour notre réunion d'aujourd'hui
lavoisier wapet  11:19 AM
Bien reçu Vlad.
vlad.nitu  12:13 PM
https://github.com/OpenMined/PyGrid/issues/758
GitHubGitHub
how to fix FL Process already exists error? · Issue #758 · OpenMined/PyGrid
Question how to fix FL Process already exists error? Further Information I tried to run '01-Create-plan.ipynb' in examples/model-centric. When I first ran it, it ran well. In order to run d... (50 kB)
https://github.com/OpenMined/PyGrid/issues/758
vlad.nitu  3:04 PM
t’as réussi d’executer le client dans l’émulateur ?
lavoisier wapet  3:41 PM
Je l'ai executé (il est en train de process)
Screenshot from 2021-10-12 15-40-56.png 
Screenshot from 2021-10-12 15-40-56.png
vlad.nitu  3:41 PM
et tu vois pas l’evolution de loss?
3:42
(la convergence)
lavoisier wapet  3:42 PM
Non non pas encore.
vlad.nitu  3:42 PM
ah, c’est si lent?
vlad.nitu  11:15 PM
Du coup ça a marché ?
lavoisier wapet  11:44 PM
Non, non Vlad, je prévois débugger directement l'application Jeudi.
(Demain Mercredi est le troisième jour des jours que j'avais demandé pour les congés, c'est pour cela que je dis que je prévois continuer Jeudi)
vlad.nitu  8:38 AM
ok, ca marche
vlad.nitu  11:22 AM
Salut Lavoisier! Demain matin je suis pas dispo du coup on peut faire un point cette après-midi
lavoisier wapet  9:04 PM
Bonjour Vlad, j'ai vu ton message assez tard,
aussi je n'avais pas beaucoup avancé (j'ai juste eu le temps de créer la routine de débugging et d'afficher quelques erreurs pour les comprendre).
Mais je peux essayer de te faire un rapport à tête reposée demain dans l'après midi, pour qu'on en parle Lundi ou Mardi si possible.
vlad.nitu  10:46 AM
Salut Lavoisier! On va faire un point cette après-midi
10:47
J'espère que tu verra mon message
lavoisier wapet  3:00 PM
Bonjour Vlad, j'ai vu le message, on peut discuter entre 16h et 17h .
vlad.nitu  3:30 PM
Ça marche
vlad.nitu  4:01 PM
https://insa-lyon-fr.zoom.us/j/96573547904?pwd=eU0yS2RsSXh4MEV1c2dzRHQzdFpadz09
4:06
salut!
vlad.nitu  11:11 AM
Salut Lavoisier
11:11
Je t’ai envoye un mail
11:12
Tu peux me dire un créneau ou t’est libre dans l’aprem, on va faire un call avec Aghiles pour debloquer le probleme
lavoisier wapet  2:11 PM
Bonjour Vlad, j'espère que tu vas bien, on peut travailler tout à l'heure c'est à dire  de 14h30 à 17h, dans cette plage horaire, je ne prévois pas être occupé (edited) 
vlad.nitu  2:20 PM
https://insa-lyon-fr.zoom.us/j/91232396699?pwd=QlFMUERJSDRZNjV1dnpOVitxbWQ4UT09
2:21
on va faire un call maintenant
lavoisier wapet  2:22 PM
D'accord, je vous rejoins.
vlad.nitu  4:12 PM
Salut Lavoisier, t’est toujours en call avec Aghiles?
lavoisier wapet  4:33 PM
Oui vlad, nous sommes toujours en train de debugguer. (edited) 
vlad.nitu  4:33 PM
ok, fait moi signe quand tu finis
lavoisier wapet  5:49 PM
Salut Vlad,
5:49
Nous avons eu un problème de connexion.
vlad.nitu  5:49 PM
tu veux que je cree un autre zoom?
lavoisier wapet  5:50 PM
Je me suis déconnecté accidentellement. Tu peux essayer de te connecter et de me réadmettre
vlad.nitu  5:51 PM
je l’ai fait
5:51
j’ai mis Aghiles comme host
5:52
tu peux lui demander de te mettre cohost
lavoisier wapet  5:59 PM
On a prévois se séparer Vlad, mais on a pas pu résoudre le problème. Tu peux nous rejoindre. (edited) 
vlad.nitu  6:08 PM
j’ai réservé la salle 221
lavoisier wapet  6:18 PM
Bien reçu Vlad.
vlad.nitu  7:36 PM
salut, tu peux join openmined.slack.com ?
7:36
je vais te mettre en contact avec la personne qui gère le KotlinSyft
7:36
fait moi signe quand t’a fait join
lavoisier wapet  9:10 AM
Bonjour Vlad, lorsque j'essaie de faire le join, slack m'affiche ce message:
lavoisierwapet@gmail.com doesn’t have an account on this workspace.
vlad.nitu  9:11 AM
Ok, je vais lui dire de t'ajouter
vlad.nitu  10:05 AM
Salut, j'ai réservé une salle pour la réunion d'aujourd'hui mais je pense que c'est mieux de faire juste un point en ligne
10:06
Comme ça tu perds pas le temps et tu peux te focaliser sur le debugging
10:06
Qu'est-ce que tu penses ?
vlad.nitu  1:39 PM
Salut, t’a répondu le mec d’Open Mined ?
lavoisier wapet  2:59 PM
il n'a pas encore répondu. Aussi finalement voici le message que j'ai envoyer pour la prise de contact :
Hi Vova, I have some problems with Kotlinsyft Android client and I also sent a message to @Tudor Cebere
 who is the relative of a colleague here at Lyon, but he redirected my colleague to you since he is not involved in the android clients anymore.Je lui ai aussi envoyé comme convenu tout ce que j'ai testé. Et j'attends toujours sa réponse.
vlad.nitu  3:01 PM
ok
vlad.nitu  3:17 PM
envoye le meme message a Varun aussi
lavoisier wapet  4:17 PM
Bien reçu Vlad. C'est fait (j'ai adapté le message en mentionnant les deux). (edited) 
vlad.nitu  6:31 PM
comment ca?
6:32
il faudrait juste changer le nom
lavoisier wapet  6:39 PM
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L101
GitHubGitHub
KotlinSyft/Syft.kt at da8a442586700e32de0d01d52fde941199951ea9 · OpenMined/KotlinSyft
The official Syft worker for secure on-device machine learning - KotlinSyft/Syft.kt at da8a442586700e32de0d01d52fde941199951ea9 · OpenMined/KotlinSyft (59 kB)
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L101
vlad.nitu  6:39 PM
mais ca c’est la definition de la foncion
6:40
le programme bloque ou? (edited) 
lavoisier wapet  6:41 PM
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L105
GitHubGitHub
KotlinSyft/Syft.kt at da8a442586700e32de0d01d52fde941199951ea9 · OpenMined/KotlinSyft
The official Syft worker for secure on-device machine learning - KotlinSyft/Syft.kt at da8a442586700e32de0d01d52fde941199951ea9 · OpenMined/KotlinSyft (59 kB)
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L105
vlad.nitu  6:42 PM
je comprend pas
6:42
du coup ça bloque dans executeAuthentication() ?
6:43
et executeAuthentication()  appelle executeCycleRequest() ?
lavoisier wapet  6:43 PM
Vlad c'est plutôt l'inverse. (edited) 
vlad.nitu  6:44 PM
du coup cette verification est true? https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L102
GitHubGitHub
KotlinSyft/Syft.kt at da8a442586700e32de0d01d52fde941199951ea9 · OpenMined/KotlinSyft
The official Syft worker for secure on-device machine learning - KotlinSyft/Syft.kt at da8a442586700e32de0d01d52fde941199951ea9 · OpenMined/KotlinSyft (59 kB)
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L102
vlad.nitu  6:50 PM
tu vois ce que je veux dire?
6:51
ah je vois que t’as modifie le mesage en haut
6:51
je ne comprend pas
6:52
je vois que executeCycleRequest appele que deux fonctions de verification
6:52
throwErrorIfBatteryInvalid  et throwErrorIfNetworkInvalid
6:54
throwErrorIfBatteryInvalid est probablement execute sur l’emulateur car je sais pas si il emule une batterie aussi
6:55
mais sur le telephone ca ne doit pas etre le cas
6:56
du coup je pense que sur le telefon c’est throwErrorIfNetworkInvalid qui est probablement appelé
6:56
une questions bête: est-ce que ton téléphone est connecté au WiFi?
lavoisier wapet  7:47 PM
Salut Vlad, oui le téléphone est connecté au Wifi de la box et sur l'émulateur avec Aghilles on a simulé la charge et sur le téléphone l'éclair est affiché sur le voyant de la battérie lorsque le téléphone est connecté à la machine.
Donc il me semble qu'il n'y a pas de soucis par rapport à ces conditions.Et par rapport au code source, la fonction  executeCycleRequest() appelle bel et bien executeAuthentication().
Cela suppose que les tests dont tu parles sont effectués avec succès et le return de la ligne 103 n'est pas appellé.Ducoup le suspend, ou le hang se fait au niveau de la ligne suivante, c'est à dire
when (val response = executeAuthentication(job)) (edited) 
7:50
le when sous Kotlin est un peu comme un switch case. Et les is qui suivent sont un peu comme des case en C
Ducoup j'ai fait des logs dans tous les is en ajoutant un else pour le cas par défaut et mes logs ne sont  pas affichés. (edited) 
7:52
Voici mon code final, j'ai ajouté les log contenant le mot clé "Loop debugging" .

internal suspend fun executeCycleRequest(job: SyftJob): JobStatusMessage {
    if (job.throwErrorIfBatteryInvalid() || job.throwErrorIfNetworkInvalid())
        return JobStatusMessage.ConditionsNotMet

    when (val response = executeAuthentication(job)) {
        is AuthenticationResponse.AuthenticationSuccess -> {
            Log.d(TAG, "Successful authentication")
            if (workerId == null) {
                setSyftWorkerId(response.workerId)
            }
            //todo eventually requires_speed test will be migrated to it's own endpoint
            job.jobModel.requiresSpeedTest.set(response.requiresSpeedTest)
        }
        is AuthenticationResponse.AuthenticationError -> {
            Log.d(TAG, "Loop debugging: Authentication error")
            job.publishError(JobErrorThrowable.AuthenticationFailure(response.errorMessage))
            Log.d(TAG, response.errorMessage)
            return JobStatusMessage.Error(JobErrorThrowable.AuthenticationFailure(response.errorMessage))
        }
        is AuthenticationResponse.AlreadyAuthenticated -> {
            Log.d(TAG, "Already Authenticated")
        }
        is AuthenticationResponse.UnknownError -> {
            Log.d(TAG, "Authentication error")
            job.publishError(JobErrorThrowable.ExternalException(response.exception.message, response.exception.cause))
            return JobStatusMessage.Error(JobErrorThrowable.ExternalException(response.exception.message, response.exception.cause))
        }
        else -> {
            Log.d(
                TAG,
                "Loop debugging, authentication error in function executeCycleRequest"
            )
        }
    }

lavoisier wapet  8:22 PM
Et je suis certain que la fonction executeAuthentication() est appelée car à la ligne 105,
il dans la fonction authenticate que cette fonction appelle  il y'a un log qui s'affiche dans le logcat.
Voila fonction executeAuthentication()
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/Syft.kt#L226
Voici la fonction authenticate() appellée par executeAuthentication()
https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951[…]main/java/org/openmined/syft/networking/clients/SocketClient.kt
Notons que le log de la ligne 66 sur la page précédente s'affiche.
vlad.nitu  11:11 AM
salut
11:11
any update?
11:12
quelqun des deux t’a repondu?
11:17
ok, je comprends ce que t’a dit en haut
11:18
du coup il me semble qu’il y a une probleme d’autentification
11:19
quel est la derniere ligne de code qui s’execute ?
11:19
ca doit etre une fonction de listening genre receive()
11:20
il envoie le message d’authentification et il attends le résultat
vlad.nitu  11:28 AM
t’est dispo dans l’après-midi pour faire un point?
lavoisier wapet  11:41 AM
Bonjour Vlad, Varun a répondu ( le lead) il me dit que c'est un problème de socket, je copie sa réponse ci dessous en [1].Il affirme que le socket ne fonctionne pas sur Pygrid, alors que j'y ai déployé le serveur Pysyft qui fonctionne avec les sockets.
De plus il demande de set les configuration syft (serveur je suppose) pour qu'il utilise https. Or pour l'instant je ne vois pas trop comment le faire car dans les configurations je crois qu'on peut juste définir les paramètre de FL (nbre de workers....) et non ceux du réseau, cela doit avoir un lien avec les APIs python pour la connection, C'est ce que je prevois faire pour l'instant.Pour la réponse à ta question à propos du receive(), il me semble que c'est l'appel webSocket.send de la fonction authenticate, à cette ligne [2] qui est blocant.En même temps Tudor a répondu je pour dire bonjour (en gros) , je peux continuer avec lui sur les aspect techniques et les orientation de Varun[1] réponse de Varun: Hey @lavoisier wapet i think this js the problem with socket not working on the pygrid
 Please set the syft configuration to use https instead of socket
 That will work for you[2]  lien vers la fonction blocante du code : https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951[…]main/java/org/openmined/syft/networking/clients/SocketClient.kt (edited) 
vlad.nitu  11:50 AM
Tu sais comment changer la configuration au https ?
lavoisier wapet  11:54 AM
Non non, justement c'est ce à quoi je m'attèle pour l'instant. J'ai contacté Tudor, comme c'est beaucoup plus générique, j'espère qu'il pourra répondre.
vlad.nitu  11:54 AM
Très bien
lavoisier wapet  11:55 AM
Mais je doute fort que ce soit cela le problème vu que l'output de Pygrid me montre qu'il écoute bel et bien sur les sockets.INFO: geventwebsocket.handler :192.168.1.80 - - [2021-10-18 17:56:04] "GET /favicon.ico HTTP/1.1" 404 388 0.000913
<gevent._socket3.socket at 0x7f2eb580d8b0 object, fd=7, family=2, type=1, proto=0>: Expected GET method: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr\r\n'
INFO:geventwebsocket.handler:45.146.166.75 - - [2021-10-19 00:35:04] "/*àCookie: mstshash=Administr" 400 - 0.00 (edited) 
vlad.nitu  11:56 AM
C'est peut-être une problème de synchronisation entre les sockets
lavoisier wapet  11:58 AM
Synchronisation, c'est à dire? (entre le socket de l'app et celui du serveur)?
vlad.nitu  12:08 PM
Oui
12:08
Mais il faut pas ce casser la tête
12:08
Il faut juste changer le protocole sur https
vlad.nitu  12:49 PM
t’as pu trouver comment la changer?
12:50
reponde a Varun et lui demande comment la faire sinnon
lavoisier wapet  12:52 PM
En fait le client et le serveur python utilisent les websocket et non les sockets. Et dans l'application cela correspond au HTTP

SyftConfiguration.NetworkingClients.HTTP

Ducoup J'ai décommenté cette ligne dans l'application https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951[…]java/org/openmined/syft/demo/federated/ui/main/MnistActivity.kt (edited) 
12:53
Et pour l'instant la connection est établie, mais il y'a un bug au moment d'exécuter le plan sur le téléphone. C'est ce que je regarde actuellement.
vlad.nitu  12:54 PM
du coup que-ce que le telefon t’affiche maintenant ?
lavoisier wapet  12:55 PM
L'application buggue et me renvoie à la fenêtre de logging après quelques secondes.
vlad.nitu  12:56 PM
d’accord, c’est cool, bravo pour le progrès !
lavoisier wapet  1:18 PM
Bravo plutôt à la Providence qui a entre bien voulu autres choses que Varun me donne des indices....
vlad.nitu  4:08 PM
T’as pu avancer ?
lavoisier wapet  4:30 PM
Après  debugging je me rend compte que le soucis se trouve à ce niveau du code, lors de l'exécution du plan https://github.com/OpenMined/KotlinSyft/blob/da8a442586700e32de0d01d52fde941199951ea9/syft/src/main/java/org/openmined/syft/execution/SyftJob.kt#L177
Voici l'erreur que j'obtiens
 20131 20177 E libc    : Access denied finding property "ro.hardware.chipname"
--------- beginning of crash
 20131 20177 E AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-2
 20131 20177 E AndroidRuntime: Process: org.openmined.syft.demo, PID: 20131
 20131 20177 E AndroidRuntime: java.lang.IllegalStateException: Expected IValue type 11, actual type 7
 20131 20177 E AndroidRuntime: 	at org.pytorch.IValue.preconditionType(IValue.java:314)
 20131 20177 E AndroidRuntime: 	at org.pytorch.IValue.toTensorList(IValue.java:283)
 20131 20177 E AndroidRuntime: 	at org.openmined.syft.execution.SyftJob$train$1.invokeSuspend(SyftJob.kt:183)
 20131 20177 E AndroidRuntime: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
 20131 20177 E AndroidRuntime: 	at kotlinx.coroutines.flow.internal.SafeCollector.invokeSuspend(SafeCollector.kt:41)
 20131 20177 E AndroidRuntime: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
 20131 20177 E AndroidRuntime: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
 20131 20177 E AndroidRuntime: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
 20131 20177 E AndroidRuntime: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738)
 20131 20177 E AndroidRuntime: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
 20131 20177 E AndroidRuntime: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
4:30
----------------------------
----------------------------
Et en faisant les recherches sur l'erreur, plusieurs personnes en parlent, j'essaie de comprendre, ça doit être en relation avec PyTorch.
https://stackoverflow.com/questions/68245938/flutter-with-tensorflow-cannot-copy-from-a-tensorflowlite-tensor-identity-wi
https://askandroidquestions.com/2021/02/26/the-barcode-scanner-from-googles-mlkit-doesnt-recognize-any-barcodes/
https://discuss.pytorch.org/t/cannot-run-nnapi-model-with-pytorch-1-8-0-access-denied-finding-property-ro-hardware-chipname/116560
https://github.com/pytorch/android-demo-app/issues/26
https://discuss.pytorch.org/t/problem-in-pytorch-implementation-in-android/76737
https://discuss.pytorch.org/t/problem-in-pytorch-implementation-in-android/76737 (edited) 
vlad.nitu  5:00 PM
d’accord
5:00
si c’est pytorch tu peux demander a Tudor
5:01
est-ce que il t’a donné encore des signes ?
lavoisier wapet  5:03 PM
Je lui ai laissé un message. Pour l'instant il n'a pas donné de signe (hors mis celui que j'ai mentionné plus haut).
vlad.nitu  5:04 PM
ok, envoye tes questions a tout les trois
5:04
une fois que t’a un reponse tu efface les questions aux deux autres
5:05
(c’est bien que sur Slack on peux effacer les messages)
5:05
tu peux faire la meme chose avec le message que t’a envoyé a Vova
5:06
mieux de paraleliser
lavoisier wapet  5:08 PM
D'accord, je viens d'envoyer à Tudor, je fais comme tu as dis.
 Aussi, vu que les questions ont une sorte d'historique, ne penses tu pas que c'est mieux de dire que j'ai déjà obtenu une solution à l'ancienne question, avant de poser une nouvelle question? Au lieu de simplement effacer. Dumoins je peux effacer ce qui est important et concerver ce qui est utile à la compréhension de nouvelles question.
vlad.nitu  5:12 PM
si ils t’ont pas répondu c’est très probable qu’ils on pas encore vu ton message
5:12
du coup tu peux effacer ou editer sans problème
5:12
pas besoin de laisser un historique
vlad.nitu  9:56 AM
Salut, est-ce qu'ils t'ont répondu ?
lavoisier wapet  10:48 AM
Bonjour Vlad, Tudor m'a répondu en me redirigeant vers les deux autres puisque c'est une erreur liée à l'API java.
Et Varun, lui me demande de débugger l'application et observer manuellement le modèle après l'exécution du plan, pour voir sa structure et mieux l'afficher ou l'utiliser j'imagine.
Bref il me faut en quelque sorte connaître la librairie java, de manipulation des modèles. Et c'est ce que j'essaie de faire présentement.Voici sa réponse.
"You should run the app in a debugger mode and put a break on the output of the model
 See the datatype of the result, is it a tensor, list or tupple" (edited) 
vlad.nitu  10:53 AM
Tu sais lancer le debugger mode sur Android Studio ?
10:55
Il faut mettre un breakpoint et puis vérifier  quel est le type d'objet qui héberge le modele
vlad.nitu  3:18 PM
> Tu sais lancer le debugger mode sur Android Studio ?
du coup t’a pu faire ça ?
lavoisier wapet  10:52 PM
Il me fallait au préalable comprendre la structure du code source pour savoir quoi afficher et à quoi m'attendre.
Et cela a pris beaucoup de temps, et ce n'est pas encore totalement terminé.
En ce qui concerne le debugger mode, à ma connaissance, je n'ai pas encore essayer, je prévois le faire demain.
vlad.nitu  8:43 AM
Salut Lavoisier! T'est à quel niveau avec le Kotlinsyft ?
lavoisier wapet  9:24 PM
Bonsoir Vlad, ton message m'a un peu surpris vu qu'on s'est séparé vendredi soir et que je l'ai vu lundi matin. Je n'avais jusque là pas avancé.
Pour le reste on peut en parler demain en réunion. J'imagine que c'est en visio-conférence...
vlad.nitu  10:12 AM
Salut
10:12
Oui, ca va etre en visio cette fois ci
vlad.nitu  11:02 AM
je suis sur le lien de la reunion
lavoisier wapet  2:23 PM
Une fois de plus bonjour Vlad, j'ai mis la réponse de Tudor plus bas, apparemment, même le mode de communication client-serveur PySyft ne fait pas partie de son demaine de compétence.
Aussi il me vient à l'esprit de te demander... vu que c'est Varun qui m'a suggéré cette version qui pose problème, que penses tu si je  lui en parle directement? (il a été au moins une fois réactif)Réponse de Tudor :  Hello,
 my team (the core team) is not maintaining that (it's not on our
roadmap yet to offer mobile support once again), our internal agenda is
to land cluster support  (for anyting on the edge, ping @Vova or @Varun).
We are moving on mobile support back somewhere around January (we are
recruiting for that), but there is no active maintainer rn on that
We have a huge release this week which is the start of the cluster support
 and we should land something usable by january, but our main funders
right now are interesting in cross-silo data science between data centers and we have commitments on landing that (edited) 
vlad.nitu  2:34 PM
Du coup comment tu veux proceder?
lavoisier wapet  3:49 PM
Je peux juste envoyer  un message à Varun. Si jusqu'au soir, on n'avance pas, on utilise un autre outil comme tu as dis en matinée. (edited) 
vlad.nitu  3:51 PM
Je pense qu'on peut shift des maintenant
3:51
Mais envoie lui un message quand meme
3:52
On peut discuter dans 25-30 min
3:52
Je vais t'envoyer un lien zoom
3:53
Et je vais te montrer le lien de l'autre framework
lavoisier wapet  3:54 PM
Bien reçu Vlad, Dans 25-30 minutes il sera 16h20 - 16h25.
vlad.nitu  4:19 PM
Yes
vlad.nitu  4:28 PM
https://insa-lyon-fr.zoom.us/j/96279114328?pwd=VVlzK1pDeHE3aFJ0ZmdCZkM1aVNRUT09
lavoisier wapet  6:29 PM
Bonsoir Vlad, j'espère que tu vas bien.
Par rapport à Fleet,  il a fallu apporter des  corrections pour la compatibiilités entre versions d'outils et modifier quelques fichiers de configurations:
 1 - remplacement de la commande gradle par gradlew,
 2-  utilisation de dos2unix sur le fichier gradlew pour résoudre le problème de compatibilité entre l'environnement de developpement et le mien,
 3 -  installation d'une bonne ndk,
 4 - ajout et/ou mise à jour de l'API lombok dans le code source du CLient du, Server et du Driver,
5 - entourage de la balise plugins par PluginManagement dans le Pom.xml du Driver et du Server.Par conséquent (ce qui a été fait), j'ai pu compiler le client (je ne l'ai pas encore démarré)
J'ai pu aussi compiler le serveur, et le démarrer pour qu'il puisse au moins écouter sur le Port 9992 (je ne sais pas encore s'il fonctionne bien)
Pour le driver j'ai pu le compiler, Mais j'ai une erreur lors du démarrage qui est liée à un NullPointerException, on dirait qu'une librairie JNI est manquante, Voici la description de l'erreur (edited) 
6:30
Voici la commande que j'exécute pour démarrer le Driver après compilation (c'est ce qui est exécutée par le fichier local_deploy.sh)
mvn exec:java -X -e -Dexec.mainClass="coreComponents.Driver" -Djava.library.path="/home/patrick/opportunistic_tasks_android/installing_fleet/fleet/Driver/target/classes" -Dexec.args="http://localhost:9992/Server/Server /home/patrick/opportunistic_tasks_android/installing_fleet/fleet/mnist /home/patrick/opportunistic_tasks_android/installing_fleet/fleet/mnist 0 0 1000 3000 0.0005 1 1 0 0 0 0 0"Et voici l'erreur
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java (default-cli) on project Apps: An exception occured while executing the Java class. null: ExceptionInInitializerError: NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java (default-cli) on project Apps: An exception occured while executing the Java class. null
      ...
Caused by: java.lang.NullPointerException
    at utils.JNITest.<clinit> (JNITest.java:52)
    at coreComponents.Driver.main (Driver.java:100)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282)
    at java.lang.Thread.run (Thread.java:829)Apparemment l'erreur vient de cette ligne de code :
https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/Driver/src/main/java/coreComponents/Driver.java#L100
Cette ligne appelle le code statique du fichier JNITest, et dans ce code des library recherchées ne sont pas trouvées. L'erreur est générée à cette ligne
https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/commonLib/utils/JNITest.java#L51
Peut-être as tu déjà rencontré cette erreur....
En espérant que tu écrive directement la réponse, demain à partir de 10h, je prévois être libre, on pourra en parler si possible.
Bonne soirée Vlad (edited) 
vlad.nitu  7:19 PM
Je l’ai pas rencontré mais ça doit etre une erreur de JNI
7:20
regarde un peut comment metre en place le JNI dans l’Android 10, ou quelle est la version que t’as
7:20
on parlera demain
lavoisier wapet  10:50 PM
Bien reçu Vlad
vlad.nitu  12:54 PM
salut
12:55
t’as le temps pour un point?
lavoisier wapet  1:40 PM
Bonjour Vlad,
Présentement je ne peux pas faire de call,Mais... Le problème a été résolu. Le soucis venait apparemment du fichier de configuration (pom.xml) du Driver. Avant de compiler (sans la correction 5 ci dessus), Il fallait changer dans le pom.xml les paramètres: javah et l'option -d        et plutôt mettre     javac et les options -h -d.En fin de compte, le ficher local_deploy.sh réussit à tout démarrer (le Server, le Driver et l'application cliente) mais j'ai lorsque je démarre séparément le serveur, afin de voir les outputs, et que je lance le Driver sur  un autre terminal; le Server m'affiche quelques erreurs. De même, bien que l'interface de l'application s'affiche et que le monkeyrunner remplit parfaitement toutes les case,  sur le logcat de l'application il y'a quelques erreurs lorsque le serveur est contacté.Je n'ai pas encore debuggué ces erreurs, mais je crois qu'avant cela il me faut comprendre (autant que nécessaire) l'architecture interne de chaque composant et les interactions entre leurs modules. Ainsi je pourrai savoir à quoi s'attendre, et  quels codes sont appelés. Je prévois le faire aux environs de 15h30. (edited) 
vlad.nitu  2:13 PM
ok, pas de probleme
2:14
ce que je me rapelle est que tu doit demarer le serveur avant le driver
2:15
tu doit attendre que le serveur se bloque en ecoute avant de lancer le driver
2:15
tient moi au courent
vlad.nitu  8:41 PM
Salut Lavoisier
8:42
Demain je vais aller a CEI pour la reunion que j’ai a 10h
8:42
Du coup on se retrouve a 11h - 11h10 a la bibliothèque
8:43
j’ai réservé la salle 222
lavoisier wapet  9:40 AM
Bonjour Vlad, message reçu.
lavoisier wapet  11:08 AM
Est ce que je peux déjà te rejoindre
11:09
Je suis assis à la bibliothèque au deuxième étage.
vlad.nitu  11:10 AM
Je suis en train de monter
11:10
A tout
lavoisier wapet  11:10 AM
D'accord.
vlad.nitu  11:11 AM
T'est où ?
lavoisier wapet  11:07 PM
Bonjour Vlad, j'espère que tu vas bien,
Demain Lundi, c'est férié, est ce possible que l'on repousse la réunion de mardi pour la faire plutôt Mercredi?
vlad.nitu  8:34 AM
oui, je vais t’envoyer mercredi matin un lien zoom
lavoisier wapet  2:27 PM
Bonjour Vlad, message reçu. (edited) 
vlad.nitu  6:48 AM
Salut Lavoisier
6:48
Ca te va pour parler vers 10h 10h30?
lavoisier wapet  10:04 AM
Bonjour Vlad, disons plutôt 10h30.
vlad.nitu  10:05 AM
Ok
lavoisier wapet  10:33 AM
Vlad j'utilise quel lien?
vlad.nitu  10:35 AM
je t’envoie maintenant
10:36
https://insa-lyon-fr.zoom.us/j/99774047992?pwd=YjRNL05RYUQ5RzhwU2ZJTTVxTCtidz09
lavoisier wapet  12:08 PM
Vlad, le soucis a été résolu, (l'appli fonctionne sur le téléphone) il a fallut
1 - augmenter la heap size de java, en ajoutant la ligne org.gradle.jvmargs=-Xmx2000m dans le fichier gradle.properties du projet
2 - puis modifier le script d'installation, car  l'application qui était réellement installée dans le script d'installation  local_deploy.sh  était toujour la version X86 de l'apk, (outputs/apk/debug/app-x86-debug.apk).  https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/local_deploy.sh#L84
Et il fallait la changer vu que dans l'output de compilation il est possible qu'il y'ait plusieurs version du même apk en fonction des abis. (comme le montre le ls ci dessous) (edited) 
generated_apks.png 
generated_apks.png
12:11
A présent je prévois prolonger le temps du traitement de la batch task, agir sur le nombre de thread (et voir le scheduling), puis voir dans le code comment obtenir la consommation énergétique ... (edited) 
vlad.nitu  12:33 PM
Call
Missed CallYou missed this call
vlad.nitu  4:42 PM
Oui, il faut faire ce qu’on a discute vendredi
4:43
Ça c’est le plan d’attaque
lavoisier wapet  10:32 PM
Message reçu Vlad.
vlad.nitu  2:52 PM
Du coup tu va commencer avec quoi?
lavoisier wapet  9:22 AM
Bonjour Vlad, la semaine passée, on s'était dit si je me souviens bien, que la première étape était de tester Fleet  sur le téphone
(ce qui a été fait en début de semaine), puis il était question

    d'allonger le temps de traitement de la tâche sur le client (1),
    de vérifier si le scheduling des thread se faisait sur les big cores (2)
    et d'afficher l'énergie de traitement (3).
     Enfin de refaire la même chose avec Meng Zhu. 

J'avais prévu commencer par allonger le temps de traitement de la tâche (1).
Mais je dois avoir une certaine maîtrise sur le code en me ressouvenant de tout ce que tu m'avais déjà montré.
ça c'est fait en partie car je sais à prioris ou modifier pour avoir les points (1), (2) et (3).
Cependant je dois continuer de couvrir le code pour pouvoir tout logger et observer toute la single request.
Ensuite j'espère pouvoir avoir les premiers résulats. (edited) 
vlad.nitu  9:30 AM
cool, merci pour la mise a jour
9:30
on se voit aujourd’hui a 11h30 (je sais pas si t’a vu mon mail)
9:30
je vais t’envoyer un lien Zoom
lavoisier wapet  9:53 AM
j'ai vu le mail ce matin. D'accord pour le lien zoom
vlad.nitu  11:36 AM
https://zoom.us/j/99360003235?pwd=VEV1UktTWUZjNlZyVnl6SHpYWjVCUT09
vlad.nitu  5:15 PM
Salut, quel est l’état des expes?
lavoisier wapet  2:25 PM
Bonjour Vlad, hier j'ai pu implémenter le Job Scheduler, je suis en train de le tester, et cela à l'air de bien marcher (hors mis quelques tests supplémentaires) - On pourra si possible parler des détails techniques à la réunion.
vlad.nitu  3:24 PM
Cool
3:25
Vous m'avez pas répondu au mail par rapport au Mobisys
3:27
Essaye de regarder de ton côté aussi mais je pense que si on va rater mobisys il y a rien jusqu'à infocom en juillet
vlad.nitu  8:44 AM
Salut Patrick, j’ai réservé la salle 219 pour la réunion d’aujourd’hui a 11h
lavoisier wapet  2:53 PM
Bonjour Vlad, Bien reçu (Juste par formalité, puisque la réunion a été faite, je n'avais pas vu le message sur slack)
2:53
Uussi il m'est venu de repenser au nom du papier. Déjà désolé pour tout à l'heure car lorsque tu m'en parlais, j'étais distrait en voulant rechercher la signification de Fleet et Flame sur internet,  désolé.
2:54
C'est juste qu'il m'est venu de remarquer que dans Flame, il n'y a que l'allusion à Fleet (FL), mais pas au papier Energy discounted; Ne serait ce pas une meilleure idée de rechercher un jeu de mot intégrant les deux?
vlad.nitu  3:06 PM
J’ai mis le nom FLame car toutes les papiers sur FL ont “FL” dans le nom
3:07
FLame, FLeet, FLgan, FLOWER…
3:07
mais c’est pas important, on peux le changer
3:08
je crois que la priorite c’est d’avoir un papier et puis on verra le nom:sweat_smile:
lavoisier wapet  5:30 PM
message reçu Vlad.
vlad.nitu  3:28 PM
Image from Android 
Image from Android
vlad.nitu  10:07 AM
Salut Lavoisier, est-ce que tu peux te connecter 15 min avant 11h?
10:07
Dit moi si tu vois ce message
lavoisier wapet  10:46 AM
Bonjour Vlad, Je peux me connecter maintanant?
vlad.nitu  10:46 AM
oui
lavoisier wapet  1:08 PM
Vlad, lorsque je teste le dump du battery stat. Voici l'erreur que j'obtiens.
 Permission Denial: can't dump BatteryStatsService from from pid=10856, uid=10225 due to missing android.permission.PACKAGE_USAGE_STATS permission
Pourtant la permission est bien ajoutée dans le fichier Manifest.

<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>

Et voici le code

Process process = Runtime.getRuntime().exec("dumpsys batterystats");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
System.out.println("--> Battery info in main Activity: ");
String s;
while (( s = bufferedReader.readLine()) != null) {
    System.out.println(s);
}

Sur internet il disent que cette permission est prévue pour les application système. (edited) 
lavoisier wapet  2:12 PM
C'est bon Vlad, dans la documentation de fleet il faut donner les permission à l'application via adb. J'essaie cela
vlad.nitu  2:13 PM
oui
2:13
regarde il y a deux permisions qu’il faut donner par adb
lavoisier wapet  2:21 PM
C'est bon, ça marche, mais il ne reste plus que le parsing .
il fallait apparemment, comme tu as dit, ajouter la ligne ci dessous [1] à la suite de cette ligne https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/client_cmd_deployment/run_on_single_machine.sh#L38
[1]  adb -s emulator-$emuSerial shell pm grant com.androidsrc.client android.permission.PACKAGE_USAGE_STATS 
vlad.nitu  2:22 PM
yes, c’est ca
lavoisier wapet  2:30 PM
Le parsing est apparemment correct lorsque je débranche le cable avant de lancer la requête. Ce problème est donc résolu.
vlad.nitu  6:09 PM
J’avance petit a petit le papier
vlad.nitu  9:46 AM
Salut
9:47
Donc on est où avec les expes ?
lavoisier wapet  4:55 PM
Bonsoir Vlad, désolé, je ne pouvais pas faire de call.
J'espère que ce n'était pas très urgent...
4:57
A propos des expés je suis toujours sur la migration, on peut en parler demain, J'ai juste eu le temps de re-construire une nouvelle implémentation et je dois la tester. (edited) 
vlad.nitu  6:50 PM
C’était pas urgent
6:51
Mais je t’ai envoyé un message a 9h46 et tu m’a répondu a 16h55
6:53
Je pense que cet façon de communiquer n’est pas du tout professionnel et productif
vlad.nitu  6:58 PM
Est-ce que t’as des copains qui travaillent dans l’industrie? Demande leur si c’est normal du répondre après plus de 7h a un message pendant une journée de travail
vlad.nitu  7:21 PM
Tu peux m’envoyer un photo avec ton écran ? Je veux voir si c’est celui de Jacques car son encadrent le demande
vlad.nitu  8:40 PM
J’ai aussi besoin pour le papier d’un graph similaire avec Fig. 1 de Energy-discounted computing mais fait sur notre téléphone. Est-ce que tu peux faire ca demain matin?
lavoisier wapet  10:39 AM
Bonjour Vlad, j'espère que tu vas bien.Par rapport à la latence dans ma réponse, j'ai bien reçu ton message; Heureusement que ce pourquoi tu voulais me joindre hier n'était pas urgent.En ce qui concerne la photo de l'écran, le simple modèle de l'écran  peut suffire? Ainsi il pourra retrouver la photo sur internet. (je peux même d'ailleurs le faire si possible le voici
https://www.amazon.fr/V7-L27ADS-2E-Moniteur-Grand-Format/dp/B071PB4D3L?th=1 )A propos du graphe de la figure 1 j'aurai besoin de plus amples explications de ta part. Pour gagner en temps, peut-on faire un call? Vu que j'étais sensé le faire ce matin, je me suis dis  qu'il n'y avait plus de rénion en présentiel vu que je ne pouvais pas faire les deux en même temps. (edited) 
vlad.nitu  2:47 PM
Je pense que c'est mieux de bosser sur le gitlab LIRIS car c'est un GIT interne
2:47
Envoyé moi le lien de ton git et je vais le transférer sur gitlab
2:47
Et puis je vais t'envoyer le lien de faire tes commits là-bas
lavoisier wapet  3:00 PM
Ce qui me semble plus simple, est que je t'envoie les liens de mes repositorie afin que tu les tranfères sur LIRIS
1 -   Voici le lien vers le repository du kernel sur lequel on implémente le papier de Meng Zhu:   https://github.com/lwapet/android_kernel
C'est sur ce même lien que Naila travaillait, elle y a créé sa branche.
2 - Pour ce qui est de l'application qui démarre les threads.  Il est  préférable que Naila initie un git repositorie sur son code et l'upload directement chez toi, car il me semble qu'elle ne l'a pas encore fait.
Si elle le fait rapidement je peux me baser sur cela pour faire les expés. Sinon je compte redévelopper une application qui démarre les thread.
3 - S'il y'a d'autres repository je t'enverrai si possible simplement leurs liens. (edited) 
vlad.nitu  3:01 PM
Ca Ça marche
3:02
Tu a commit tes dernières modifications ?
3:02
Je vais le transférer tout suite et je t'envoie le lien
lavoisier wapet  3:03 PM
J'ai commit la dernière modification qui me semblait la plus stable.
lavoisier wapet  3:54 PM
Vlad, en même temps peux tu me dire quel est le but de l'expé? Dumoins qu'est ce qu'on veut montrer?
vlad.nitu  4:33 PM
que il y a un gap plus important quand les big cores sont activées
4:34
et je veux aussi voir si les observations de MengZhu tient toujours la route en 2021
4:35
tu peux aussi m’envoyer une invitation pour le projet GIT? Je peux pas le voir sinon
vlad.nitu  6:14 PM
mon ID git est vnitu02
vlad.nitu  6:21 PM
merci pour l’invitation
6:22
je vois que le dernier commit c’est le 24 Aout
6:22
le code n’as pas évolué depuis?
vlad.nitu  6:46 PM
t’as du recevoir une invitation pour le projet gitlab, utilise plutôt ce repository a partir de maintenant
lavoisier wapet  7:00 PM
Bien sûr que le code a évolué sur me serveur du Liris, au moins jusqu'en fin septembre, date à laquelle on a mis pause sur le développement. La version que tu as actuellement est une version de "confiance"   D'accord pour le lien github
vlad.nitu  7:00 PM
ok, je vois
7:01
tu peux créer une branche développement sur gitlab ou tu push toutes les jours
7:02
car si ta machine tombe en panne on va perdre tout
7:02
et tu garde main pour les versions stables
7:02
tu peux merge juste quand t’est confiant que c’est stable
7:03
> car si ta machine tombe en panne on va perdre tout
je te parle de mon expérience, on m’a vole la machine et j’ai perdu tout le code de ma thèse :slightly_smiling_face:
lavoisier wapet  7:03 PM
Message reçu Vlad.
vlad.nitu  6:30 PM
Salut Lavoisier, comment t’appeler les taches qui sont scheduler juste si il y a pas d’autres taches sur le CPU?
6:30
Genre les FL tasks dans MengZhu
vlad.nitu  1:26 AM
Aussi, vendredi matin c'est la soutenance de Rania, ce serait bien si tu peux venir (edited) 
1:28
Du coup t'est dispo demain fin d'après-midi pour faire un point au lieu de notre réunion habituelle de vendredi ?
lavoisier wapet  12:47 PM
Bonjour Vlad,
Je ne saurais donner avec précision un nom au taches schedulées toujours en dernier lieu sur le CPU,
Par contre dans son papier, Meng Zhu affirme donner la priorité absolues aux tâches interactives.
Par conséquent on peut appeler les best efforts task dans ce contexte, les tâches à secondarité absolue (edited) 
lavoisier wapet  1:00 PM
Par rapport au compte gitlab, tu utilises quels identifiants?
Faut-il que je contacte à nouveau le Service Informatique pour avoir les identifiants?
1:01
Pour la réunion on peut la faire vers 15h30 si possible
vlad.nitu  1:02 PM
t’arrives pas a creer un identifiant exterieur avec l’invitation que je t’ai envoyé ?
1:02
pour la reunion, toutes mes slots de cet après-midi sont remplis entre temps
1:03
on parlera demain a la soutenance de Rania
lavoisier wapet  1:06 PM
Bien reçu Vlad.
1:07
A propos des identifiants, je ne sais pas comment en créer et  apparemment il me faut un compte Liris, je ne pense pas en avoir car j'utilise les identifiants insa-lyon
vlad.nitu  1:17 PM
t’as pas une addresse mail lirirs.cnrs.fr ?
1:17
@lirirs.cnrs.fr
1:18
tu doit avoir car j’ai créé ton compte dans le labo
lavoisier wapet  1:21 PM
Au cas où je l'ai comment est ce que je pourrai le retrouver? J'ai déjà envoyé un mail à Sylvie à propos, pour l'instant elle n'a pas encore répondu (edited) 
vlad.nitu  1:25 PM
Ah, j’ai oublié de te dire: joyeux anniversaire pour hier :gift: :partying_face:
lavoisier wapet  8:30 PM
Vlad, tu as pensé à ce jour! il me vient à l'esprit de te poser  deux questions à propos:
1 - Pourquoi célèbre t'on?
2 - Pourquoi célèbre t'on les anniversaires?
Apparemment il y'a le mot Philosophy dans Ph.D :slightly_smiling_face:
vlad.nitu  10:54 AM
Salut Lavoisier, la semaine dernière j’ai créé ton compte LIRIS
10:55
est-ce que t’as réussi a te connecter au gitlab?
lavoisier wapet  11:48 AM
Bonjour Vlad, je suis sensé attendre la fin de quelques procédures administratives avant de pouvoir me connecter.
D'après leur dire, il m'enverront un mail dès que ce sera fait.Voici le mail que j'ai reçu :
vous n'aurez accès au SI du LIRIS que lorsque votre compte sera
 actif, c'est-à-dire lorsque les procédures administratives seront
 terminées (dossier FSD) et lorsque vous serez dans vos dates de présence
 (ven, 01/01/2021 - 00:00 - sam, 31/12/2022 - 00:00). Vous recevrez un mail
 lorsque cette activation aura lieu.
vlad.nitu  12:09 PM
D'accord
vlad.nitu  12:15 PM
T'est dispo pour faire un point ?
lavoisier wapet  1:01 PM
Oui oui Vlad, je suis disponible maintenant
vlad.nitu  1:04 PM
https://insa-lyon-fr.zoom.us/j/93973989480?pwd=dDN5NW04N0hrQ05PNEp6M0JQNnlXdz09
1:05
tu te connectes ?
lavoisier wapet  1:06 PM
D'accord Vlad, je me connecte.
vlad.nitu  1:09 PM
Call
Missed CallYou missed this call
vlad.nitu  11:11 AM
Salut Lavoisier, tu peux répondre stp au mail de Djemilia?
lavoisier wapet  1:06 PM
Bonjour Vlad, Djemilia a envoyé deux mail, l'un concerne les locaux et l'autre concerne le nouveau passeport;
 Pour l'instant j'ai répondu au second mail concernant le passeport car il me paraissait le plus urgent en plus tu y étais en copie.
vlad.nitu  1:48 PM
Oui, celui concernant le pasaport
vlad.nitu  10:33 AM
Salut Lavoisier
lavoisier wapet  10:33 AM
Bonjour Vlad.
vlad.nitu  10:33 AM
Voici le lien de la réunion d’aujourd’hui https://insa-lyon-fr.zoom.us/j/97736143646?pwd=UWE2VHoyYnFXMzFrQmxoQVNUQUJVdz09
lavoisier wapet  5:03 PM
Bonjour Vlad, comme convenu je te fais un bref rapport des tests que j'ai effectué
J'ai testé l'application simple qui démarre un thread dès son lancement, et elle crashait toujours 2 fois sur 3.
Et la raison semblait être la même, son thread restait isolé sur un socket qui n'avait plus de normal task.
J'ai remarqué que cela pourvait arriver sur le cpu 0 qui est en principe sur un socket sensé ne jamais s'éteindre.
Par conséquent j'ai limité l'implémentation de Meng Zhu sur le grand socket, et c'est d'ailleurs ce qu'il fait dans son code.
Et c'est assez stable.A présent j'essaie de voir comment retirer une task du groupe best-effort.
vlad.nitu  5:24 PM
Super!
5:25
Donc les tâches pouvons jamais s’exécuter sur les LITTLE?
lavoisier wapet  5:52 PM
Si si les best-effort s'exécutent sur les littles/
    -- elles ont la priorité basse (absolute déprioritization).
    -- elles ne sont pas migrées si tous les cpu sont idle (théoriquement c'est impossible sur le little socket)
  Sur le big socket.
    --- elles ont la priorité basse.
    --- s'il n'y a plus de normal task sur le socket, elles sont migrées sur le little socket pour sauvegarder l'energie. (edited) 
vlad.nitu  5:52 PM
ah oui
5:52
je comprends
5:53
oui, c’est ce qu’il faut faire
5:54
du tout façon depuis les littles on peux plus les migrer
vlad.nitu  10:35 AM
Salut Lavoisier
10:36
est-ce que tu pourais te connecter plus tôt pour la réunion ?
lavoisier wapet  10:36 AM
Bonjour Vlad
10:36
Tu proposes que je me connecte vers quelle heure?
vlad.nitu  10:37 AM
a 10h45 ca te va?
10:38
ou même maintenant si t’est dispo
lavoisier wapet  10:39 AM
D'accord Vlad, dès que je peux je me connecte, avant 10h45
vlad.nitu  10:39 AM
ok
10:40
voici le lien pour rappel https://insa-lyon-fr.zoom.us/j/99360003235?pwd=VEV1UktTWUZjNlZyVnl6SHpYWjVCUT09
lavoisier wapet  2:07 PM
Bonjour Vlad.
vlad.nitu  2:47 PM
Salut!
2:50
est-ce que il t’ont créer le compte gitlab liris?
lavoisier wapet  2:54 PM
J'étais sensé recevoir un mail dès que les procédures administratives seraient terminées; mais jusqu'ici je n'ai pas encore reçu de mail. (edited) 
vlad.nitu  2:55 PM
t’est dispo pour fair un point maintenant?
lavoisier wapet  3:02 PM
Je suis disponible Vlad, j'utilise quel lien?
vlad.nitu  3:02 PM
https://insa-lyon-fr.zoom.us/j/91698891382?pwd=RGptcFZQZHZidGR1R25ibjRKc1JMdz09
lavoisier wapet  3:53 PM
Salut, Vlad. J'avais juste une question à te poser: as-tu une addresse cnrs. Je dois me connecter sur Ariane pour mettre à jour mes informations personnelle et il me faut une addresse cnrs. Est ce celle du liris que tu utilises?
vlad.nitu  3:54 PM
Oui
3:54
Cest prenom.nom@liris.cnrs.fr
lavoisier wapet  3:59 PM
Est ce que tu as pu te connecter sur le site ariane.cnrs.fr
vlad.nitu  4:15 PM
Oui
4:16
Si t'as des problèmes envoi un mail a Gilles Brochet
vlad.nitu  10:45 AM
Salut Lavoisier
10:46
Comment ça se passe? T’as pu avancer sur les expes?
lavoisier wapet  1:51 PM
Bonjour Vlad, j'ai pu intégrer le governor.
Déjà je perçois l'impact de l'implémentation relative au Governor, le drain passe de 7.78 à 5.89 et sans Meng Zhu c'est 5.23. La workload était de 84225 sans le governor, puis est passée à  101411 avec l'implémentation liée au Governor; et sans Meng Zhu, la workload est autour de 189083Donc, je note
-------- Un ralentissement de 42 % de Menz Zhu sur la Workload calculée
-------  Une augmentation du drain de 12% chez Meng Zhu par rapport au Natif - de 5.23 à 5.89
------- Une augmantion de la conso  cpu sur la  Battery de 18% chez Meng Zhu au NatifTous ces chiffres sont obtenu sur une durée d'une minute d'évaluation, là je teste sur 10 minutes pour avoir un aperçu de l'impact de Meng Zhu sur une longue durée. Après je me dis qu'il faut que je retire les printk dans le kernel qui peuvent aussi altérer les résultats.
vlad.nitu  2:01 PM
oui, les printk ont un impact…
2:01
il y a beaucoup plus de code a executer
2:05
comment tu mesures la consommation énergétique ?
2:06
le battery drop ou tu utilises le API?
2:06
(j’ai réservé la salle 222 pour vendredi)
vlad.nitu  2:37 PM
T'est dispo pour un point ?
lavoisier wapet  3:52 PM
Vlad, je ne suis pas disponible pour l'instant.
Le battery drain [1] et la consommation énergétique cpu de la Batterie [2] sont  extraits de l'output de "dumpsys batterystats" basé sur le code de Naila,
Pour l'instant je retire les printks, puis je testerai à nouveau si possible.
D'accord pour la salle pour Vendredi.
[1] https://github.com/NailaChennit/benchmarking_app_to_test_big_cores/blob/dadcafe663[…]scheduling/benchmarking_app_to_test_big_cores/MainActivity.java
[2] https://github.com/NailaChennit/benchmarking_app_to_test_big_cores/blob/dadcafe663[…]scheduling/benchmarking_app_to_test_big_cores/MainActivity.java
vlad.nitu  3:53 PM
ca marche
3:54
je pense que le “cpu” de batterystats est le plus fiable
3:54
le battery drain est souvent nonlineaire
vlad.nitu  10:46 AM
Salut Lavoisier! J’pu liberer le Galaxy s8 du coup j’ai trois telephones pour toi
10:47
Est-ce que tu peux passer lundi a Charpennes pour te les donner ?
vlad.nitu  11:03 AM
ca c’est le mec qui est fort dans mobile energy-efficiency https://scholar.google.com/citations?hl=en&user=COjq9XUAAAAJ&view_op=list_works&sortby=pubdate
11:03
jette un coup d’oeil sur ses papiers
lavoisier wapet  8:24 AM
Bonjour Vlad, message reçu. A quelle heure prévois tu être sur Charpennes? après 14h ça m'arrangerai.
vlad.nitu  8:35 AM
J'ai une réunion de 14h à 15h donc on va dire 15h30?
8:38
Mais je crois que mieux je te les donne demain à notre réunion
8:38
Comme ça tu perds pas du temps 2 fois sur la route
8:39
Entre temps tu peux regarder la procédure pour les root-er
8:41
Il s'agit d'un Wiko Cink Five et le Galaxy S8, l'autre téléphone Xperia E3 a déjà LineageOS
8:42
Sinon t'as pu avancer sur les expes ?
lavoisier wapet  10:58 AM
Message reçu Vlad, à demain si possible pour les téléphones . Entre temps je tâcherai de voir leurs procédures de rooting.
En ce qui concerne les expés, je n'ai pas eu le temps d'avancer.
Par contre, excuse moi encore pour mon entêtement mais j'ai deux nouvelles qui me sont venues à l'esprit et que je dois t'annoncer.
1 - La première est que l'implémentation au niveau kernel me semble incontournable car
même si on définit par les expés des contextes d'exécution des FL task  qui sont préférables aux autres,
il faut dans une situation donnée et avant de pouvoir faire le choix d'un contexte, connaître le contexte actuel.
Et à moins que je me trompe cette information s'obtient au niveau  du kernel,
c'est ce que Meng Zhu fait lorsqu'il teste les siblings cores par exemple avant de scheduler  ou pas une Best Effort Task.
2 - Dans l'implémentation actuelle de la migration du big core vers le Little cluster,
je migre toujours sur le cpu 2. Or lorsque j'active Meng Zhu le thread est toujours sur le cpu2
ce qui prouve qu'il provient probablement d'une migration depuis le big cluster.
Et c'est comme ça en permanence donc, apparemment la migration se passe presque tout le temps .Je peux court-cicuiter la fonction de migration du kernel sur laquelle je me suis basé pour faire la migration,
c'est la fonction migration_cpu_stop et je peux essayer d'empêcher la migration des FL du little cluster vers le big cluster si cette migration est inutile. Puisque apparemment c'est ça qui consomme inutilement l'énergie.
Ainsi, la tâche ne pourra plus "quitter" le cpu 2. Ni aller sur le big cluster et le rallumer inutilement.C'est sur ça que je prévois travailler en priorité,
sachant bien sur que je jette un coup d'oeil sur le papier partagé
et les procédures de rooting. A moins que tu y vois un inconveniant.
MPEG 4 Audio 
Vlad.m4a
4:15(4 MB)
4:15
vlad.nitu  12:37 PM
> il faut dans une situation donnée et avant de pouvoir faire le choix d’un contexte, connaître le contexte actuel.
que-ce que tu comprends ici par le contexte ?
12:41
il y a (1) des microbenchmarks avec lesquels on teste des scenarios prédéfinis et (2) des expes d’integrations… (edited) 
vlad.nitu  12:46 PM
depuis plus de 6 mois on essaye d’implementer le (2) sans pour l’instant avoir des courbes (edited) 
12:48
cette fin d’année je doit justifier le financement de ton premier année de postdoc et ne peux pas dire rien de plus que “on a essayé d’implementer MengZhu sans succès pour l’instant”
12:49
je comprends que c’est difficile mais il faut comprendre qu’on est payé pour faire la recherche, pas d’ingénierie
12:50
donc essaye de te focaliser stp sur le (1) des microbenchmarks avec lesquels on teste des scenarios prédéfinis
12:52
le contexte actuel on le défini nous
12:53
essaye de tester la consommation énergétique de 1, 2, 3, 4, 5 threads sur le LITTLE pour l’instant
12:53
et demain on discutera de la suite
lavoisier wapet  12:54 PM
Message reçu Vlad.
vlad.nitu  12:56 PM
merci, et je suis désolé pour mon message peut être un peu agressif
12:56
mais il faut sortir des graphes
12:56
on a besoin de comprendre les variables qui influencent la consommation énergétique
12:57
on ne peut plus se permettre de perdre le temps sur l’implémentation
12:59
(j’ai réservé la salle 220 pour demain)
lavoisier wapet  1:26 PM
La dernière fois j'avais fixé le temps, cette fois ci je fixe la workload (pour qu'elle fasse environ 10 min sur les little cores)? (edited) 
vlad.nitu  1:33 PM
Tu peux faire les deux
1:34
1 fixer le temps et voir combien chaque thread réussi à calculer
1:35
2 fixer le workload de chaque thread et mesuré la consommation énergétique
vlad.nitu  5:22 PM
Salut Lavoisier
5:25
Je viens de voir les secrétaires pour ton nouveau contrat de postdoc
5:28
Apparement il y a des retards avec ta demande FSD et donc ton nouveau contrat risque de commencer que le 1er février
5:30
voila, j’ai vraiment du mal pour toi mais la gestion administrative de FSD a Lyon a des grosses soucis :unamused:
5:31
mais il faut remplir ton dossier de recrutement entre temps, je t’ai envoyé un mail
5:32
Comme ça quand ton FSD sort il peuvent vite te recruter
5:32
Rempli les informations que tu connais de ce dossiers et si t’as des questions tu peux contacter Caroline Ferri
vlad.nitu  6:04 PM
une autre question, est-ce que t’as pu résoudre le problème avec le git de LIRIS?
lavoisier wapet  12:27 PM
Bonjour Vlad, j'ai déjà pu me connecter au git du LIRIS et faire des push.
Aussi pour la procédure de recrutement, j'ai reçu tes messages et les mails aussi, espérons que les soucis se résolvent.
vlad.nitu  12:29 PM
Super
12:31
Tu peux créer des projets dedin avec le code que toi et Naila a développé
12:31
Ajoute moi aussi dans les projets
12:31
Et n'oublie pas de faire des push souvent
12:32
J'essaie de accélérer les choses le plus possible mais les secrétaires sont débordés
12:34
Il faut avancer avec le dossier de recrutement de ton côté
12:35
Comme ça quand le FSD sort ils peuvent lancer ton contrat
12:35
Sinon t'as pu root-er les deux téléphones ?
vlad.nitu  2:23 PM
?
lavoisier wapet  5:19 PM
Bonsoir Vlad, J'ai entre autre.
-- terminé les expés sur le Nexus 4A ( je suis allé jusqu'à 7 thread, l'erreur que j'avais a été corrigée - j'avais mal pinné les threads)
-- terminé les expés sur le Sony Xpéria (4 cores - 4 Threads - avec quelques adaptions du code source des expés - il était rooté par magisk)
-- rooté le Samsung S8 avec magisk sur ubuntu (avec heimdall, twrp)
     Je prévois continuer demain avec les expés sur ce téléphone.-- En ce qui concerne la procédure de recrutement, j'ai presque terminé (hors mis quelque renseignements à prendre auprès de Caroline Ferri). (edited) 
vlad.nitu  5:34 PM
super, merci pour le point
5:34
demain matin j’ai une réunion ANR toute la matinée donc on va annuler notre réunion
5:34
on reste en contact sur Slack
vlad.nitu  7:25 AM
Ça avance ? Est-ce qu'il y a des choses que tu veux qu'on discute cette aprem ?
lavoisier wapet  12:32 PM
Bonjour Vlad,1 - En réponse à ta question , Je suis en pleins expés. Donc il n'y a pas grand chose qui nécessite un appel. Dumoins pour l'instant.
12:32
2 - Par contre j'ai repensé au google Pixel 4a, le premier téléphone, et j'ai affiché un fichier que je viens de découvrir et qui donne pour un coeur,  les coeurs qui sont sur  même socket que lui, ce fichier est pour le cpu0  /sys/devices/system/cpu/cpu0/topology/core_siblings_list
Je me suis rendu compte que les deux big cores (cpu6 et cpu7) ne sont pas sur le même socket.
Voici l'output.
bramble:/ # cat /sys/devices/system/cpu/cpu0/topology/core_siblings_list
0-5
bramble:/ # cat /sys/devices/system/cpu/cpu6/topology/core_siblings_list                                                                
6
bramble:/ # cat /sys/devices/system/cpu/cpu7/topology/core_siblings_list                                                                
7
Donc en conclusion, il me semble que ce soit normal que les résultats de Meng Zhu ne soient pas concluants sur le Google Pixel 4A 5G!
12:32
3 - Aussi je t'envoie un mail (une réponse à un de tes anciens mails à peu près sur le même sujet de téléphones).
Après cela ne change rien à ce que tu m'a dit à propos de l'implémentation et des expés toujours en cours . (edited) 
vlad.nitu  12:36 PM
Super, c'est bien que t'a clarifier l'histoire des sockets
12:36
Je vais regarder le mail
12:37
Ok pour la réunion, on parlera la semaine prochaine
12:38
T'a réussi de root-er le Wiko ?
vlad.nitu  1:34 PM
Ça va?
lavoisier wapet  7:12 PM
Bonsoir Vlad, je vais assez bien. Merci.

    A propos des expés, je n'ai pas pu trouver de procédure de rooting à jour pour le wiko cink five. 

(les liens que je trouve et qui pointent vers des outils de rooting pour ce téléphone sont obsolètes, peut-être faut-il que je cherche davantage)

    En outre, j'ai pu avancer avec les expés sur le Samsung S8,  mais à partir de 4 threads avec au moins un thread sur un big core, le "dumpsys batterystats" ne contient pas les infos de l'application courante. Par conséquent , lorsque c'est possible, je relève juste la workload. Demain Il me faudra encore environ une heure pour tester les combinaisons thread-cpu restantes. Ensuite on pourra en parler de préférence de vive voix. 

Bonne soirée.
vlad.nitu  7:14 PM
Salut
7:14
merci pour la mise a jour
7:15
> mais à partir de 4 threads avec au moins un thread sur un big core, le “dumpsys batterystats” ne contient pas les infos de l’application courante
ca c’est bizarre…
7:16
> Par conséquent , lorsque c’est possible, je relève juste la workload
je comprends pas… donc tu teste pas plus de 4 threads?
vlad.nitu  10:35 PM
On peut parler demain aprem si t'est dispo. 16h ça te va ?
lavoisier wapet  9:23 AM
Bonjour Vlad, je prévois être disponible cet après midi, de préférence un peu avant 16h, car vers 16h45 il faudrai que je me libère. Disons donc vers 15h30 pour être assez large.
vlad.nitu  10:51 AM
Normalement j'ai des réunions de 14h à 16h mais on verra, peut être je finis plus tôt
vlad.nitu  12:48 PM
C'est possible que les réunions de 14h à 16h seront annulées donc fait moi signe quand tes devant ton ordi
vlad.nitu  3:22 PM
donc/
3:22
?
lavoisier wapet  3:27 PM
J'aurais quelques minutes de retard. Dès que je suis prêt avant 16h je te fais signe.
vlad.nitu  3:28 PM
ok
3:28
je t’attends
lavoisier wapet  3:57 PM
Vlad j'utilise quel lien?
vlad.nitu  3:58 PM
2 min
4:02
https://insa-lyon-fr.zoom.us/j/96967793045?pwd=RHkxNVhVY3Z3UkZrenRiYVBaeUVyZz09
lavoisier wapet  3:16 PM
Bonjour Vlad, j'ai refléchi sur un algo simple pour avoir la real workload, en prenant aussi en compte la complexité de la division entre deux nombres que fait chaque threads sur chaque test. Et je l'ai redigé en pièce jointe.
PDF 
real_workload_theory.pdf
PDF
View PDF in Slack
3:16
Le soucis est que pour les valeurs de workload atteint par le téléphone, le calcul de la real-workload que j'ai écrit prend du temps, pour s'exécuter.
vlad.nitu  3:17 PM
Est-ce que on peux faire un point rapide en 15 min?
lavoisier wapet  3:17 PM
Oui oui Vlad, On peut s'appeler je te l'explique.
vlad.nitu  3:17 PM
super
vlad.nitu  3:27 PM
https://insa-lyon-fr.zoom.us/j/93749212066?pwd=cUZ0bVVwb2tNQ3hNRDNHenR3VWdTdz09
vlad.nitu  3:35 PM
tu te connectes ?
vlad.nitu  11:00 AM
Salut, t'as des nouvelles ?
lavoisier wapet  11:01 AM
Bonjour Vlad, oui oui, l'algorithme a donné quelque chose d'assez satisfaisant pas loin de ce qu'on avait observé précédemment.
11:02
Je me connecte?
vlad.nitu  11:03 AM
2 min
lavoisier wapet  2:44 PM

    Vlad juste, pour terminer avec le leger soucis que tu as remarqué sur le graphe à propos de la différence entre le 6 et le 7 qui moindre que celle  entre le 7 et le 8. En fait le programme n'avait pas de problème qui  puisse provoquer cet écart, par contre l'expé si. J'ai dû la refaire et voici le nouveau graphe  de la workload obtenue (1), avec le ratio (2) et un zoom sur les trois barre 6-7-8  (workload et ratio) . 

C'était juste pour préciser que l'expé sur cette configuration n'était pas bonne, j'ai donc corrigé, mais rien ne change sur les observations générales apparemment. Bon week-end Vlad.
4 files 
Google_Nexus_workload_according_to_cpu.png
ratio_cpu_battery_workload_according_to_cpu.png
Google_Nexus_workload_according_to_cpu_6_7_8.png
ratio_cpu_battery_workload_according_to_cpu_6_7_8.png
vlad.nitu  2:51 PM
Super! Tres bien! Donc tout est linéaire
2:52
Je suis curieux comment les graphes vont être sur le S8
vlad.nitu  12:31 PM
Salut, j'ai demandé la semaine dernière des clarifications par rapport à ton FSD
12:32
Je t'ai transféré le réponse
12:34
Je vais voir si c'est possible d'avoir une prime de précarité pour janvier
12:35
Sinon le travail avance ?
lavoisier wapet  5:21 PM
Bonsoir Vlad, j'ai bien reçu tes messages (par rapport au mail et la prime de précarité)
Pour ce qui est du travail, j'ai eu quelques soucis avec le téléphone Samsung S8.
En fait le problème que j'avais en réunion passée (bloking au démarrage) vient généralement du fait que le OEM unlock n'a pas été activé avant le rooting. Or il me semble que je l'avais fait en suivant cette procédure [1] . Or apparemment cela n'a pas changé les paramètres de sécurité qui sont vérifiés au démarrage du téléphone.
Note, j'étais obligé de procéder ainsi, car  par défaut, ce téléphone n'a pas cette option de désactivation de l'OEM dans ses settings. Mais apparemment la manipulation que j'ai suivie [1] est volatile.Donc toute cette journée, j'ai été bloqué à vouloir réparer le 'security verification checking' du binaire de twrp déjà présent sur la recovery.J'ai dû télécharger la Stock ROM de ton téléphone après avoir longtemps recherché sa version exacte.
J'ai du à nouveau flasher chirurgicalement les partitions system, boot et recovery pour que cela puisse marcher à nouveau.Demain, je prévois reflasher à nouveau twrp et magisk pour pouvoir continuer avec les expés.
Mais je dois faire gaffe à ce que le téléphone ne s'éteigne pas. Sinon faudra reflasher la stock rom, puis rooter à nouveau.[1]https://www.xda-developers.com/fix-missing-oem-unlock-samsung-galaxy-s9-samsung-galaxy-s8-samsung-galaxy-note-8/
xda-developersxda-developers
How to fix the missing OEM Unlock button on the Samsung Galaxy S9/S8/Note 8
If you're missing the OEM Unlock button on your Samsung Galaxy S9, Samsung Galaxy Note 8, or Samsung Galaxy S8, here's a tutorial on how to get it.
Jun 30th, 2018 (160 kB)
https://www.xda-developers.com/fix-missing-oem-unlock-samsung-galaxy-s9-samsung-galaxy-s8-samsung-galaxy-note-8/
lavoisier wapet  5:29 PM
Aussi je devais te signaler, ou plutôt confirmer que ce Mercredi 22 Décembre, je prévoyais prendre un jour de congés.
vlad.nitu  5:51 PM
D’accord, je vois
5:52
C’est bien que t’a pu le un-brick
5:52
Charge le a 100% avant de commencer
5:52
et tu peux le garder branché
5:52
la baterie n’est pas top mais ca tenait un jour
vlad.nitu  3:22 PM
Salut Lavoisier
3:22
Du coup t'a réussi de root le S8?
lavoisier wapet  5:26 PM
Bonjour Vlad,
1 -  j'ai pu  rooter S8,
2 - Cependant je n'ai pas pu corriger l'erreur du "dumsys batterystats" qui n'affiche pas les infos de l'application au delà de 4 threads (avec au moins un sur le big core), même si je ne les pinne pas.
3 - J'ai pu  aussi recommencer les expésavec le Samsung (au moins sur ce qui est mesurable), et  sous basse température; mais les données sont très instables (j'ai fait deux tests et les écarts son assez  grands; il faut que j'en refasse jusqu'à ce la température et les données se stabilisent)
4 -  Pour vérifier si c'était normal de constater sur le Samsung le petit écart que l'on observait  entre la workload sur le big core et celle sur le little core, il m'est revenu d'afficher les freq max des cpus sur le Samsung et sur le Google Pixel. Voici (j'imagine que c'est en GHz)
  Sur le samsung :           CPUs 0-3 : 1.69 GHz ,      CPUs 4-7: 2.314 GHz
  Sur le Google Pixel :     CPUs 0-5: 1.8048 GHz    CPU 6:      2.208 GHz      CPU7: 2.4 GHz
En principe sur le Google Pixel il y'a environ 0.4 GHz de différence entre le cpu 5 et le cpu 6 alors qu'il y'a jusqu'à 0.6 GHz entre le cpu 3 et le cpu 4 du Samsung donc sur le Samsung on drevrait observer un grand écart que cela.
En espérant pouvoir corriger le bug du battery stat, je prévois continuer Jeudi les expés avec le Samsung dans un cold environnement, (Demain mercredi je prévoyais prendre un congé)5 - Avec ces erreurs je me suis rappelé que je devais de donner le lien pour l'achat de l'outil  que Meng Zhu utilise pour mesurer la consommation énergétique de la battérie. Le voici ce dessous.
 https://www.msoon.com/online-store/Low-Voltage-Power-Monitor-Power-Supply-See-Description-p91565877 .
vlad.nitu  6:33 PM
Super, merci pour la mise à jour
6:34
Et si tu lances que des big cores (1,2...) il y a le problème de dumpsys ?
6:34
Pas de problème pour le congrès de demain
lavoisier wapet  1:26 PM
Bonjour Vlad, merci pour les congés.
Pour répondre à ta question, j'ai fait plusieurs test avec le Samsung et le problème se pose lorsque je lance 4 thread et il ya au moins un thread qui tourne  sur un big core même à froid. Et même à froid, l'écart entre les bigs cores et les littles n'a pas l'air de trop varier.
vlad.nitu  3:14 PM
salut Lavoisier
3:15
est-ce qu’il y a un dispositif qu’on peut utiliser pour mesurer la consommation sur les téléphones ?
3:17
un truc qui peut être utilisé pour toutes les téléphones
3:17
tu sais, on avait deja parler de ça
lavoisier wapet  3:53 PM
Ce à quoi j'ai premièrement pensé, c'est l'outil que Meng Zhu utlise [1][2], il coûte 879 Euros.
Après il y'a apparemment d'autres outils qui sont moins chers et qui peuvent monitorer la consommation énergétique,
mais je ne saurai me prononcer pour le moment.
[1] https://www.msoon.com/high-voltage-power-monitor
[2] https://www.testdevlab.com/blog/2019/10/05/how-we-test-mobile-app-battery-usage/
vlad.nitu  3:56 PM
je vois qu’il le branche sur le USB-C
3:56
mais comment isoler la consommation due au chargement de la batterie?
vlad.nitu  1:07 AM
Salut Lavoisier, t'a pu avancer entre temps ?
1:09
>mais comment isoler la consommation due au chargement de la batterie?
Tu peux stp me répondre à cette question ?
lavoisier wapet  2:10 PM
Bonjour Vlad,
1 - J'ai vu un élément de réponse à ta question dans le lien ci dessous [2], et je recopie ce qui y est écrit [3], je me dis qu'il faut faire un branchement spécial dans le téléphone. De plus, le branchement usb-c que propose l'appareil de mesure n'alimente pas le téléphone en énergie.  Dans la vidéo, il en parle de la 10 ième minute à la 13 ième minute. Il montre aussi les téléphones désassemblés de la minute 21:20 à 23:48.
2 - Notons aussi que dans la vidéo du lien [1], le nexus a été modifié in-house pour le branchement du power monitor (minute 3.08), et à la minute 5.38 il  enlève le cable  usb-c.[1] https://www.msoon.com/high-voltage-power-monitor
[2] https://www.testdevlab.com/blog/2019/10/05/how-we-test-mobile-app-battery-usage/
[3] Extrait du lien [2] où l'on parle du branchement : To attach a device to the Power Monitor we need to isolate the device’s (+) pin, and connect it directly to the monitoring device and the (-) pin is attached to Power Monitor and the battery of the phone together. This is what it looks like schematically. Such a setup does not affect the battery,so we don’t have to worry about degradation of the battery and thus always gives precise results.  (edited) 
vlad.nitu  3:42 PM
ok, je comprends
3:43
Tu pense pouvoir faire ces modifications toi meme si on achète le device?
3:45
Make sense ce qu’ils disent, il faut séparer la batterie du telephone comme ca le device alimente que le telephone
lavoisier wapet  5:13 PM
A te dire vrai, Vlad, je ne peux absolument rien te promettre. Mais s'il j'ai  les équipements nécessaires (cables, adhésif, tournevis, fixateurs pour les connections dans les circuits) et si j'ai la possibilité de le faire, je ne me priverai pas d'essayer, bien sûr avec l'aide de bon tutoriels. (edited) 
vlad.nitu  5:18 PM
je peux t’appeler vite fait?
5:20
est-ce que on a d’autres options pour mesurer la consommation énergétique ?
lavoisier wapet  2:58 PM
Bonjour Vlad,
A - pour répondre à ta question il m'est venu à l'esprit de regarder les autre papiers [1] [2] [3] [4] qui font de la mesure de consommation énergétique et de  manière générale
 1 - Soit c'est l'outil Monsoon power monitor qui est utilisé (c'est beaucoup plus simple) ou un autre power monitor [4]
 2 - Soit c'est une combinaison de deux outils, l'un des outils pour l'alimentation (power supply), et l'autres pour l'acquisition des données. J'ai pu regarder les prix, et lorsque c'est possible de les avoir sans contacter le fabriquant, le power supply coûte entre 40 et 200$ et l'outil d'acquisition c'est  202$
 3 - Les outils logiciels systeme comme le Battery Doctor, le Device Care de Samsung qui ne donnent que le Pourcentage de battérie consommé par applications, et n'est pas réactive et ne peut pas se prêter au jeux des expérimentations.B- Il m'est venu à l'esprit de dire que ça ne me paraît pas adapté de faire des mesures avec ces équipements à la maison avec les téléphones ouverts et une petite table comme la mienne; au cas où on achète le matériel, Il va falloir peut-être que l'on pense à obtenir une permission spéciale pour que j'aille au labo tout les jours durant la prise de mesures.Références.
[1] Premier papier utilisant le Power Supply PS-2000D qui coûte entre 55 et 200$, et l'acquisiteur de données DAQLite par Eagle Technology.
  https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.856.8786&rep=rep1&type=pdf
[2] Deuxième papier qui utilise Monsoon power monitor https://s2aas.syr.edu/wp-content/uploads/2015/07/MSensing-Infocom12.pdf
[3] Papier qui utiliser un power supply non précisé apparemment et le National Instruments 6009 Data Acquisition module (202$) pour l'acquisition de données https://dspace.mit.edu/bitstream/handle/1721.1/53727/Crk-2009-Understanding%20energy[…]pplications%20on%20mobile%20phones.pdf?sequence=1&isAllowed=y
[4] Un autre papier qui utilise un Power meter complet : Agilent 66321D power meter un peu  comme celui de Moonson mais je n'ai pas pu obtenir le prix.  "Energy Consumption and Conservation in WiFi Based Phones: A Measurement-Based Study By Ashima Gupta and Prasant Mohapatra" (edited) 
vlad.nitu  4:35 PM
Salut Lavoisier
4:35
Merci pour les informations
4:37
A - je vais essayer de les commander l'année prochain
4:41
B - Maintenant tu peux aller quand tu veux au CEI. Je crois qu'en début de 2022 ils vont finir aussi avec les travaux au Blaise Pascal et on aura des bureaux là-bas
vlad.nitu  3:16 PM
Salut, t'est disponible en ce début de semaine pour faire un point ?
lavoisier wapet  3:54 PM
Salut Vlad, oui je suis disponible en ce début de semaine. On peut discuter demain à partir de 11h, je prévois aussi être libre dans l'après midi de demain. (edited) 
vlad.nitu  3:55 PM
On va dire demain à 14h?
3:56
Les matins je ne peux pas car je suis au Mexique en janvier
3:56
Et il y a -7 heures
lavoisier wapet  3:58 PM
D'accord pour 14h (edited) 
vlad.nitu  3:59 PM
Ok, on discutera des instruments pour mesurer la consommation énergétique
4:00
Essaye de te renseigner jusqu'à demain comment on peut les utiliser sur le S8 et Pixel
4:01
Et qu'est ce que il faut commander
lavoisier wapet  12:15 PM
Bonjour Vlad, j'ai bien reçu ton message.
12:15
C'est vrai qu'avant d'accepter de faire la réunion demain à 14h, j'aurai dû te demander sur quoi est ce qu'on discutera. Tout simplement parce que fixer l'heure de la réunion avant de définir ce qu'il faut préparer pour cette réunion, c'est comme mettre la charrue avant les beoeufs. (edited) 
12:15
Aussi, entre temps, as tu eu des nouvelles par rapport à  la prime de précarité dont tu m'as parlé pour ce mois de janvier?
vlad.nitu  1:32 PM
Pas du retour pour l'instant mais les secrétaires vient juste de reprendre
1:32
Je vais les relancer en fin de semaine
vlad.nitu  2:03 PM
https://insa-lyon-fr.zoom.us/j/98798612574?pwd=ZCtHK3NuWFo2TDVCOG56M21vSHg5QT09
2:05
(c’est le lien de la reunion)
lavoisier wapet  2:08 PM
Je suis connecté Vlad
vlad.nitu  1:05 AM
Salut,Tu peux aussi stp remplir ce document jusqu’au lundi prochain avec les travaux de ta première partie de postdoc?Tu peux utiliser aussi les travaux de Naila. Si le document total a 2-3 pages c’est suffisant.
Word Document 
Modèle Rapport d'activité IDEX.docx
Word Document
View Word Document in Slack
lavoisier wapet  2:24 PM
Bonjour Vlad, j'ai bien recu le modèle du rapport d'activité. D'accord pour Lundi prochain.En outre je devais te signaler que j'ai bien flashé le Système Lineage Os sur le Samsung Galaxy S8.
Par contre, même avec un seul thread pinné sur un little cpu, je ne réussis pas à obtenir la consommation énergétique des cpus.
J'ai même exécuté cette commande [1] qui te permet d'obtenir un rapport complet la consommation énergétique d'une application.
Et cette commande me donne deux output différents, lorque je l'exécute d'une part sur le Samsung et d'autre par le se Google Pixel.
Je constate que dans l'output du Samsung, sont absentes les données du type "cpu=",  alors qu'elles sont présentes sur le pixel, preuve que le Samsung ne fournit pas ces informations (Je joins les Outputs  à ce message).
C'est donc apparemment encore pire avec le Lineage Os sur le Samsung.
Peut-être en fouillant sur internet je pourrai trouver des raisons à cela, c'est ce que je prévois faire par la suite.
[1]adb shell dumpsys batterystats --charged  APP_PACKAGE_NAME > output  (edited) 
2 files 
app_stats_from_pixel
Plain Text
Click to view details
app_stats_from_Samsung
Plain Text
Click to view details
vlad.nitu  2:37 PM
Merci pour cette mise a jour
2:38
> Peut-être en fouillant sur internet je pourrai trouver des raisons à cela, c’est ce que je prévois faire par la suite.
oui, essaye de voir sur les forums, peut être ils expliquent pourquoi on arrive pa a lire la consommation énergétique sur le S8
2:39
au moins, tu trouves le UID de ton application dans les stats Samsung?
2:42
une autre idée: est-ce que on ne peut pas utiliser les valeurs de Computed drain ?

Estimated power use (mAh):
    Capacity: 3000, Computed drain: 183, actual drain: 150-210
    Screen: 148 Excluded from smearing

vlad.nitu  4:03 PM
Salut, j’ai eu la secrétaire au téléphone et elle m’a dit que la prime de précarité est automatique
4:04
si t’est éligible
4:04
t’as pas reçu une prime sur ta dernière fiche de paye ?
4:06
Sinon t’as des nouvelles concernant la consommation énergétique de S8? On fait un point rapide demain a 14h?
vlad.nitu  4:21 PM
un autre truc, Amael va commencer son stage et va travailler avec toi a partir d’avril
il y a des choses où t’as besoin d’aide? tu peux commencer a l’impliquer dans le projet (edited) 
4:22
Fait moi signe quand tu vois les messages
lavoisier wapet  5:06 PM
Bonjour Vlad, j'ai bien reçu tes messages relatifs à la prime de précarité et à Amael
 1 - Pour ce qui est de la prime de précarité, je n'en ai pas reçu sur la dernière fiche de paie, je le dis car nulle part il n'est fait allusion à une  prime et le montant perçu d'après la fiche de paie de Décembre, est le même que celui des autres fiches de paies précédentes.
2 - Par rapport à la consommation énergétique du S8, j'ai juste des réponses à tes questions:
         a - Je trouve l'uid de l'application dans l'output et ça se trouve dans la section "Estimated power use",
                mais l'information relative au cpu est manquante comme je te l'ai expliqué.
         b - Lorque je n'ai pas accès au données du cpu, le computed drain qui est affiché me semble ne pas intégrer la consommation énergétique de l'application car, que ce soit avec 4 thread sur les littles ou 5 threads (4 sur les littles et 1 sur les bigs)  je ne perçois pas de différence significative dans la valeur du computed drain qui est affichée. j'avais d'ailleurs effectué les mêmes observations avec plusieurs tests différents lorsque je n'avais pas encore installé lineage Os sur le Samsung S8, c'est à dire lorsqu'il fonctionnait encore avec la stock ROM. Je crains donc que le computed drain ne soit pas fiable tant qu'on a pas accès aux données énergétiques du cpu.
3 -  D'accord pour faire le point demain à 14h, en espérant pouvoir être disponible, je te tâcherai de te faire signe en tout cas. (edited) 
vlad.nitu  6:48 PM
Je prends les points un par un
6:48
https://www.toutsurmesfinances.com/argent/a/prime-de-precarite-definition-conditions-montants
6:49

Dans la fonction publique, cette indemnité s'applique aux contrats à durée déterminée d'une durée initiale inférieure ou égale à un an (renouvellement compris), exécutés jusqu'à leur terme. Elle n'est mise en place que pour les contrats conclus à partir du 1er janvier 2021. Les contrats courts signés avant le 1er janvier 2021 et renouvelés après cette date ne sont donc pas éligibles.

6:50
j’ai pas lu tout sur le lien en haut mais apparement t’est éligible
6:51
cherche juste quand ils vont te la donner, peut être c’est en janvier
6:51
renseigne toi
vlad.nitu  7:05 PM
2 - a) ok, je comprends
7:07
2-b) si je prend en example le snippet suivant:
7:08

Estimated power use (mAh):
    Capacity: 3000, Computed drain: 183, actual drain: 150-210
    Screen: 148 Excluded from smearing
    Cell standby: 19.5 ( radio=19.5 ) Excluded from smearing
    Wifi: 8.48 ( wifi=8.48 ) Including smearing: 9.59 ( proportional=1.10 )
    Idle: 5.80 Excluded from smearing
    Uid 1000: 1.53 ( wake=0.0260 gps=0.00109 sensor=1.51 ) Excluded from smearing
    Uid 0: 0.0475 ( wake=0.0475 ) Excluded from smearing
    Uid 1041: 0.00484 ( wake=0.00484 ) Excluded from smearing
    Uid 1001: 0.00222 ( wake=0.00222 ) Excluded from smearing
    Uid u0a106: 0.000416 ( wake=0.000416 ) Excluded from smearing
    Uid 1027: 0.0000391 ( wake=0.0000391 ) Excluded from smearing
    Bluetooth: 0.0000391 ( wake=0.0000391 ) Including smearing: 0.0000442 ( proportional=0.00000509 )
    Uid u0a67: 0.00000978 ( wake=0.00000978 ) Including smearing: 0.0000111 ( proportional=0.00000127 )

le probleme est que le Computed drain: 183 n’est pas fiable, nest pas?
7:09
et le nombre d’apres le uid n’est aussi pas fiable
7:09
example Uid u0a106: 0.000416 (edited) 
7:09
c’est bien ça ?
lavoisier wapet  7:17 PM
Oui Vlad, Le computed drain n'est pas fiable; et l'autre valeur que tu as mentionnée n'est pas celle que l'on recherche, celle que l'on recherche est présente dans le fichier app_stats_from_pixel à la ligne 83, or cette ligne n'est pas présente dans le fichier app_stats_from_Samsung (elle devrait être là entre les lignes 91 et 92).
En passant,  J'ai dû modifié le point 3 à cause d'une urgence.
3 - D'accord pour faire le point demain à 14h, en espérant pouvoir être disponible, je te tâcherai de te faire signe en tout cas.
vlad.nitu  7:19 PM
> 3 - D’accord pour faire le point demain à 14h, en espérant pouvoir être disponible, je te tâcherai de te faire signe en tout cas.
tu peux me confirmer avant te coucher ce soir stp?
7:21
tu peux aussi prendre contact avec Amael et lui donner des choses a lire pour son stage stp?
7:22
je l’ai contacté donc il attend ton contact sur Slack
7:22
j’ai plus du temps a gérer tout donc il sera ton stagiaire :slightly_smiling_face:
7:23
c’est une belle expérience, je sais pas si t’a deja encadré des stagiaires avec Alain
lavoisier wapet  1:30 PM
Bonjour Vlad, ce n'est que ce matin que j'ai vu tes messages. Je suis disponible pour qu'on discute à 14h.
vlad.nitu  1:56 PM
Ok
vlad.nitu  2:02 PM
voici le lien
2:02
https://insa-lyon-fr.zoom.us/j/96057189331?pwd=Z05DRXBSSVlIVkhuNmdPTmtZQ29aUT09
lavoisier wapet  2:27 PM
https://www.msoon.com/high-voltage-power-monitor
Monsoon SolutionsMonsoon Solutions
High Voltage Power Monitor | Monsoon Solutions | Bellevue
Affordable high precision current and voltage measurement tool. Analyzes power consumption and DC values. Provides standalone power supply for tested devices. (140 kB)
https://www.msoon.com/high-voltage-power-monitor
lavoisier wapet  1:59 PM
Salut  Vlad, voici les nouvelles :
1 - Rapport d'activité: Comme convenu je mets en pièce jointe le rapport d'activité que tu as demandé.
2 - Prime de précarité: Aussi, J'ai reçu par courrier, le document sur lequel est calculé la prime de précarité; ce document s'appelle la solde de tout compte. Sur ce document la prime de précarité est bel et bien calculée mais je ne l'ai pas reçu dans mon compte, et il n'y est pas marqué de date versement. Et la case non est cochée suite à la question UNE TRANSACTION EST-ELL EN COURS.(je t'ai envoyé un mail où j'explique cela). (edited) 
Word Document 
Rapport_activite_IDEX.docx
Word Document
View Word Document in Slack
vlad.nitu  2:51 PM
Merci Lavoisier
2:51
est-ce que tu peux prendre en photo le courrier que t’a reçu ? Je vais l’envoyer a Sylvie Oudot et je vais demander des renseignements
vlad.nitu  3:22 PM
t’est en ligne? si tu la fait maintenant je vais l’envoyer avec le rapport d’activité donc il y a beaucoup plus de chances qu’on aura un réponse
lavoisier wapet  3:53 PM
J'ai filmé le document, ce sont les pages 7 et 13 qui font référence à la prime de précarité (edited) 
PDF 
solde_de_tout_compte_WAPET.pdf
PDF
View PDF in Slack
vlad.nitu  3:58 PM
donc la prime de précarité est sur la dernière page n’est pas?
4:00
Je vois que c’est Axelle Gauvin qui gère ça, je vais lui faire un mail
lavoisier wapet  4:27 PM
J'ai fait une erreur tout à l'heure dans mon dernier message, toutes mes excuses. En fait, les  primes de précarité* sont mentionnées aux pages 7 et 13 (edited) 
vlad.nitu  6:50 PM
j’ai envoyé un mail au RH pour demander des clarifications, t’est en cc
6:50
J’essaye de commander aussi le Power Metter
6:51
Toi t’as pu avancer du ton côté ?
vlad.nitu  1:33 PM
Ça va ?
1:34
J'ai reçu ton mail mais j'avais déjà envoyé le rapport
lavoisier wapet  2:02 PM
Bonjour Vlad, je vais assez bien.
1- A propos des procédure: message reçu...  J'ai aussi vu le mail d'Axelle par rapport à la prime et j'ai répondu.
2 - En ce qui concerne les expés, même sur mon téléphone je ne peux pas avoir accès aux données de consommation énergétique. Déjà avec un thread sur un big Core, je n'ai pas d'output. Je n'ai pas pu pinner car il faut rooter le téléphone pour faire du taskset sous adb (pour marquer l'affinité). On peut le faire dans le code C apparemment. Mais il me semble que ça ne vaut pas la peine puisque déjà avec un thread je n'ai pas d'output de consommation énergétique.
  J'ai aussi pu afficher les données mais de consommation testées avec l'ancienne ROM sur le Samsung Galaxy S8, et en utilisant le nouveau calcul de  workload, mais j'ai l'impression que ce calcul de workload n'est pas adapté  car les résultats me sont inexplicables. Il se peut qu'il y'ait énormément de bruit à cause du calcul du logarithme dans l'algorithme qui fait les décomptes dans le code.
  Je mets en pièce jointe les résultats avec l'ancienne workload (deux premiers graphes) et les résultats avec la nouvelle workload (le troisième et le quatrième graphes), la consommation cpu  (le dernier graphe). (edited) 
5 files 
Samsung_S8_old_workload_according_to_cpu.png
Samsung_S8_old_ratio_cpu_battery_workload_according_to_cpu.png
Samsung_S8_new_workload_according_to_cpu.png
Samsung_S8_new_ratio_cpu_battery_workload_according_to_cpu.png
Samsung_S8_cpu_battery_usage_according_to_cpu_4_cores_only.png
vlad.nitu  8:27 PM
Super, je viens de voir ton mail
8:27
je pense que tu pourrais juste cocher “Je suis sans emploi” pour ne pas compliquer la situation
8:28
tant que tu n’as pas signé un autre contrat t’est sans emploi
8:28
ton nouveau contrat ne sera pas avec le CNRS mais plutôt avec INSA
je sais pas si ton réponse est valide pour recevoir la prime (edited) 
8:28
on verra ce que Axelle dit
vlad.nitu  5:20 PM
Salut Lavoisier, t'est disponible demain aprem pour discuter les graphs? car il y a des choses que je comprends pas
5:23
Aussi est-ce que t'a contactée Amael?
lavoisier wapet  12:20 PM
Bonjour Vlad,
1- Oui oui, on peut discuter sur les graphs (vers 15h heure de France). En t'aidaint du  texte que j'y ai associé, tu peux déjà laisser tes questions.
2- J'ai discuté avec Amael par slack, lui disant tout ce qu'on s'est dit et il a été d'accord de commencer à travailler sur les plates-formes de Federated Learning et sur Fleet en particulier.
vlad.nitu  2:58 PM
https://insa-lyon-fr.zoom.us/j/93131655887?pwd=TFg2V0pKVmQyQWQzY0dsSTdZK01JUT09
2:58
voici le lien
vlad.nitu  3:07 PM
t’as redémarré ton ordi?
lavoisier wapet  3:08 PM
Oui oui Vlad
vlad.nitu  4:44 AM
Salut Lavoisier, du coup on va faire le call avec Son lundi a 14h
vlad.nitu  2:12 PM
salut
vlad.nitu  2:20 PM
https://insa-lyon-fr.zoom.us/j/96723952669?pwd=a2ZZcC9XL1U2RUM4dWt5SGZxUEFoQT09
2:20
le lien pour la reunion
lavoisier wapet  1:23 PM
Bonjour Vlad, Caroline me demande la convention d'accueil, je ne me souviens pas l'avoir déjà rempli. Sais tu qui est ce que je dois contacter pour l'obtenir?
vlad.nitu  1:42 PM
J'ai aucune idée
1:42
Tu peux lui demander
vlad.nitu  2:16 PM
Elle t’a envoyé le contrat avec le salaire ?
2:18
Je lui dit de te donner le meilleur salaire possible pour un post-doc avec ton ancienneté
lavoisier wapet  7:21 PM
Message reçu Vlad, Caroline ne m'a rien envoyé pour l'instant comme contrat, d'après ce qu'elle m'a dit, l'Insa me  contactera prochainement pour la signature du contrat ainsi que pour le  PV d'installation.
vlad.nitu  7:21 PM
cool
vlad.nitu  2:27 PM
Salut, t’a pu refaire les expes?
vlad.nitu  1:47 PM
Tu peux remplir la convention d'accueil et l'envoyer à Caroline ?
1:52
On se retrouve dans 10 min sur zoom?
lavoisier wapet  2:02 PM
Bonjour Vlad, je l'ai remplie mais il faut que tu vérifies avant, d'accord pour zoom, c'est quel lien qu'on utilisera aujourd'hui? (edited) 
2:03
PDF 
convention_remplie.pdf
PDF
View PDF in Slack
vlad.nitu  2:04 PM
Vlad Nitu vous invite à une réunion Zoom planifiée.Participer à la réunion Zoom
https://insa-lyon-fr.zoom.us/j/95790707486?pwd=VTg2UCszei9qc2JJOG5VaE5CNDFmdz09ID de réunion : 957 9070 7486
Code secret : 555899
Une seule touche sur l’appareil mobile
+33170950103,,95790707486#,,,,*555899# FranceComposez un numéro en fonction de votre emplacement
        +33 1 7095 0103 France
ID de réunion : 957 9070 7486
Code secret : 555899
Trouvez votre numéro local : https://insa-lyon-fr.zoom.us/u/aSQPpxURK-::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~::~:~::-
Do not edit this section of the description.This event has a video call.
Join: https://meet.google.com/win-jyqr-tad
-::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~::~:~::-
meet.google.commeet.google.com
Meet
Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.
vlad.nitu  3:32 PM
https://insa-lyon-fr.zoom.us/j/92386641425?pwd=RVhDbmhCOG9tQWRLbC9kWkgyVHc3UT09
lavoisier wapet  1:53 PM
Bonjour Vlad, je t'écris juste pour te signaler que j'ai du mal à me connecter au serveur VPN de l'INSA, j'ai besoin de me connecter pour mettre en place l'environnement de développement et implémenter/ou plutôt appliquer sur un nouveau kernel, le masquage de la fréquence et si possible implémenter l'attribution du high Nice number à une best-effort task.
Je ne sais pas si tu as entre temps essayé de te connecter au vpn de l'INSA, j'utilise mes identifiants habituels mais sans succès.
vlad.nitu  1:57 PM
Salut Lavoisier
1:57
Il faut rentrer sur l'intranet de l'INSA et chercher la procédure VPN
1:58
Ça été peut être changé entre temps
1:59
Si meme comme ça, ça ne marche pas, il faut contacter Gilles Brochet et Yannick Perret
lavoisier wapet  2:13 PM
Message reçu Vlad.
lavoisier wapet  2:19 PM
Je me dis que c'est peut-être dûe au fait qu'officiellement, je ne fais plus partie du personnel INSA. Je vais  tâcher de contacter GIlles comme tu as dis.
vlad.nitu  2:20 PM
Oui, c'est possible
2:21
Tu peux lui dire que tu va recommencer un nouveau contrat a partir de février
2:22
Et de te recréer le compte
2:22
Met moi en cc
vlad.nitu  8:26 PM
J’ai vu le mail de l’INSA, tu peux pas compiler en local?
vlad.nitu  1:32 PM
Salut Lavoisier, ca avance la procédure administrative ?
vlad.nitu  1:38 PM
Fait moi signe si t’arrive pas a compiler, je peux te donner mon compte jusqu’à t’a le nouveau
lavoisier wapet  2:22 PM
Bonjour Vlad, je me souviens que je ne pouvais déjà pas faire de compilation sur l'ancienne machine que j'utilisais.
Cette ancienne machine était d'ailleurs beaucoup plus puissante que celle que j'utilise actuellement.
J'imagine que sur celle ci je ne pourrais pas non plus possible de compiler le kernel de Lineage Os.
Je t'ai forwardé le mail dans lequel je décrivais ce qui se passait lorsque je compilais le kernel en local. Enfin il me semble que d'après la charte informatique de l'INSA c'est interdit pour toi de me donner tes accès personnels.  En attendant donc la disponibilité du VPN, je prévoyais évaluer les autres pistes de debugging du Samsung S8 relatifs à la consommation énergétique du CPU, et que je devais évaluer et qui sont contenues dans le document partagé.
vlad.nitu  2:23 PM
ok
2:24
FYI, Amael a abandonné son stage
2:25
je suis en train de discuter avec un autre potentiel stagier de Vietnam
2:25
pour l’integrer dans ce projet
2:26
mais entre temps tu peux regarder aussi le truc de Tensorflow Lite
lavoisier wapet  2:29 PM
Message reçu Vlad.
lavoisier wapet  1:48 PM
Bonjour Vlad, je t'écris juste pour t'informer que Annabelle Lardenois, la gestionnaire des ressources humaine, m'a convoqué pour Lundi à 15 h pour la signature du contrat en présentiel à l'INSA. Par conséquent je ne pourrai pas être présent au cours de la réunion de Lundi avec Boris et Sun.
vlad.nitu  1:54 PM
Demande lui si tu peux pas passer a une autre heure car t’as une reunion avec tes encadrants a cette heure ci
1:54
mets moi en cc
1:54
La réunion de lundi est importante
lavoisier wapet  2:22 PM
Toutes mes excuses Vlad, l'eurreur vient de moi. En fait le rendez vous avec Annabelle est prévu pour le 01 Février 2022, et c'est plutôt un Mardi et non un Lundi comme je me l'imaginais depuis quelques jours. Il me semble que le problème est donc résolu.
vlad.nitu  2:56 PM
Ok, super!
lavoisier wapet  2:03 PM
Bonjour Vlad, j'aurais quelques minutes de retard pour la réunion, environ 10 minutes.
vlad.nitu  2:05 PM
ok, pas de probleme
lavoisier wapet  2:09 PM
C'est bien ce lien?
2:10
https://www.google.com/url?q=https%3A%2F%2Finsa-lyon-fr.zoom.us%2Fj%2F95790707486%3F[…]9&sa=D&source=calendar&usd=2&usg=AOvVaw2KVQaCgLKh00KzU8TmxJSq
vlad.nitu  2:10 PM
https://insa-lyon-fr.zoom.us/j/95790707486?pwd=VTg2UCszei9qc2JJOG5VaE5CNDFmdz09
2:10
il y a une demande de reunion que je t’ai envoyé
2:11
si tu l’accepte ca va se mettre dans ton calendrier avec le lien
lavoisier wapet  2:11 PM
d'accord
2:12
"The meeting has not started" (edited) 
vlad.nitu  2:12 PM
https://insa-lyon-fr.zoom.us/j/99360003235?pwd=VEV1UktTWUZjNlZyVnl6SHpYWjVCUT09
vlad.nitu  1:49 PM
Salut Lavoisier, ca avance le travail ?
lavoisier wapet  4:27 PM
Bonjour Vlad,
  J'ai signé le contrat hier, l'accès vpn a été rétablit et la procédure de renouvellement de titre de séjour correctement lancée.
4:29
A propos des manips sur tensorflow proprement dites: En commençant l'implémentation, j'ai rencontré une difficulté sur le setup de l'environnement de développement en local, hors mis les compatiblités logiciels lié à ma version de ubuntu, les packets  de machine learning ont besoin de certaine configuration de la GPU [1].
  En effet le code python ne s'exécute pas à cause d'une erreur mais à présent c'est résolu après que j'ai fait quelques manipulations en se basant sur le [1], question d'adapter des commandes à la version ubuntu 20.04 et à présent je continue le tutoriel [2], je suis sur la phase qui se fait en local.
NB: malgrés le fait que tout à l'air de bien fonctionner j'ai toujour cette information [4] dans l'output du code pythton.
 [1] https://www.tensorflow.org/install/gpu
 [2] https://www.tensorflow.org/lite/examples/on_device_training/overview
 [3] j'ai aussi essayé ce lien pour le debugging (la première étape du full-update) https://gist.github.com/amir-saniyan/b3d8e06145a8569c0d0e030af6d60bea
[4]  Information : kernel driver does not appear to be running on this host (edited) 
vlad.nitu  6:02 AM
Essaye de entraîner le modèle sur Google Colab et le télécharger pour Android
6:02
T'es dispo pour un point aujourd'hui ? (edited) 
lavoisier wapet  11:28 AM
Bonjour Vlad, oui oui on peut discuter  à 13h si tu es disponible (en visio).
vlad.nitu  11:41 AM
Non à 13h je ne peux pas
11:41
L'apprem?
lavoisier wapet  11:43 AM
Vers 15h ça ira? (edited) 
vlad.nitu  11:43 AM
Ok
vlad.nitu  2:03 PM
Salut Lavoisier, t'est dispo pour faire le call plus tôt ?
lavoisier wapet  2:13 PM
A 14h30 par exemple?
vlad.nitu  2:14 PM
Parfait
vlad.nitu  2:29 PM
https://insa-lyon-fr.zoom.us/j/91710585121?pwd=RTFSRmpTSDJVSUUrRExaRU9yemVEdz09
2:29
voici le lien
lavoisier wapet  2:33 PM
J'ai  ce message Vlad Please wait, the meeting host will let you in soon. (edited) 
vlad.nitu  11:50 AM
Salut Lavoisier, voici le mail de Rania dr_talbi@esi.dz
11:50
Tu peux lui écrire par rapport au Tensorflow
vlad.nitu  1:27 PM
Salut, Moonson est arrivé chez moi
1:28
Il faut se voir pour te le donner
vlad.nitu  2:35 PM
tu te connectes ?
vlad.nitu  2:51 PM
ff_elhattab@esi.dz
lavoisier wapet  3:35 PM
Planning des jours de congé prévisionnels de l'année 2022
1 - Le Mercredi 23 Mars 2022
 2 - Les Mardi 5 et Mercredi 6 Avril 2022
 3 - Les Lundi 11 et Mardi 12 Avril 2022 
 4 - Le Mercredi 22 Juin 2022
 5 - Les Mardi 20 et Mercredi 21 Septembre 2022
 6 - Les Jeudi 29 et Vendredi 30 Semptembre 2022
 7 - Le Mardi 4 et Mercredi 5 Octobre 2022
 8 - Le Mardi 11 et Mercredi 12 Octobre 2022
 9 - Le Mercredi 14 Decembre 2022
 10- Le Mercredi 21 Decembre 2022 (edited) 
vlad.nitu  2:32 PM
Salut Lavoisier
2:32
est-ce que tu veux qu’on se voit a 17h au Charpennes pour te donner le power metter?
lavoisier wapet  4:06 PM
Bonjour Vlad, d'accord, à tout à l'heure.
vlad.nitu  11:39 AM
Salut Lavoisier, comment ça avance le travail ?
vlad.nitu  10:06 AM
?
lavoisier wapet  1:38 PM
Bonjour Vlad, Toutes mes excuses pour hier.
1:39
A - En réponse à tes sms.
  1 - Or mis une véritable urgence venant de toi, et pour rester concentré, il me semble convenable que je te réponde.
      a/ Lorsque j'ai vraiment avancé d'au moins une étape dans le projet.
      b/ Lorsque j'ai une réelle préoccupation qui m'empêche d'avancer et qui m'est insurmontable malgrés ce que j'ai essayé pour la résoudre.
  2 - Hors mis ces présicions, j'essaie de travailler aux heures habituelles (du lundi au Jeudi entre 9h et 18h au plus tard avec 1h30 -2 h de pause environ, et le vendredi de 9h à 14h environs) .
  3 - Je n'ai pas toujours reçu ta réponse à propos des congés: https://energy-efficientfl.slack.com/archives/D01U2DH4BPA/p1644244524005609    (edited) 
1:39
B - Concernant le travail, voici un aperçu de ce qu'il m'est venu de faire entre-temps et de ce que je prévois faire par la suite (edited) 
1:40
Comme je t'ai dit mardi soir j'avais implémenté le training du Sequential Model avec en entrée la mnist dataset, mais je ne l'avais pas testé. Et c'est ce que je faisais en debugguant en même temps. Pour charger le dataset de mnist[1] en mémoire je me suis basé sur un algorithme java proposé sur internet [2].  J'ai dû créer une propre classe mnistImage pour sauvegarder les données de chaque image [7]. (edited) 
1:41
1- Le premier soucis a été que cet algorithme est pour les PCs et non pour les téléphones car il la mémoire téléphone est limité.
     Solution - > J'ai donc hacké l'algorithme pour ne charger que quelques images (bien sûr il a fallut comprendre le format des datas pour chirurgicalement extraire les images et les labels voulus) [8] (edited) 
1:41
2- Le second soucis a été que Android compressait ou manipulait les datasets lorsque je l'empaquetais avec l'application, pour le savoir j'ai dû afficher les bytes des dataset avant et après leur chargement pour voir qu'il y'avait différence. C'est en relation avec le dossier asset.
    Solution  - > Pour contourner ce soucis je stocke le dataset dans la sdcard avant d'intaller l'application. (edited) 
1:42
3 - Même là encore j'ai eu une autre erreur inconnue dû au fait que j'avais pas accès à la sdcard malgrés l'octroi des permissions;
    Solution -> je n'ai pas trop cherché à savoir pourquoi, j'ai juste downgrade l'application org.tensorflow.lite.examples.transfer pour que sa target version soit 28 (en dessous de 29). Notons que J'ai essayé ce lien [3], qui n'a pas foncionné, c'est pourquoi j'ai préféré downgrade l'application. [9] (edited) 
1:43
4 - A l'étape du "train()", j'ai eu cette erreur [4]. Il me semble que c'était dû au fait que je me suis basé sur l'exemple  le code [5] pour formatter les inputs du modèle et je me suis juste limité au format des images, sans prendre en compte celui des labels qui sont sur une taille de 10 floats chacun, le float non nul (ie égal à 1) étant à la position de la classe de l'image.
   Solution  -> Par conséquent j'ai pris en compte la taille des labels comme étant tableau de 10 floats.
1:44
5- Mais le problème n'a pas toujours été résolu, j'ai du modifié pour avoir les batch size de 1 pour que le code puisse marcher à nouveau. J'ai l'impression qu'il faut redefinir dans le code python du modèle le format l'input de la méthode train() dans ce cas où ce qui est passé en paramètres est l'input de la batch size.
     Solution -> J'ai fixé  en dur dans le code java , la taille de la batch size à 1. [10] (edited) 
1:44
6 - Tout fonctionne jusqu'au save checkpoint. A présent, je prévois ajouter ce code à l'application de benchmarking qu'on utilisait au départ . Voici le lien vers le code sur lequel le travail a été effectué [6] (edited) 
1:44
7 - Je n'ai pas eu le temps de revoir ce qui sera nécessaire pour le powermeter, afin qu'on en parle clairement à l'électronicien pour le branchement.
1:45
Références :
 [1] dataset de mnist http://yann.lecun.com/exdb/mnist/
[2] algorithme java, de chargement du dataset de mnist  https://stackoverflow.com/questions/8286668/how-to-read-mnist-data-in-c/8301949#8301949
[3] lien expliquant pourquoi il y'a un problème d'accès à la sdcard https://medium.com/@sriramaripirala/android-10-open-failed-eacces-permission-denied-da8b630a89df
[4]  erreur de training "java.lang.IllegalArgumentException: Cannot copy to a TensorFlowLite tensor (train_x:0) with 3136 bytes from a Java Buffer with 31360 bytes."
[5] expemple de code formattant l'input du tensorflow.  https://github.com/kalaspuffar/tensorflow-mnist-test/blob/968420b08d82ed307fe891b4e6534443d8bfb02e/src/main/java/org/ea/tensorflow/Keras.java#L27
[6] Lien vers l'entrée dans la partie du code ajouté https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/src/[…]/org/tensorflow/lite/examples/transfer/CameraFragment.java
[7] Nouveau package ajouté, https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/src/[…]orflow/lite/examples/transfer/benchmarking et nouvelle classe de saugarde d'une image https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/src/[…]orflow/lite/examples/transfer/benchmarking/MnistImage.java
[8] Modification de la taille chargée en mémoire https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/src/[…]rflow/lite/examples/transfer/benchmarking/ImageLoader.java https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/src/[…]rflow/lite/examples/transfer/benchmarking/ImageLoader.java
[9] Modification de la target version https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/build.gradle#L11
[10] Modification de la batch size  https://gitlab.liris.cnrs.fr/plwapet/model_personalization/-/blob/main/android/app/src/[…]/transfer/benchmarking/TensorFlowKerasSequentialModel.java (edited) 
vlad.nitu  1:51 PM
Salut Lavoisier, merci pour les messages
1:51
La je vais rentrer dans une session des réunions jusqu’à 16h
1:51
Je vais lire tes messages après et je vais te répondre
lavoisier wapet  1:58 PM
Message reçu. Et bon week-end Vlad (edited) 
vlad.nitu  1:25 PM
Salut, désolé les reunions sont prolongés hier et à la fin j’étais trop fatigué pour te répondre
1:29

A - En réponse à tes sms.
  1 - Or mis une véritable urgence venant de toi, et pour rester concentré, il me semble convenable que je te réponde.
      a/ Lorsque j'ai vraiment avancé d'au moins une étape dans le projet.
      b/ Lorsque j'ai une réelle préoccupation qui m'empêche d'avancer et qui m'est insurmontable malgrés ce que j'ai essayé pour la résoudre.
  2 - Hors mis ces présicions, j'essaie de travailler aux heures habituelles (du lundi au Jeudi entre 9h et 18h au plus tard avec 1h30 -2 h de pause environ, et le vendredi de 9h à 14h environs) .

Du au fait que tu télétravaille on a besoin au moins d’un minimum de synchronisation entre nous
Je comprends que les notifications des messageries déconcentrent et sont problématiques pour la productivité mais le fait que tu me réponds après 24h et suite a deux messages c’est encore plus problématique pour l’évolution de notre projet (edited) 
vlad.nitu  1:47 PM
En effet, pour la bonne évolution de ce travail:

    Pendent les horaires de travail il faudrait que tu vérifies le Slack au moins une fois toutes les deux heures. Donc tout message ne doit pas avoir un délai de réponse plus long de 2h. Tu va pas recevoir beaucoup des messages de ma part car j’essaie de te contacter que pour les questions vraiment importantes. Dit moi si tu préfères de remplacer Slack avec un autre moyen de communication (e.g., mail)
    A la fin de chaque journée de travail il faudrait que tu m’envoies un compte rendu avec l’évolution de cette jour. Cela va être court, juste 4-5 lignes avec les défis que t’as essayé de dépasser dans la journée 

1:48
J’espère que ces règles ne sont pas trop contraignantes mais je pense qu’il sont nécessaires pour l’évolution du travail
vlad.nitu  1:56 PM
Concernant les congés, la seule contrainte que je pense que c’est nécessaire pour la bonne évolution de ce projet est de ne pas prendre des congés dans les 2-3 semaines avant un deadline, sinon je vois pas d’autres contraintes pour le moment
1:58
Le deadline qu’on vise est Mobicom (25 Mars) donc je préférais que tu prends la journée de 23 Mars plus tard
vlad.nitu  2:17 PM
On doit absolument soumettre un papier a cette conférence, il reste 39 jours jusqu’à deadline donc essaye de réfléchir a un plan sur comment tu va te repartir le travail jusqu’à la. Essaye de faire un plan et on va le discuter lundi à notre réunion de 14h
2:19
J’ai commencer à écrire le papier mais il te reste encore de texte a écrire https://www.overleaf.com/9462591441vmxmgfmybfcz
overleaf.comoverleaf.com
Overleaf, Online LaTeX Editor
An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.
2:20
Je peux faire des passes pour améliorer le papier mais je peux pas l’écrire tout seul car j’ai encore 5 autres projets en parallèle
2:22
Donc réfléchis a un plan echilibre sur combien de temps tu peux passer sur les expes vs. l’écriture du papier
vlad.nitu  2:33 PM
Concernant le travail, merci pour la mise a jour, pour le moment le batch 1 c’est ok. Mais je pense que la taille du batch influence les métriques systèmes car l’application devient plus au moins memory intensive
2:35
Mais c’est un excellent travail que t’a réussi de le faire marcher
lavoisier wapet  12:04 PM
Bonjour Vlad, si j'ai réussi à le faire marcher c'est parce que j'ai  fait ce que je pouvais faire. D'ailleurs c'est dans l'espoir de pouvoir continuer dans cette même lancée que j'ai proposé la latence que je prévois avoir dans mes réponses, ainsi que mes disponibilités.
12:04
Quant aux comptes rendus de mon évolution et aux planifications, il me semble suffisant et moins contraignant pour moi de les faire à chaque réunion, en plus bien sûr de ce que je pourrai faire suite à tes messages spontanés, comme je l'ai mentionné [1]. Enfin je comprends que tu aies beaucoup de travai à faire en même temps.
[1] https://energy-efficientfl.slack.com/archives/D01U2DH4BPA/p1644583154523929 (edited) 
vlad.nitu  12:17 PM
Salut Lavoisier, merci pour ton message
Moi pendent mon postdoc à l’EPFL on me demandait d’être au bureau de 9h a 18h.
Meme ici, à Lyon, les autres encadrants demandent aux étudiants d’être toutes les jours au CEI
Les secrétaires me demande souvent pourquoi tu vas pas au CEI mais je comprend que t’as en esprit plus libéral
Mais un minimum de synchronisation est nécessaire car par la suite mon temps me permettra pas de faire les réunions toutes les deux jours (comme on a fait jusqu’à la), on va garder probablement 1 ou maximum 2 reunions par semaine
C’est pour ça que je te demande de respecter les deux points d’ici https://energy-efficientfl.slack.com/archives/D01U2DH4BPA/p1644670029485149 (edited) 
En effet, pour la bonne évolution de ce travail:

    Pendent les horaires de travail il faudrait que tu vérifies le Slack au moins une fois toutes les deux heures. Donc tout message ne doit pas avoir un délai de réponse plus long de 2h. Tu va pas recevoir beaucoup des messages de ma part car j’essaie de te contacter que pour les questions vraiment importantes. Dit moi si tu préfères de remplacer Slack avec un autre moyen de communication (e.g., mail)
    A la fin de chaque journée de travail il faudrait que tu m’envoies un compte rendu avec l’évolution de cette jour. Cela va être court, juste 4-5 lignes avec les défis que t’as essayé de dépasser dans la journée 

Direct Message | Feb 12th | View conversation
vlad.nitu  12:23 PM
Moi je pense que j’ai respecté ma partie du deal…
Pour les 12 prochaines mois je t’ai alloué le salaire le plus élevé possible pour un postdoc avec ton expérience
Pour l’info, ton salaire est largement supérieur a mon salaire
Donc pour continuer notre collaboration, j’espère que tu pourras respecter les deux points que j’ai cité en haut
12:27
Par rapport au premier point, si tu veux établir un horaire fixe ou tu te connecte sur Slack et tu réponds a mes messages, n’hésite pas de le partager avec moi
lavoisier wapet  2:01 PM
Je tâcherai de te répondre dès que possible Vlad.
vlad.nitu  3:30 PM
https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/Client/app/src/main/java/utils/DeviceInfo.java#L631
DeviceInfo.java

    public double getTemperature() {

<https://github.com/gdamaskinos/fleet|gdamaskinos/fleet>gdamaskinos/fleet | Added by GitHub
3:30
https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/Client/app/src/main/java/utils/DeviceInfo.java#L585
DeviceInfo.java

    public double[] getCpuFrequencies(int action) {

<https://github.com/gdamaskinos/fleet|gdamaskinos/fleet>gdamaskinos/fleet | Added by GitHub
lavoisier wapet  4:24 PM
A propos du fait de devoir faire des rapport périodique journaliers ou de devoir répondre aumoins avant deux heures,  je crois personnellement que ça risque me dé-concentrer. Mais bon, il est possible que je me trompe. (edited) 
lavoisier wapet  4:29 PM
...Auquel cas, toutes mes excuses.
3 replies
Last reply 21 days agoView thread
lavoisier wapet  4:41 PM
Aussi,  merci pour le code de collecte de fréquence et de température. (edited) 
lavoisier wapet  10:28 AM
Bonjour Vlad, à propos des expés, la fréquence c'est bel et bien par cores, et la température est celle de tout le cpu et non de chaque core pris individuellement. Dumoins je voulais juste me rassurer de cela avant de continuer. Est ce bien cela?
vlad.nitu  10:38 AM
oui, c’est ça
10:39
dans le code que je t’ai envoyé on mesure la température du zone 0
10:39
c’est généralement la zone la plus chaude dans les expes que j’avais fait
10:40
mais tu va collecter une temperature et 8 fréquences
lavoisier wapet  12:13 PM
Message reçu Vlad.
lavoisier wapet  2:24 PM
Salut Vlad, c'est juste pour te faire un update. On dirait que je n'ai pas les droits d'accès sur le fichier de la température. Actuellement j'essaie de debugger cela .9807 W cat     : type=1400 audit(0.0:34): avc: denied { search } for name="thermal" dev="sysfs" ino=30996 scontext=u:r:untrusted_app_27:s0:c154,c257,c512,c768 tcontext=u:object_r:sysfs_thermal:s0 tclass=dir permissive=0
02-15 14:14:27.315  9809  9809 W cat     : type=1400 audit(0.0:35): avc: denied { search } for name="thermal" dev="sysfs" ino=30996 scontext=u:r:untrusted_app_27:s0:c154,c257,c512,c768 tcontext=u:object_r:sysfs_thermal:s0 tclass=dir permissive=0
02-15 14:14:27.320  9722  9777 I System.out: zone = 0; temperature =
02-15 14:14:27.320  9722  9777 W System.err: java.lang.NumberFormatException: empty String
02-15 14:14:27.320  9722  9777 W System.err: 	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
02-15 14:14:27.320  9722  9777 W System.err: 	at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
02-15 14:14:27.320  9722  9777 W System.err: 	at java.lang.Double.parseDouble(Double.java:538)
02-15 14:14:27.321  9722  9777 W System.err: 	at utils.DeviceInfo.getTemperature(DeviceInfo.java:656) (edited) 
2:24
Actuellement j'essaie de debugger cela .
lavoisier wapet  3:49 PM
Apparemment je suis forcé d'utiliser cette approche dans laquelle l'activité "écoute" les changements de température [1] mais je ne sais pas si le résultat sera comparable aux expés déjà faites jusqu'ici vu que cela ajoute une charge supplémentaire à l'activité. En attendant ta réponse je l'implémente [2].
[1]https://stackoverflow.com/questions/66238755/get-current-temperature-cpu-android
[2] https://developer.android.com/guide/topics/sensors/sensors_environment (edited) 
vlad.nitu  3:56 PM
Salut, merci pour les updates
3:57
essaye de cat le ficher avec droits sudo
3:57
(le ficher qui est dans sysfs)
3:59
regarde ça https://stackoverflow.com/a/6882295
Stack OverflowStack Overflow
Running Shell commands though java code on Android?
I've got an app that's supposed to use some shell commands to copy a file from the sdcard to /system/media/. It will require root, and I am testing on a rooted device. I'm using runtimes to execute...
lavoisier wapet  4:07 PM
Et tu sais comment récupérer l'output de la commande?
vlad.nitu  4:08 PM
c’est une histoire de output stream vs input stream
4:09
le output va etre ecrit sur le file descriptor de stdout
4:09
il faut voir quel est le code java pour le lire
4:11
hmm, non, je pense que avant os.writeBytes("exit\n"); il faut lire
4:12
os.read… something
lavoisier wapet  4:15 PM
Dans ton code, le second paramètre de la fonction execute , definit s'il on utilise le root ou pas. Je teste cela.
https://github.com/gdamaskinos/fleet/blob/1eaf7f6d644c1f212326572cfbc428cc0c002477/Client/app/src/main/java/utils/DeviceInfo.java#L636 (edited) 
lavoisier wapet  4:28 PM
"su" n'est pas reconnu comme commande interne de lineage Os. (edited) 
vlad.nitu  4:57 PM
il peut avoir des bugs dans mon code
lavoisier wapet  5:01 PM
Lineage Os, même rooté n'a plus l'utilitaire su par défaut.  il va falloir que je l'ajoute. Je cherche comment.
vlad.nitu  5:13 PM
ok
lavoisier wapet  5:20 PM
Comme rapport, j'ai essayé d'installer magisk, l'utilitaire su a été ajouté mais j'ai toujours le problème de permission d'accès, et d'autres erreurs de magisk que je dois debugger. Si tout se passe bien, demain dans vers midi, je pense pouvoir dire ça marche ou pas.
vlad.nitu  5:21 PM
super, merci pour les mises a jour
vlad.nitu  5:45 PM
j’ai interviewé un étudiant Vietnamien pour prendre la place de Amael
vlad.nitu  5:46 PM
tu penses que ça t’aiderait dans ce projet? on le prends ?
8 replies
Last reply 18 days agoView thread
vlad.nitu  6:14 PM
Est-ce que tu peux m’envoyer stp le compte rendu pour aujourd’hui ?
lavoisier wapet  6:44 PM
Bonsoir Vlad,1 - Il a fallu mettre à jour magisk pour que l'utilitaire su marche dans l'application.
	Flasher simplement le zip de magisk  n'a pas été suffisant, à ce qu'il paraît.
2 - Il a fallu aussi corriger quelque bugs de synchronisation de timestamp lors la collecte des données.
	Pour ce faire j'ai dû tester si le modulo entre le timestamp d'observation depuis le démmarrage de thread et l'intervalle de mesure est inférieur à une erreur de mesure L'erreur de mesure elle même a été obtenues expérimentalement (pour chaque candidat au test précédent, je voyais combien de fois j'avais d'affiche). L'erreur finale a été de 20 ms - NOTE sans cette erreur je pouvais manquer certaines mesures et même comme ça j'en ai manqué une
	Il fallait aussi s'assurer de ne pas prendres des mesures consécutives dans les alentours des intervalles, Je vérifiais donc si l'écart entre l'instant de l'ancienne mesure et l'instant de la nouvelle mesure était supérieur à l'intervalle diminué de l'erreur.
	Le code source est disponible en [1]
3 - J'ai fais les expés avec les configs 6-0, 6-2, 2-0 et voici le lien vers les résultats [1]
Bonne soirée une fois de plus Vlad.
Références
[1] lien vers le code sources de mesure. https://gitlab.liris.cnrs.fr/plwapet/benchmarking_app_to_test_big_cores/-/blob/main/app/src/main/java/com/opportunistask/scheduling/benchmarking_app_to_test_big_cores/Benchmark_thread.java#L136
[2] lien vers les résultats https://drive.google.com/drive/folders/1gGttlwo-g7iDiYmnbz8sWQf-vF2CWKMp?usp=sharing
vlad.nitu  6:48 PM
Super, excellent travail !
Merci pour la mise a jour
T’est dispo demain pour un call vite fait pour discuter les résultats ?
lavoisier wapet  6:52 PM
J'ai fait ce que j'ai pu Vlad, A quelle heure prévois tu que l'on discute? A partir de 11h jusque dans l'après midi je pense pouvoir être disponible.
vlad.nitu  6:58 PM
on peut dire 11h
lavoisier wapet  7:12 PM
message reçu.
vlad.nitu  10:53 AM
voici le lien
10:55
https://insa-lyon-fr.zoom.us/j/95265949593?pwd=TmtkVkMwNDc2TGpyUk85cy81REN2dz09
lavoisier wapet  6:59 PM
Bonsoir Vlad, Voici le rapport d'aujourd'hui,
1 - J'ai envoyé le mail à Sun en espérant qu'il réponde.
2 - Avant de tester l'USB channel: j'ai relu  la documentation du power monitor.
Je me suis rendu compte qu'avant  de faire le branchement USB,  le branchement normal a été fait ( Page.26 , Fig 28) [2]
Il disent que c'est pour  "assurer la bonne lecture", mais je ne sais pas si c'est obligatoire.
Aussi, certaines configurations se basent sur le branchement normal comme le "Vout enable"
Voir le texte [1] dans la documentation [2] (section "On" , à la Page 26)
3- J'ai  installé  l'environnement (Machine virtuelle windows, et installation du powerTool software)
4 - Mais on a un soucis: la fiche de connection au mur du powerMonitor n'est pas la fiche classique. sa sortie qui se branche au mur est comme celle du gros cable de l'image [3]
Je crois qu'il me faut adaptateur pour continuer.
Bonne soirée Vlad .Références.
[1] On: Setting the USB passthrough mode to On enables the USB connection and records the current flowing through the USB connector on the front of the Mobile Device Power Monitor. The main channel connection is not required when using this configuration as power is provided through USB. Note, the main channel Vout should still be enabled to ensure proper readings
[2] http://metermall.godohosting.com/product/MONSOON/AAA10F_m.pdf
[3] exemple de sortie qui se branche au mur https://www.ebay.com/itm/333161245825 (edited) 
vlad.nitu  8:02 PM
Salut, merci pour la mise à jour
8:02
Je crois que j'ai un adaptateur US a la maison, mais est-ce que Monsoon accepté plus de 110V?
8:03
Genre 220V qu'on a en France ?
lavoisier wapet  9:30 AM
Bonjour Vlad, J'imagine que oui car à la page 11 de la documentation il est écrit ceci.
Connect the supplied 16 VDC / 7.5 Amp, power supply to the back of the Power
Monitor and a wall power supply matching the unit’s input requirements (100-240V,
47-63 Hz, 1.6A Maximum)
lavoisier wapet  11:42 AM
Salut Vlad, est ce que c'est possible que tu me passes l'adaptateur que tu as?
vlad.nitu  11:43 AM
Oui, je peux
11:44
T'habites où?
lavoisier wapet  11:49 AM
Je suis aux environs de Parilly, c'est le métro D. On peut se voir à saxe gambetta, métro B et D puisque tu n'es pas loin de charpennes (métro B).
vlad.nitu  11:50 AM
En fait j'ai pas le bon adaptateur, j'ai réfléchi
11:50
J'ai Europe vers US
11:51
Toi t'a besoin de US vers Europe
11:51
T'a un FNAC à côté de chez toi ? Essaye de voir si tu trouves là-bas
lavoisier wapet  11:54 AM
Message reçu Vlad, la Fnac la plus proche est vers la gare Part Dieu. Je prévois y aller.
vlad.nitu  11:56 AM
Ça marche, tiens moi au courant
lavoisier wapet  12:00 PM
Message reçu Vlad.
lavoisier wapet  4:50 PM
Bonjour vlad,
1 - A la fnac de la gare Part Dieu, il n'y avait que l'adaptateur Europe vers USA,
2 -La deuxième fnac de la Part Dieu était hors service.
3 - A la fnac de Bellecour, j'ai acheté un adaptateur multi-pays vers multi-pays [1][2], je l'ai pris car les autre adapteur disponibles étaient de l'Europe vers un autre pays.
Arrivé à la maison je me rend compte que la prise d'entrée est spécifique à un pays Japan/USA, et celle de sortie est multi pays. Mais le soucis est que la fiche du power-meter [3] n'est pas compatible avec l'entrée cet adaptateur.
Donc il va falloir commander un adaptateur sur internet. Je ne sais pas quel est le pays de l'adaptateur du power-meter
je prévoie retourné l'adaptateur acheté à la fnac Lundi ou Mardi.
Bon week-end Vlad.[1] image de l'adaptateur acheté https://drive.google.com/file/d/1RZZPVb61vMYUUPrMGdmpthtcaEvhMSCI/view?usp=sharing
[2] Facture de l'adaptateur acheté https://drive.google.com/file/d/1Jzu5ORHvpOv9dA14276KFgfhc8fLvehi/view?usp=sharing
[3] image de la sortie de power meter https://drive.google.com/file/d/1Ms8Nwfo7Doyi55q1fGfSrt-rdjZh24Bq/view?usp=sharing (edited) 
vlad.nitu  5:02 PM
Super, merci pour la mise a jour!
5:02
Tu peux m’envoyer une photo avec la prise de Monsoon?
5:03
Le travail avec le code du TF Lite ça avance ?
lavoisier wapet  5:43 PM
1- Je t'en prie vlad, ( pour le merci)
 2 - La photo de la prise du Monsoon c'est le lien 3 du précédent message, on dirait que c'est une sortie US avec fiche de terre mâle. Je le recopie ci dessous
[3] image de la sortie de power meter https://drive.google.com/file/d/1Ms8Nwfo7Doyi55q1fGfSrt-rdjZh24Bq/view?usp=sharing
3 - Je n'ai pas eu le temps de continuer avec le code du TF lite, en attendant l'adaptateur, je peux bien si possible recommencer à travailler dessus dès Lundi . (pour information Il fallait adapter ce code du TF Lite à l'application de Benchmarking multi-threading). (edited) 
vlad.nitu  6:30 PM
https://www.netio-products.com/en/glossary/type-b-us-electrical-socketelectrical-plug#:~:text=The%20Type%20B%20electrical%20socket,before%20the%20power%20is%20applied.&text=The%20Type%20B%20plug%20is%20used%20for%20currents%20up%20to%2015%20A.
netio-products.comnetio-products.com
Electrical plug type B
NETIO products: Networked power sockets This electrical socket is common in: North and Central America, Japan
6:31
C'est une prise type B
6:32
Du coup il te faut un adaptateur type B vers type C
lavoisier wapet  11:16 AM
Bonjour Vlad, message reçu.
vlad.nitu  11:48 AM
Salut Lavoisier, tu penses que tu va arriver à avoir une soumission prête pour MobiCom?
lavoisier wapet  12:23 PM
Pour l'instant c'est ce qui est prévu.  Par rapport à l'adaptateur, tu souhaites le commander toi même, ou alors je le commande, ensuite tu me rembourses? (edited) 
vlad.nitu  1:35 PM
super
1:35
tu trouve l’addapteur ici https://www.netram.fr/ ?
netram.frnetram.fr
Netram - Périphériques et Solutions pour l'entreprise
materiel informatique professionnel, mémoire DDR, cartes memoire, carte réseau, memoire interne, Consommable imprimante Lyon et connectiques reseaux
1:35
ca c’est le marche ou il faut commender
lavoisier wapet  6:31 PM
Salut Vlad, comme compte rendu d'aujourd'hui,
       1 -  Pour avoir une idée de comment rédiger le papier
             a- j'ai déjà repertorié les dernière publications Mobicom  qui parlent  de restrospectives et évolutions technologiques (lesson Learned, experiments, rethinking designs),     de scheduling et d'efficacité énergétique , de mobile energy drain, et enfin de Machine Learning-FL)   [1]. 
             b - commencé et je prévois continuer de les parcourir ( j'atteins bientôt 13% )
       2-  Je prévois  parcourir davantage et proposer demain soir un plan général pour la publication.
       3 -  J'aurais une question.  J'ai vu sur le document partagé [2] que ton approche est de proposer un système de FL qui prend en compte l'efficacité energétique.
                  QUESTION VLAD: Je me demande si cette approche est toujours d'actualité.
    Je me dis en effet qu'on peut partir du constat selon lequel les approches de scheduling visant à réduire la consommation énergétique (comme meng Zhu et autres...)  ne considèrent que la consommation énergétique des cores et des sockets (ce qui a été confirmé)  alors qu'en plus de cela, au vu de l'avancé technologique il faut aussi prendre en compte l'efficacité énergétiques individuelle des cores . Puis,  On parle du design des expés et les Lesson Learned.    [1] papier type Mobicom et autres papiers utiles pour définir le plan : https://drive.google.com/drive/folders/1NPqzLANprCX9GLhMx51eRMnqM8VoWubx?usp=sharing
    [2] document partagé pour la rédaction : https://www.overleaf.com/project/614c3b5c645a38014eccc6a2 (edited) 
vlad.nitu  6:36 PM
Salut, merci pour le compte rendu
6:37
Je pense que l'efficacité énergétique du gros système FL sera pour plus tard
6:38
Pour le moment on peut se concentrer sur l'efficacité locale
6:39
Et oui, en plus du MengZhu il faut prendre en compte aussi l'efficacité du chaque core
6:40
Leur proportionnalité énergétique plutôt (edited) 
lavoisier wapet  6:40 PM
Je t'en prie (pour le merci). Message reçu. (edited) 
lavoisier wapet  6:53 PM
Bonsoir Vlad
Comme compte rendu d'aujourd'hui, j'ai continué de reparcourir les publications dont je t'ai parlé hier.
Pour gagner en temps Je me suis focalisé sur les papiers faisant des retrospectives-lessons learned
Et je propose ce plan que je prévois perfectionner demain si besoin avant de commencer à remplir les vides.
1 - Abstract:
   - (a) L'IA rencontre le problème de Privacy/ Ou d'autres applications Best effort (cpu intensive and not responsive) ont des soucis  et doivent trouver d'autres computation resources (proche des Users - ou qui les poussent s'interresser au téléphone)
   - Il se trouve que les téléphones existent,  sont connectés et ont des ressources exploitables par les apps du point (a)
   - Comme les téléphones ne sont pas concues pour ces Best Effort, Des solutions OS sont proposées pour adapter les tâche de FL au téléphone
   - Mais nous montrons que  l'évolution du matériel (l'éfficacité des Big Cores qui dépasse celle des littles), mets à mal l'implémentation de ces solutions, Nous le montrons par une éval sur tel et tel téléphone
   - Ainsi sans amélioration du matériel ou de prise en comptes dans l'OS de l'évolution matérielle,  les BEffort ou FLs risquent ne plus être efficaces  tel qu'espérés.2 - Introduction: On développe chancun des points de l'abstract en relation avec
   	- L'essort de l'IA , origine , avantages, utilisations la monde
    	    Ses limites et la grosse limite privacy
   	    une solution naïve de cette limite - le edge
   	- L'essort d'autres applications  de type best-effort et les problèmes qui les poussent à utiliser le téléphone comme support.
   	- L'essort des téléphones et apps
   	- L'IA  et les  des BE qui utilisent les téléphones (FL,...) --- et les exemple d'utilisation (on reprend ce que tu as fait)
   	- Les soucis du FL et des autres Apps BE et pourquoi se focaliser sur l'efficacité énergétique
   	- Le problème soulevé par le papier :  L'évolution matérielle  et logicielle (BIG Little, Scheduling OS, Scheduling Android)
   	- Le plan
   	
3- Related work: Ici on parle des publication de scheduling de Best Effort tasks
            On peut parler des  plateformes FL qui font plus ou moins allusion à l'efficacité ou pas.
            On mentionne que ces approches sont basiques et font des assumption sur le matériel qui ne sont pas forcément vérifiées4 - Experiments Design: Ici,
	1 - on pose des questions dont les expés sont sensés apporter une solution
	      a- Dans quelles conditions Exécution de plus de workload pendant un temps donné avec le moins d'énergie possible
	      b- y'a t'il un impact minimal sur l'utilisateur.
	      c - les évaluations faites peuvent-elles nous donner de conclure?
	2 - On justifie les choix du matériel expérimental (du bas vers le haut) en relation avec les questions posées
		a - Téléphones (popularité)
		b - Os : Stack android
			Open source (lineage) ou pas
			Root or Not root.
		c - Applications
		d - Moyens de collecte des données (dumpsys, powermeter si utilisé)
		
5 - Evaluation Results: Ici on présentes les données
	1 - General overviews des Grapĥes
	2 - (Graphes + Remarques) n fois
	
6 - Lessons learned:
	1 - Qu'est ce qui importe le plus
		a - l'efficacité individuels
		b - l'environnement d'exécution de la nouvelle tâche
	2 - Comment prendre en compte les Lesson Learned
		a - Au niveau matériel
			Technologies...
		b - Au niveau Logiciel OS, amélioration des politique de Meng Zhu
		c - Au niveau FL task
	
7 - Conclusion: Ceci est encore à traiter. (edited) 
vlad.nitu  8:35 PM
Salut, merci Lavoisier pour le compte rendu
1 reply
12 days agoView thread
vlad.nitu  8:36 PM
On peut faire un call demain pour discuter le plan
vlad.nitu  8:37 PM
Aussi a partir de demain envoie ces comptes rendu par mail stp et met aussi Son en cc, comme ca il est aussi a jour
1 reply
12 days agoView thread
vlad.nitu  11:15 AM
donc on fait un call aujourd’hui ? (edited) 
vlad.nitu  1:27 PM
tout va bien?
lavoisier wapet  2:10 PM
Salut Vlad,  toutes mes excuses pour la latence. A quelle heure veux tu qu'on discute?
vlad.nitu  2:11 PM
Je ne suis plus dispo jusqu'à 18h
2:11
Ça te va 18h?
lavoisier wapet  2:18 PM
Pourquoi pas demain à 10h?
vlad.nitu  2:24 PM
Je ne peux pas demain
vlad.nitu  2:26 PM
Je vais te faire un retour sur le plan que tu m'a envoyé hier dans max 1h et on discutera par message (edited) 
3 replies
Last reply 12 days agoView thread
vlad.nitu  2:26 PM
C'était mieux si tu voyez mon message ce matin et on ferait plutôt un call
lavoisier wapet  2:37 PM
Message reçu
vlad.nitu  4:47 PM
J’ai envoyé mon retour
(Ça a pris un peu plus du temps de reflection) (edited) 
4:47
que-ce que tu penses ?
lavoisier wapet  7:17 PM
Je t'ai envoyé un mail, et comme compte rendu,
---- J'ai relu le papier de Meng Zhu pour voir comment ils ont introduit leur solutions et j'ai appris pas mal de choses (à voir dans le mail)
----- Et donc en prenant en compte les remarques que tu as pu faire et les précision que tu as donnés sur le problème j'ai aussi proposé un plan pour l'introduction (dans le mail toujours):
----En passant, Je me suis focalisé sur l'introduction vu que le plan même du papier en découle.
Bonne soirée.
vlad.nitu  7:20 PM
Super, je suis dans une reunion. Des que je finis, je te réponds .
lavoisier wapet  7:22 PM
Message reçu. J'ai envoyé deux mails, tu peux considérer uniquement  le dernier mail. Bonne soirée une fois de plus. (edited) 
lavoisier wapet  1:16 PM
Bonjour Vlad, Déjà je réponds à quelques préoccupations que tu as laissé par mail, je reviendrai aux autres préoccupations non évoquées dès que possible:
  1 -    Préoccupation concernant l'efficactité des CPUs : lorsque je parlais d'égalité entre l'efficacité des littles et l'efficacité des big cores je parlais d'efficacité énergétique (j'ai utilisé le mot "fair" en anglais). Je n'ai pas été précis et tu as probablement cru que je parlais d'efficacité de calcul. désolé.
   2 -  Préoccupation concernant le fait que les CPUs ne sont pas fait pour les ML:  Tu as raison de me reprendre, car je voulais parler ici  de l'OS Android qui n'est  pas fait pour les ML ,  et plus généralement des architectures CPU des téléphones comme BIG_Little couplés avec l'OS Android qui ne sont pas fait pour les long running ML task. Je l'avoue j'ai été moins précis, désolé.
  3 -  Preoccupation concernant les contributions: Tu as demandé ce que j'avais en tête car ce que j'ai écrit n'était pas précis. Je l'avoue, désolé,  mais avant de te répondre, il est préférable que valides déjà ce qui précède.
vlad.nitu  1:24 PM
Salut, tu peux répondre par mail ?
1:25
Comme ça Son peut suivre
lavoisier wapet  1:38 PM
Je crains de laisser trainer les fautes de typos comme j'ai fait, ce qui pourrait prêter à confusion.  je me dis que c'est mieux que tu corriges d'abord la forme et je publie le fond utile pour qu'il puisse commenter. Est ce que pour toi tout paraît clair, dumoins de ce que j'ai écrit plus haut? (edited) 
vlad.nitu  1:40 PM
Il y a aucun souci, on fait tous des typos
1:40
Ni moi, ni Son est anglophone
vlad.nitu  1:40 PM
Le fond est important, les idées dernier a ce qu'on écrit
2 replies
Last reply 11 days agoView thread
lavoisier wapet  1:45 PM
Je crains aussi de dire des hypothèses que j'aurai mieux fait garder confidentiel, ce qui ferait de longs messages inutiles et ça pourrait le perdre. Mais en supposant que tu insistes,  j'ai pris note, avant que  je ne  traduise, lis déjà et dis moi si tout ce que j'ai écrit plus haut te paraît correct. (edited) 
1:48
J'ai modifié ce message :point_up:
vlad.nitu  1:49 PM

  1 -    Préoccupation concernant l'efficactité des CPUs : lorsque je parlais d'égalité entre l'efficacité des littles et l'efficacité des big cores je parlais d'efficacité énergétique (j'ai utilisé le mot "fair" en anglais). Je n'ai pas été précis et tu as probablement cru que je parlais d'efficacité de calcul. désolé.

Non, j’ai compris que tu parles de l’efficacité énergétique. Mais c’est l’efficacité en exécutant des tâches CPU-intensive
Si on execute un serveur web qui écoute 99% sur un socket, qui serait le plus efficace a ton avis, le big ou le little?
1 reply
11 days agoView thread
vlad.nitu  1:50 PM

   2 -  Préoccupation concernant le fait que les CPUs ne sont pas fait pour les ML:  Tu as raison de me reprendre, car je voulais parler ici  de l'OS Android qui n'est  pas fait pour les ML ,  et plus généralement des architectures CPU des téléphones comme BIG_Little couplés avec l'OS Android qui ne sont pas fait pour les long running ML task. Je l'avoue j'ai été moins précis, désolé.

Oui, maintenant c’est plus claire
vlad.nitu  1:55 PM

  3 -  Preoccupation concernant les contributions: Tu as demandé ce que j'avais en tête car ce que j'ai écrit n'était pas précis. Je l'avoue, désolé,  mais avant de te répondre, il est préférable que valides déjà ce qui précède.

c’est clair, je voulais juste que tu donnes plus des détails
vlad.nitu  4:59 PM
Je pense qu'on a un consensus sur l'intro, n'est pas?
Tu peux commencer à écrire dessus
lavoisier wapet  5:14 PM
Nous avons un consensus sur ce le problème posé mais je devais t'écrire concernant les parties observation et  contribution car tu voulais savoir ce que j'avais en tête. Et dans ce qui suit, j'ai fais un ZOOM sur l'introduction sur les parties problèmes-observations-contribution et il y'a quelque chose qui émerge (ce qui est précédé par VOICI). Je t'invite à prendre le temps de lire posément avant de répondre, je risque ne pas faire de compte rendu journalier, question de te laisser le temps de bien lire ce qui suit, entre temps je tacherai de collecter les informations pour rédiger l'introduction, si possible et comme tu as suggéré. (edited) 
5:18
4 - Problème : Vu que les technologies ne sont pas standartisées, on ne connait pas les lois qui dirigent l'évolution des technologies des constructeurs
	a- Certains chercheurs pensent à la proportionnalité mais ce n'est pas vérifié en pratique (voir le résumé de Meng Zhu)
	b- D'autres comme toi sont d'avis que les Os Android ou les téléphones en général ne sont pas fait pour les ML ( et ne sont pas  sensés exécuter ces tâches des Best Effort pendant longtemps)
5 - Observations :
               a - l'efficacité énergétique entre les BIG et les Little n'est plus équitable sur certains téléphones (n'est pas la même)
               b - Quelques adaptations OS destinées à accueillir les BEff sur les technos actuelles deviennent sub-optimales.
6 - Contributions ou Directions de recherche directement liées aux observations :
               a - Nous proposons aux constructeurs d'améliorer les technologies matérielles actuelles des téléphones  en rendant les littles cores tout aussi efficaces énergétiquement que les Big cores. En faisant ainsi, les constructeurs rendraient les solutions comme celle de Meng Zhu toujours utilisables.
              VOICI: Notons que ce premier point est très peu envisageable car à cause du point 4-b  les
 constructeurs de téléphone ne changerons forcément pas leur OS ou Architecture mobile pour se conformer au prérequis des BEffort task sensée fonctionner sur les data-center.
               b -  Avant d'appliquer quelques solutions à sélectionner ( par exemple Meng Zhu),  nous proposons comme contribution  de considérer le gap entre entre les efficacités énergétiques des cores
              VOICI: Même cette approche est temporaire, car dès qu'une nouvelle hypothèse sur laquelle les approches comme celle de Meng Zhu, se basait ne sera plus vérifiée par le matériel, (comme cela à été le cas pour l'égalité d'efficacité énergétique), il faudra une nouvelle contribution. Encore que, pour chacune des approches initiales (comme Meng Zhu), les hypothèses qui soutendent leur foncionnement ne sont pas toujours
clairement connues et les constructeurs en ne suivent pas toujours des lois standartisés 4-a, ne garantissent pas que ces approches puissent toujours marcher.
      Vlad présenté ainsi, on a l'impression que le serpent se mord donc la queue. la contribution 6-a est confrontée au problème 4-b et la contribution 6-b est juste temporaire car confronté au problème 4-a. Qu'en penses tu?
vlad.nitu  8:31 PM
je pense qu’il faut discuter en vivre voix
8:32
t’est disponible pour se voir demain a midi a la bibliothèque ?
lavoisier wapet  8:35 AM
Ce vendredi à midi, c'est noté, en attendant la salle.
vlad.nitu  8:36 AM
Super, c'est la salle 222
lavoisier wapet  3:12 PM
Salut Vlad, en attendant de faire si possible des recherches sur le matériel, comme tu as suggéré, j'ai résumé ce qu'on s'est dit dans le document. Je tenais juste à te dire que je m'étais mal exprimé au point 3 en parlant de confidentialité, toutes mes excuses pour cela -  et tu verras que j'ai pris en compte la remarque que tu m'as faite sur les escaliers.
Bon week-end une fois de plus.
[1] Lien vers le document : https://docs.google.com/document/d/1dN40OZlMbWkdi-EtOtVXWEgBr97FPaijkaOm29C-32E/edit
vlad.nitu  3:13 PM
Super, merci Lavoisier
lavoisier wapet  3:18 PM
Je t'en prie Vlad, je fais ce qu'Il me donne de faire.
Merci à toi aussi. (edited) 
vlad.nitu  3:14 PM
j’ai mis aussi 2-0  dans le

put some sleep in the prime number experiment (assume that it's an interactive task) and try again 2-0, 1-1 and 0-2

lavoisier wapet  3:16 PM
Message reçu
lavoisier wapet  3:46 PM
Donc si je comprend bien Vlad, A supposé que le le temps du "sleep" peut permettre de simuler une type de tâche du téléphone, cette évaluation aura pour but de dire si le temps du "sleep" de la CPU intensive task,  influence la différence d'efficacité énergétique entre le Big Core et le Little core.
Et dans le cas où ce temps de pause influence l'efficacité des Cores, quelle est son influence.
Est ce bien cela?
vlad.nitu  3:53 PM
Je ne comprends pas ta question
3:54
On veut voir comment le sleep influence l'efficacité des cœurs
lavoisier wapet  3:54 PM
Je parle des expés que je suis en train de faire maintenant
3:57
Et le sleep est bien sur un des deux threads.
3:57
Dumoins selon ce que Son a proposé.
4:00
Et c'est pour se rapprocher d'un use case réel avec une interactive task. Je le précise juste afin que tu me rassures  pour que je ne me trompe pas. (edited) 
vlad.nitu  10:58 PM
Il y a ça, et il faut tester aussi des taches avec des degrés différents de cpu intensiveness  (edited) 
11:01
Donc tu peux faire un expes avec une tache interactive (long sleep) + cpu intensive (no sleep)
11:03
Et un autre ou le sleep des deux taches est égal et tu le faire varier (de 0 à 90% par example)
11:04
C'est clair ce que je veux dire ?
lavoisier wapet  12:31 PM
Bonjour Vlad, si je me souviens bien, Son envisageait la situation initiale dans laquelle une interactive task (Inter) s'exécute sur un little core (1Inter-0).
Et ensuite une BE task devait être schedulé.
On a alors trois configurations possibles
  soit (1Inter+1BE -  0),   Soit ( 1Inter -  1BE), soit (0 - 1Inter+1BE)
  d'où les configurations (2-0), (1-1) et (0-2).
 Et ce afin de voir quelle configuration sera la plus efficace énergétiquement .
12:31
Mais j'ai du  mal à comprendre pourquoi tu veux que je fasse l'expé avec les deux tâches Interactives. Est ce toujours pour voir l'efficacité des combinaisons sur les Interactives workload ?
Même s'il n'y a pas de BE task parmis? (edited) 
vlad.nitu  2:02 PM
> Mais j’ai du  mal à comprendre pourquoi tu veux que je fasse l’expé avec les deux tâches Interactives
ce n’est pas deux taches interactives…
2:03
par example, un sleep de 10% peut simuler une tache ML
2:04
les taches ML sont CPU intensive mais pas si intensive que le prime factorisation
lavoisier wapet  4:43 PM
Message reçu.Dans le cas où je teste la tâche CPU Intensive avec une autre tâche( simulation de l'Interactive ou de la ML par exemple), quelle workload dois je considérer dans le calcul de l'efficacité énergétique? Celle de la cpu intensive uniquement ou la somme des deux comme je le faisais auparavant? (edited) 
lavoisier wapet  6:44 PM
Salut une fois de plus Vlad.
Comme compte rendu d'aujourd'hui
 1 - J'ai pu faire la première expé de Son, celle pour laquelle j'ai posé la précédente question.
Et les résultats sont consignés dans le document partagé [1].
N'ayant pas eu de réponse de ta part, j'ai affiché les graphes en considérant la workload globale, mais les données sont consignés dans le fichier exel au cas où je me serai trompé.
2 - Le nom des dossiers caractérisent les conditions de test
   Xms_sleep_Ys_interval, veut dire que l'interactive task avait des sleep times qui duraient Xms et qui intervenaient chaque Y secondes.
 J'ai aussi affiché  sur le même graphe les anciennes données avec uniquement les CPU intensive task (les trois barre à droite du graphe ) pour qu'on voie la différence avec les nouvelles données.
3 -Je me demandais aussi pourquoi est ce que nous n'évaluons pas le gain énergétique comme Meng Zhu, mais plutôt l'efficacité énergétique.
[1] Document partagé des résultats.
https://drive.google.com/drive/folders/112qJcTLiws3BBBajKoBea2JtC73dUQk-?usp=sharing (edited) 
lavoisier wapet  7:37 PM
Juste pour te signaler que qu'un point 3 a été ajouté au compte rendu.
vlad.nitu  7:39 PM
Merci pour le compte rendu Lavoisier
7:40
Je vais regarder les graphs demain matin
vlad.nitu  7:21 AM
Salut Lavoisier, ça nous intéresse que le workload de la BE task
7:21
C'est pour ça que l'autre est appelle interactive
7:23
On envisage un scénario ou le téléphone exécuté déjà une tache (Facebook scroll disons) et à côté on schedule une tache FL
7:24
La question qu'on se pose est quel est le façon le plus efficace energetiquement de scheduler cette tache ? 2-0 1-1 0-2 ?
7:26
Je comprends pas trop c'est qui le ‘gain énergétique’? (edited) 
lavoisier wapet  11:43 AM
Bonjour Vlad
 Je t'en prie (pour le merci), je fais ce qu'Il me donne de faire.
Merci à toi aussi pour tes retours
11:46
1 - JE DOIS RECOMMENCER LES EXPES :
   Si je dois me limiter à la workload de la Best Effort task,   ça veut dire qu'en calculant l'efficacité, je dois aussi me limiter à l'énergie de cette Best Effort task.
     Et comme l'énergie que j'ai  relévé jusqu'ici est celle de toute l'application et non du thread BEffort, je dois cette fois ci mettre la BE task seule dans une application et l'interactive dans une autre.
     Et ce sera pour relever uniquement l'énergie de l'application de la BEffort et donc du thread BEffort. Il faut donc recommencer les expés.  (edited) 
11:48
2 - MENG ZHU NOUS A QUELQUE PEU INDUIT EN ERREUR
 Certe Meng Zhu [1] parle d'efficacité énergétique mais ce qu'il calcule en réalité c'est le gain énergétique (Energy discount),
 je t'invite à relire la  partie Input Workload de la section 5.1  ainsi que tout le premier paragraphe de la section 5.2 avec la formule  (1)
 [1] Papier de Meng Zhu. https://www.usenix.org/system/files/conference/atc16/atc16-paper-zhu.pdf (edited) 
vlad.nitu  12:24 PM
ah, ok, je me rapelle de “energy discount”
12:25
mais pour ça il faut avoir une reference
12:26
je pense que l’efficacité énergétique est suffisante comme métrique pour l’instant
12:29
> 1 - JE DOIS RECOMMENCER LES EXPES :
Désolé, hier j’ai eu plain des reunions du coup j’ai pas pu répondre vite
Pour ne pas gaspiller ton énergie, tu peux essayer de réfléchir aux expes et poser les questions pendant les reunions (edited) 
12:30
mais est-ce que il y a des chose intéressantes que t’a observé dans les expes que t’a deja fait?
lavoisier wapet  1:38 PM
Dieu merci que la question de thread ne m'est pas venue à l'esprit et à la future réunion.
Maintenant, vu que les expés sont faux, je ne sais pas si ça vaut la peine de commenter les résultats. Voici tout de même de document partagé des résultats des expés d'hier [1]. Ceux d'aujourd'hui sont encore cours.
[1] Document partagé des résultats des expés d'hier. https://drive.google.com/drive/folders/112qJcTLiws3BBBajKoBea2JtC73dUQk-?usp=sharing
lavoisier wapet  1:45 PM
Le gain énergétique se limite juste à considérer l'énergie consommée par le thread peut importe la vitesse à la quelle le benchmark a été exécuté (la workload est fixée et le temps de l'expé importe peu)
Alors que l'efficacité nous impose de considérer la workload et donc la vitesse puisqu'on a fixé le temps. Et donc l'efficacité énergétique prend en compte la vitesse d'exécution. Pour une B Eff ce n'est pas important. (edited) 
1:45
Peut-être je me trompe mais c'est pourquoi le gain me semble important.
lavoisier wapet  2:12 PM
En gros en évaluant l'efficacité , on prend en compte l'Energie, la workload sachant qu'on a fixé le temps de l'expé.
En évaluant le gain, on prend juste en compte l'Energie, et on a juste fixé le temps de l'expé. La workload peut varier on n'y prend point garde.
En évaluant le gain, on prend juste en compte l'Energie, et on aurai aussi pu fixer la workload comme meng Zhu et ne pas considérer le temps. Le temps pouvant varier, on s'en fou puisque c'est une BE effort task.
Avec le gain énergétique, on ne fixe pas les deux variables de la vitesse d'exécution (workload et temps),
Or avec l'efficacité on le fait puisqu'on fixe le temps et on prend en compte la workload dans le calcul. (edited) 
vlad.nitu  3:02 PM
> Alors que l’efficacité nous impose de considérer la workload et donc la vitesse puisqu’on a fixé le temps. Et donc l’efficacité énergétique prend en compte la vitesse d’exécution. Pour une B Eff ce n’est pas important. (edited)
L’efficacité ne prend pas en compte la vitesse d’execution, elle est simplement l’énergie divisée par la taille du workload
3:03
Et a mon avis c’est ce que nous intéresse le plus dans le contexte d’un portable alimenté par la batterie
vlad.nitu  3:04 PM
on veux calculer le plus possible par unité d’énergie, peu importe si c’est rapide ou lent
7 replies
Last reply 5 days agoView thread
vlad.nitu  3:07 PM
le gain énergétique ne prend pas ça en compte
3:12
je te donne un example, on a une tache ML avec un batch de 1000 examples (un workload fixe)
et cette tache sera distribuée sur un téléphone (alimenté par la batterie) et donc on veut choisir la configuration qui consomme la quantité la plus faible d’énergie
3:13
L’efficacité énergétique nous dit quel est la configuration qui consomme le minimum d’énergie
3:14
mais est-ce que en regardent juste le energy discount on peux avoir cette information?
3:15
par example un thread va consomer toujours moins sur un litte core donc son energy discount est plus important
3:15
mais si on decide de scheduler le thread sur le little on va consomer plus d’energie au final
3:16
tu vois ce que je veux dire?
lavoisier wapet  3:30 PM
Lorsqu'on regarde le papier de Meng Zhu on se rend compte que l'énergie est moins consommée sur le little core(Energy discount> 0); et ce, peu importe la durée qu'a pris la workload, Et c'est le cas parce qu'il a maintenu basse la fréquence du core. Si l'on doit se comparer à Meng Zhu en schedulant la tache sur un Big core il faut aussi qu'on maintienne la fréquence du BIG core et qu'on évalue le gain énergétique et non l'efficacité. (edited) 
3:32
Peut-être faudrait qu'on en parle à Son à la prochaine réunion.
vlad.nitu  3:51 PM
En fait je peux pas
3:51
Je vais t'appeler sur le portable
lavoisier wapet  3:52 PM
D'accord
lavoisier wapet  4:28 PM
En résumé, si j'avais fixé la workload comme Meng Zhu,

    L'efficacité devait  être  Energy * temps          - Higher is better 
    Le gain d'une solution devait être juste l'énergie gagnée entre deux configurations possible. 

(edited)
vlad.nitu  4:29 PM
Pourquoi 1/ energy * temps
4:30
L'énergie contient déjà le temps
4:30
C'est puissance * temps
lavoisier wapet  4:31 PM
(j'ai modifié le message précédent c'est plutôt Energy * temps) Parce que  comme j'ai fixé le temps

    L'efficacité est Energie/ Workload             - lower is better
    Le gain reste le même.  

(edited)
vlad.nitu  4:32 PM
Si tu fixe le temps => efficacité = énergie / workload
Si tu fixe le workload => efficacité = énergie /  temps  (edited) 
4:33
J'ai modifié le message
lavoisier wapet  4:35 PM
Question: Selon tes formules,  Lower is better?
vlad.nitu  4:36 PM
Oui
lavoisier wapet  4:37 PM
Dans ce cas d'après ta dernière formule, l'efficacité est meilleure quand le temps est grand.
4:38
Or ce n'est pas vrai, c'est pourquoi si on fixe la workload l'efficacité devient Energie * temps.
vlad.nitu  4:40 PM
Hmm, je réfléchis…
lavoisier wapet  4:40 PM
La workload et le temps sont des variables inversément opposées.
vlad.nitu  4:42 PM
En fait si on fixe le workload on s'intéresse que de l'énergie
4:43
Donc efficacité = énergie
4:43
Pas la peine de multiplier par le temps, elle contient déjà le temps
lavoisier wapet  4:47 PM
Et l'énergie c'est la Puissance de Calcul * Temps. Quelqu'un pourrait te dire que dans l'énergie il y'a aussi la workload; Puisque la Puissance de calcul fait appel à l'intensité I qui est la charge électrique.
4:48
Ce que tu considères comme efficacité c'est simplement l'énergie. Et c'est ce que Meng Zhu considère comme gain, pas la peine de diviser par la workload
4:50
Une question, Voici ce que tu dis
Si tu fixe le temps => efficacité = énergie / workload
Si tu fixe le workload => efficacité = énergie
Peux tu donner une formule de l'efficacité qui est indépendante de ce qu'on fixe comme valeur initiale? (edited) 
vlad.nitu  4:50 PM
Je sais pas
4:51
Essaye de réfléchir à une métrique meilleure et on rediscute demain
4:52
Il faut toujours avoir en tête le scénario que j'ai décrit (tache FL qui doit consommer le minimum d'énergie)
lavoisier wapet  5:10 PM
Bien reçu Vlad, voici la solution [1] (pour eux c'est l'inverse car higher is better- formule 1)]: Si nous adaptons notre formule à la leur ( en prenant l'inverse de leur efficacité)
          , efficacité = Puissance / Vitesse_calcul = Puissance * temps / workload
       Et non (Energie/vitesse_calcul    ni    Energie/workload ) :sweat:  :face_with_rolling_eyes:Ainsi:
Si tu fixe le temps => efficacité = énergie / workload  = Puissance * temps /workload  = Puissance / Workload car le temps =1
Si tu fixe le workload => efficacité = Puissance * temps = énergie comme tu as dit car workload =1.Conclusion Meng Zhu considère l'efficacité c'est à dire l'énergie puisqu'il a fixé la workload. IL NE NOUS A PAS INDUIT EN ERREUR
[1] https://arxiv.org/pdf/1601.07133.pdf (edited) 
lavoisier wapet  5:16 PM
Mais c'est beaucoup plus claire. Car l'efficacité c'est le rapport entre la puissance électrique et la puissance de calcul.
lavoisier wapet  5:38 PM
Au final Meng Zhu quand il parle de Energy discount, il fait allusion à la variation d'énergie ΔE/E  entre deux configurations pour une même Best Effort Task. Il parle de la variation d'efficacité Δe/e entre deux configurations. Et c'est ce que nous observons intuitivement  en cours de réunion sur nos graphe en comparant les efficacités entre eux.Et on ne s'est pas trompé dans nos expés, on a juste considéré l'inverse de l'efficacité que les modélisateur FPGA utilisent. Mais Meng Zhu a aussi fait comme nous. C'est mieux de continuer comme on a commencéEt on peut se comparer à Meng Zhu en comparant l'efficacité de la configuration qu'on propose à celle de la configuration vanilla.   La valeur obtenue en faisant la variation relative des deux efficacités (Δe/e) sera notre discount. (edited) 
lavoisier wapet  5:54 PM
Et pour te répondre lorsque tu dis
"Il faut toujours avoir en tête le scénario que j'ai décrit (tache FL qui doit consommer le minimum d'énergie)" .        
Cette affirmation doit être vrai pour un temps fixée alors ce serait la même chose si on disait plutôt
la tache FL  doit avoir besoin  au cours de son exécution d'un  minimum de Puissance électrique. (edited) 
lavoisier wapet  7:34 PM
Et ces réflexions précédentes font office de mon compte rendu, en plus j'ai pu refaire les expés d'hier. On peut reparler aussi demain. Bonne soirée Vlad.
vlad.nitu  7:38 PM
Ca marche, merci pour la réflection
lavoisier wapet  11:38 AM
Bonjour Vlad
 Je t'en prie (pour le merci), je fais ce qu'Il me donne de faire.
Merci à toi aussi pour tes retours
11:38
1 - J'ai modifié les messages précédents en mentionnant plutôt je suis d'avis qu'on continue avec l'efficacité qu'on utilisait, sans inverser.
11:39
2 - Voici aussi le lien vers les résultats [1]. A première vu, la BE task paraît s'exécuter efficacement lorsque
      - Elle est sur le big Core
      - Elle est seule sur son socket.
  [1] Lien vers les premiers résultats https://drive.google.com/drive/folders/16LueKjJgL7HwAAtVzi2jJBdwV2dhVrFX?usp=sharing
11:40
3 - Pour la suite des expés (2 tâches simulant le ML) je me demandais quelle était le contexte.
          On suppose qu'il n'y a aucune tâche sur les cores et on veut voir l'efficacité d'exécution des deux tâches ML à la fois, en variant les configurations, est-ce bien cela?
         Ce que je prévois faire c'est faire 1s d'intervalle entre les sleep et augmenter leur durée de 100ms à 900ms en passant par 500ms
11:40
4 - Que pense tu de ce papier qui gère le problème d'efficacité [2]
  [2] Lien vers le papier qui traite de l'efficacité  https://www.researchgate.net/profile/Hossein-Sayadi/publication/321257446_Machine_Learning-Based_Approaches_for_Energy-Efficiency_Prediction_and_Scheduling_in_Composite_Cores_Architectures/links/5a398f91a6fdcc34776a3131/Machine-Learning-Based-Approaches-for-Energy-Efficiency-Prediction-and-Scheduling-in-Composite-Cores-Architectures.pdf
vlad.nitu  12:43 PM
> 2 - Voici aussi le lien vers les résultats [1]. A première vu, la BE task paraît s’exécuter efficacement lorsque
>       - Elle est sur le big Core
>       - Elle est seule sur son socket.
Je vois… est-ce que t’a testé avec d’autres sleeps ?
vlad.nitu  2:03 PM
> On suppose qu’il n’y a aucune tâche sur les cores et on veut voir l’efficacité d’exécution des deux tâches ML à la fois, en variant les configurations, est-ce bien cela?
Je pense que en fait tu peut faire les expes avec une seule tache
2:04
comme les premiers
2:05
L’idée c’est juste de voire l’efficacité des taches “moins” CPU intensive
vlad.nitu  2:13 PM
> 4 - Que pense tu de ce papier qui gère le problème d’efficacité [2]
je vais le regarder
vlad.nitu  3:09 PM
C’est intéressant le papier, on peut le présenter a Son aussi lundi
Mais c’est pas trop applicable dans un système Androïde car on a pas un nombre si enlève des paramètres pour devoir utiliser du ML
Les seules variables d’une configuration c’est: type de coeur + nombres des coeurs
On peut determiner des heuristiques pour trouver la meilleure configuration, pas besoin de ML je pense (edited) 
3:10
t’a fait la suite des expes?
vlad.nitu  3:16 PM
(j’ai modifie le message en haut)
lavoisier wapet  3:48 PM
1 - Ne penses tu pas que la fréquence des coeurs peut être un paramètre?
2 - Concernant les expés, quelles configurations dois je évaluer finalement pour la suite
        a- une tâche less cpu intensive ou deux tâches less cpu intensive (ou SML pour simulated ML)?
        b- doit-il y avoir une interactive task sur le même socket ou sur un autre socket?
        c- Quelles configurations devront être évaluée (1SML-0) (0-1SML) ? les tirets séparent les types de cores.
vlad.nitu  3:51 PM
A ton avis quelles configurations doivent être évalués pour simuler l'efficacité énergétique d'une tache FL?
3:52
Il faut avoir en tête le scénario que je t'ai présenté hier
3:52
Une tache FL qui doit consommer le minimum d'énergie
lavoisier wapet  4:09 PM
Pour que la tâche FL ayant une workload donnée, consomme le minimum d'énergie. IL me paraît convenable de considérer:
     1 - Le nombre de tâche FL à exécuter de manière efficace (d'où la question 2-a)
     2 - Les tâches déjà en cours d'exécutions sur le téléphone (d'où la question 2-b)
     3- Le type de cores qui ont des efficacités différentes (je l'intègre déjà dans les évaluations)
     4- La fréquence des cores (et ça c'est ce qu'on a planifié de faire prochainement avec l'implémentation faite dans le  governor d'où la question 1)
Par conséquent en supposant que
   a - J'ai une seule tâche de FL à exécuter efficacement. (réponse au 1)
   b - Je peux faire varier le nombre de tâches déjà interactives présentes sur le cpu, soit 0 soit une tâche, (réponse au 2).
   b - Je peux faire varier le type de core dans les configurations. (réponse au 3)
   c - Pour les fréquences, on peut après cette première phase des expés refaire une seconde avec l'implémentation du governor (pour la réponse au 4)
lavoisier wapet  4:43 PM
En outre, je me demande pourquoi simuler une FL task pourtant j'avais déjà commencé à implémenté une ML tâche sur le téléphone. [1]
[1] https://gitlab.liris.cnrs.fr/plwapet/benchmarking_app_to_test_big_cores/-/blob/main/app[…]uling/benchmarking_app_to_test_big_cores/MainActivity.java (edited) 
lavoisier wapet  5:02 PM
J'aurais une course à faire, mais comme compte rendu ce sont les expés précédentes que je prévois effectuer (même avec la simulation) .
        a-  Pour la FL task (Simulated ML ou SML ) : j'exécute les sleep chaque seconde pour une durée de sleep allant de 10 , 50,  100ms (c'est à dire une durée d'exécution de 990, 950, 900 ms).
        b- Pour l'interactive task au cas où ce serait nécessaire:  j'exécute les sleep chaque seconde pour une durée de sleep 100ms (c'est à dire une durée d'exécution 900 ms à chaque fois).
        c - Je prévois tester les configurations suivantes pour 10 minutes d'exécution

     config 1: 1SML               -        0, 
    config 2:  0                       -       1 SML
    config 3:  1SML_1Inter  -          0, 
    config 4 :  1_Inter            -            1SML
    config 5 :   0                      -         1 SML_1Inter 

      Pour un total de 15 éxpés si on prend en compte les variation des sleep des SML
      NOTE :  J'ai eu un bug au niveau de la config 3, avec la SML qui a un sleep de 10ms: l'interactive s'arrête brusquement. Je prévois aussi débugger cela. J'espère avoir les résultats Lundi avant la réunion avec Sun. (edited) 
vlad.nitu  7:35 PM
> 1 - Le nombre de tâche FL à exécuter de manière efficace (d’où la question 2-a)
> 2 - Les tâches déjà en cours d’exécutions sur le téléphone (d’où la question 2-b)
> 3- Le type de cores qui ont des efficacités différentes (je l’intègre déjà dans les évaluations)
> 4- La fréquence des cores (et ça c’est ce qu’on a planifié de faire prochainement avec l’implémentation faite dans le governor d’où la question 1)
Tous les point me semble pertinents,
en fait je pense que t’a raison aussi pour le point 4, se serait intéressant de tester au moins la fréquence min et max (edited) 
7:39
> a - J’ai une seule tâche de FL à exécuter efficacement. (réponse au 1)
Il peut y avoir plusieurs aussi, on peux distribuer un tache ML sur plusieurs threads
7:40
> b - Je peux faire varier le nombre de tâches déjà interactives présentes sur le cpu, soit 0 soit une tâche, (réponse au 2).
tout a fait, tu définit comment une tache interactive ? quel est la valeur du sleep?
7:42
> c - Pour les fréquences, on peut après cette première phase des expés refaire une seconde avec l’implémentation du governor (pour la réponse au 4)
je pense que tu peux bloquer la fréquence sans toucher le governor sur un téléphone root, tu dout pouvoir la controler avec le filesystem
7:43
> En outre, je me demande pourquoi simuler une FL task pourtant j’avais déjà commencé à implémenté une ML tâche sur le téléphone. [1]
elle est prête? j’ai dit de simuler car c’est plus rapide
7:45
> a- Pour la FL task (Simulated ML ou SML ) : j’exécute les sleep chaque seconde pour une durée de sleep allant de 10 , 50, 100ms (c’est à dire une durée d’exécution de 990, 950, 900 ms).
>         b- Pour l’interactive task au cas où ce serait nécessaire: j’exécute les sleep chaque seconde pour une durée de sleep 100ms (c’est à dire une durée d’exécution 900 ms à chaque fois).
comment tu fait ca? t’a un timer? je pansait que c’est mieux de mettre le sleep plutot dans la bucle for
7:45
pour moi, une tache interactive doit avoir un sleep plus long, disons 60%-70% du temps en sleep
lavoisier wapet  11:02 AM
Bonjour Vlad,
    1 - pour les tâches interactives, j'ai remarqué à partir des précédentest expés [1]  qu'une tâche interactive qui avait 50% de sleep n'avais presque pas d'impact sur la CPU intensive task  et que celle qui avait 6% commençait à avoir de l'impact. c'est pourquoi je suis resté à 10% de sleep.
        Mais je peux les configurer à 60% si tu veux.
        Pour voir comment je fais pour générer les sleep chaque une seconde, c'est mieux de regarder le code source [2]
    [1] Résultat vers les précédentes expés  https://drive.google.com/drive/folders/16LueKjJgL7HwAAtVzi2jJBdwV2dhVrFX?usp=sharing
    [2] Code source de génération des sleeps https://gitlab.liris.cnrs.fr/plwapet/benchmarking_app_to_test_big_cores/-/blob/main/app/src/main/java/com/opportunistask/scheduling/benchmarking_app_to_test_big_cores/PrimeNumberThread.java#L161
11:03
2 - L'implémentation de la FL task n'est pas terminée comme tu peux le constater.
         Avec trois jours ouvrés (disons jusqu'à mercredi soir) j'espère pouvoir la terminer.
        Mais si tu insistes à ce qu'on continue avec la simulation, je suis d'avis qu'on mentionne dans le papier que nos threads sont des simulation de la FL task.
11:04
3 - On peut faire varier le nombre de thread comme tu as dit. Mais pour calculer l'efficacité, je me dis il faudrait qu'on divise la workload par le nombre de thread puisqu'on a fixé le temps à 10 minutes.   Ainsi on devrait multiplier l'efficacité par le nombre de threads (lower is better).
        Dans ce papier [3 ], ils ont fixé la workload, donc ils n'ont pas eu besoin de modifier l'énergie c'est à dire l'efficacité affichée par leur simulateur pour tout le socket. Tu souhaites qu'on teste les FL-ou Simulated ML tasks sur combien de thread? [3] papier ayant fixé la workload en parallélisant les benchmarks https://www.researchgate.net/profile/Hossein-Sayadi/publication/321257446_Machine_Learning-Based_Approaches_for_Energy-Efficiency_Prediction_and_Scheduling_in_Composite_Cores_Architectures/links/5a398f91a6fdcc34776a3131/Machine-Learning-Based-Approaches-for-Energy-Efficiency-Prediction-and-Scheduling-in-Composite-Cores-Architectures.pdf
vlad.nitu  1:47 PM
> 1 - pour les tâches interactives, j’ai remarqué à partir des précédentest expés [1] qu’une tâche interactive qui avait 50% de sleep n’avais presque pas d’impact sur la CPU intensive task et que celle qui avait 6% commençait à avoir de l’impact. c’est pourquoi je suis resté à 10% de sleep.
> Mais je peux les configurer à 60% si tu veux.
Oui, je crois pas qu’un tache interactive fait monter la charge CPU a 90%, c’est trop, ça c’est deja une tache CPU intensive (edited) 
1:52
> 2 - L’implémentation de la FL task n’est pas terminée comme tu peux le constater.
>          Avec trois jours ouvrés (disons jusqu’à mercredi soir) j’espère pouvoir la terminer.
>         Mais si tu insistes à ce qu’on continue avec la simulation, je suis d’avis qu’on mentionne dans le papier que nos threads sont des simulation de la FL task.
Hmm, si tu pense que tu peux finir ça jusqu’à mercredi soir je pense que c’est ok (edited) 
vlad.nitu  1:53 PM
Quand tu parles de FL task tu veux dire la tache du Tensorflow Lite n’est pas?
1 reply
3 days agoView thread
vlad.nitu  1:55 PM
Mais entre temps tu peux lancer aussi les expes et varier le sleep, c’est pour voir a quel niveau le niveau de CPU intenisveness influence l’efficacite énergétique
1:58
> Mais pour calculer l’efficacité, je me dis il faudrait qu’on divise la workload par le nombre de thread puisqu’on a fixé le temps à 10 minutes
c’est pas nécessaire, diviser le workload ca change pas le type de tache, ca reste CPU intensive
1:59
diviser le workload change pas l’efficacité énergétique, réfléchi un peu a ça
vlad.nitu  2:32 PM
Les expes que t'avais fait au début genre l'efficacité pour 1-0 2-0…. 6-0 6-1… c'est comme diviser et puis multiplier l'efficacité
lavoisier wapet  4:39 PM
Toutes mes excuses pour la latence Vlad, j'ai refléchis et cela m'a permis de comprendre davantage les expés. Je prévois ajouter la réflexion que j'ai reçu dans le compte rendu. (edited) 
lavoisier wapet  6:33 PM
Bonsoir Vlad, voici le compte rendu d'aujourd'hui.
1 - Réflexion par rapport au calcul de l'efficacité
But de l'expés : pouvoir prédire étant donnée une tâche le scénario dans lequel le téléphone l'exécutera de manière efficace.
Procédé de l'évaluation: lors d'une exécution d'une tâche donnée (1),  mesurer puis comparer (A) l'efficacité énergétique (2),  du téléphone sous plusieurs scénario d'utilisation (3).	(1) Une tâche est définie par son algorithme ou son code source ou son binaire, elle peut être

    CPU intensive
    ML ou FL
    Interactive

	(2) Pour une tâche, l'efficacité énergétique est mesurée au bornes du téléphone et dépend
    du temps de la mesure
    du nombre d'opération effectué par le téléphone ou workload calculée  
     de la puissance de calcul du téléphone               

		     Efficacité = Puissance * temps / Nombre_op
	(3) Un scénario d'exécution d'une tâche est définit par

    Le nombre de thread sur lequel on répartit la tâcheLes autres tâches déjà présentes sur le téléphone
    Le type de core sur lequel on exécute la tâche
    La fréquence des cores sur lesquels la tâche est exécutée

	(A)   Pour mesurer et comparer les efficacités ENTRE DIFFERENTS scénarios et voir l'impact d'un paramètre de scénario p sur les autres au cours d'un test, on doit faire varier ce paramètre p du scénario et fixer les autres puis mesurer simplement l'efficaté, PEUT IMPORTE LA VALEUR DE LA WORKLOAD OU DU TEMPS

    S'il faut fixer le temps (et respectivement la workload) c'est simplement pour voir l'évolution de la workload (respectivement du temps) en fonction du paramètre p au cours d'un test donné. 
    Par soucis de temps nous avons fixé le temps de calcul à 10 minutes et comparé les workload sur les graphe (workload en fonction du temps).
    Pour répondre à notre question aucune variable du scénario n'influence la mesure de l'efficacité au bornes du téléphone. 

(edited)
1 reply
3 days agoView thread
lavoisier wapet  6:37 PM
2 - Réflexion sur les évaluations : Pour les évaluations, je prévois tester les configurations suivantes pour 10 minutes d'exécution
    (3) Un scénario d'exécution d'une tâche est définit par
        1 - Le type de core sur lequel on exécute la tâche
                       soit le little core soit le big core
	2 - Les autres tâches déjà présentes sur le téléphone :
	       Pour l'instant on considère qu'il y'a  une seule tâche qui occupe un core sur un socket
	       Soit on exécute la tâche sur le même socket
	            (Interactive sur little socket et FL sur little socket)
	            (Interactive sur big socket et FL sur big socket)
	       Soit on exécute la ML task sur l'autre socket
	            (Interactive sur little socket et FL sur big socket)
	            (Interactive sur big socket et FL sur little socket)
	3 - Le nombre de thread sur lequel on répartit la tâche :
	      l'idéal serait de faire varier ce nombre en fonction du type de core et de la place disponible,
	       (soit de 1 à 6 sur les littles  cores, soit de 1 à 2 sur les big core) si la tache est seule
	       (soit de 1 à 5 sur les littles  cores, et 1 sur les big core) s'il y'a une cpu intensive task
	4 - La fréquence des cores sur lesquels la tâche est exécutée
	      On peut les cores sur lesquels la FL task est exécutée
	        - Soit à leur fréquence minimale (à interroger dans le sys fs)
	        - Soit à leur fréquence normale d'exécution.
     Peut-être faudra  chercher à  automatiser le plus possible les expés (bien qu'il faille intervenir manuellement des fois pour brancher débrancher les cables) ou alors choisir des scénarios caractéristique (edited) 
1 reply
1 day agoView thread
lavoisier wapet  6:38 PM
3 - Evaluations pour voir le meilleur sleep time, Je n'ai pas eu le temps de terminer les évaluations et j'ai une urgence.  J'ai cependant testé de 30 à 90% de sleep time mais on n'a pas l'impression que la cpu intensive task devient efficace.
             La courbe du ratio devrait diminuer de manière très visible
    [1] Lien vers les résultats d'exploration du meilleur sleep time de l'interactive task. https://drive.google.com/drive/folders/1bhtCigmVSeYXRheD5t7p8pNKvcp5cDI3?usp=sharing
1 reply
1 day agoView thread
lavoisier wapet  6:39 PM
4 - Pour la suite (après la réunion de Lundi au plus tard si possible) je basculerai sur la suite du développement de la tâche tensor flow light.
  Bon week-end Vlad
vlad.nitu  7:49 AM
Je vais te répondre en Anglais car c’est plus facile pour moi de taper mais tu peux continuer a écrire en Français
7:51
So, first of all, I think it’s a good idea to save all these compte rendus sur le G Doc, I think Slack has a fixed history length so after some time it will start to delete this data. So when you have time please scroll up and copy all the comptes rendus dans le google doc and use the date they were sent as a title there
lavoisier wapet  10:50 AM
Bonjour Vlad, message reçu.


Send a message to vlad.nitu