{
  "schema_version": "0.6.0",
  "paper_id": "heterogeneous-debugging-dynamic-tracing",
  "page_url": "https://naser.github.io/research-publications/papers/heterogeneous-debugging-dynamic-tracing/",
  "title": "Efficient Large-Scale Heterogeneous Debugging Using Dynamic Tracing",
  "title_variants": [],
  "authors": [
    "Didier Nadeau",
    "Naser Ezzati-Jivan",
    "Michel R. Dagenais"
  ],
  "author_details": [
    {
      "name": "Didier Nadeau",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/251/6888.html"
    },
    {
      "name": "Naser Ezzati-Jivan",
      "orcid": "https://orcid.org/0000-0003-1435-6297",
      "profile_url": "https://naser.github.io/"
    },
    {
      "name": "Michel R. Dagenais",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/60/309.html"
    }
  ],
  "publication": {
    "year": 2019,
    "venue": "Journal of Systems Architecture",
    "type": "journal article",
    "publication_date": "2019-09",
    "online_date": null,
    "print_date": "2019-09",
    "volume": "98",
    "issue": null,
    "pages": "346-360",
    "article_number": null,
    "publisher": "Elsevier BV",
    "issn": [
      "1383-7621"
    ],
    "isbn": [],
    "crossref_type": "journal-article"
  },
  "publication_type": "research paper",
  "status": "published_with_public_full_text",
  "canonical_source_url": "https://doi.org/10.1016/j.sysarc.2019.02.016",
  "source_record_id": "efficient-large-scale-heterogeneous-debugging-using-dynamic-tracing-5483c71860",
  "identifiers": {
    "doi": "10.1016/j.sysarc.2019.02.016"
  },
  "abstract": null,
  "abstract_source": "No public abstract captured in the current local catalog; summary limited to verified bibliographic metadata and the paper title.",
  "abstract_available": false,
  "scholar_eligibility": {
    "eligible": false,
    "basis": "not-eligible",
    "note": "The page is a discovery record; it does not claim Google Scholar article-host eligibility."
  },
  "description": "The paper redesigns GDB dynamic tracing around LTTng-UST and scalable trace views so multi-threaded CPU/GPU debugging remains usable on heterogeneous many-core systems.",
  "evidence_level": "full-text-reviewed",
  "evidence": {
    "source_basis": "full-text-reviewed",
    "coverage": "material paper sections",
    "summary_origin": "AI-assisted catalog editorial summary",
    "review_status": "catalog-reviewed; paper-author approval pending",
    "verified_on": "2026-08-09",
    "sources": [
      {
        "note": "Crossref and local DBLP/venue metadata for 10.1016/j.sysarc.2019.02.016"
      },
      {
        "note": "author identity matched to Naser Ezzati-Jivan in the local research catalog"
      },
      {
        "note": "Heterogeneous debugging PDF pp. 1-8: GDB/LTTng-UST architecture, trace buffering, views, filters, and GPU scope"
      },
      {
        "note": "Heterogeneous debugging PDF pp. 12-13: Fedora/Intel/AMD environment, pbzip2 workload, tracepoint count, and performance comparison"
      },
      {
        "note": "Heterogeneous debugging PDF p. 17: conclusion and reported 90% versus 3294% overhead comparison"
      },
      {
        "note": "local PDF hash verified in pdf-evidence/extraction-manifest.json"
      }
    ]
  },
  "summary": {
    "core_contribution": "The paper redesigns GDB dynamic tracing around LTTng-UST and scalable trace views so multi-threaded CPU/GPU debugging remains usable on heterogeneous many-core systems.",
    "problem": "Conventional debugger tracing serializes many threads through shared buffers and stop-the-world flushing, while heterogeneous CPU/GPU execution produces too many threads, waves, and call-stack events for a flat debugger UI.",
    "method": "Dynamically insert jump-pad instrumentation from GDB/GDBServer and transfer events through LTTng-UST per-core lock-free-style ring buffers without stopping the target during buffer transfer. Trace Compass aggregates CPU call stacks and provides hierarchical HSA GPU wave/grid views and filters.",
    "findings": "The proposed path scales substantially better than default GDB fast tracing on the pbzip2 workload, with much lower growth in tracing overhead as thread count increases. The UI supports focused CPU call-stack and GPU wave-level exploration.",
    "limitations": "Instrumentation has instruction-size/location constraints; filters still incur event/context-switch cost; GPU first-level grouping may require manual expansion; closed-source tools were excluded; the evaluation centers on pbzip2 and one GPU setup, with only informal feedback from three engineers rather than a controlled user study.",
    "future_work": "No dedicated future-work section is provided. The conclusion identifies a cautious next direction: remove the size limitation by replacing a function frame and instrumenting that frame."
  },
  "tags": [
    "system-tracing",
    "trace-analysis",
    "performance-analysis",
    "root-cause-analysis"
  ],
  "keywords": [
    "heterogeneous systems",
    "dynamic tracing",
    "large-scale debugging",
    "debugging efficiency",
    "GDB",
    "LTTng-UST",
    "Trace Compass",
    "ROCm-GDB",
    "GPU debugging",
    "pbzip2"
  ],
  "versions": [
    {
      "id": "published-version",
      "label": "Published version",
      "relation": "version-of-record",
      "title": "Efficient Large-Scale Heterogeneous Debugging Using Dynamic Tracing",
      "url": "https://doi.org/10.1016/j.sysarc.2019.02.016",
      "pdf_url": null,
      "status": "published",
      "canonical_for_citation": true
    },
    {
      "id": "public-full-text",
      "label": "Public full text",
      "relation": "source-record",
      "title": "Efficient Large-Scale Heterogeneous Debugging Using Dynamic Tracing",
      "url": "https://publications.polymtl.ca/3817/12/2019_Nadeau_Efficient_large-scale_heterogeneous_debugging_dynamic.pdf",
      "pdf_url": "https://publications.polymtl.ca/3817/12/2019_Nadeau_Efficient_large-scale_heterogeneous_debugging_dynamic.pdf",
      "status": "public_full_text",
      "canonical_for_citation": false
    }
  ],
  "access": {
    "status": "published_with_public_full_text",
    "note": "The DOI is the canonical citation target; the public full-text link is an external source and is not redistributed here.",
    "license": null
  },
  "resources": {
    "code": null,
    "data": null,
    "slides": null,
    "demo": null
  },
  "citation_guidance": {
    "when_to_cite": "Cite this paper when your work uses or compares combining dynamic GDB jump-pad instrumentation with per-core LTTng-UST buffers to avoid the default shared-buffer/flush bottleneck.",
    "points": [
      "For combining dynamic GDB jump-pad instrumentation with per-core LTTng-UST buffers to avoid the default shared-buffer/flush bottleneck.",
      "For the pbzip2 scaling result showing proposed tracing at about 90% overhead versus 3294% for the default path at 15 threads.",
      "For hierarchical CPU call-stack and HSA GPU grid/wave navigation in a heterogeneous debugging interface.",
      "For the practical limitations of x86-64 jump-pad placement and GPU event filtering under dynamic tracing."
    ],
    "canonical_version_id": "published-version"
  },
  "provenance": {
    "metadata_verified_on": "2026-08-09",
    "metadata_source": [
      "Crossref and local DBLP/venue metadata for 10.1016/j.sysarc.2019.02.016",
      "author identity matched to Naser Ezzati-Jivan in the local research catalog",
      "Heterogeneous debugging PDF pp. 1-8: GDB/LTTng-UST architecture, trace buffering, views, filters, and GPU scope",
      "Heterogeneous debugging PDF pp. 12-13: Fedora/Intel/AMD environment, pbzip2 workload, tracepoint count, and performance comparison",
      "Heterogeneous debugging PDF p. 17: conclusion and reported 90% versus 3294% overhead comparison",
      "local PDF hash verified in pdf-evidence/extraction-manifest.json"
    ],
    "summary_written_by": "AI-assisted",
    "summary_verified_by": "full-text-grounded catalog review; author approval pending",
    "linked_preprint_record": null,
    "author_order_note": null
  },
  "batch": {
    "phase": 2,
    "batch_label": "expanded forty-paper release",
    "status": "included_in_expanded_catalog",
    "selected_at": "2026-08-09"
  }
}
