{
  "schema_version": "0.6.0",
  "paper_id": "multilevel-trace-lock-contention",
  "page_url": "https://naser.github.io/research-publications/papers/multilevel-trace-lock-contention/",
  "title": "Multi-Level Execution Trace Based Lock Contention Analysis",
  "title_variants": [],
  "authors": [
    "Majid Rezazadeh",
    "Naser Ezzati-Jivan",
    "Evan Galea",
    "Michel R. Dagenais"
  ],
  "author_details": [
    {
      "name": "Majid Rezazadeh",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/45/10661.html"
    },
    {
      "name": "Naser Ezzati-Jivan",
      "orcid": "https://orcid.org/0000-0003-1435-6297",
      "profile_url": "https://naser.github.io/"
    },
    {
      "name": "Evan Galea",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/282/7650.html"
    },
    {
      "name": "Michel R. Dagenais",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/60/309.html"
    }
  ],
  "publication": {
    "year": 2020,
    "venue": "IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)",
    "type": "conference paper",
    "publication_date": "2020-10",
    "online_date": null,
    "print_date": "2020-10",
    "volume": null,
    "issue": null,
    "pages": "177-182",
    "article_number": null,
    "publisher": "IEEE",
    "issn": [],
    "isbn": [],
    "crossref_type": "proceedings-article"
  },
  "publication_type": "research paper",
  "status": "published_metadata_record",
  "canonical_source_url": "https://doi.org/10.1109/issrew51248.2020.00068",
  "source_record_id": "multi-level-execution-trace-based-lock-contention-analysis-15ef9737b9",
  "identifiers": {
    "doi": "10.1109/issrew51248.2020.00068"
  },
  "abstract": null,
  "abstract_source": "Multi-Level Lock Contention published-paper PDF reviewed on 2026-08-06; abstract not reproduced because reuse permission for the publisher version was not established.",
  "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 extends critical-path analysis across kernel and user-space lock events so contention from futexes, spinlocks, semaphores, and other synchronization mechanisms can be diagnosed without recompiling the application.",
  "evidence_level": "metadata-or-abstract-reviewed",
  "evidence": {
    "source_basis": "metadata-only",
    "coverage": "bibliographic metadata",
    "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.1109/issrew51248.2020.00068"
      },
      {
        "note": "author identity matched to Naser Ezzati-Jivan in the local research catalog"
      },
      {
        "note": "Lock-contention PDF pp. 1-4: LTTng 2.10, Trace Compass 4, LD_PRELOAD Pthreads wrappers, event sets, state system, graph, and active-path algorithm"
      },
      {
        "note": "Lock-contention PDF pp. 4-6: visualization views, C++/Pthreads overhead, Apache/OPcache case, and analysis boundary"
      },
      {
        "note": "local lock-contention PDF hash verified in pdf-evidence/notes/multilevel-trace-lock-contention.md and pdf-evidence/extraction-manifest.json"
      }
    ]
  },
  "summary": {
    "core_contribution": "The paper extends critical-path analysis across kernel and user-space lock events so contention from futexes, spinlocks, semaphores, and other synchronization mechanisms can be diagnosed without recompiling the application.",
    "problem": "Kernel-only analysis misses locks implemented in user space, while source-dependent tools are difficult to apply to large multi-threaded applications and cannot provide a unified view of cross-level dependencies.",
    "method": "LTTng 2.10 and Trace Compass 4 collect kernel futex events and user-space Pthreads wrapper events injected with LD_PRELOAD. The method maps events to state intervals in a tree-based state system, constructs a sparse execution graph with horizontal running edges and vertical blocking edges, and recursively replaces waiting edges with waking-thread edges to extract a multi-level active path. Wait-block, flame-graph, critical-flow, and state views expose the result.",
    "findings": "A C++ Pthreads evaluation covers spinlock and semaphore contention. User-space lock-event tracing adds less than 0.7% execution-time overhead; enabling all kernel events can impose up to 25%, while the minimal event set for lock analysis is reported at about 7%. In Apache, the method isolates user-space file-lock waits and connects anomalous latency to OPcache shared-cache contention during concurrent script compilation.",
    "limitations": "The evidence covers C++ and Apache/PHP cases and shows that kernel overhead is highly event-set dependent; it does not establish broad language, workload, or distributed-deployment generalization. The reviewed conclusion does not specify a concrete author-stated future-work agenda.",
    "future_work": "No detailed future-work direction is stated in the reviewed conclusion; further extensions should be treated as proposed follow-up rather than as author claims."
  },
  "tags": [
    "kernel-tracing",
    "system-tracing",
    "performance-analysis",
    "root-cause-analysis"
  ],
  "keywords": [
    "lock contention",
    "multi-level execution traces",
    "LTTng 2.10",
    "Trace Compass 4",
    "LD_PRELOAD",
    "Pthreads",
    "futex",
    "spinlock",
    "semaphore",
    "critical path",
    "state system",
    "Apache",
    "OPcache"
  ],
  "versions": [
    {
      "id": "published-version",
      "label": "Published version",
      "relation": "version-of-record",
      "title": "Multi-Level Execution Trace Based Lock Contention Analysis",
      "url": "https://doi.org/10.1109/issrew51248.2020.00068",
      "pdf_url": null,
      "status": "published",
      "canonical_for_citation": true
    }
  ],
  "access": {
    "status": "published_metadata_record",
    "note": "The DOI is the canonical citation target; this catalog does not redistribute the publisher PDF.",
    "license": null
  },
  "resources": {
    "code": null,
    "data": null,
    "slides": null,
    "demo": null
  },
  "citation_guidance": {
    "when_to_cite": "Cite this paper when diagnosing lock contention across kernel and user-space synchronization mechanisms without recompiling the application.",
    "points": [
      "LTTng 2.10, Trace Compass 4, futex events, and LD_PRELOAD Pthreads wrappers.",
      "Multi-level execution graphs and active paths for mutex, spinlock, and semaphore dependencies.",
      "C++ and Apache/OPcache cases with minimal-tracing overhead and full-kernel-event overhead bounds."
    ],
    "canonical_version_id": "published-version"
  },
  "provenance": {
    "metadata_verified_on": "2026-08-09",
    "metadata_source": [
      "Crossref and local DBLP/venue metadata for 10.1109/issrew51248.2020.00068",
      "author identity matched to Naser Ezzati-Jivan in the local research catalog",
      "Lock-contention PDF pp. 1-4: LTTng 2.10, Trace Compass 4, LD_PRELOAD Pthreads wrappers, event sets, state system, graph, and active-path algorithm",
      "Lock-contention PDF pp. 4-6: visualization views, C++/Pthreads overhead, Apache/OPcache case, and analysis boundary",
      "local lock-contention PDF hash verified in pdf-evidence/notes/multilevel-trace-lock-contention.md and pdf-evidence/extraction-manifest.json"
    ],
    "summary_written_by": "AI-assisted",
    "summary_verified_by": "metadata/abstract-grounded catalog review; full-text review and 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"
  }
}
