Didacticiel - Études de cas
|
|
|
- Émilien Brunelle
- il y a 10 ans
- Total affichages :
Transcription
1 1 Objectif Programmation parallèle sous R. Utilisation des librairies «parallel» et «doparallel». Les ordinateurs personnels sont de plus en plus performants. Ils sont maintenant pour la plupart dotés de processeurs multi-cœurs. Dans le même temps, les logiciels grands publics de Data Mining, libres ou non, restent souvent monothread. Un seul cœur est sollicité durant les calculs, tandis que les autres restent inactifs. Ca fait un peu gaspillage. Récemment, nous avons introduit deux variantes multithread de l analyse discriminante linéaire dans Sipina et Après une analyse succincte de l algorithme, nous nous sommes concentrés sur la construction de la matrice de variance covariance intra-classes qui semblait constituer le principal goulot d étranglement du processus. Deux types de décomposition des calculs ont été proposés, que nous avons exploité en nous appuyant sur la programmation multithread sous Delphi (langage de développement de Sipina). Nous avons constaté que l amélioration des performances par rapport à la version séquentielle est spectaculaire lorsque l ensemble des cœurs disponibles sur la machine sont pleinement utilisés. Durant le travail d analyse qui m a permis de mettre au point les solutions introduites dans Sipina, j avais beaucoup étudié les mécanismes de parallélisation disponibles dans d autres outils de Data Mining. Ils sont plutôt rares en réalité. J avais quand même noté que des stratégies très perfectionnées sont proposées pour le logiciel R. Il s agit souvent d environnements qui permettent d élaborer des programmes tirant parti des capacités étendues des machines à processeurs multicœurs, multiprocesseurs, et même d un cluster de machines. Je me suis intéressé en particulier au package «parallel» 3 qui est lui-même une émanation des packages «snow» et «multicore». Entendons-nous bien, la librairie ne permet pas d accélérer miraculeusement une procédure existante. En revanche, elle nous donne l opportunité d exploiter efficacement les ressources machines à condition de reprogrammer la procédure en réorganisant judicieusement les calculs 4. L idée maîtresse est de pouvoir décomposer le processus en tâches que l on peut exécuter en parallèle, charge à nous par la suite d effectuer la consolidation. Dans ce tutoriel, nous détaillons la parallélisation d un algorithme de calcul d une matrice de variance covariance intra-classes sous R Dans un premier temps, nous décrivons un programme séquentiel, mais facilement transformable. Dans un deuxième temps, nous utilisons les outils des packages «parallel» et «doparallel» pour lancer les tâches élémentaires sur les cœurs disponibles. Nous comparerons alors les temps de traitement. Disons-le d emblée, contrairement aux exemples jouets que l on peut consulter ici ou là sur le web, le bilan est passablement mitigé quand il s agit de traiter des bases volumineuses réalistes. Les solutions achoppent sur la gestion des données La démarche n est pas triviale, des solutions alternatives sont explorées. Ex octobre 2014 Page 1
2 2 Calcul de matrice de variance covariance intra-classes Les observations sont réparties dans K groupes définis par une variable Y prenant ses valeurs dans {1, 2,, K. Elles sont décrites par p variables X = (X 1, X 2,, X p ). Nous disposons d un échantillon de taille n. Un individu est noté, sa valeur pour la variable Y s écrit y( ). Le nombre d observations appartenant à la classe Y = k est égal à n k. Pour obtenir la matrice de variance covariance intra-classes S, nous devons tout d abord calculer les matrices conditionnelles W k relatives à chaque groupe. Où représente la moyenne de la variable X i pour les individus de la classe (Y = k). La matrice S est obtenue avec 2.1 Décomposition des calculs Il y a plusieurs stratégies possibles. Nous avons choisi d organiser les calculs en trois étapes. L objectif est de pouvoir décomposer la construction des W k la plus gourmande en temps de traitement en tâches indépendantes pouvant être lancées en parallèle. [1] La première étape consiste à produire un vecteur de numéros associant les observations aux groupes. La fonction partition() identifie les individus appartenant au groupe «group» à partir des valeurs de Y. #group : le numéro du groupe à traiter #y : la variable cible délimitant les groupes #sortie : un vecteur de numéros indiquant les individus appartenant à group partition <- function(group, y){ res <- which(y==group) return(res) Nous l appliquons à l ensemble des groupes à l aide de la fonction lapply() de R. #pour chaque valeur (niveau) de Y, nous appliquons la fonction partition #sortie : liste de «vecteurs de numéros» ind.per.group <- lapply(levels(y),partition,y=y) ind.per.group est une liste où chaque item est un vecteur d index associant les observations aux groupes. Il y a donc K vecteurs dans la liste. [2] La seconde étape consiste à calculer W k à partir des individus associés au groupe k et des descripteurs X 5 5 Bien sûr, la fonction COV() de R aurait très bien fait l affaire. Il s agit pour nous de décrire de manière très scolaire les calculs afin que tout un chacun puisse les reconstituer. 19 octobre 2014 Page 2
3 #instances : vecteur des numéros des individus appartenant au groupe k #descriptors : matrice des variables X : (X 1, X 2,, X p ) #sortie : la matrice de variance covatriance Wk de dimension (p x p) n.my.cov <- function(instances,descriptors){ p <- ncol(descriptors) m <- colmeans(descriptors[instances,]) the.cov <- matrix(0,p,p) for (i in 1:p){ for (j in 1:p){ the.cov[i,j] <- (sum((descriptors[instances,i]-m[i])*(descriptors[instances,j]-m[j]))) return(the.cov) Nous l appliquons à l ensemble des groupes avec la fonction lapply() #pour chaque liste d individus #appliquer la fonction n.my.cov() #sortie : liste des matrices W k (K matrices en tout) list.cov.mat <- lapply(ind.per.group,n.my.cov,descriptors=x) Le nœud de l affaire est ici : lapply() applique n.my.cov() à chaque vecteur de numéros de manière indépendante, nous pouvons très bien lancer ces tâches en parallèle et procéder à la consolidation à l issue de la construction des matrices W k. Nous exploiterons cette particularité dans les implémentations parallèles que nous présenterons dans la suite de ce document. [3] Dernière étape enfin, nous construisons la matrice S en sommant les valeurs contenues dans les matrices W k et en appliquant la correction par les degrés de liberté. #additionner les valeurs dans les matrices contenues dans la liste #appliquer la correction par les degrés de liberté #sortie : la matrice S pooled.cov.mat <- (1.0/(length(Y)-nlevels(Y)))*Reduce('+',list.cov.mat) 2.2 Fonction de calcul de la matrice S Ces différentes étapes ont été regroupées dans la fonction pooled.sequential() : #X matrice des descripteurs #Y variable indiquant l appartenance aux groupes #sortie : matrice S variance covariance intra-groupes pooled.sequential <- function(x,y){ ind.per.group <- lapply(levels(y),partition,y=y) list.cov.mat <- lapply(ind.per.group,n.my.cov,descriptors=x) pooled.cov.mat <- (1.0/(length(Y)-nlevels(Y)))*Reduce('+',list.cov.mat) return(pooled.cov.mat) Dans la suite de ce document, notre philosophie consistera à mettre en place différentes approches parallèles pour calculer list.cov.mat. C est la démarche que nous avions suivie dans notre 19 octobre 2014 Page 3
4 implémentation multithread de l analyse discriminante de Sipina Avec les inconvénients que nous avions identifiés, à savoir : K cœurs sont sollicités, indépendamment des caractéristiques de la machine qui peut être sous-exploitée ; les charges sont mal réparties lorsque les classes sont déséquilibrées c.-à-d. lorsque les vecteurs d index sont de taille très dissemblables Exemple de calcul sur un fichier de données Nous appliquons les calculs sur la base WAVE500K décrite dans notre précédent tutoriel. Il comporte n = observations, réparties en K = 3 groupes équilibrés, décrits par p = 21 variables. Nous utilisons le programme R suivant. #chargement du fichier wave <- read.table(file="wave500k.txt",header=t,sep="\t",dec=".") print(summary(wave)) #définition de la cible Y et des descripteurs X Y <- wave$onde X <- wave[2:22] partition <- function(group,y){ res <- which(y==group) return(res) n.my.cov <- function(instances,descriptors){ p <- ncol(descriptors) m <- colmeans(descriptors[instances,]) the.cov <- matrix(0,p,p) for (i in 1:p){ for (j in 1:p){ the.cov[i,j] <- (sum((descriptors[instances,i]-m[i])*(descriptors[instances,j]-m[j]))) return(the.cov) pooled.sequential <- function(x,y){ ind.per.group <- lapply(levels(y),partition,y=y) list.cov.mat <- lapply(ind.per.group,n.my.cov,descriptors=x) pooled.cov.mat <- (1.0/(length(Y)-nlevels(Y)))*Reduce('+',list.cov.mat) return(pooled.cov.mat) #appel de la fonction de calcul de S et affichage system.time(cov.seq <- pooled.sequential(x,y)) print(cov.seq) system.time() est utilisé pour mesurer la durée des traitements octobre 2014 Page 4
5 R sous Windows 7 (64 bits) tournant sur un Quad-Core (Q cœurs) produit les informations suivantes. L occupation mémoire visible dans le gestionnaire de tâches est 237 Mo. Nous nous intéressons principalement au «temps écoulé» (16.80 sec.) qui correspond à notre durée d attente de l achèvement des calculs. C est ce que nous avions mesuré avec un chronomètre par ailleurs. Pour un calcul séquentiel, il est approximativement égal à l addition du «temps utilisateur» (la durée de l exécution directe des instructions) et du «temps système» (le temps consacré par le système pour la bonne exécution de nos instructions). Voyons s il est possible de diminuer ce temps écoulé en répartissant les tâches sur les différents cœurs du système. 3 Le package «parallel» 3.1 Mécanisme de parallélisation des calculs Le package «parallel» 7 est élaboré à partir des librairies «snow» et «multicore», ce dernier n étant plus disponible pour R L article de présentation (datée du 8 avril 2013) résume parfaitement les idées que nous essayons d appliquer dans ce tutoriel. On peut la traduire comme suit. 7 Je conseille vraiment la lecture de ce document, il décrit admirablement bien la problématique de la parallélisation des calculs. 19 octobre 2014 Page 5
6 Ce package permet d exécuter des tranches de calculs en parallèle. Un exemple typique serait d évaluer la même fonction sur des jeux de données différents Le point important est que ces tranches doivent être indépendantes et n ont pas besoin de communiquer entres elles. Souvent, ces tranches ont des durées d exécution approximativement identiques. Le modèle de fonctionnement standard est le suivant : (a) Démarrer M «worker» (traduit librement par «moteurs de calcul»), effectuer les initialisations pour chacun d entre eux. (b) Envoyer les données nécessaires à chaque moteur. (c) Découper le processus global en M tâches de volume similaire, et les envoyer sur les moteurs. (d) Attendre que tous les moteurs aient achevé les tâches et récupérer les résultats. (e) Répéter les étapes (b) à (d) pour les éventuelles tâches restantes (si lé découpage a été réalisé en Q tâches avec Q > M) (f) Stopper les moteurs de calcul. Nous souhaitons exploiter ce schéma pour la construction de la matrice S, avec M = K = nombre de groupes décrits par la variable cible Y. Chaque individu n appartenant qu à un seul groupe, les calculs des W k peuvent être réalisés de manière indépendante. Concrètement, chaque «moteur» correspond à un processus «rscript» visible dans le gestionnaire de tâche sous Windows. Dans notre cas, puisque M = K = 3, nous verrons 3 exemplaires de rscript, avec la même occupation mémoire parce que la totalité des données leur est transférée. C est la principale faiblesse de la solution. En effet, en dupliquant les données, on augmente d autant l occupation mémoire. Et leur transfert vers les processus lors de l initialisation des rscript est aussi consommatrice de temps. De fait, cette étape va fortement grever les performances du système comme nous le verrons par la suite. 3.2 Détection du nombre de cœurs Le package «parallel» propose la procédure detectcores() pour déceler le nombre de cœurs disponibles sur la machine. Pour notre machine Quad core, elle en affiche 4 évidemment. #charger la librairie library(parallel) #afficher le nombre de coeurs dispos print(detectcores()) 3.3 La procédure mclapply() La procédure mclapply(), issue de la librairie «multicore», est une version parallélisée de lapply(), nous pouvons spécifier le nombre de cœurs à utiliser sur la machine. De fait, une seule ligne est à modifier dans notre fonction de calcul de la matrice S : pooled.multicore <- function(x,y){ ind.per.group <- lapply(levels(y),partition,y=y) list.cov.mat <- mclapply(ind.per.group,n.my.cov,descriptors=x,mc.cores=1) pooled.cov.mat <- (1.0/(length(Y)-nlevels(Y)))*Reduce('+',list.cov.mat) return(pooled.cov.mat) 19 octobre 2014 Page 6
7 L option «mc.cores» permet de définir le nombre de cœurs à utiliser. Nous fixons mc.cores = 1 dans un premier temps. Lorsque nous lançons la procédure, la durée d exécution est très proche de la méthode séquentielle. Ce qui est tout à fait logique puisqu un seul cœur est utilisé. Les calculs des W k sont lancés les uns après les autres. Hélas, lorsque nous avons voulu augmenter le nombre de cœurs à exploiter (mc.cores = 3), la procédure a échoué. La procédure s appuie sur une technologie qui n est pas opérationnelle sous Windows 8. Dommage parce que la méthode était très facile à mettre en œuvre. Une seule ligne de code était à modifier, avec des transformations très mineures. Il semble en revanche que le dispositif soit pleinement opérationnel sous Linux. 3.4 La procédure parlapply() La procédure parlapply() est aussi une variante de lapply(). Il nécessite deux étapes supplémentaires : nous devons initialiser explicitement les moteurs à utiliser au préalable avec makecluster() 9, nous devons les détruire à la fin des calculs avec stopcluster(). De fait, la fonction de calcul de S devient maintenant : pooled.parlapply <- function(x,y){ ind.per.group <- lapply(levels(y),partition,y=y) #création de K = 3 rscript que l on voit apparaître #dans le gestionnaire de tâches de windows cl <- makecluster(spec=nlevels(y)) #appel de parlapply list.cov.mat <- parlapply(cl,ind.per.group,n.my.cov,descriptors=x) pooled.cov.mat <- (1.0/(length(Y)-nlevels(Y)))*Reduce('+',list.cov.mat) #destruction des rscript stopcluster(cl) return(pooled.cov.mat) Nous obtenons l affichage suivant : Nous créons les moteurs sur le même système ici pour exploiter les cœurs existants. Mais makecluster() peut aller plus loin en accédant aux ressources d une machine distante pourvu que R y soit installée. 19 octobre 2014 Page 7
8 Tout ça pour ça serait-on tenté de dire. Le gain par rapport à la version séquentielle est nul avec un temps écoulé de sec. Le temps utilisateur (1.75 sec.) et le temps système (1.17 sec.) correspondent à l activité du thread principal, non affecté aux calculs des W k. En surveillant le gestionnaire de tâches de Windows, nous constatons que les calculs sont bien répartis sur 3 processus rscript différents. Nous constatons également que les données sont complètement dupliquées sur chaque processus au regard de l occupation mémoire. Pourquoi n y a- t-il pas d amélioration globale du temps de traitement? Nous avons la réponse en produisant une meilleure décomposition des durées d exécution. Nous utilisons la procédure snow.time() 10 de la librairie «snow». library(snow) #meilleure décomposition du temps de traitement snow.time(cov.par <- pooled.parlapply(x,y)) Les idées sont plus claires maintenant. La durée de traitement sur chaque moteur est de 9 secondes approximativement. Il y a effectivement un gain à dispatcher les tâches sur plusieurs rscript. Mais il est totalement annihilé par le transfert des données (send = 4.33 sec.), la récupération des matrices étant peu coûteuse (receive = 0.02 sec.). Le package propose une présentation des temps de traitement sous forme de diagramme de Gantt octobre 2014 Page 8
9 La durée d exécution globale est tributaire du temps de transfert des données (Node 0) et de l achèvement des calculs sur le dernier moteur lancé (Node 3). Manifestement, la parallélisation n est avantageuse que si la durée de traitement des tâches est nettement plus élevée par rapport au temps de transfert des informations. 3.5 Utilisation de la boucle «foreach» «%dopar%» La librairie «doparallel», via le package «foreach», propose un mécanisme de boucle permettant de lancer des tâches en parallèle. La démarche est toujours la même (voir section 3.1). Nous devons tout d abord démarrer les moteurs avec registerdoparallel(). library(doparallel) #création de 3 rscript en mémoire sous Windows registerdoparallel(3) Les rscript apparaissent dans le gestionnaire de tâches. Ils sont en attente : l utilisation du CPU est 0 (Processeur) et les données n ont pas été transmises encore (Mémoire 24 Mo). 19 octobre 2014 Page 9
10 Les calculs sont lancés via une boucle «foreach %dopar%» qui peut se lire : pour chaque élément «instances» de la liste «ind.per.group» passé en paramètre, exécuter en parallèle les instructions comprises entre { et. pooled.foreach <- function(x,y){ ind.per.group <- lapply(levels(y),partition,y=y) #boucle foreach... %dopar% list.cov.mat <- foreach(instances = ind.per.group,.export = c("n.my.cov"),.inorder = FALSE) %dopar% { n.my.cov(instances,descriptors=x) pooled.cov.mat <- (1.0/(length(Y)-nlevels(Y)))*Reduce('+',list.cov.mat) return(pooled.cov.mat) L option «.export» permet d exporter explicitement la fonction non-standard «n.my.cov» dans l environnement de la boucle ; «.inorder = FALSE» indique qu il n est pas nécessaire de respecter l ordre d envoi des calculs lors de la récupération des résultats. A l exécution, nous voyons les rscript s activer dans le gestionnaire de tâches. Dixit la colonne «Mémoire», nous constatons que les données X sont aussi dupliquées dans les rscript dans ce dispositif. Avec «.verbose = T», nous avons le détail du déroulement des opérations : les blocs d instructions («task») sont lancés en parallèle ; les résultats en l occurrence les matrices W k sont ensuite combinés dans une liste. Tout comme pour parlapply(), la durée globale d exécution est proche de la version séquentielle (14.18 sec.). Nous observons de nouveau la part importante dévolue au transfert des données (3.10 sec.). 19 octobre 2014 Page 10
11 Il n y a pas de gain véritable par rapport aux variantes parallèles de lapply. Je dirais surtout que la boucle «foreach %dopar%» en est une alternative en matière de parallélisation des tâches. 4 Conclusion Dans ce tutoriel, nous avons présenté différents solutions du package «parallel» sous R pour paralléliser des procédures. L objectif est de rentabiliser les capacités accrues des processeurs multicœurs. Le dispositif fonctionne, c est déjà un résultat très important. Cependant, les gains sont décevants sur le jeu de données que nous avons étudié, en grande partie à cause de la nécessité de dupliquer et de transférer les données aux moteurs de calcul. Les bases peuvent être volumineuses dans le contexte du Data Mining. Par exemple, pour WAVE2M avec n = d observations et p = 21 variables, la durée d exécution est de 59 secondes en séquentiel, il passe à 56 en parallèle : avec 40 secondes de traitements sur chaque rscript et 15 secondes pour le transfert des données. Plus problématique encore, chaque rscript occupe près de 1Go en mémoire. 19 octobre 2014 Page 11
12 Cette démultiplication de l occupation mémoire constitue certainement le principal frein à l utilisation de ce dispositif dans le contexte de l exploitation des machines à processeurs multicœurs pour le data mining. Néanmoins, les outils du package «parallel» permettent d aller plus loin et dépasser le cadre restreint que nous avions défini. Il est possible de dispatcher des calculs sur des machines distantes reliées en réseau. Cela ouvre d autres perspectives. L occupation mémoire devient moins contraignante. Il y a là matière à faire des choses intéressantes dans un de nos prochains tutoriels 19 octobre 2014 Page 12
Didacticiel Études de cas. Description succincte de Pentaho Data Integration Community Edition (Kettle).
1 Objectif Description succincte de Pentaho Data Integration Community Edition (Kettle). L informatique décisionnelle («Business Intelligence BI» en anglais, ça fait tout de suite plus glamour) fait référence
Métriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected]
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected] Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Windows Internet Name Service (WINS)
Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2
Quantification d incertitude et Tendances en HPC
Quantification d incertitude et Tendances en HPC Laurence Viry E cole de Physique des Houches 7 Mai 2014 Laurence Viry Tendances en HPC 7 Mai 2014 1 / 47 Contents 1 Mode lisation, simulation et quantification
Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles
Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les principales
Partie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2
Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions
Défi Cloud Computing
EQUIPE RICM 2010 Défi Cloud Computing Dossier de remarques Ricom c est l @base 04/12/2009 Sommaire Introduction... 3 Les applications et la plateforme Cloud Computing... 4 Cloud Computing - RICM-2010 Page
SSIS Implémenter un flux
SSIS Implémenter un flux Version 1.0 Z Thibault Denizet 2 SSIS Implémenter un flux Sommaire 1 Introduction 4 2 Contraintes de précédence 5 3 Implémenter un flux de contrôle 8 3.1 Conteneurs du flux de
WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis
Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Copyright Acronis, Inc. 2000 2009 Table des matières Résumé... 3 Qu est-ce que la déduplication?... 4 Déduplication au
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Projet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
Segmentation d'images à l'aide d'agents sociaux : applications GPU
Segmentation d'images à l'aide d'agents sociaux : applications GPU Richard MOUSSA Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 Université de Bordeaux - France Laboratoire de recherche
Créer et partager des fichiers
Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Le Data Mining au service du Scoring ou notation statistique des emprunteurs!
France Le Data Mining au service du Scoring ou notation statistique des emprunteurs! Comme le rappelle la CNIL dans sa délibération n 88-083 du 5 Juillet 1988 portant adoption d une recommandation relative
LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»
LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING» Gilbert Saporta Professeur de Statistique Appliquée Conservatoire National des Arts et Métiers Dans leur quasi totalité, les banques et organismes financiers
Mes documents Sauvegardés
Mes documents Sauvegardés Guide d installation et Manuel d utilisation du logiciel Edition 13.12 Photos et illustrations : Copyright 2013 NordNet S.A. Tous droits réservés. Toutes les marques commerciales
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture IBM BladeCenter
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture IBM BladeCenter Network Shutdown Module V3 Extension pour architecture IBM BladeCenter - 34 022 272 XU / AA Table des matières
Oracle Developer Suite 10g. Guide de l installation. Vista & Seven
TRAVAIL RÉALISÉ PAR ABED ABDERRAHMANE Oracle Developer Suite 10g Guide de l installation 10g Release 2 (10.1.2) pour Windows Vista & Seven www.oraweb.ca Page 1 TABLE DES MATIÈRES : PARTIE 1 : CONCEPTS
Eric Bertrand [email protected]. 08/11/06 Maître de conférence 1
Calcul parallèle des options MC. Eric Bertrand [email protected] 1 Plan Contexte du calcul parallèle Qualités requises Architecture Outillage Problèmes rencontrés perspectives 2 Contexte du calcul
Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server
Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes
VMWare Infrastructure 3
Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3
Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Travaux pratiques avec RapidMiner
Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel
Windows Server 2008 R2
Installation de SQL Server 2008 R2 Express Bouron Dimitri 31/01/2015 Ce document sert de démonstration concise pour l installation et quelques bonnes pratiques pour un Windows SQL Server 2008 R2 Express.
Business Intelligence simple et efficace
Business Intelligence simple et efficace avec Excel et PowerPivot Jean-Philippe GOUIGOUX Table des matières 1 Chapitre 1 Présentation de PowerPivot A. L analyse de données.....................................................
Installation Client (licence réseau) de IBM SPSS Modeler 14.2
Installation Client (licence réseau) de IBM SPSS Modeler 14.2 Les instructions suivantes permettent d installer IBM SPSS Modeler Client version 14.2 en utilisant un licence réseau. Ce présent document
Écriture de journal. (Virement de dépense)
Écriture de journal (Virement de dépense) SERVICE DES FINANCES Équipe de formation PeopleSoft version 8.9 Août 2014 TABLES DES MATIERES AVERTISSEMENT... 3 INTRODUCTION... 4 RAISONS JUSTIFIANT LA CRÉATION
Les nouveautés de Femap 11.1
Siemens PLM Software Les nouveautés de Femap 11.1 Amélioration de la productivité des Ingénieurs calcul Avantages Manipulation plus rapide des modèles grâce à des performances graphiques améliorées Flexibilité
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Module 10 : Supplément 2
Module 10 : Supplément 2 Ce supplément est conçu pour être utilisé avec l ouvrage publié aux éditions Tsoft ou Eyrolles, intitulé Lotus Domino 8 Administration : Gestion et Optimisation. Configurer l index
Extraction d informations stratégiques par Analyse en Composantes Principales
Extraction d informations stratégiques par Analyse en Composantes Principales Bernard DOUSSET IRIT/ SIG, Université Paul Sabatier, 118 route de Narbonne, 31062 Toulouse cedex 04 [email protected] 1 Introduction
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA
Jade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Création et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
DG-ADAJ: Une plateforme Desktop Grid
DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3
Guide d installation JMap 5.0
Guide d installation JMap 5.0 Installation de JMap L installation de JMap se fait typiquement sur un serveur qui sera accédé par l ensemble des utilisateurs. Lors de l installation, toutes des composantes
Contributions à l expérimentation sur les systèmes distribués de grande taille
Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte
Business Intelligence
avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................
UltraBackup NetStation 4. Guide de démarrage rapide
UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...
ASP 3.0 Professionnel
Introduction On dit que, toute sa vie, chacun se souvient exactement de ce qu il fait et de l endroit où il est lorsque des faits marquants se produisent, par exemple le décès de Lady Diana ou l élection
WinReporter Guide de démarrage rapide. Version 4
WinReporter Guide de démarrage rapide Version 4 Table des Matières 1. Bienvenue dans WinReporter... 3 1.1. Introduction... 3 1.2. Configuration minimale... 3 1.3. Installer WinReporter... 3 2. Votre premier
SUGARCRM MODULE RAPPORTS
SUGARCRM MODULE RAPPORTS Référence document : SYNOLIA_Support_SugarCRM_Module_Rapports_v1.0.docx Version document : 1.0 Date version : 2 octobre 2012 Etat du document : En cours de rédaction Emetteur/Rédacteur
Aspects théoriques et algorithmiques du calcul réparti L agglomération
Aspects théoriques et algorithmiques du calcul réparti L agglomération Patrick CIARLET Enseignant-Chercheur UMA [email protected] Françoise LAMOUR [email protected] Aspects théoriques
Architecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Avira System Speedup. Guide
Avira System Speedup Guide Table des Matières 1. Introduction... 3 1.1 En quoi consiste Avira System Speedup?...3 2. Installation... 4 2.1 Configuration requise...4 2.2 Installation...4 3. Utilisation
CH.3 SYSTÈMES D'EXPLOITATION
CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,
les outils de la gestion de projet
les outils de la gestion de projet Sommaire Objectifs de la gestion de projet Les étapes du projet Les outils de gestion de projets Paramétrage de l outil PROJET : «ensemble des actions à entreprendre
DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?
DOSSIER SOLUTION CA ERwin Modeling Comment gérer la complexité des données et améliorer l agilité métier? CA ERwin Modeling fournit une vue centralisée des définitions de données clés afin de mieux comprendre
Bases de données documentaires et distribuées Cours NFE04
Bases de données documentaires et distribuées Cours NFE04 Introduction du cours Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers pré[email protected] Département d informatique Conservatoire
Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.
Guide de compilation de TANAGRA Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA. Remarque : La version de TANAGRA distribuée sur le site
Limitations of the Playstation 3 for High Performance Cluster Computing
Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire
À qui s adresse cet ouvrage?
Introduction Bienvenue dans le Guide de l administrateur de Microsoft Windows Server 2008. En tant qu auteur de plus de 65 livres, j écris des ouvrages professionnels sur la technologie depuis 1994. Au
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
MEGA ITSM Accelerator. Guide de démarrage
MEGA ITSM Accelerator Guide de démarrage MEGA 2013 1ère édition (janvier 2013) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune
Création et utilisation de formulaire pdf
Création et utilisation de formulaire pdf Grâce à Adobe Acrobat, il est plus facile de créer, de remplir et d envoyer des formulaires électroniques PDF. Vous pouvez concevoir et créer un formulaire complètement
Présentation du logiciel
Chapitre A Présentation du logiciel R Pré-requis et objectif La lecture du chapitre sur l installation de R dans les Annexes peut se révéler utile. Ce chapitre présente les origines, l objectif et les
Introduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI
1 Déroulement d un projet en DATA MINING, préparation et analyse des données Walid AYADI 2 Les étapes d un projet Choix du sujet - Définition des objectifs Inventaire des données existantes Collecte, nettoyage
Sage 100 CRM - Guide d installation Version 8.01. Mise à jour : 2015 version 8
Sage 100 CRM - Guide d installation Version 8.01 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré
Présentation d HyperV
Virtualisation sous Windows 2008 Présentation d HyperV Agenda du module Présentation d Hyper-V Installation d Hyper-V Configuration d Hyper-V Administration des machines virtuelles Offre de virtualisation
Figure 3.1- Lancement du Gambit
3.1. Introduction Le logiciel Gambit est un mailleur 2D/3D; pré-processeur qui permet de mailler des domaines de géométrie d un problème de CFD (Computational Fluid Dynamics).Il génère des fichiers*.msh
GPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Tout savoir sur le matériel informatique
Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation
Mise en place d un cluster. De basculement. Et DHCP Failover. Installation. Préparation. Vérification
Mise en place d un cluster De basculement Et DHCP Failover Valentin Banse Thomas Haën-Boucher Thomas Bichon Présentation Installation Préparation B T S S I O 2 2 / 0 4 / 2 0 1 4 Configuration Vérification
Évaluation d une architecture de stockage RDF distribuée
Évaluation d une architecture de stockage RDF distribuée Maeva Antoine 1, Françoise Baude 1, Fabrice Huet 1 1 INRIA MÉDITERRANÉE (ÉQUIPE OASIS), UNIVERSITÉ NICE SOPHIA-ANTIPOLIS, I3S CNRS pré[email protected]
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine
MANUEL DU SERVICE CENTER
MANUEL DU SERVICE CENTER Les informations contenues dans ce document peuvent être modifiées à tout moment sans préavis et n engagent pas la responsabilité de NATIVE INSTRUMENTS GmbH. Le Logiciel décrit
Sauvegarde et protection des documents
Sauvegarde et protection des documents 16 avril 2013 p 1 Sauvegarde et protection des documents Sauvegarder un document consiste à en conserver une copie, pour le mettre à l abri ou pour y revenir ultérieurement.
Architectures d implémentation de Click&DECiDE NSI
Architectures d implémentation de Click&DECiDE NSI de 1 à 300 millions de ligne de log par jour Dans ce document, nous allons étudier les différentes architectures à mettre en place pour Click&DECiDE NSI.
Vérification de programmes et de preuves Première partie. décrire des algorithmes
Vérification de programmes et de preuves Première partie. décrire des algorithmes Yves Bertot September 2012 1 Motivating introduction A partir des années 1940, il a été compris que l on pouvait utiliser
LA GESTION DE PROJET INFORMATIQUE
Structurer, assurer et optimiser le bon déroulement d un projet implique la maîtrise des besoins, des objectifs, des ressources, des coûts et des délais. Dans le cadre de la gestion d un projet informatique
LA GESTION DE PROJET INFORMATIQUE
LA GESTION DE PROJET INFORMATIQUE Lorraine Structurer, assurer et optimiser le bon déroulement d un projet implique la maîtrise des besoins, des objectifs, des ressources, des coûts et des délais. Dans
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE
PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE Protéger sa clé USB avec un système de cryptage par mot de passe peut s avérer très utile si l on veut cacher certaines données sensibles, ou bien rendre ces données
Module : Virtualisation à l aide du rôle Hyper-V
Windows Server 2008 pour l'enseignement Module : Virtualisation à l aide du rôle Hyper-V Agenda du module Présentation d Hyper-V Installation d Hyper-V Configuration d Hyper-V Administration des machines
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche
Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche Serveurs DELL PowerEdge Tour Rack standard R310 T110II Rack de calcul Lames R815 M610 R410 R910 M620 R415 R510 T620 R620 R720/R720xd
CAHIER DE S CHARGE S Remote Workload Manager
CAHIER DE S CHARGE S Remote Workload Manager équipe Regis Rouyard (rouyar_r) Jonathan Bouchot (boucho_o) Johan Massin (massin_j) Jacky Rouquette (rouque_j) Yannick Boillon (boillo_o) EPITECH INOVATION
Happy birthday ZSet High performance computing dans ZSet
Happy birthday ZSet High performance computing dans ZSet F. Feyel & P. Gosselet Architectures SMP NUMA memory memory memory Distribué memory memory 2 memory memory Hybride memory memory memory memory memory
Guide d utilisation du pilote Windows
Guide d utilisation du pilote Windows Merci beaucoup d avoir choisi ce produit. Pour une utilisation correcte et sans danger avec une parfaite compréhension des possibilités de ce produit, veuillez lire
INF6304 Interfaces Intelligentes
INF6304 Interfaces Intelligentes filtres collaboratifs 1/42 INF6304 Interfaces Intelligentes Systèmes de recommandations, Approches filtres collaboratifs Michel C. Desmarais Génie informatique et génie
Gestion electronique de document
Gestion electronique de document Gestion electronique de document (GED) Introduction La gestion électronique de documents (GED) permet de remplacer des "documents papier" par leur forme "électroniques".
Présentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Manuel utilisateur (Manuel_utilisateur_version20110901.pdf) Manuel Reprise des données (Manuel_Reprise_donnees_version20111010.
Manuell d iinstallllatiion Date dernière révision : 10/10/2011 Documents de référence Les documents cités dans le présent document ou utiles à la compréhension de son contenu sont : Titre Manuel utilisateur
4D v11 SQL BREAKING THE LIMITS * Les nouveautés
BREAKING THE LIMITS * *Dépasser les limites 4D v11 SQL Les nouveautés SQL natif intégré Nouveau moteur de base de données ultra-performant Productivité de développement inégalée Architecture Universal
MEGA ITSM Accelerator. Guide de Démarrage
MEGA ITSM Accelerator Guide de Démarrage MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune
Retrouver de vieux programmes et jouer sur VirtualBox
CHAPITRE 3 Retrouver de vieux programmes et jouer sur VirtualBox Ce chapitre présente des notions avancées de VirtualBox. Elles permettront de réaliser des configurations spécifiques pour évaluer des systèmes
Modélisation du virus informatique Conficker
Mini Projet Calcul Scientifique Modélisation du virus informatique Conficker Worm Defender Engineering Bellot Guillaume Cornil Yoann Courty Arnaud Goldenbaum David Pascal Louis ESILV S4 Introduction :
La classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
