29 research outputs found

    Les apports d'un monde synthétique pour l'apprentissage du vocabulaire en langue étrangère

    Get PDF
    Dans l'apprentissage d'une L2 (langue étrangère), les problèmes de vocabulaire rencontrés par les apprenants peuvent concerner diverses caractéristiques d'une UL (unité lexicale), que nous désignons comme des PVP (Points de Vocabulaire Problématiques). Notre intérêt se porte particulièrement sur les potentialités des mondes synthétiques, tels que Second Life, pour l'aide à la résolution de ces PVP. Nous présentons notre analyse des apports de cet environnement à partir d'une formation pilote, menée en février 2011 dans une approche Emile (Enseignement d'une Matière par l'Intégration d'une Langue Etrangère), au cours de laquelle des étudiants, encadrés par des tuteurs d'architecture et par des tutrices de langue, ont procédé à la construction collaborative d'objets virtuels en L2 (deux groupes en anglais et deux groupes en Français Langue Étrangère) et à la réflexion sur leur formation. Nous constatons que : i) les besoins en vocabulaire concernaient une variété de PVP et ont été exprimés dans Second Life en majorité dans l'audio, ii) les interventions tutorales ont consisté en majorité en reformulations, pour des PVP de signification, iii) ces régulations pédagogiques ont favorisé la résolution immédiate de certains PVP, notamment via le mode audio.When learning a L2 (foreign language), vocabulary difficulties can concern a variety of different characteristics of a lexical unit (LU), which we name PVPs (Problematic Vocabulary Points). Our study focuses on the possibilities a synthetic world (Second Life) may offer in supporting learners with PVPs. We analyse the potentials of this environment during a course which took place in February 2011 and which adopted a CLIL (Content and Language Integrated Learning) approach. During this course, student groups, accompanied by architecture tutors and language tutors, created virtual objects in collaboration using their L2 (two groups using English and two groups using French) and participated in reflective sessions about this process. The analysis presented in this study reveals that i) needs related to vocabulary were varied and were expressed in Second Life in the audio for the greater part, ii) tutors' support consisted mostly of recasts of PVPs concerning meaning iii) these pedagogical regulations helped solve PVPs during the interaction, in particular via the audio mode

    Gossip et la convergence dans les réseaux d'équipements virtualisés

    Get PDF
    L'Internet du futur devra certainement utiliser la virtualisation, car elle permet un passage flexible vers de nouveaux modèles de réseau, offre une abstraction des ressources, permet une meilleure utilisation de ces ressources ainsi que le partage de ces ressources. La virtualisation des serveurs est déjà utilisée depuis plusieurs années dans les centres de données et sur Internet. L'abstraction du matériel, le partage des ressources et les facilités de déploiement ont permis d'évoluer vers le modèle des services infonuagiques. On pense donc que l'Internet du futur doit passer par une virtualisation des équipements de réseau pour emprunter un chemin similaire à celui des serveurs vers l'informatique en nuage. Pour faciliter la découverte des ressources d'un réseau d'équipements virtuels, il est préférable de ne pas contacter chaque équipement du réseau à tour de rôle. Pour accélérer la création d'un inventaire des ressources disponibles, il est nécessaire d'établir leur cartographie. Cette cartographie des ressources associées à leur nœud physique sera appelée topologie puisqu'elle tiendra compte des liaisons entre les ressources et les nœuds du réseau. Le contexte de cette recherche est une approche de stabilisation rapide de la topologie des ressources mises en commun pour des réseaux dont les équipements ont été virtualisés. La centralisation d'une topologie globale d'un réseau comme Internet ne pourrait être possible. La fréquence des mises à jour et la quantité d'opérations de lecture demanderaient une infrastructure incroyablement puissante pour supporter des millions de clients concurrents. La décentralisation est une approche qui permet de répondre à cette demande en puissance par la distribution massive de la charge de travail entre plusieurs ordinateurs. De plus, elle permet d'accroitre la tolérance aux fautes, l'autoadaptation de la topologie, la réplication d'une large quantité de données et rapproche les informations vers les clients. À première vue, le modèle semble parfait, mais pour maintenir une telle topologie qui soit structurée autour d'un réseau, qui est lui-même en constante évolution, le modèle présente une complexité supplémentaire. En effet, pour maintenir une telle structure, il faut la mettre à jour à chaque changement. La décentralisation seule peut alors entraîner des connexions lentes entre deux nœuds qui sont relativement éloignés l'un de l'autre géographiquement et dont la latence entre ces liens peut être élevée. Ces connexions lentes peuvent ralentir les mises à jour de la topologie et donc ralentir la convergence (voir lexique) de l'information. L'utilisation d'une approche non structurée peut éliminer cette limitation. Chaque nœud participant à un système non structuré prend ses propres décisions. Ces décisions n'affectent pas les autres nœuds du système. Le travail présenté dans ce mémoire utilise un réseau qui reflète une des directions d'exploration des projets de GENI [1], PlanetLab [2], VINI [3], Cabo [4], etc. Ce réseau utilise des routeurs virtuels dont les nœuds physiques partagent leurs ressources informatiques. Une approche de mises à jour décentralisées et non structurées sera utilisée dans le but de gérer la topologie et de répondre aux exigences de distribution, de robustesse, de croissance et d'extensibilité de cette dernière. Dans le réseau de routeurs virtuels du présent travail, chaque nœud physique possède sa propre copie de la topologie des ressources partagées par les autres nœuds physiques du réseau. Le défi principal que relève ce mémoire est la convergence rapide de cette topologie des ressources partagées, appliquée à un grand réseau. Afin de réaliser les mises à jour de la topologie des ressources partagées, deux modèles d'architecture de système distribué ont été étudiés : le P2P (voir lexique) et le Gossip (voir lexique). Dans un premier temps, il sera démontré comment le modèle Gossip paraît être le mieux adapté au contexte du présent travail. Dans un deuxième temps, l'expérience du protocole P2P Gnutella a fait ressortir qu'il est préférable de profiter de la topologie du réseau sur lequel on s'exécute. Le protocole Gossip sera amélioré en ce sens. Cette nouvelle version démontrera comment l'utilisation de la topologie du réseau physique peut être utilisée comme levier pour améliorer sa performance. Finalement, il sera démontré en quoi l'amélioration apportée permet de stabiliser le temps de convergence d'une topologie décentralisée et non structurée indépendamment de la taille et de la latence d'un réseau, pourvu qu' il soit fortement maillé.\ud _____________________________________________________________________________

    De la conception à l'exploitation des travaux pratiques en ligne : application d'une approche générique à l'enseignement de l'informatique

    Get PDF
    La mise en ligne des travaux pratiques est une problématique de recherche étudiée depuis plus d'une décennie en raison des enjeux pédagogiques et économiques qu'elle engendre. En effet, il s'agit d'une catégorie d'enseignements indispensables aux disciplines scientifiques, technologiques et mathématiques et d'ingenierie visant à atteindre des objectifs d'apprentissage particuliers liés à l'acquisition de compétences professionnelles et scientifiques, mais aussi au travail de groupe et de communication. Des recherches dans le domaine des télé-TPs ont permis de mettre en évidence des problèmes d'ordre pédagogiques et techniques qui entravent le développement et l'acceptation des télé-TPs par les acteurs de la formation, dont nos travaux tentent d'apporter des réponses. En particulier, cette thèse traite les problématiques liées (1) aux fondements théoriques de l'apprentissage en ligne dans le cadre de télé-TPs, (2) aux avancées tant techniques que pédagogiques des Environnements Informatiques pour l'Apprentissage Humain (EIAH), et (3) aux avancées techniques et technologiques pour la mise en ligne de dispositifs de laboratoires distribués et mutualisés. En d'autres termes, il s'agit d'atteindre l'efficacité pédagogique des télé-TPs tout en les intégrant aux EIAHs utilisés pour les autres types d'activités d'apprentissage. Nos propositions s'articulent autour de deux éléments clés : (1) une architecture structurée en couches assurant une communication transparente entre les contextes d'apprentissage (EIAH) et d'expérimentation (laboratoires en ligne), et (2) un méta-modèle qui, d'une part, décrit de façon formelle les éléments inhérents à l'activité de télé-TP (laboratoires, dispositifs et expériences) ainsi que les activités réalisées par les utilisateurs sur ces entités, et d'autre part dirige le contrôle et la supervision des expériences et laboratoires. D'un point de vue technique, nos contributions concernent la proposition d'un méta-modèle standard pour le pilotage et la gestion du cycle de vie des expériences qui facilite la représentation homogène des dispositifs hétérogènes de laboratoires tout en favorisant le déploiement et l'exploitation d'expériences distribuées sur plusieurs sites, ainsi que l'introduction d'interfaces de contrôle et de supervision uniformes masquant les détails spécifiques des laboratoires distants aux applications de haut niveau telles que les EIAHs. D'un point de vue pédagogique, nous introduisons l'objet pédagogique " Expérience " afin d'encourager la pratique, le partage et la réutilisation des télé-TPs dans les cursus en ligne, et supportons différentes fonctions pédagogiques telles que l'apprentissage collaboratif et le tutorat (synchrone et asynchrone) à travers un ensemble d'IHMs adaptées dont le développement est rendu aisé par la décomposition du système global en différentes couches. Nos propositions ont été expérimentées dans le cadre de télé-TPs relatifs à notre domaine d'enseignement, l'informatique. Les différents méta-modèles génériques ont été spécialisés pour décrire et superviser l'environnement d'expérimentation ainsi que les expériences qui y prennent place, mais également afin de modéliser, stocker et exploiter les traces des interactions entre les utilisateurs et ces expériences. Enfin, des composants spécifiques assurent le lien entre les modèles abstraits et les ressources de bas niveau, alors que des outils et IHMs de haut niveau supportent différentes fonctions pédagogiques : * La conception pédagogique est étendue à la conception des expériences en ligne à travers une IHM intuitive proposée aux enseignants, qui leur permet de concevoir et de tester des expériences avec un niveau de complexité arbitraire. * L'apprentissage en ligne est supporté par une interface Homme-Machine réaliste qui assure à la fois la réalisation d'opérations sur les expériences distantes, une navigation efficace parmi les composants d'une expérience en ligne, mais également l'apprentissage collaboratif. * Le tutorat en ligne est supporté par une interface qui étend l'IHM d'apprentissage avec des privilèges élargis et des outils supplémentaires permettant aux tuteurs distants de détecter les situations de blocage, de venir en aide aux apprenants en difficulté, et enfin d'évaluer les travaux de ces apprenants.Bringing online practical learning activities is a research problem studied for over a decade due to educational and economic challenges it engenders. Indeed, it is a category of courses required for scientific, technological, engineering and mathematics disciplines to achieve specific learning objectives related to the acquisition of professional and scientific skills, but also teamwork and communication skills. Research in the field of remote lab-works helped to highlight pedagogical and technical problems hindering the development and acceptance of remote lab-works by the human actors, which our work attempt to provide answers. In particular, this thesis addresses issues related (1) to the learning theoretical foundations in the context of remote lab-works; (2) Advances both technical and pedagogical of the Technology Enhanced Learning (TEL), and (3) Technical and Technological advances in online distributed and shared laboratories devices. In other words, it is to achieve the pedagogical effectiveness of remote lab-works while integrating them in LMS (Learning Management Systems) used for the other types of learning activities. Our proposals center around two key elements: (1) A structured layered architecture ensuring seamless communication between learning context (LMS) and experimental context (online labs), and (2) A meta-model that, on one hand, describes formally the elements inherent to the lab-work activity (labs, experiments and devices) and the activities performed by users on these entities, and on the other hand, drives the control and supervision of laboratories and experiments. From a technical standpoint, our contributions concern the proposal of a meta-model standard for controlling and managing the lifecycle of experiments that facilitates uniform representation of heterogeneous laboratories' devices while promoting the deployment and the operating of distributed experiments across multiple sites, as well as the introduction of uniform interfaces for control and monitoring, hiding the specific details of remote laboratories to high-level applications such as LMSs. From an educational point of view, we introduce the learning object "Experiment" to encourage the practice, sharing and the reuse of remote lab-works in the online curriculum, and support the different educational functions such as collaborative learning and tutoring (synchronous and asynchronous) through a set of tailored GUIs whose development is made easy by the decomposition of the overall system into different layers. Our proposals have been tested in the context of remote lab-works on our field of education: The Computer Science. The various generic meta- models were specialized to describe and monitor the environment of experimentation and the experiments that take place within them, but also to model, store and use the traces of interactions between user and these experiments. Finally, specific components provide the link between abstract models and concrete low-level resources, whereas high-level HCI and tools support the different pedagogical functions: * The instructional design is extended to the design of online experiments through an intuitive GUI offered to teachers, allowing them to design and test experiments with an arbitrary level of complexity. * Online learning is supported by a realistic interface that ensures both performing operations on remote experiments; navigate efficiently among the components of an online experience, but also collaborative learning. * The online tutoring is supported by an interface that extends the learning HCI with extended privileges and additional tools enabling remote tutors detect deadlocks, to help struggling learners, and finally to evaluate the work of these learners

    Gestionnaire de vie privée : un cadre pour la protection de la vie privée dans les interactions entre apprenants

    Get PDF
    L’évolution continue des besoins d’apprentissage vers plus d’efficacité et plus de personnalisation a favorisé l’émergence de nouveaux outils et dimensions dont l’objectif est de rendre l’apprentissage accessible à tout le monde et adapté aux contextes technologiques et sociaux. Cette évolution a donné naissance à ce que l’on appelle l'apprentissage social en ligne mettant l'accent sur l’interaction entre les apprenants. La considération de l’interaction a apporté de nombreux avantages pour l’apprenant, à savoir établir des connexions, échanger des expériences personnelles et bénéficier d’une assistance lui permettant d’améliorer son apprentissage. Cependant, la quantité d'informations personnelles que les apprenants divulguent parfois lors de ces interactions, mène, à des conséquences souvent désastreuses en matière de vie privée comme la cyberintimidation, le vol d’identité, etc. Malgré les préoccupations soulevées, la vie privée en tant que droit individuel représente une situation idéale, difficilement reconnaissable dans le contexte social d’aujourd’hui. En effet, on est passé d'une conceptualisation de la vie privée comme étant un noyau des données sensibles à protéger des pénétrations extérieures à une nouvelle vision centrée sur la négociation de la divulgation de ces données. L’enjeu pour les environnements sociaux d’apprentissage consiste donc à garantir un niveau maximal d’interaction pour les apprenants tout en préservant leurs vies privées. Au meilleur de nos connaissances, la plupart des innovations dans ces environnements ont porté sur l'élaboration des techniques d’interaction, sans aucune considération pour la vie privée, un élément portant nécessaire afin de créer un environnement favorable à l’apprentissage. Dans ce travail, nous proposons un cadre de vie privée que nous avons appelé « gestionnaire de vie privée». Plus précisément, ce gestionnaire se charge de gérer la protection des données personnelles et de la vie privée de l’apprenant durant ses interactions avec ses co-apprenants. En s’appuyant sur l’idée que l’interaction permet d’accéder à l’aide en ligne, nous analysons l’interaction comme une activité cognitive impliquant des facteurs contextuels, d’autres apprenants, et des aspects socio-émotionnels. L'objectif principal de cette thèse est donc de revoir les processus d’entraide entre les apprenants en mettant en oeuvre des outils nécessaires pour trouver un compromis entre l’interaction et la protection de la vie privée. ii Ceci a été effectué selon trois niveaux : le premier étant de considérer des aspects contextuels et sociaux de l’interaction telle que la confiance entre les apprenants et les émotions qui ont initié le besoin d’interagir. Le deuxième niveau de protection consiste à estimer les risques de cette divulgation et faciliter la décision de protection de la vie privée. Le troisième niveau de protection consiste à détecter toute divulgation de données personnelles en utilisant des techniques d’apprentissage machine et d’analyse sémantique.The emergence of social tools and their integration in learning contexts has fostered interactions and collaboration among learners. The consideration of social interaction has several advantages for learners, mainly establishing new connections, sharing personal experiences and receiving assistance which may improve learning. However, the amount of personal information that learners disclose in these interactions, raise several privacy risks such as identity theft and cyberbullying which may lead to serious consequences. Despite the raised concerns, privacy as a human fundamental right is hardly recognized in today’s social context. Indeed, the conceptualization of privacy as a set of sensitive data to protect from external intrusions is no longer effective in the new social context where the risks come essentially from the self-disclosing behaviors of the learners themselves. With that in mind, the main challenge for social learning environments is to promote social interactions between learners while preserving their privacy. To the best of our knowledge, innovations in social learning environments have only focused on the integration of new social tools, without any consideration of privacy as a necessary factor to establish a favorable learning environment. In fact, integrating social interactions to maintain learners’ engagement and motivation is as necessary as preserving privacy in order to promote learning. Therefore, we propose, in this research, a privacy framework, that we called privacy manager, aiming to preserve the learners’ privacy during their interactions. Considering social interaction as a strategy to seek and request peers’ help in informal learning contexts, we analyze learners’ interaction as a cognitive activity involving contextual, social and emotional factors. Hence, our main goal is to consider all these factors in order to find a tradeoff between the advantages of interaction, mainly seeking peer feedback, and its disadvantages, particularly data disclosure and privacy risks. This was done on three levels: the first level is to help learners interact with appropriate peers, considering their learning competency and their trustworthiness. The second level of protection is to quantify potential disclosure risks and decide about data disclosure. The third level of protection is to analyze learners’ interactions in order to detect and discard any personal data disclosure using machine learning techniques and semantic analysis

    Interactions visio-haptiques pour la coordination et la conscience situationnelle partagée en environnement virtuel collaboratif

    Get PDF
    La communication haptique interpersonnelle est communément utilisée pour se saluer, se féliciter, ou de manière indirecte pour manipuler des objets lourds. Pourtant, la modalité haptique est absente des systèmes de communication à distance usuels. Les progrès récents de l'informatique et des réseaux de communication ont permis l'émergence d'environnements virtuels collaboratifs offrant un retour haptique aux utilisateurs. Les environnements virtuels collaboratifs constituent une solution prometteuse pour faciliter le travail collaboratif à distance. Les contextes applicatifs sont nombreux : entrainement militaire, assemblage mécanique, manipulation moléculaire, conception assistée par ordinateur.Toutefois, les utilisateurs d'environnements virtuels collaboratifs sont confrontés à deux types de problématiques : celles liées aux environnements virtuels 3D et celles liées à la collaboration à distance. En effet, il est difficile pour un utilisateur peu expérimenté d'interagir avec un environnement virtuel 3D. Se déplacer et manipuler des objets dans ce type d'environnement nécessite une bonne représentation mentale de l'espace.De plus, la collaboration à distance limite les possibilités et la qualité de la communication. Les informations dont disposent les utilisateurs sur leurs partenaires sont donc réduites. Dans ce contexte, la coordination des actions entre les utilisateurs devient plus complexe.L'objectif de ces travaux de thèse est donc de proposer des méthodes d'interaction visio-haptique pour faciliter la coordination et augmenter l'attention mutuelle entre les utilisateurs. Via l'amélioration de la coordination et de l'attention inter-utilisateurs, une augmentation des performances et de l'efficacité du travail collaboratif est escomptée.Trois types d'interactions fondamentales sont abordées dans un contexte collaboratif : la coordination des sélections, le paramétrage des sélections et la manipulation collaborative d'objet. Pour chacune des tâches d'interactions précédemment citées, des méthodes d'interaction ainsi que des outils de coordination et de communication ont été proposé et évalué.Ces travaux de thèse présentent les points forts mais aussi les défauts des méthodes d'interaction collaboratives fortement couplées. Les résultats obtenus montrent également l'importance de la communication haptique dans la collaboration à distance.Haptic interpersonal communication is commonly used to salute, to congratulate, or indirectly to manipulate heavy objects. However, the haptic feedback is missing from the common communication systems. Recent developments in telecommunications and computer capabilities have made possible the use of haptic feedback in collaborative virtual environments. Collaborative virtual environments are a promising solution to facilitate remote work collaboration. They have many applications like: military training, engineering design, e-learning or video games.Nevertheless, users of collaborative virtual environments have to face several issues. First, interacting with a virtual environment is not a straightforward task. Navigate and manipulate objects in a virtual environment requires a good mental representation of space. Secondly, remote collaboration limits the communication quality because even the best video conference system can't support all the richness of a face to face communication. Information available on the partners are reduced thus coordinate actions between users become a complex task.The aim of this thesis is to propose visual haptic interactions to simplify coordination and increase mutual awareness between the users. Through the improvement of coordination and mutual awareness an increase of team performance and work efficiency is expected.Three kind of fundamental 3D interactions are addressed in collaborative context: the coordination of selections, the setting of selections and the manipulation of objects. For each of these three of fundamental interactions, several methods of interaction and tools of coordination are proposed and assessed.The findings of this thesis highlight the strengths and the weaknesses of the closely coupled method of interactions. The results of the experiments also confirm the importance of haptic communication in remote collaboration.PARIS11-SCD-Bib. électronique (914719901) / SudocSudocFranceF

    Modélisation et distribution adaptatives de grandes scènes naturelles

    Get PDF
    Cette thèse traite de la modélisation et la diffusion de grandes scènes 3D naturelles. Nous visons à fournir des techniques pour permettre à des utilisateurs de naviguer à distance dans une scène 3D naturelle, tout en assurant la cohérence botanique et l'interactivité. Tout d'abord, nous fournissons une technique de compression multi-résolution, fondée sur la normalisation, l'instanciation, la décorrélation, et sur le codage entropique des informations géometriques pour des modèles de plantes. Ensuite, nous étudions la transmission efficace de ces objets 3D. L'algorithme de paquétisation proposé fonctionne pour la plupart des représentations multi-résolution d'objet 3D. Nous validons les techniques de paquétisation par des expériences sur un WAN (Wide Area Network), avec et sans contrôle de congestion (Datagram Congestion Control Protocol). Enfin, nous abordons les questions du streaming au niveau de la scène. Nous optimisons le traitement des requêtes du côté serveur en fournissant une structure de données adaptée et nous préparons le terrain pour nos travaux futurs sur l'évolutivité et le déploiement de systèmes distribués de streaming 3D. ABSTRACT : This thesis deals with the modeling and the interactive streaming of large natural 3D scenes. We aim at providing techniques to allow the remote walkthrough of users in a natural 3D scene ensuring botanical coherency and interactivity.First, we provide a compact and progressive representation for botanically realistic plant models. The topological structure and the geometry of the plants are represented by generalized cylinders. We provide a multi-resolution compression scheme, based on standardization and instantiation, on difference-based decorrelation, and on entropy coding. Then, we study efficient transmission of these 3D objects. The proposed packetization scheme works for any multi-resolution 3D representation. We validate our packetization schemes with extensive experiments over a WAN (Wide Area Network), with and without congestion control (Datagram Congestion Control Protocol). Finally, we address issues on streaming at the scene-level. We optimize the viewpoint culling requests on server-side by providing an adapted datastructure and we prepare the ground for our further work on scalability and deployment of distributed 3D streaming systems

    Adaptive Modeling and Distribution of Large Natural Scenes

    Get PDF
    This thesis deals with the modeling and the interactive streaming of large natural 3D scenes. We aim at providing techniques to allow the remote walkthrough of users in a natural 3D scene ensuring botanical coherency and interactivity.First, we provide a compact and progressive representation for botanically realistic plant models. The topological structure and the geometry of the plants are represented by generalized cylinders. We provide a multi-resolution compression scheme, based on standardization and instantiation, on difference-based decorrelation, and on entropy coding. Then, we study efficient transmission of these 3D objects. The proposed packetization scheme works for any multi-resolution 3D representation. We validate our packetization schemes with extensive experiments over a WAN (Wide Area Network), with and without congestion control (Datagram Congestion Control Protocol). Finally, we address issues on streaming at the scene-level. We optimize the viewpoint culling requests on server-side by providing an adapted datastructure and we prepare the ground for our further work on scalability and deployment of distributed 3D streaming systems

    Le partage en enseignement universitaire soutenu par un environnement virtuel

    Get PDF
    Notre étude porte sur les composantes et les conditions du partage en enseignement universitaire soutenu par un environnement virtuel. Elle se situe dans un contexte de renouvellement des pratiques d'enseignement et d'intégration des technologies de l'information et de la communication. L'objectif général de cette étude est de comprendre le processus de partage pédagogique à travers ses composantes et ses conditions. Les objectifs spécifiques sont d'abord d'identifier les composantes et les conditions du partage au sein d'une communauté de pratique utilisant un environnement virtuel en enseignement universitaire pour ensuite les modéliser. Cette étude interdisciplinaire met en relation le champ disciplinaire des sciences de l'éducation et le domaine des technologies de l'information et de la communication. Elle se fonde sur une approche sociale de la construction des connaissances. Elle s'appuie sur la théorie de l'activité et réfère aux concepts de collaboration, de communauté de pratique et d'objets d'apprentissage. Une méthode qualitative d'analyse de contenu est retenue. Les données d'entrevues et des traces électroniques ont été recueillies dans l'environnement virtuel WebCT lors d'une situation de partage en enseignement universitaire se déroulant à l'intérieur d'une communauté de pratique d'enseignants universitaires en science de la gestion de l'Université du Québec à Montréal à l'automne 2003.\ud Les résultats indiquent que les composantes du partage comprennent des objets, des actions et des ressources. Les objets partagés peuvent être formalisés, semi-formalisés ou non-formalisés. Les actions observées sont centrales ou connexes. Les ressources soutenant le partage se composent de ressources internes et externes à l'environnement. Les résultats démontrent également que de nombreuses conditions viennent influencer le partage. Elles se divisent en conditions sociales et attitudinales, techniques et environnementales ainsi qu'institutionnelles et éthiques. Enfin, notre étude présente les composantes et les conditions dans un modèle mettant en interrelation nos résultats. Ce modèle illustre le processus du partage comme étant composé de quatre actions centrales, à savoir la mise en commun, la consultation, la réutilisation et l'adaptation. Habituellement, la mise en commun d'un objet précède la consultation. Lorsque la consultation est effectuée, il peut y avoir de la réutilisation ou de l'adaptation par la suite. L'adaptation est habituellement suivie d'une réutilisation et peut également précéder une seconde mise en commun de l'objet qui a été adapté. Le partage a comme produit et comme intrant des objets. Il est favorisé par la présence de certaines conditions et il est soutenu à la fois par des ressources ainsi que par cinq actions connexes qui sont la coordination, la discussion, la demande, l'échange affectif et la précision. Ce modèle converge avec notre définition du partage pédagogique qui le présente comme un processus collaboratif dans lequel s'engage une communauté afin de donner, d'acquérir ou de transformer un objet d'apprentissage par le biais d'un lieu commun, virtuel ou non, dans une perspective d'innovation pédagogique. Notre modèle ouvre également la voie à des études ultérieures susceptibles de préciser chacune des composantes et conditions du partage. De plus, il devrait instrumenter les enseignants désireux d'actualiser leurs pratiques et de dépasser la culture universitaire individualiste en s'engageant dans un processus de partage soutenu par environnement virtuel. Dans le même sens, cette étude peut inspirer la création d'environnements virtuels plus adaptés au partage

    Analyse de performance de systèmes distribués et hétérogènes à l'aide de traçage noyau

    Get PDF
    RÉSUMÉ Les systèmes infonuagiques sont en utilisation croissante. La complexité de ces systèmes provient du fait qu'ils s'exécutent de manière distribuée sur des architectures multicoeurs. Cette composition de services est souvent hétérogène, c.-à-d. qui implique différentes technologies, librairies et environnements de programmation. L'interopérabilité est assurée plutôt par l'utilisation de protocoles ouverts. L'espace de configuration résultant croît de manière exponentielle avec le nombre de paramètres, et change continuellement en fonction des nouveaux besoins et de l'adaptation de la capacité. Lorsqu'un problème de performance survient, il doit être possible d'identifier rapidement la cause pour y remédier. Or, ce problème peut être intermittent et difficile à reproduire, et dont la cause peut être une interaction transitoire entre des tâches ou des ressources. Les outils utilisés actuellement pour le diagnostic des problèmes de performance comprennent les métriques d'utilisation des ressources, les outils de profilage, la surveillance du réseau, des outils de traçage, des débogueurs interactifs et les journaux systèmes. Or, chaque composant doit être analysé séparément, ou l'utilisateur doit corréler manuellement cette information pour tenter de déduire la cause du problème. L'observation globale de l'exécution de systèmes distribués est un enjeu majeur pour en maitriser la complexité et régler les problèmes efficacement. L'objectif principal de cette recherche est d'obtenir un outil d'analyse permettant de comprendre la performance d'ensemble d'une application distribuée. Ce type d'analyse existe au niveau applicatif, mais elles sont spécifiques à un environnement d'exécution ou un domaine particulier. Nos travaux se distinguent par l'utilisation d'une trace noyau, qui procure un niveau plus abstrait de l'exécution d'un programme, et qui est indépendant du langage ou des librairies utilisées. La présente recherche vise à déterminer si la sémantique des évènements du système d'exploitation peut servir à une analyse satisfaisante. Le surcout du traçage est un enjeu important, car il doit demeurer faible pour ne pas perturber le système et être utile en pratique. Nous proposons un nouvel algorithme permettant de retrouver les relations d'attente entre les tâches et les périphériques d'un ordinateur local. Nous avons établi que le chemin critique exact d'une application nécessite des évènements qui ne sont pas visibles depuis le système d'exploitation. Nous proposons donc une approximation du chemin critique, dénomée chemin actif d'exécution, où chaque attente est remplacée par sa cause racine. Les approches antérieures reposent sur l'analyse des appels système. L'analyse doit tenir en compte la sémantique de centaines d'appels système, ce qui n'est pas possible dans le cas général, car le fonctionnement d'un appel système dépend de l'état du système au moment de son exécution. Par exemple, le comportement de l'appel système read() est complètement différent si le fichier réside sur un disque local ou sur un serveur de fichier distant. L'appel système ioctl() est particulièrement problématique, car son comportement est défini par le programmeur. Le traçage des appels système contribue aussi à augmenter le surcout, alors qu'une faible proportion d'entre eux modifie le flot de l'exécution. Les tâches d'arrière-plan du noyau n'effectuent pas d'appels système et ne peuvent pas être prises en compte par cette méthode. À cause de ces propriétés, l'analyse basée sur des appels système est fortement limitée. Notre approche remplace les appels système par des évènements de l'ordonnanceur et des interruptions. Ces évènements de plus bas niveau sont indépendants de la sémantique des appels système et prennent en compte les tâches noyau. Le traçage des appels système est donc optionnel, ce qui contribue à réduire le surcout et simplifie drastiquement l'analyse. Les bancs d'essais réalisés avec des logiciels commerciaux populaires indiquent qu'environ 90% du surcout est lié aux évènements d'ordonnancement. En produisant des cycles d'ordonnancement à la fréquence maximale du système, il a été établi que le surcout moyen au pire cas est de seulement 11%. Nous avons aussi réalisé une interface graphique interactive montrant les résultats de l'analyse. Grâce à cet outil, il a été possible d'identifier avec succès plusieurs problèmes de performance et de synchronisation. Le fonctionnement interne et l'architecture du programme sont exposés par l'outil de visualisation, qui se révèle utile pour effectuer la rétro-ingénierie d'un système complexe. Dans un second temps, la dimension distribuée du problème a été ajoutée. L'algorithme de base a été étendu pour supporter l'attente indirecte pour un évènement distant, tout en préservant ses propriétés antérieures. Le même algorithme peut donc servir pour des processus locaux ou distants. Nous avons instrumenté le noyau de manière à pouvoir faire correspondre les paquets TCP/IP émis et reçus entre les machines impliqués dans le traitement à observer. L'algorithme tient en compte que la réception ou l'émission de paquets peut se produire de manière asynchrone. Les traces obtenues sur plusieurs systèmes n'ont pas une base de temps commune, car chacun possède sa propre horloge. Aux fins de l'analyse, toutes les traces doivent être synchronisées, et les échanges apparaitre dans l'ordre de causalité. Pour cette raison, les traces doivent être préalablement synchronisées. L'algorithme a été utilisé pour explorer le comportement de différentes architectures logicielles. Différentes conditions d'opérations ont été simulées (délais réseau, durée de traitement, retransmission, etc.) afin de valider le comportement et la robustesse de la technique. Il a été vérifié que le résultat obtenu sur une grappe d'ordinateurs est le même que celui obtenu lorsque les services s'exécutent dans des machines virtuelles. Le surcout moyen nécessaire pour tracer une requête Web s'établit à 5%. La borne supérieure du surcout pour des requêtes distantes est d'environ 18%. Pour compléter l'analyse, nous avons réalisé des cas d'utilisation impliquant six environnements logiciel et domaines différents, dont une application Web Django, un serveur de calcul Java-RMI, un système de fichier distribué CIFS, un service Erlang et un calcul parallèle MPI. Comme contribution secondaire, nous avons proposé deux améliorations à l'algorithme de synchronisation. La première consiste en une étape de présynchronisation qui réduit considérablement la consommation maximale de mémoire. La deuxième amélioration concerne la performance de la fonction de transformation du temps. Le temps est représenté en nanosecondes et le taux de variation à appliquer doit être très précis. L'utilisation de l'arithmétique à point flottant de précision double n'est pas assez précis et produit des inversions d'évènements. Un couteux calcul à haute précision est requis. Grâce à une simple factorisation de l'équation linéaire, la plupart des calculs à haute précision ont été remplacés par une arithmétique entière 64-bit. Les bancs d'essai ont mesuré que cette optimisation procure une accélération de 65 fois en moyenne et que la précision du résultat n'est pas affectée. Le troisième thème de la recherche porte sur le profilage des segments du chemin d'exécution. L'échantillonnage des compteurs de performance matériel permet le profilage du code natif avec un faible surcout. Une limitation concerne le code interprété qui peut se retrouver dans une application hétérogène. Dans ce cas, le code profilé est celui de l'interpréteur, et le lien avec les sources du programme est perdu. Nous avons conçu une technique permettant de transférer à un interpréteur l'évènement de débordement du compteur de performance, provenant d'une interruption non masquable du processeur. L'analyse de l'état de l'interpréteur peut être effectuée en espace utilisateur. Un module d'analyse pour Python a été développé. Nous avons comparé le cout des méthodes pour obtenir la pile d'appel de l'interpréteur Python et celle du code interprété. Ces données sont sauvegardées par l'entremise de LTTng-UST, dont la source de temps est cohérente avec les traces produites en mode noyau, ce qui permet d'associer les échantillons produits avec le chemin d'exécution. Nous avons validé le profil à l'aide d'une application d'étalonnage. Nous avons mesuré une erreur inférieure à 1%, et ce résultat est équivalent à celui produit par un profileur déterministe. La période d'échantillonnage est établie selon un compromis entre le surcout et la résolution de l'échantillonnage. Nos tests indiquent que, pour un chemin d'exécution de 50ms, une plage de taux d'échantillonnage existe et satisfait à la fois une marge d'erreur inférieure à 5% et un surcout de moins de 10%.----------ABSTRACT Cloud systems are increasingly used. These systems have a complex behavior, because they run on a cluster of multi-core computers. This composition of services is often heterogeneous, involving different technologies, libraries and programming environments. Interoperability is ensured using open protocols rather than standardizing runtime environments. The resulting configuration space grows exponentially with the number of parameters, and constantly changes in response to new needs and capacity adaptation. When a performance problem arises, it should be possible to quickly identify the cause in order to address it. However, performance problems can be intermittent and difficult to reproduce, and their cause can be a transient interaction between tasks or resources. The tools currently used to diagnose performance problems include resource utilization metrics, profiling tools, network monitoring, layout tools, interactive debuggers and system logs. However, each component must be analyzed separately, or the user must manually correlate that information to try deducing the root cause. Observing the performance of globally distributed systems is a major challenge, to master their complexity and solve problems effectively. The main objective of this research is to obtain an analysis tool for understanding the overall performance of a distributed application. This type of analysis exists at the application level, but they are specific to a runtime environment or a particular application domain. To address this issue, we propose to use kernel tracing, which provides a more abstract information about the execution of a program and is independent of the language or the libraries used. This research aims to determine whether the semantics of the operating system events are effective for performance analysis of such systems. The additional cost of tracing is an important issue because it must remain low, to avoid disturbing the system and be useful in practice. We propose a new algorithm to find the waiting relationships between tasks and devices on a local computer. We established that the exact critical path of an application requires events which are not visible from the operating system. We therefore propose an approximation of the critical path, that we named execution path. Previous approaches rely on system call analysis. However, the analysis must take into account the semantics of hundreds of system calls. Tracing all system calls increases the overhead, while most system calls do not change the flow of execution. Furthermore, the background kernel threads do not perform system calls and are not taken into account. Our approach relies instead on lower-level events, namely from the scheduler and the interruptions. These events are independent of the semantics of system calls and take into account the kernel threads. Tracing system calls is optional, which helps reduce the overhead and simplifies the analysis. The benchmarks made with popular commercial software indicate that about 90% of the overhead is related to scheduling events. By producing scheduling cycles at the maximum frequency, we established that the average worst case overhead is only 11%. Finally, we implemented an interactive graphical view showing the results of the analysis. With this tool, it was possible to identify quickly several performance and synchronization problems in actual applications. The tool also exposes the internal functioning and architecture of the program, which is useful for performing reverse engineering of a complex system. Secondly, we addressed the distributed dimension of the problem. The basic algorithm has been extended to support indirect network wait, while preserving its previous properties. The same algorithm can therefore be used for local or remote processes. We instrumented the kernel for matching the TCP/IP packets sent and received between machines involved in the processing. The algorithm takes into account the fact that reception and transmission of packets can occur asynchronously. The traces obtained on several systems do not have a common time base, as each has its own clock. The analysis requires that all traces have the same time reference and exchanges must appear in the causal order. For this reason, the traces must first be synchronized. The algorithm was used to explore the behavior of different software architectures. We simulated various operating conditions (network delays, processing delays, retransmission, etc.) to validate the behavior and robustness of the technique. We verified that the result on a cluster of physical computers is the same as the one obtained when the services are running inside virtual machines. The average overhead to trace Web requests is about 5%. The worst case overhead measured with the higest frequency remote procedure call (empty remote call) is approximately 18\%. To complete the analysis, we implemented use cases and software environments involving six different application domains, including a Django Web application, a Java-RMI server, a CIFS distributed file system, an Erlang service and a MPI parallel computation. As a secondary contribution, we proposed two improvements to the synchronization algorithm. The first is a pre-synchronization step that dramatically reduces the maximum memory consumption. The second improvement concerns the performance of the time transformation function. The time is represented in nanoseconds and the rate of change to apply must be very precise. The use of double precision floating point arithmetic is not accurate enough and produces event inversions. Expensive high-precision calculation is required. We replaced most of high-precision calculations by integer arithmetic of native register size, providing an average acceleration of approximately 65 times for the synchronization. The third area of research focuses on profiling the execution path segments. Sampling hardware performance counters allows efficient profiling of native code. One limitation concerns the interpreted code that may be found in an heterogeneous application. In this case, the native code running is the interpreter itself, and the link with the actual sources of the interpreted program is lost. We developed a technique to transfer to an interpreter the performance counter overflow event from the non-maskable interrupt of the processor. The analysis of the interpreter state can then be performed in user-space. To demonstrate the feasability of the approach, we implemented the analysis module for Python. We compared the cost of methods to get the call stack of the Python interpreter and the interpreted code. This data is saved through LTTng-UST, which has a time source consistent with the kernel mode trace and allows the association of the samples produced with the execution path. We validated the profile using a calibrated program. We measured less than 1% profile error, and this result is equivalent to the error rate of a deterministic profiler. The sampling period is a compromise between the overhead and the profile resolution. Our tests indicate that, for an execution path of 50ms, a range of sampling exists that satisfies both a margin of error lower than 5% and an overhead of less than 10%
    corecore