Logiciel

Je prends le développement du logiciel sérieusement. On peut trouver la plupart de mes contributions logicielles sur GitHub.

Contributions choisies:

  • Les bitmaps Roaring ont été largement adoptés : Apache Lucene, Solr, Elasticsearch, Metamarkets’ Druid, Apache Spark, Apache Hive, Apache Tez, Netflix Atlas, LinkedIn Pinot, Pilosa, Microsoft Visual Studio Team Services (VSTS), eBay’s Apache Kylin, et ainsi de suite.
  • JavaFastPFOR et FastPFor font partie de Terrier, Apache Parquet, Apache Lucene, et Apache NiFi.
  • EWAHBoolArray et JavaEWAH ont été intégrés dans Git (GitHub), jGit, Apache Hive, et ainsi de suite. JavaEWAH fait partie des distributions Linux populaires comme Ubuntu et RedHat.

Publications

Vous pouvez trouver mes travaux sur arXiv, sur Google Scholar, sur DBLP, sur le portail ACM, sur R Libre et ailleurs.

  • Faster Base64 Encoding and Decoding using AVX2 Instructions
    ACM Transactions on the Web (to appear)

    Renseignements PDF (arXiv) Code

  • Roaring Bitmaps: Implementation of an Optimized Software Library
    Software: Practice and Experience 48 (4), 2018

    Renseignements PDF (arXiv) Code

  • Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources
    SIGMOD’18, 2018

    Renseignements PDF (arXiv) Code

  • Faster Population Counts Using AVX2 Instructions
    Computer Journal 61 (1), 2018

    Renseignements PDF (arXiv) Code

  • On Desirable Semantics of Functional Dependencies over Databases with Incomplete Information
    Fundamenta Informaticae 158 (4), 2018

    Renseignements PDF (arXiv)

  • Stream VByte: Faster Byte-Oriented Integer Compression
    Information Processing Letters 130, 2018

    Renseignements PDF (arXiv) Code

  • Efficient Integer-Key Compression in a Key-Value Store using SIMD Instructions
    Information Systems 66, 2017

    Renseignements PDF (arXiv) Code

  • Regular and almost universal hashing: an efficient implementation
    Software: Practice and Experience 47 (10), 2017

    Renseignements PDF (arXiv) Code

  • Better bitmap performance with Roaring bitmaps
    Software: Practice and Experience 46 (5), 2016

    Renseignements PDF (arXiv) Diapositives Code Projet

  • Compressed bitmap indexes: beyond unions and intersections
    Software: Practice and Experience 46 (2), 2016

    Renseignements PDF (arXiv) Code

  • Consistently faster and smaller compressed bitmaps with Roaring
    Software: Practice and Experience 46 (11), 2016

    Renseignements PDF (arXiv) Diapositives Code Projet

  • Faster 64-bit universal hashing using carry-less multiplications
    Journal of Cryptographic Engineering 6(3), 2016

    Renseignements PDF (arXiv) Code

  • SIMD Compression and the Intersection of Sorted Integers
    Software: Practice and Experience 46 (6), 2016

    Renseignements PDF (arXiv) Diapositives Code

  • A General SIMD-based Approach to Accelerating Compression Algorithms
    ACM Transactions on Information Systems 33 (3), 2015

    Renseignements PDF (arXiv)

  • Decoding billions of integers per second through vectorization
    Software: Practice & Experience 45 (1), 2015

    Renseignements PDF (arXiv) Diapositives Code

  • Functional dependencies with null markers
    Computer Journal 58 (5), 2015

    Renseignements PDF (arXiv)

  • Measuring academic influence: Not all citations are equal
    Journal of the Association for Information Science and Technology 66 (2), 2015

    Renseignements PDF (arXiv) Jeu de données

  • Multidimensional Bloom Filters
    Information Systems (54), 2015

    Renseignements PDF (arXiv) Code

  • Vectorized VByte Decoding
    International Symposium on Web Algorithms 2015, 2015

    Renseignements PDF (arXiv) Diapositives Code

  • Strongly universal string hashing is fast
    Computer Journal 57 (11), 2014

    Renseignements PDF (arXiv) Code

  • Diamond Dicing
    Data & Knowledge Engineering 86, 2013

    Renseignements PDF (arXiv)

  • Reordering Rows for Better Compression: Beyond the Lexicographic Order
    ACM Transactions on Database Systems 37 (3), 2012

    Renseignements PDF (arXiv) Diapositives Code Code Code

  • The universality of iterated hashing over variable-length strings
    Discrete Applied Mathematics 160 (4-5), 2012

    Renseignements PDF (arXiv)

  • Time Series Classification by Class-Specific Mahalanobis Distances
    Advances in Data Analysis and Classification 6 (3), 2012

    Renseignements PDF (arXiv)

  • A Call to Arms: Revisiting Database Design
    SIGMOD Record 40 (3), 2011

    Renseignements PDF (arXiv)

  • Extracting, Transforming and Archiving Scientific Data
    In VLDL 2011, Berlin, Germany, 2011

    Renseignements PDF (arXiv)

  • Reordering Columns for Smaller Indexes
    Information Sciences 181 (12), 2011

    Renseignements PDF (arXiv)

  • Recursive n-gram hashing is pairwise independent, at best
    Computer Speech & Language 24 (4), pages 698-710, 2010

    Renseignements PDF (arXiv) Code

  • Sorting improves word-aligned bitmap indexes
    Data & Knowledge Engineering 69 (1), 2010

    Renseignements PDF (arXiv) Code

  • Faster retrieval with a two-pass dynamic-time-warping lower bound
    Pattern recognition 42 (9), 2009

    Renseignements PDF (arXiv) Code

  • An Optimal Linear Time Algorithm for Quasi-Monotonic Segmentation
    International Journal of Computer Mathematics 86 (7), 2009

    Renseignements PDF (arXiv) Code

  • Hierarchical Bin Buffering: Online Local Moments for Dynamic External Memory Arrays
    ACM Transactions on Algorithms 4(1): 14 (2008)

    Renseignements PDF (arXiv) Code

  • Histogram-Aware Sorting for Enhanced Word-Aligned Compression in Bitmap Indexes
    DOLAP 2008

    Renseignements PDF (arXiv) Code

  • Pruning Attribute Values From Data Cubes with Diamond Dicing
    IDEAS 2008

    Renseignements PDF (arXiv)

  • A Better Alternative to Piecewise Linear Time Series Segmentation
    SIAM Data Mining 2007

    Renseignements PDF (arXiv) Code

  • A Comparison of Five Probabilistic View-Size Estimation Techniques in OLAP
    DOLAP 2007, pp. 17-24, 2007

    Renseignements PDF (arXiv) Diapositives Code

  • Monotonicity Analysis over Chains and Curves
    In Curves and Surfaces 2006, Saint-Malo, France, 2007

    Renseignements PDF (arXiv)

  • Removing Manually-Generated Boilerplate from Electronic Texts: Experiments with Project Gutenberg e-Books
    CASCON 2007

    Renseignements PDF (arXiv) Code

  • Tag-Cloud Drawing: Algorithms for Cloud Visualization
    Tagging and Metadata for Social Information Organization (WWW 2007)

    Renseignements PDF (arXiv) Diapositives Code Jeu de données

  • Attribute Value Reordering For Efficient Hybrid OLAP
    Information Sciences 176 (16) 2006

    Renseignements PDF (arXiv)

  • Streaming Maximum-Minimum Filter Using No More than Three Comparisons per Element
    Nordic Journal of Computing 13 (4), pages 328-339, 2006

    Renseignements PDF (arXiv) Code Code

  • Collaborative filtering and inference rules for context‐aware learning object recommendation
    Interactive Technology and Smart Education 2 (3), 2005

    Renseignements PDF

  • Scale and Translation Invariant Collaborative Filtering Systems
    Information Retrieval 8 (1), 2005

    Renseignements PDF

  • Slope One Predictors for Online Rating-Based Collaborative Filtering
    In SIAM Data Mining (SDM 2005), Newport Beach, California, April 21-23, 2005

    Renseignements PDF (arXiv)

  • A family of 4-point dyadic high resolution subdivision schemes
    In Curves and Surfaces 2002, Saint-Malo, France, 2003

    Renseignements PDF Code

  • Fourier analysis of 2-point Hermite interpolatory subdivision schemes
    Journal of Fourier Analysis and Applications 7 (5), 2001

    Renseignements PDF

  • Wavelet time entropy, T wave morphology and myocardial ischemia
    IEEE Transactions on Biomedical Engineering 47 (7), 2000

    Renseignements

  • Une famille d'ondelettes biorthogonales sur l'intervalle obtenue par un schéma d'interpolation itérative
    Annales des Sciences Mathématiques du Québec 23 (1), 1999

    Renseignements PDF

Conférences

Projets

GapminderVR

GapminderVR : visualisation de données en réalité virtuelle

Les bitmaps Roaring

Bitmap compressés et véloces, largement déployés. (photo: Edge Earth)

MaskedVByte

MaskedVByte : VByte accélé par SIMD

VRSpaceTrader

VRSpaceTrader : Réorganisation de l’environnement comme appui à la cognition

Laboratoire

Nous avons la chance d’avoir un laboratoire pleinement équipé avec un technicien dédié à nos travaux. Nous avons une ferme de serveurs utilisés partout dans le monde pour étudier la performance du lociel (par ex. par des chercheurs comme Agner Fog). Certaines de nos machines ont les spécifications suivantes:

  • Microarchitecture Haswell : Intel® Core™ i7-4770 CPU @ 3.40GHz
  • Microarchitecture Knights Landing : Intel® Xeon Phi™ CPU 7210 @ 1.30GHz (64 coeurs)
  • Microarchitecture Skylake : Intel® Core™ i7-6700 CPU @ 3.40GHz
  • Microarchitecture Skylake-X : Intel® Xeon® W-2104 CPU @ 3.20GHz
  • AMD OPTERON A1100 SOC (Cortex A57)

Nous avons aussi plusieurs stations de travail et de l’espace dans notre laboratoire pour explorer la réalité virtuelle comme outil en science des données.

Étudiants

Je recrute des étudiants et stagiaires post-doctoraux pour mon équipe. Si vous adorez concevoir du logiciel véloce, et que vous souhaitez venir à Montréal, écrivez-moi! Si vous disposez d’un profil GitHub impressionnant, ce sera un atout en votre faveur. Une connaissance du français est un atout si vous souhaitez suivre un programme universitaire sous ma supervision. Certains de mes meilleurs étudiants sont des étudiantes.

Si vous êtes un canadien poursuivant des études de premier cycle avec au moins une moyenne de B, vous pourriez être intéressés à venir travailler avec moi dans le cadre d’une bourse de recherche de 1er cycle du CRSNG. Il s’agit d’un stage à temps plein dans nos laboratoires à Montréal. Les dates limites pour postuler sont :

  • le premier mars pour un stage à l’été;
  • le premier juillet pour l’automne;
  • le premier novembre pour l’hiver.

Il s’agit d’un concours qui se poursuit continuellement : je reçois des candidatures à toutes les sessions. Merci de prévoir au moins une semaine pour la préparation de votre candidature. Écrivez-moi par courriel pour exprimer votre intérêt.

Si vous souhaitez poursuivre une maîtrise en technologie de l’information en technologie de l’information à temps plein sous ma direction à Montréal, je reçois des candidatures pour les bourses d’études supérieures du CRSNG. Vous devez avoir un solide dossier universitaire pour postuler. Vous devez aussi être citoyen canadien ou résident permanent du Canada. La date limite pour postuler est le premier décembre de chaque année. Vous devez prévoir du temps pour préparer votre demande. Je reçois des candidatures à tous les ans. Écrivez-moi par courriel pour exprimer votre intérêt.

Si vous êtes intéressés par un doctorat en informatique cognitive à temps plein sous ma direction à Montréal, je reçois des candidatures pour les bourses d’études supérieures du CRSNG. Vous devez avoir un solide dossier universitaire pour postuler. Vous devez aussi être citoyen canadien ou résident permanent du Canada. La date limite pour postuler est le premier novembre de chaque année. Vous devez prévoir du temps pour préparer votre demande. Je reçois des candidatures à tous les ans. Écrivez-moi par courriel pour exprimer votre intérêt.

Je dirige régulièrement des étudiants aux cycles supérieurs à la TÉLUQ et à l’UQAM. Je co-dirige aussi des étudiants à l’Université du Nouveau-Brunswick, à l’École Polytechnique et à l’Université Concordia.

Diplômés récents:

  • Badis Merdaoui (Ph.D., 2017);
  • Maxime Boisvert (M.Sc., 2017);
  • Shany Carle (M.Sc., 2017);
  • Joseph Tumusenge (M.Sc., 2016);
  • Samy Chambi (Ph.D., 2016, avec Robert Godin);
  • Jing Li (Ph.D., 2016, avec Yuhong Yan);
  • Claude Corriolan (M.Sc., 2016);
  • Hazel Webb (Ph.D., 2010, avec Owen Kaser).

Étudiants au doctorat en cours de supervision:

Étudiants à la maîtrise en cours de supervision:

Assistant de recherche (premier cycle):

Nouvelles

Badis Merdaoui a soutenu avec succès sa thèse de doctorat.

CONTINUER DE LIRE

Services

J’ai fait partie du comité scientifique de plusieurs conférences internationales :

  • ACM Conference on Information and Knowledge Management (ACM CIKM)
  • ACM Conference on Web Search and Data Mining (ACM WSDM)
  • ACM Conference on Information Retrieval (ACM SIGIR)
  • ACM Conference on Recommender Systems (ACM RecSys)
  • ACM/IEEE Joint Conference on Digital Libraries (JCDL)

J’ai récemment fait partie des comités scientifiques suivants :

  • CIKM 2018 - Twenty-Seventh ACM International Conference on Information and Knowledge Management (October 22-26, 2018; Turing, Italy)
  • ASD 2018 - 12th edition of the Conference on Advances of Decisional Systems : Big data & Applications (May 2018; Marrakech, Morocco)
  • RecSys 2018 - 12th ACM Recommender Systems Conference (October 2018; Vancouver, Canada)
  • WABiD* 2018 - 1st International Workshop on Advances on Big Data Management, Analytics and Security (September 2018; Budapest, Hungary)
  • WWW 2018 - Twenty-seventh International WWW Conference (April 23-27 2018; Lyon, France)
  • DOLAP 2018 - Nineteenth International Workshop On Design, Optimization, Languages and Analytical Processing of Big Data (March 26–29, 2018; Vienna, Austria)
  • CIKM 2017 - Twenty-Sixth ACM International Conference on Information and Knowledge Management (November 6-10, 2017; Singapore)
  • SPIRE 2017 - 24th International Symposium on String Processing and Information Retrieval (September 26-29, 2017; Palermo, Italy)

J’ai été un examinateur externe sur les thèses de doctorat suivantes :

  • Mohammed Shaaban à l’Université Pierre et Marie Curie (2017) - dirigé par Patrick Garda.
  • Mehdi Boukhechba à l’UQAC (2016) - dirigé par Abdenour Bouzouane et Charles Gouin-Vallerand.
  • Hicham Assoudi à l’UQAM (2016) - dirigé par Hakim Lounis.
  • Khaled Dehdouh à Lyon 2 (2015) - dirigé par Omar Boussaid.
  • Martin Leginus à l’Université Aalborg (2015) - dirigé par Peter Dolog.
  • Ahmad Taleb à l’Université Concordia (2011) - dirigé par Todd Eavis.

J’ai servi comme membre de comité d’évaluateur au sein d’organisme subventionnaires :

  • FQRNT: comité d’évaluation 03F (informatique théorique) depuis 2007.
  • FQRNT: comité d’évaluation 309 (subvention d’équipe en informatique) depuis 2006.
  • CRSNG: comité d’évaluation du programme de subventions d’outils et d’instruments de recherche dans les sciences informatiques (2012-2015)
  • CRSNG: comité d’évaluation des subventions à la découverte en Sciences informatiques, comité 1507 (2018-2020)

Me joindre

  • [email protected]
  • Université du Québec (TÉLUQ), 5800, rue Saint-Denis, Bureau 1105, Montréal (Québec) H2S 3L5 Canada
  • sur rendez-vous