<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of tel-04902137v1</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-26T08:22:04+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">PGAS-based Parallel Branch-and-Bound for Ultra-Scale GPU-powered Supercomputers</title>
            <title xml:lang="fr">Branch-and-Bound Parallèle Basé sur PGAS pour les Supercalculateurs Ultra-Scale Dotés de GPUs</title>
            <author role="aut">
              <persName>
                <forename type="first">Guillaume</forename>
                <surname>Helbecque</surname>
              </persName>
              <email type="md5">ffe5280c5e3bc081d3d99261025ad3f2</email>
              <email type="domain">univ-lille.fr</email>
              <idno type="idhal" notation="string">guillaume-helbecque</idno>
              <idno type="idhal" notation="numeric">754088</idno>
              <idno type="halauthorid" notation="string">55980-754088</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-8697-3721</idno>
              <affiliation ref="#struct-374570"/>
              <affiliation ref="#struct-410272"/>
              <affiliation ref="#struct-505216"/>
              <affiliation ref="#struct-366875"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Guillaume</forename>
                <surname>Helbecque</surname>
              </persName>
              <email type="md5">20b9cfa1657a68b9c196ab471b3238ab</email>
              <email type="domain">gmail.com</email>
            </editor>
            <funder ref="#projanr-72291"/>
            <funder>This work is supported by the Agence Nationale de la Recherche (ref. ANR-22-CE46-0011) and the Luxembourg National Research Fund (ref. INTER/ANR/22/17133848), under the UltraBO project.</funder>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2025-01-20 17:20:08</date>
              <date type="whenModified">2025-06-12 03:20:12</date>
              <date type="whenReleased">2025-01-20 17:27:30</date>
              <date type="whenProduced">2025-01-10</date>
              <date type="whenEndEmbargoed">2025-01-20</date>
              <ref type="file" target="https://hal.science/tel-04902137v1/document">
                <date notBefore="2025-01-20"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/tel-04902137v1/file/PhD_thesis_Guillaume_Helbecque.pdf" id="file-4902137-4256983">
                <date notBefore="2025-01-20"/>
              </ref>
            </edition>
            <edition n="v2">
              <date type="whenSubmitted">2025-06-11 14:45:06</date>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="926756">
                <persName>
                  <forename>Guillaume</forename>
                  <surname>Helbecque</surname>
                </persName>
                <email type="md5">20b9cfa1657a68b9c196ab471b3238ab</email>
                <email type="domain">gmail.com</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">tel-04902137</idno>
            <idno type="halUri">https://hal.science/tel-04902137</idno>
            <idno type="halBibtex">helbecque:tel-04902137</idno>
            <idno type="halRefHtml">Distributed, Parallel, and Cluster Computing [cs.DC]. Université de Lille; Université du Luxembourg, 2025. English. &lt;a target="_blank" href="https://www.theses.fr/"&gt;&amp;#x27E8;NNT : &amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">Distributed, Parallel, and Cluster Computing [cs.DC]. Université de Lille; Université du Luxembourg, 2025. English. &amp;#x27E8;NNT : &amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0 - Attribution<ref corresp="#file-4902137-4256983"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt/>
          <notesStmt/>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">PGAS-based Parallel Branch-and-Bound for Ultra-Scale GPU-powered Supercomputers</title>
                <title xml:lang="fr">Branch-and-Bound Parallèle Basé sur PGAS pour les Supercalculateurs Ultra-Scale Dotés de GPUs</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Guillaume</forename>
                    <surname>Helbecque</surname>
                  </persName>
                  <email type="md5">ffe5280c5e3bc081d3d99261025ad3f2</email>
                  <email type="domain">univ-lille.fr</email>
                  <idno type="idhal" notation="string">guillaume-helbecque</idno>
                  <idno type="idhal" notation="numeric">754088</idno>
                  <idno type="halauthorid" notation="string">55980-754088</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-8697-3721</idno>
                  <affiliation ref="#struct-374570"/>
                  <affiliation ref="#struct-410272"/>
                  <affiliation ref="#struct-505216"/>
                  <affiliation ref="#struct-366875"/>
                </author>
              </analytic>
              <monogr>
                <imprint>
                  <date type="dateDefended">2025-01-10</date>
                </imprint>
                <authority type="institution">Université de Lille</authority>
                <authority type="institution">Université du Luxembourg</authority>
                <authority type="school">Ecole graduée Mathématiques, sciences du numérique et de leurs interactions (MADIS)</authority>
                <authority type="school">Doctoral School in Science and Engineering (DSSE)</authority>
                <authority type="supervisor">Nouredine Melab</authority>
                <authority type="supervisor">Pascal Bouvry</authority>
              </monogr>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">PGAS programming</term>
                <term xml:lang="en">Chapel</term>
                <term xml:lang="en">Ultra-scale supercomputers</term>
                <term xml:lang="en">GPU</term>
                <term xml:lang="en">Combinatorial optimization</term>
                <term xml:lang="en">Parallel Branch-and-Bound</term>
                <term xml:lang="fr">Supercalculateurs ultra-scale</term>
                <term xml:lang="fr">GPU</term>
                <term xml:lang="fr">Chapel</term>
                <term xml:lang="fr">Programmation PGAS</term>
                <term xml:lang="fr">Optimisation combinatoire</term>
                <term xml:lang="fr">Branch-and-Bound parallèle</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-dc">Computer Science [cs]/Distributed, Parallel, and Cluster Computing [cs.DC]</classCode>
              <classCode scheme="halDomain" n="info.info-ds">Computer Science [cs]/Data Structures and Algorithms [cs.DS]</classCode>
              <classCode scheme="halTypology" n="THESE">Theses</classCode>
              <classCode scheme="halOldTypology" n="THESE">Theses</classCode>
              <classCode scheme="halTreeTypology" n="THESE">Theses</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>Branch-and-Bound (B&amp;amp;B) algorithms are widely used for the exact resolution of many combinatorial optimization problems. Their parallel implementation to solve increasingly large instances presents several challenges related to the dynamic generation of large, highly irregular trees. With the advent of the exascale era, modern supercomputers are now composed of thousands of hybrid compute nodes, each integrating multi-core processors coupled with GPU accelerators. This hierarchical organization, providing multi-level parallelism (intra-node, GPU, inter-node or cluster, etc.), makes exascale parallel implementation complex. To address this complexity, most existing works employ the "evolutionary" MPI+X approach, which extends the MPI standard used for inter-node level with environments for intra-node parallelism (OpenMP, CUDA, etc.). In this thesis, we investigate the PGAS (Partitioned Global Address Space) approach, an alternative to MPI+X, in the context of implementing B&amp;amp;B algorithms for exascale. This "revolutionary" approach provides a higher level of parallelism abstraction, unifying intra-node and inter-node levels.The first contribution of this thesis focuses on the design and implementation of a PGAS-based data structure, named distBag_DFS, dedicated to depth-first exploration of large, irregular trees. This multi-pool data structure integrates a dynamic load-balancing mechanism based on large-scale work-stealing, operating at both intra- and inter-node levels. This mechanism, which required sophisticated synchronization, promotes locality in work-stealing, enabling scalability. The data structure and its load-balancing mechanism are implemented in Chapel and provided as a module in this PGAS-based language designed for exascale. The second contribution of this thesis extends the proposed work to the multi-GPU context to accelerate the extensive and costly evaluation of tree nodes being explored. The challenge of ensuring implementation portability across multi-vendor GPU architectures (NVIDIA and AMD) is addressed.The algorithms developed in this thesis have been designed to be generic and to promote their reuse. This is evidenced by the application of these algorithms to various combinatorial optimization problems, including permutation flow-shop scheduling, binary knapsack problems, the N-Queens problem, and the Unbalanced Tree Search benchmark. Experimental validation was conducted on two TOP500 supercomputers (MeluXina and LUMI), among others. The results show that our PGAS-based algorithms are competitive in terms of scalability at both intra-node and inter-node levels compared to those obtained with the MPI+X approach. Additionally, the results confirmed the optimality of solutions for some of the largest flow-shop instances, utilizing up to 400 compute nodes, or 51,200 CPU cores. Furthermore, scalability concerning the number of GPUs was evaluated on 128 compute nodes, totaling 1,024 GPU accelerators. Overall, our results demonstrate the competitiveness of PGAS approaches compared to MPI+X, while identifying opportunities for further enhancement.</p>
            </abstract>
            <abstract xml:lang="fr">
              <p>Les algorithmes Branch-and-Bound (B&amp;amp;B) sont couramment utilisés pour la résolution exacte de nombreux problèmes d'optimisation combinatoire. Leur mise en œuvre parallèle pour la résolution d'instances de plus en plus grandes pose plusieurs défis liés à la génération dynamique de grands arbres fortement irréguliers. Avec l'arrivée de l'ère exascale, les supercalculateurs modernes sont désormais composés de milliers de nœuds de calcul hybrides, chacun intégrant des processeurs multi-cœurs couplés à des accélérateurs graphiques (GPUs). Cette organisation hiérarchique, fournissant un parallélisme multi-niveau (intra-nœud, GPU, inter-nœud ou cluster, etc.), rend complexe l'implémentation parallèle exascale. Pour faire face à cette complexité, la majorité des travaux existants utilise l'approche "évolutionnaire" MPI+X, qui consiste à étendre le standard MPI utilisé pour le niveau inter-noeud avec des environnements pour le parallélisme intra-nœud (OpenMP, CUDA, etc.). Dans cette thèse, nous investiguons l'approche PGAS (Partitioned Global Address Space), alternative à MPI+X, dans le contexte de la mise en œuvre des algorithmes B&amp;amp;B pour l'exascale. Cette approche "révolutionnaire" fournit un niveau d'abstraction du parallélisme plus élevé, unifiant les niveaux intra-nœud et inter-nœud. La première contribution de cette thèse porte sur la conception et l'implémentation d'une structure de données PGAS, nommée distBag_DFS, dédiée à l'exploration en profondeur d'abord d'arbres irréguliers de grande taille. Cette structure de données multi-pool intègre un mécanisme d'équilibrage de charge dynamique basé sur le paradigme de vol de tâches large échelle, opéré aux deux niveaux intra- et inter-nœud. Ce mécanisme, qui a nécessité une synchronisation sophistiquée, favorise la localité des vols de tâches permettant son passage à l'échelle. La structure de données et son mécanisme d'équilibrage de charge sont implémentés en Chapel, et fournis comme module dans ce langage basé sur PGAS et conçu pour l'exascale. La deuxième contribution de cette thèse porte sur l'extension des travaux proposés au contexte multi-GPU pour accélérer l'évaluation massive et coûteuse des nœuds de l'arbre exploré. Le défi de la portabilité de l'implémentation sur architectures GPU multi-fournisseurs (NVIDIA et AMD) est considéré. Les algorithmes développés dans cette thèse ont été conçus pour être génériques et favoriser leur réutilisation. Ceci est attesté par l'application de ces algorithmes à différents problèmes d'optimisation combinatoire, notamment les problèmes d'ordonnancement Flow-Shop à permutation, de sac à dos binaire, des N-reines ainsi que le benchmark Unbalanced Tree Search. La validation expérimentale a été réalisée, entre autres, sur deux supercalculateurs du classement TOP500 (MeluXina et LUMI). Les résultats obtenus montrent que nos algorithmes basés sur l'approche PGAS sont compétitifs, en termes de passage à l'échelle aux deux niveaux intra- et inter-nœud, en comparaison de ceux obtenus avec l'approche MPI+X. De plus, les résultats ont confirmé l'optimalité des solutions pour certaines des plus grandes instances du Flow-Shop, en utilisant jusqu'à 400 nœuds de calcul, soit 51 200 cœurs CPU. D'autre part, le passage à l'échelle par rapport au nombre de GPU a été évalué sur 128 nœuds de calcul, totalisant 1 024 accélérateurs GPU. De manière générale, nos résultats montrent la compétitivité des approches PGAS par rapport à MPI+X, tout en mettant en lumière certaines perspectives d'amélioration.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="regroupinstitution" xml:id="struct-374570" status="VALID">
          <idno type="IdRef">223446556</idno>
          <idno type="ISNI">0000 0001 2242 6780</idno>
          <idno type="ROR">https://ror.org/02kzqn938</idno>
          <idno type="Wikidata">Q3551621</idno>
          <orgName>Université de Lille</orgName>
          <desc>
            <address>
              <addrLine>EPE Université de Lille. -- 42 rue Paul Duez, 59000 Lille</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.univ-lille.fr/</ref>
          </desc>
        </org>
        <org type="laboratory" xml:id="struct-410272" status="VALID">
          <idno type="IdRef">18388695X</idno>
          <idno type="RNSR">201521249L</idno>
          <idno type="ROR">https://ror.org/05vrs3189</idno>
          <idno type="Wikidata">Q116959497</idno>
          <orgName>Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189</orgName>
          <orgName type="acronym">CRIStAL</orgName>
          <date type="start">2015-01-01</date>
          <desc>
            <address>
              <addrLine>Université de Lille - Campus scientifique - Bâtiment ESPRIT - Avenue Henri Poincaré - 59655 Villeneuve d’Ascq</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cristal.univ-lille.fr/</ref>
          </desc>
          <listRelation>
            <relation name="UMR9189" active="#struct-120930" type="direct"/>
            <relation name="UMR9189" active="#struct-374570" type="direct"/>
            <relation name="UMR9189" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="researchteam" xml:id="struct-505216" status="VALID">
          <idno type="RNSR">201722535A</idno>
          <idno type="ROR">https://ror.org/04zja0e38</idno>
          <orgName>Optimisation de grande taille et calcul large échelle</orgName>
          <orgName type="acronym">BONUS</orgName>
          <date type="start">2017-07-01</date>
          <date type="end">2027-12-31</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.inria.fr/equipes/bonus</ref>
          </desc>
          <listRelation>
            <relation active="#struct-104752" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation active="#struct-410272" type="direct"/>
            <relation name="UMR9189" active="#struct-120930" type="indirect"/>
            <relation name="UMR9189" active="#struct-374570" type="indirect"/>
            <relation name="UMR9189" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-366875" status="VALID">
          <idno type="IdRef">124635016</idno>
          <idno type="ISNI">0000000122959843</idno>
          <idno type="ROR">https://ror.org/036x5ad56</idno>
          <idno type="Wikidata">Q59668</idno>
          <orgName>Université du Luxembourg = University of Luxembourg = Universität Luxemburg</orgName>
          <orgName type="acronym">uni.lu</orgName>
          <date type="start">2003-01-01</date>
          <desc>
            <address>
              <addrLine>Université du Luxembourg [Siège] – 2, place de l’Université – L-4365 Esch-sur-Alzette – Luxembourg</addrLine>
              <country key="LU"/>
            </address>
            <ref type="url">http://wwwfr.uni.lu/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-120930" status="VALID">
          <idno type="IdRef">256304629</idno>
          <idno type="ISNI">0000000122034461</idno>
          <idno type="ROR">https://ror.org/01x441g73</idno>
          <orgName>Centrale Lille</orgName>
          <desc>
            <address>
              <addrLine>École Centrale de Lille - Cité Scientifique - CS 20048 59651 Villeneuve d'Ascq Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://centralelille.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="laboratory" xml:id="struct-104752" status="VALID">
          <idno type="RNSR">200818245B</idno>
          <idno type="ROR">https://ror.org/04eej9726</idno>
          <orgName>Centre Inria de l'Université de Lille</orgName>
          <desc>
            <address>
              <addrLine>Parc Scientifique de la Haute Borne 40, avenue Halley Bât.A, Park Plaza 59650 Villeneuve d'Ascq</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/lille/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="anrProject" xml:id="projanr-72291" status="VALID">
          <idno type="anr">ANR-22-CE46-0011</idno>
          <orgName>UltraBO</orgName>
          <desc>Calcul ultra-scale pour la résolution de problèmes d'optimisation de grande taille</desc>
          <date type="start">2022</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>