p3d-dfs

Set of parallel Branch-and-Bound skeletons in Chapel targeting CPU-based systems at every scale.

https://github.com/guillaume-helbecque/p3d-dfs

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: wiley.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary

Keywords

algorithms depth-first-search distributed-computing multi-core optimization productivity-awareness tree-search
Last synced: 4 months ago · JSON representation ·

Repository

Set of parallel Branch-and-Bound skeletons in Chapel targeting CPU-based systems at every scale.

Basic Info
  • Host: GitHub
  • Owner: Guillaume-Helbecque
  • License: bsd-3-clause
  • Language: Chapel
  • Default Branch: main
  • Homepage:
  • Size: 5.98 MB
Statistics
  • Stars: 6
  • Watchers: 1
  • Forks: 2
  • Open Issues: 2
  • Releases: 3
Topics
algorithms depth-first-search distributed-computing multi-core optimization productivity-awareness tree-search
Created about 3 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

DOI

Productivity- and Performance-aware Parallel Distributed Depth-First Search (P3D-DFS)

Set of parallel Branch-and-Bound (B&B) skeletons in Chapel targeting CPU-based systems at every scale. This project aims to investigate the Partitioned Global Address Space (PGAS) programming model (as alternative to MPI+X) for implementing parallel optimization algorithms and to promote the extensibility of the approaches to make them accessible to the community.

The parallelization relies on the parallel tree exploration model, in which several CPU threads explore disjoint sub-spaces of solutions (branches of the B&B tree) in parallel. In this scheme, each CPU thread manages a separate pool of work in a Depth-First Search (DFS) order, and dynamic load balancing (work stealing) occurs to manage irregular trees. The efficient implementation of these mechanisms, as well as the genericity of the implementations, are managed by our high-level and highly parallel distBag data structure (also known as distBag_DFS or DistBag_DFS). The latter has been integrated into the Chapel language as the DistributedBag package module.

Prerequisites

Chapel >= 2.0 (tested with 2.5.0)

The chpl_config directory contains predefined shell scripts for downloading, configuring, and building the Chapel compiler from source.

Compilation and configuration options

./main.out {...}

where the available options are: - --mode: parallel execution mode - sequential: single-core execution, without parallel feature (default) - multicore: single-node multi-core execution - distributed: multi-node multi-core execution

  • --activeSet: compute and distribute an initial set of elements

  • --saveTime: save execution time in a file

  • -nl: number of Chapel's locales

    • any positive integer, typically the number of compute nodes
  • --help or -h: help message

Other problem-specific options are supported; see next section.

Supported problems

The B&B skeletons have already been tested on the following benchmark problems: - The Permutation Flowshop Scheduling problem (PFSP) - The 0/1-Knapsack problem - The Qubit Allocation problem - The Unbalanced Tree Search benchmark (UTS) - The N-Queens problem

Plug your own problem

To come...

Related publications

  1. G. Helbecque. PGAS-based Parallel Branch-and-Bound for Ultra-Scale GPU-powered Supercomputers. Ph.D. thesis. Université de Lille, Université du Luxembourg. 2025. URL: https://theses.fr/2025ULILB003.
  2. G. Helbecque, T. Carneiro, N. Melab, J. Gmys, P. Bouvry. PGAS Data Structure for Unbalanced Tree-Based Algorithms at Scale. Computational Science – ICCS 2024 (ICCS). vol 14834, 2024. DOI: 10.1007/978-3-031-63759-9_13.
  3. G. Helbecque, J. Gmys, N. Melab, T. Carneiro, P. Bouvry. Parallel distributed productivity-aware tree-search using Chapel. Concurrency Computation Practice Experience, 35(27):e7874, 2023. DOI: 10.1002/cpe.7874.
  4. G. Helbecque, J. Gmys, T. Carneiro, N. Melab, P. Bouvry. Towards a scalable load balancing for productivity-aware tree-search. The 10th Annual Chapel Implementers and Users Workshop (CHIUW), June 2023, online.
  5. G. Helbecque, J. Gmys, N. Melab, T. Carneiro, P. Bouvry. Productivity-aware Parallel Distributed Tree-Search for Exact Optimization. International Conference on Optimization and Learning (OLA), May 2023, Malaga, Spain.

Owner

  • Name: Guillaume Helbecque
  • Login: Guillaume-Helbecque
  • Kind: user
  • Location: Lille
  • Company: Université de Lille, CRIStAL

PhD student in Computer Science

Citation (CITATION.cff)

preferred-citation:
  type: article
  authors:
  - family-names: "Helbecque"
    given-names: "Guillaume"
  - family-names: "Gmys"
    given-names: "Jan"
  - family-names: "Melab"
    given-names: "Nouredine"
  - family-names: "Carneiro"
    given-names: "Tiago"
  - family-names: "Bouvry"
    given-names: "Pascal"
  doi: "10.1002/cpe.7874"
  journal: "Concurrency and Computation: Practice and Experience"
  title: "Parallel distributed productivity-aware tree-search using Chapel"
  issue: 27
  volume: 35
  year: 2023

GitHub Events

Total
  • Release event: 3
  • Watch event: 2
  • Delete event: 9
  • Issue comment event: 2
  • Push event: 100
  • Pull request review event: 3
  • Pull request review comment event: 2
  • Pull request event: 9
  • Fork event: 1
  • Create event: 15
Last Year
  • Release event: 3
  • Watch event: 2
  • Delete event: 9
  • Issue comment event: 2
  • Push event: 100
  • Pull request review event: 3
  • Pull request review comment event: 2
  • Pull request event: 9
  • Fork event: 1
  • Create event: 15

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • Guillaume-Helbecque (4)
  • Vorokhalice (1)
Top Labels
Issue Labels
Pull Request Labels
documentation (2) new benchmark (1) enhancement (1)