Académique Documents
Professionnel Documents
Culture Documents
(MODÈLES-C)
Abstrait—Exécuter des expériences scientifiques à l'aide de la recherche résultats, les métriques générées par les configurations évaluées
Les outils d'ingénierie des modèles (SBME) sont une tâche complexe, qui pose doivent être interprétées et traitées. Cette tâche est souvent effectuée à
un certain nombre de défis, allant de la définition d'un flux de travail
l'aide d'un script de traitement de données et nécessite que les données
d'expérience au réglage des paramètres, en passant par la recherche des
soient d'abord normalisées afin qu'elles puissent être analysées et
ressources de calcul optimales, la collecte et l'interprétation des métriques et
la reproductibilité de l'ensemble du processus. évaluées statistiquement. La plupart des outils SBME utilisent leur
Malgré la prolifération de matériel facilement accessible, en raison de la propre standard pour la fréquence et le format des données collectées
disponibilité accrue des fournisseurs d'infrastructure en tant que service, de au cours des expériences. Cette différence de format de données
nombreux outils SBME utilisent rarement cette technologie pour accélérer
nécessite que les chercheurs écrivent leurs propres scripts pour traduire
l'expérimentation. L'exécution de nombreuses expériences sur une seule
entre divers schémas et formats de données, en un schéma et un
machine implique des temps d'attente beaucoup plus longs et réduit la
capacité d'augmenter la vitesse des itérations lors de la recherche SBME, format communs, afin de traiter les données de l'expérience. Cette
ralentissant ainsi l'ensemble du processus. étape de traduction rend le processus lourd et sujet aux erreurs.
Dans cet article, nous introduisons un langage spécifique au domaine Dans cet article, nous proposons MDEOptimiser Scale (MDEO Scale), un
(DSL) et un cadre qui peuvent être utilisés pour configurer et exécuter des DSL et un framework de distribution de tâches destinés aux outils SMBE.
expériences à grande échelle, sur une infrastructure cloud, de manière
MDEO Scale permet aux utilisateurs de programmer des expériences SBME
reproductible. Nous décrirons notre architecture DSL et framework ainsi
qu'un exemple pour montrer comment une étude de cas peut être évaluée à sur des plateformes IaaS, de paralléliser les configurations d'expériences et
l'aide de deux outils d'optimisation de modèle différents. de réduire le temps nécessaire à leur exécution. L'outil offre une interface de
Index des termes—ingénierie pilotée par modèle, reproductible collecte de données, qui vise à standardiser le format de collecte des données
recherche, recherche évolutive, ingénierie de modèle basée sur la recherche, des expériences SBME, et offre un support pour le calcul des métriques
workflow, cloud, middleware
d'expérience communes et des statistiques récapitulatives pour les
problèmes de recherche à objectif unique et multi-objectif. Dans cet article,
je. jeNTRODUCTION
nous nous concentrons sur les problèmes SBME, cependant, l'approche que
L'ingénierie des modèles basés sur la recherche (SBME) est une méthodologie nous décrivons peut être étendue pour prendre en charge l'exécution de
qui combine des techniques de recherche avec l'ingénierie dirigée par les modèles, toutes les expériences qui évaluent les techniques de recherche.
pour aider les experts du domaine à trouver des modèles optimaux qui satisfont aux Dans cet article, nous apportons les contributions suivantes :
contraintes du métamodèle [1]–[5]. L'un des problèmes rencontrés par les 1) nous proposons un DSL qui permet aux utilisateurs de spécifier des configurations
chercheurs SBME est le temps d'exécution long et les ressources de calcul d'expérimentation pour les outils SMBE ;
considérables requises par les outils SBME pour trouver de bons résultats. 2) nous décrivons l'architecture d'un framework qui peut exécuter des
expérimentations sur du matériel IaaS ;
Des expériences de recherche typiques visent à évaluer plusieurs 3) nous proposons un cadre pour capturer et effectuer une
configurations, pour au moins un outil SBME. Chaque configuration se analyse commune des données d'expérience.
compose d'un ensemble de paramètres, d'études de cas et de modèles Le reste de cet article est structuré comme suit : Dans la Sect. II nous
d'entrée. De telles approches systématiques génèrent un grand nombre introduisons le contexte pertinent. La section IV contient les principales
de permutations d'expériences et l'évaluation de telles expériences contributions, décrivant nos motivations, nos objectifs de conception et
nécessite souvent de faire fonctionner les outils pendant longtemps. De l'architecture de nos outils. La section VI décrit la DSL et les détails de
plus, pour obtenir des résultats statistiquement significatifs, chaque mise en œuvre de notre approche et dans la section VII, nous discutons
expérience de configuration doit être répétée au moins 30 fois [6]. Cette des travaux connexes.
exigence augmente considérablement le temps et les ressources
nécessaires pour mener des expériences SBME. II. BRECONNAISSANCE
Les chercheurs de la SBME sont confrontés à au moins deux défis techniques : 1. Dans cette section, nous introduisons des concepts et des définitions qui
Exécuter des expériences à grande échelle de manière efficace, et sont pertinents pour la recherche décrite dans cet article. Nous donnons des
2. Comparer les résultats obtenus par différentes exécutions pour différents définitions des termes clés utilisés dans notre DSL, suivies d'une introduction
algorithmes, outils ou configurations. Pour comparer l'expérience aux concepts IaaS. Nous présentons ensuite brièvement
2http://aws.amazon.com/batch/ 3http://moeaframework.org/
190
A. Définitions TABLEAU I
SRÉSUMÉ DES STATISTIQUES RÉSUMÉ GÉNÉRÉES POUR LES
Dans cet article, nous utilisons les termes suivants pour décrire notre MULTI-O EXPÉRIENCES BJECTIVES.
DSL proposée :
Objectif unique Multi-Objectif
UNE Tâche fait référence à une seule instance de problème exécutable, Étapes de l'algorithme Étapes de l'algorithme
avec des entrées préconfigurées. Un exemple deTâche exécuterait un outil Moyenne objective Moyenne de l'hypervolume
Médiane objective Médiane d'hypervolume
SBME, pour un modèle d'entrée spécifique à partir d'une étude de cas évaluée.
Objectif Minimum Hypervolume minimum
Objectif Maximum Hypervolume maximum
UNE Grouper désigne une seule exécution d'un Tâche. Lors de l'évaluation Écart-type objectif Asymétrie Écart-type de l'hypervolume
d'études de cas à l'aide d'outils SBME utilisant des algorithmes objectif Incidence de l'hypervolume
Kurtosis objectif Kurtose hypervolumique
métaheuristiques, Tâches sont généralement exécutés plusieurs fois, pour
N/A Taille de l'ensemble de référence
garantir que les résultats obtenus sont statistiquement significatifs. Chaque N/A Ensemble de référence Contributions
Tâche l'exécution compte comme une grouper. N/A Ratio des meilleures solutions
1) Offrir un DSL basé sur du texte pour spécifier les expériences les tâches générées et les envoie au fournisseur d'infrastructure
SBME ; pour exécution. Ce composant fournit également des informations
2) Nécessite une configuration et une installation minimales de l'utilisateur ; d'état pour les tâches qui ont été planifiées.
3) Fournir un cadre extensible qui facilite l'ajout de nouveaux outils et 4) Fournisseur d'infrastructure : Ce composant implémente
un support matériel supplémentaire pour l'exécution l'API du fournisseur IaaS. Il fournit une interface pour envoyer les tâches
d'expériences automatisées ; configurées à la file d'attente d'exécution des tâches.
4) Proposer une interface commune pour collecter les métriques 5) Analyseur de résultats : Le composant analyseur de résultats est
d'expérimentation à partir des outils SBME ; utilisé dans l'échelle MDEO pour calculer automatiquement les statistiques
5) Offrir un support pour interpréter automatiquement les métriques récapitulatives et les métriques communes pour les expériences configurées.
d'expérience à l'aide de métriques statistiques courantes. L'évaluation de la qualité de la solution pour les op-
191
attendra jusqu'à ce que le type de ressources de calcul requis soit
disponible.
Dans la version actuelle du DSL, les utilisateurs configurent le
Environnement de calcul en utilisant le environnement mot-clé dans le
Infrastructure bloc de la DSL. Les serveurs traitant les tâches
interagissent avec le système de stockage S3 pour récupérer les
artefacts requis pour letâche et de publier les résultats de sortie.
Les résultats de sortie sont traités par leTâches programmé par le
Analyseur de résultats composant.
192
Fig. 4. Mode autonome de MDEOptimiser Scale. Cette figure montre le menu d'aide imprimé
affiché lors de l'exécution de l'outil à partir de la ligne de commande.
B. Extensibilité
Dans cette section, nous décrivons comment l'échelle MDEO peut être étendue pour
Pour mettre en œuvre des outils supplémentaires, les utilisateurs doivent mettre en œuvre le
193
de la file d'attente. Le traitement peut commencer immédiatement les utilisateurs doivent encore résoudre le problème de la capture des données
l'astronomie, à notre connaissance, aucun outil de ce type ne prend en l'aide de Python [22]. L'outil offre des fonctionnalités permettant de visualiser
charge les outils SMBE. l'état des travaux par lots en cours d'exécution, de gérer les échecs et de
gérer les flux de travail. Les tâches sont exécutées à l'aide d'un planificateur,
A. Déploiement Cloud qui peut être local, pour les tâches exécutées localement, ou central pour les
L'Open Cloud Computing Interface (OCCI) est une spécification tâches réparties sur un certain nombre de travailleurs exécutant des tâches.
qui propose un standard commun pour interagir avec les Cet outil n'est pas aussi complexe que Mesos ou Bistro, cependant, c'est un
ressources de calcul offertes par les fournisseurs IaaS, PaaS [16]. bon exemple d'outil de planification de tâches simple qui peut être utilisé
L'OCCI a été proposé par leForum de grille ouverte et consiste en pour gérer des flux de travail simples.
une spécification d'API qui cherche à normaliser la façon dont les Notre DSL peut être étendu pour prendre en charge en tant que
utilisateurs interagissent avec les API fournies par différents technologies de traitement par lots l'un des outils présentés dans
fournisseurs XaaS. Une autre norme de spécification est la cette section. L'inconvénient lié à l'utilisation de Mesos ou Bistro
spécification de topologie et d'orchestration pour les applications comme backend est qu'il y a une surcharge initiale requise pour
cloud (TOSCA) [17]. configurer ces outils afin qu'ils puissent être utilisés. Cette option
Dans [18] Erbel et al. proposer une approche qui peut planifier des est viable lorsqu'un cluster de serveurs existant est disponible, qui
architectures de flux de travail à exécuter sur une infrastructure cloud à l'aide n'a pas de structure d'orchestration de ressources déployée. Notre
d'OCCI. Cette approche vise à s'exécuter sur des clouds compatibles OCCI et à approche utilise du matériel IaaS, fourni par AWS et élimine la
maximiser l'utilisation des ressources pour les nœuds de calcul provisionnés, nécessité de posséder et de maintenir un cluster.
en exécutant une simulation pour évaluer les métriques de performance
avant qu'un déploiement ne soit effectué. C. Workflows d'expérimentation
Une approche similaire pour reproduire des workflows scientifiques
Les systèmes de flux de travail d'expérimentation sont des outils de calcul qui
sur le cloud, en utilisant TOSCA, est proposée dans Qasha et al. dans
permettent aux chercheurs qui effectuent des expériences gourmandes en données
[19]. Les auteurs proposent un framework qui vise à utiliser Github et
de se concentrer sur leur travail au lieu de créer des pipelines de traitement de
DockerHub7 en tant que référentiels pour stocker les flux de travail et les
données. Ces outils sont axés sur des domaines de recherche à forte intensité de
tâches. Ce framework utilise Cloudify8 en tant que moteur de flux de
données tels que la bioinformatique, la chimie ou la physique. Une liste organisée
travail conforme TOSCA.
des systèmes de flux de travail existants peut être consultée dans [23].
Notre approche est similaire aux deux cadres décrits dans cette
Common Workflow Language (CWL) est une norme de spécification de
section. La principale différence est que MDEOptimiser Scale s'adresse à
workflow [24]. CWL peut être utilisé pour créer des workflows d'analyse
la communauté SBME et offre un certain nombre d'outils
portables. Les workflows basés sur CWL se composent d'outils de ligne de
supplémentaires, tels que la collecte de métriques et la génération de
commande orchestrés, qui peuvent s'exécuter sur des plates-formes qui
résumés de résultats. En utilisant l'un des deux frameworks ci-dessus,
implémentent la norme. Un autre flux de travail de pipeline de calcul DSL est
7https://www.docker.com/products/docker-hub Nextflow [25]. L'outil permet aux utilisateurs d'utiliser des langages de script
8https://cloudify.co/
exécutables Linux pour définir des processus qui peuvent
194
être orchestré pour former un pipeline. Netflow prend en charge par [4] S. John, A. Burdusel, R. Bill, D. Struber, G. Taentzer, S. Zschaler et
M. Wimmer, « Recherche de modèles optimaux : comparaison de deux
défaut Google Computing Cloud et Amazon Web Services.
approches d'encodage », dans Théorie et pratique de la transformation de
Le DSL que nous avons présenté dans cet article peut être étendu pour modèle : 12e conférence internationale, acceptée, ICMT '19, 2019.
générer des instances de workflow CWL ou NextFlow. Cela nous permettra [5] A. Burdusel, S. Zschaler et S. John, « Génération automatique d'opérateurs de recherche
préservant la cohérence atomique pour l'ingénierie des modèles basés sur la
d'étendre le nombre de plates-formes de déploiement prises en charge tout
recherche », dans IEEE / ACM 22e conférence internationale sur les langages et
en nous concentrant sur les besoins des praticiens SBME qui utilisent notre systèmes d'ingénierie pilotés par les modèles, MODÈLES, 2019.
DSL et en utilisant un moteur de flux de travail plus mature comme backend [6] A. Arcuri et L. Briand, « A hitchhiker's guide to statistics tests for
evaluation randomised algorithms in software engineering », Tests,
pour la gestion de notre architecture de flux de travail.
vérification et fiabilité des logiciels, vol. 24, non. 3, p. 219-250, 2014.
[7] P. Fazenda, J. McDermott et U.-M. O'Reilly, « A library to run evolutionary
VIII. CINCLUSION ET FAVENIR WORK algorithms in the cloud using mapreduce », dansConférence
européenne sur les applications du calcul évolutif, p. 416–
Dans cet article, nous avons présenté un prototype du MDEO Scale 425, 2012.
[8] M. Harman, SA Mansouri et Y. Zhang, « Ingénierie logicielle basée sur la
DSL, un outil qui permet aux chercheurs exécutant des expériences à
recherche : tendances, techniques et applications », Calcul ACM. Surv.,
l'aide des outils SBME de créer facilement un flux de travail d'expérience vol. 45, non. 1, pages 11 : 1-11 : 61, 2012.
pouvant être exécuté sur du matériel IaaS. L'outil offre une approche [9] R. Bill, M. Fleck, J. Troya, T. Mayerhofer et M. Wimmer, « A local and global
tour on MOMoT », Modélisation de logiciels et de systèmes, p. 1-30,
accessible pour partager les flux de travail des expériences SBME, afin
2017.
de faciliter la publication d'artefacts de recherche reproductibles. Nous [10] M. Fleck, J. Troya et M. Wimmer, « The class responsa- bilité assignation
avons décrit nos motivations pour construire l'outil et donné un aperçu case », dans Actes du 9e concours d'outils de transformation
(A. Garcia-Dominguez, F. Krikava et LM Rose, éd.), vol. 1758, p. 1-8,
de l'architecture et de l'approche utilisée pour orchestrer les
CEUR, 2016.
expérimentations sur le matériel Iaas. [11] M. Li et X. Yao, « Evaluation de la qualité des ensembles de solutions en optimisation
L'outil présenté dans cet article est un prototype aux multiobjectif : une enquête », Enquêtes informatiques ACM (CSUR), vol. 52, non. 2, p.
26, 2019.
premiers stades de développement. À l'avenir, nous prévoyons
[12] E. Zitzler, D. Brockhoff et L. Thiele, « L'indicateur d'hypervolume revisité :
d'étendre l'outil dans un certain nombre de directions. Voici sur la conception d'indicateurs conformes à Pareto via une intégration
une liste d'idées en cours d'évaluation : pondérée », dans Optimisation multicritère évolutive, p. 862-876,
2007.
• Étendre la prise en charge de plusieurs fournisseurs IaaS ; [13] HB Mann et DR Whitney, « Sur un test pour savoir si l'une des deux
• Améliorer l'extensibilité du DSL en permettant aux utilisateurs d'ajouter la variables aléatoires est stochastiquement plus grande que l'autre »,
Anne. Math. Statist.,vol. 18, p. 50-60, 03 1947.
prise en charge d'outils supplémentaires en spécifiant simplement dans le
[14] J. Cohen, « Analyse de puissance statistique pour la science du comportement. (2e) »,
DSL une classe implémentant une interface pour prendre en charge des New Jersey : Laurence Erlbaum Associates, Publishers, Hillsdale, 1988.
outils supplémentaires ; [15] J. Liu, E. Pacitti, P. Valduriez et M. Mattoso, « A survey of data-intensive
scientific workflow management », Journal de l'informatique en grille,
• Autoriser les utilisateurs à spécifier des métriques personnalisées qui peuvent être
vol. 13, p. 457-493, décembre 2015.
calculées sur les métriques générées ; [16] A. Edmonds, T. Metsch, A. Papaspyrou et A. Richardson, « Toward an
• Offrir la possibilité de charger facilement des études de cas à partir open cloud standard », Informatique Internet IEEE, vol. 16, non. 4, p. 15–
25, 2012.
d'un pool pris en charge par l'outil pour faciliter l'évaluation des idées
[17] « Spécification de topologie et d'orchestration OASIS pour les applications
de recherche SBME ; cloud ». https://www.oasis-open.org/committees/tc home.php?wg
• Évaluer les menaces de reproductibilité des expériences et les abbrev=tosca. Consulté le : 2019-07-04.
[18] J. Erbel, F. Korte et J. Grabowski, « Scheduling architectures for scientific
stratégies d'atténuation lors de l'utilisation de matériel cloud ;
workflows in the cloud », dans Analyse et modélisation du système.
• Étendre le DSL pour prendre en charge l'exécution des outils et Langages, méthodes et outils pour l'ingénierie des systèmes,p. 20-28,
des problèmes du domaine plus large de SBSE ; 2018.
[19] R. Qasha, J. Cała et P. Watson, « A framework for scientific workflow
• Étendez la fonctionnalité d'instrumentation de l'algorithme
reproductibility in the cloud », dans 2016 IEEE 12th International
pour simplifier l'intégration avec des cadres d'optimisation Conference on e-Science (e-Science), p. 81-90, IEEE, 2016.
autres que MOEAFramework. [20] B. Hindman, A. Konwinski, M. Zaharia, A. Ghodsi, AD Joseph, RH Katz, S.
Shenker et I. Stoica, « Mesos : A platform for fine-grained resources
sharing in the data center. ," dans NSDI, vol. 11, p. 22-22, 2011.
UNERECONNAISSANCE [21] A. Goder, A. Spiridonov et Y. Wang, « Bistro : Scheduling data-parallel jobs
against live production systems », dans Conférence technique annuelle
Ce travail a été soutenu par le Conseil de recherche en {USENIX} 2015 ({USENIX}{ATC} 15), p. 459-471, 2015.
génie et en sciences physiques numéro d'octroi 1805606. [22] "Luigi". https://github.com/spotify/luigi. Consulté le : 2019-07-04.
[23] « Systèmes de flux de travail pour l'analyse de données informatiques ». https://
s.apache.org/existing-workflow-systems. Consulté le : 2019-07-04.
RÉFÉRENCES
[24] P. Amstutz, MR Crusoe, N. Tijanić, B. Chapman, J. Chilton, M. Heuer,
A. Kartashov, D. Leehr, H. Ménager, M. Nedeljkovich, M. Scales,
[1] I. Boussa¨ı̈d, P. Siarry et M. Ahmed-Nacer, « A survey on search-based
S. Soiland-Reyes et L. Stojanovic, « Common Workflow Language, v1.0 »,
model-driven engineering », Génie logiciel automatisé, vol. 24, non. 2, p.
7 2016.
233-294, 2017.
[25] « NextFlow a dsl pour un pipeline de calcul parallèle et évolutif. » https : //
[2] D. Efstathiou, JR Williams et S. Zschaler, « Crêpe complète : optimisation multi-
www.nextflow.io/. Consulté le : 2019-07-04.
objectifs pour vos modèles », dans Proc. 1er atelier international sur la
combinaison de la modélisation avec des approches basées sur la recherche
et l'exemple (CMSEBA'14),2014.
[3] J. Murphy, A. Burdusel, L. Michael, S. Zschaler et E. Black, « Deriving
persuasion strategies using search-based model engineering », dans
Modèles informatiques d'argumentation : Actes de COMMA 2018, vol.
305, p. 221-232, IOS Press, 2018.
195