Application des techniques d analyse prédictive pour la lecture anticipée des pages d une mémoire Flash



Documents pareils
But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

M1 IFPRU Cahier des Charges du projet de TER. Vidéo Surveillance sur IP Le système Rapace. Membres du groupe : Encadrés par :

Installation et utilisation de Cobian Backup 8

Capacité de mémoire Tablettes

Présentation de nos prestations

Epreuve E4 Conception et maintenance de solutions informatiques DESCRIPTION D UNE SITUATION PROFESSIONNELLE

Technologie SDS (Software-Defined Storage) de DataCore

<Insert Picture Here> Exadata Storage Server et DB Machine V2

GSB/LOT 3 : Logiciel de backup

Activité 1 : Création et Clonage d'une première machine virtuelle Linux OpenSuSE.

Cobian backup. Sauvegarde. Cobian Backup est un logiciel de sauvegarde gratuit fonctionnant sous windows. Nathan Garaudel PCplus 01/01/2014

Protection des données personnelles : Vers un Web personnel sécurisé

Retrouver de vieux programmes et jouer sur VirtualBox

Le data center moderne virtualisé

MARCHE PUBLIC DE FOURNITURES CAHIER DES CLAUSES TECHNIQUES PARTICULIERES (CCTP)

Fiche Produit. Plateforme de sauvegarde en marque blanche Kiwi Business

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Manuel d administration de Virtual Box MANUEL D UTILISATION VIRTUAL BOX

Chapitre 01 Généralités

Cloud Computing : forces et faiblesses

IV- Comment fonctionne un ordinateur?

Virtualisation sous Linux L'age de raison. Daniel Veillard

1. INTRODUCTION 2. IDENTIFICATION 2.1. DESCRIPTIF DE LA PLATE-FORME MATERIELLE.

A propos de la sécurité des environnements virtuels

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

OFFRES DE SERVICES SDS CONSULTING

Virtualisation Vserver et OpenVz en entreprise

Installation et configuration des sauvegardes Windows Server sur 2008 R Sommaire

Organiser un espace de travail collaboratif avec sa classe.

1. Aménagements technologiques 2. Installation de Microsoft SQL Server Microsoft SQL Server 2008 Service Pack 3

Architectures d implémentation de Click&DECiDE NSI

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Cloud Computing et SaaS

1 Prise en main des machines

Modernisation et développement d applications IBM i Stratégies, technologies et outils. Volubis.fr

Comment installer la configuration des salles sur son ordinateur personnel?

Chapitre 02. Configuration et Installation

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Point sur la virtualisation

ndv access point : Installation par clé USB

Backup. Solution de sauvegarde en ligne pour les professionnels LE PARTENAIRE SECURITE DE VOTRE ENTREPRISE!

ManageEngine EventLog Analyzer. Les bonnes critiques et recommandations

MicroAge. Votre partenaire d affaires en matière de technologie

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

Projet de Bachelor Virtual Desktop Infrastructure

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

Installer Joomla Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

VIRTUALISATION : MYTHES & RÉALITÉS

Tutoriel pour SARDU. SARDU ( Shardana Antivirus Rescue Disk Utility ) est un utilitaire gratuit qui

A Libre Ouvert. Médiathèque Jacques Ellul. le

L équipement choisit devra être nomade, il servira aux visiteurs en déplacements et sera donc sujets à des limitations de tailles et de poids.

Utilisez Toucan portable pour vos sauvegardes

Excel 2010 Module 13. Comment créer un tableau d amortissement dégressif d une immobilisation. Enseignant : Christophe Malpart

THEME : Mise en place d une plateforme d enseignement à distance

Xen. Quelques notes autour de Xen

Nouvelles stratégies et technologies de sauvegarde

Statistiques relatifs au questionnaire de renseignement sur l'adoption des logiciels libres en utilisant des graphiques Mai 2009

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

HSM, Modules de sécurité matériels de SafeNet. Gestion de clés matérielles pour la nouvelle génération d applications PKI

[WEB4ALL PRESENTATION ET TARIFS VPS INFOGERES]

1. Aménagements technologiques 2. Installation de Microsoft SQL Server 2012

SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5

Quel hébergement choisir?

LiveUSB clefisn. Meilland jean claude et Kbida Abdellatif. 16 septembre 2012

Artica. La déduplication. Révision Du 08 Février 2011 version

Déploiement d un serveur courriel dédié pour entreprise

OwnCloud. Définition 1 / 10. Date d'édition 03/09/2013 Public concerné Étudiants, Personnels Version du logiciel

L informatique en BCPST

Installation / Sauvegarde Restauration / Mise à jour

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

CAHIER DE S CHARGE S Remote Workload Manager

GESTION DE L'ORDINATEUR

TIVOLI STORAGE MANAGER. Denis Vandaele

1. Présentation du TP

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

Tutorial créer une machine virtuell.doc Page 1/9

Virtualisation open source État de l'art

Service de Virtualisation de la DSI UJF

Cette option est aussi disponible sur les clients Windows 7 sous la forme d un cache réparti entre les différentes machines.

Produits et grille tarifaire. (septembre 2011)

Manuel d utilisation de Form@Greta

Travailler à l'ensimag avec son matériel personnel

Imaginez un Intranet

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

CASE-LINUX CRÉATION DMZ

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

Tester Windows 8 sans l'installer avec Virtualbox

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL

G.U.S.T.A.V. Gestion Unifiée des Systèmes de fichiers Transposée aux Appareillages Virtuels G U S T A V

System Center Data Protection Manager 2010 (DPM2010) Mettre en œuvre un réseau de backup

Evolutions dans FFBClubNet v :

Transcription:

Application des techniques d analyse prédictive pour la lecture anticipée des pages d une mémoire Flash 6 novembre 2015 1 Introduction Le stockage en mémoire secondaire reste le principal goulet d étranglement pour les performances des applications gourmandes en entrées sorties comme les systèmes de gestion de bases de données (SGBD). Afin de réduire l impact sur les performances des accès à la mémoire secondaire, les systèmes d exploitation implémentent un cache en mémoire pour maintenir les données les plus utilisées en mémoire et réduire ainsi le nombre d accès en mémoire seconaidre. Une autre utilisation du cache consiste à charger les données qui vont être utilisées dans un futur proche. Nous retrouvons cette technique dans le noyau Linux sous le nom de readahead. Dans le présent projet, nous étudions cette technique de readahead, ses limites et nous proposons une nouvelle politique pour anticiper le chargement des pages. 2 Contexte du projet Nous assistons aujourd hui à l émergence des support de stockage à base de mémoire Flash. Ces périphériques équipent de plus en plus les serveurs et les laptops et prennent de plus en plus de place face aux disques durs à mémoire magnétique même si l on ne parle pas encore de déclin de ces dernièrs. Ce nouveau type de périphérique présente de nouvelles caractéristiques qui font la différence sur les périphériques magnétiques, nous présentons brièvement cidessous ces nouvelles caractéristiques : Types d opérations : Trois opérations sont possibles sur les mémoires Flash, lecture, écriture et effacement. La granularité des opérations : Les opérations de lectures et écritures se font sur des pages alors que les opérations d effacement se font sur des blocs, un bloc est constitué d un ensemble de pages. Lectures symétriques : Les lectures aléatoires et séquentielles présentent les mêmes performances sur une mémoire Flash. 1

Écritures asymétriques : Les écritures aléatoires sont moins performantes que les écritures séquentielles. Durée de vie : Le nombre d effacement sur des cellules d une mémoire Flash est limité, une fois cette limite atteinte, ces cellules sont considérées comme inutilisables. Consommation énergique : Les mémoires Flash consomment mois d énergie que les disques durs. Les systèmes d exploitation ainsi que la plupart des applications ont été conçus sur la base du modèle de performance des disques durs magnétique. La démocratisation de l utilisation des périphériques de stockage à base de mémoire Flash impose la revue de certaines conceptions et implémentations, qu elles soient au niveau applicatif ou au niveau système d exploitation. 3 Problématique La lecture anticipée des pages dans le noyau Linux a toujours été basée sur une heuristique séquentielle afin de favoriser les accès séquentiels vers le périphérique de stockage. Aujourd hui avec l utilisation des périphériques de stockage à base de mémoire Flash, les applications ne sont plus contraintes par un accès séquentiels aux données, l accès peut se faire aléatoirement. Par conséquent, la lecture anticipée des pages basée sur une heuristique séquentielle devient totalement obsolète car elle ne prend pas en compte les accès aléatoires qui deviennent de plus en plus répandus. Figure 1 Exemple de déroulement d une opération de lecture en readahead 2

4 Objectif du projet Ce projet vise à optimiser la lecture anticipée des pages dans le noyau Linux pour l utilisation d une mémoire Flash. Nous souhaitons faire en sorte que la lecture anticipée des pages prennent en compte les accès aléatoires au stockage. Cette fonctionnalité pourrait rendre la lecture anticipée des pages efficace même pour des accès aléatoires. 5 Application d une machine d apprentissage automatique Pour résoudre le problème de l anticipation des lectures aléatoires, nous proposons l utilisation d une machine d apprentissage automatique (Machine learning en Anglais). Cette technique s utilise en deux étapes, une première étape d apprentissage et une deuxième étape de prédiction. L étape d apprentissage permet de documenter le comportement d un système, dans notre cas les accès aux stockages. La deuxième étape, la prédiction, permet de prédire les comportements futurs en se basant sur les comportements précédents documentés lors de la phase d apprentissage. 6 Développement 6.1 Environnement L environnement de développement du projet comprends les éléments hardware et software suivant : Carte Armadeus APF27 équipé d une mémoire Flash, d un processeur ARM. Noyau Linux 2.6.29. Gestionnaire de version : Nous utiliserons SVN comme outil de gestion de versions. Je vous communiquerai l adresse lors de notre première séance ensemble. Outils de virtualisation : VirtualBox et Qemu. Outil de gestion de projet : Redmine. 6.2 Développement de la solution Le développement de la solution nécessite des connaissances de bases sur le fonctionnement du noyau Linux et la pile des appels systèmes. Une documentation solide doit être faite sur le fonctionnement des E/S sous linux notamment les appels systèmes liés aux E/S et le mécanisme de ReadAhead (Lecture anticipée). Le projet est réparti en trois phase de développement, le développement de la phase d apprentissage, le développement de la phase de prédiction et le développement de l interface utilisateur. 3

Figure 2 Exemple d application de la machine learning pour l anticipation des lectures 6.2.1 Développement de la machine d apprentissage automatique Une fois le fonctionnement des E/S dans le noyau Linux est suffisament bien documentée, nous allons nous désigner un ensemble d appels systèmes qui permettraient de renseigner le comportement des E/S et alimenter la machine d apprentissage. Le développement de la phase d apprentissage nécessite l utilisation d une technique d interception des appels systèmes. L interception des appels systèmes peut se faire de plusieurs manières : Sondes jprobes et kprobes. Modification du code noyau. Hacking des appels systèmes.... 6.2.2 Développement de la phase de prédiction Cette phase de notre solution permettrait au noyau Linux de prédire les prochains accès au stockage en se basant sur les accès précédents. Pour y parvenir 4

on aura besoin de modifier le comportement du noyau, ceci pourra se faire comme suit : Modification du code noyau. Hacking des appels systèmes. 6.2.3 Développement de l interface utilisateur Ce projet consiste à développer un module noyau qui permettrai d intégrer une machine d apprentissage et de prédiction pour les E/S. Une fois le module implémenté, l utilisateur doit pouvoir prendre le contrôle de ce dernier, arrêter son action, démarrer son action, afficher les résultats de l apprentissage,... Côté noyau Il est nécessaire d implémenter un mécanisme de communication avec l espace utilisateur. Côté utilisateur il faudra implémenter un mécanisme d envoi de commande vers le module noyau. 6.3 Tests et résultats Une fois le développement de la solution finalisé, nous entamerons une phase de tests et de validation. Nous utiliserons soit des benchmarks reconnu pour faire cela, les étudiants souhaitant développer leur propre benchmark pourront le faire à condition de justifier leur choix. Une fois le module testé et validé, nous entamerons l étape de mesure des performances. Nous considérons les deux métriques hit et miss pour mesurer les performances pouvant être apporté par notre solution. Le taux de hits mesure le nombre de défaut de pages mineurs et le taux de miss mesure le nombre de défaut de pages majeurs. Les défauts de pages mineurs se produisent lorsque l utilisateur accède à une page qui n est pas présente dans son espace mémoire mais présente dans l espace noyau (Cache), Les défauts de pages majeurs se produisent lorsque l utilisateur accède à une page qui n est pas présente en mémoire, ni dans son espace utilisateur ni ailleurs. Un taux de hit élevé prouverait que notre politique de lecture anticipée est efficace. 7 Information sur le déroulement du projet Le projet s effectue en groupe de 4-5 personnes. Chaque groupe doit accomplir l intégralité du travail du projet. Le projet s étalera sur un peut plus d un mois, nous aurons ensemble 5 à 6 séances. Nous utiliserons ensemble un outil de travail collaboratif (Redmine) pour organiser les différentes taches. À cet effet, vous devez commencer par insérer un diagramme de Gant dans le Redmine et créer les différentes taches du projet. Chaque étudiant qui entame une tache doit la renseigner dans l onglet tâche du Redmine, les informations sur cette tâche doivent être mise à jour au fur à mesure que la tâche avance. Durant le projet, il est également demandé à chaque groupe de fournir un rapport hebdomadaire sur l avancement du tavail, les difficultés rencontrés, planification du travail à faire pour la semaine suivante. 5

Le rapport doit être envoyé par mail aux responsables du projet : jalil.boukhobza@univ-brest.fr et arezki.laga@univ-brest.fr Nous vous encourageons à utiliser massivement l outil redmine. Gérez le projet en petite tâches, chaque tâche doit être renseignée avec la description et l étudiant affecté. N hesitez pas aussi à utiliser le forum pour discuter du projet. 8 Documentation Ci-dessous quelques liens utiles : Wiki de Armadeus, la société fabriquant la carte APF27 qui sera utilisée dans le cadre de ce projet : http://www.armadeus.com/wiki/index.php?title=main P age Développement noyau Linux, modules : http://www.tldp.org/ldp/lkmpg/2.6/html/lkmpg.html et http://idak.gop.edu.tr/esmeray/understandingkernel.pdf Etude des sources noyau : http://lxr.free-electrons.com/ 6