{
  "schema_version": "0.6.0",
  "paper_id": "dynamic-trace-sampling-memory-usage",
  "page_url": "https://naser.github.io/research-publications/papers/dynamic-trace-sampling-memory-usage/",
  "title": "Dynamic trace-based sampling algorithm for memory usage tracking of enterprise applications",
  "title_variants": [],
  "authors": [
    "Houssem Daoud",
    "Naser Ezzati-Jivan",
    "Michel R. Dagenais"
  ],
  "author_details": [
    {
      "name": "Houssem Daoud",
      "orcid": null,
      "profile_url": "https://dblp.org/pid/208/0646.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": 2017,
    "venue": "IEEE High Performance Extreme Computing Conference (HPEC)",
    "type": "conference paper",
    "publication_date": "2017-09",
    "online_date": null,
    "print_date": "2017-09",
    "volume": null,
    "issue": null,
    "pages": "1-7",
    "article_number": null,
    "publisher": "IEEE",
    "issn": [],
    "isbn": [],
    "crossref_type": "proceedings-article"
  },
  "publication_type": "research paper",
  "status": "published_with_public_full_text",
  "canonical_source_url": "https://doi.org/10.1109/hpec.2017.8091061",
  "source_record_id": "dynamic-trace-based-sampling-algorithm-for-memory-usage-tracking-of-enterprise-applications-ce768fba3e",
  "identifiers": {
    "doi": "10.1109/hpec.2017.8091061"
  },
  "abstract": null,
  "abstract_source": "No public abstract captured in the current 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 introduces a kernel-resident dynamic sampler that tracks virtual and physical memory usage while reducing the event volume generated by high-frequency memory activity.",
  "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": "DBLP/DOI bibliographic record for 10.1109/hpec.2017.8091061"
      },
      {
        "note": "author identity matched to Naser Ezzati-Jivan in the local research catalog"
      },
      {
        "note": "Dynamic sampling PDF pp. 1-5: problem, LTTng 2.8, kernel-module design, dynamic policy, and environment"
      },
      {
        "note": "Dynamic sampling PDF pp. 5-7: benchmark, Firefox/Totem comparisons, overhead, event-count reduction, and correctness"
      },
      {
        "note": "Dynamic sampling PDF p. 7: stated extension to other high-frequency kernel metrics"
      },
      {
        "note": "local PDF hash verified in pdf-evidence/extraction-manifest.json"
      }
    ]
  },
  "summary": {
    "core_contribution": "The paper introduces a kernel-resident dynamic sampler that tracks virtual and physical memory usage while reducing the event volume generated by high-frequency memory activity.",
    "problem": "Full memory-event tracing can generate excessive event volume and perturb enterprise applications, while coarse periodic sampling can miss important memory changes.",
    "method": "A Linux kernel module dynamically samples virtual and physical memory using a two-dimensional timer/variability policy. It observes allocation-related state and physical-page allocation/free events, maintains concurrent state with an RCU hash map and atomic values, and exposes configuration through /proc.",
    "findings": "With a 10 ms/10 MB policy, dynamic sampling tracks the Massif memory curves for the Firefox, Totem, and synthetic workloads while emitting far fewer events than all-event tracing. The authors report substantially lower runtime overhead than Massif and large event-volume reductions.",
    "limitations": "The experiments use a synthetic buffer workload plus Firefox and a 10-second Totem video, with no numeric memory-error bound reported. Only one sampling configuration is emphasized, and the paper's prose claim of at most 1% overhead is not fully consistent with rounded table values.",
    "future_work": "Extend the dynamic sampler to network usage, disk I/O, and other high-frequency kernel events."
  },
  "tags": [
    "kernel-tracing",
    "resource-analysis",
    "performance-analysis",
    "trace-reduction"
  ],
  "keywords": [
    "memory usage",
    "dynamic sampling",
    "enterprise applications",
    "trace overhead",
    "LTTng",
    "kernel module",
    "Kprobes",
    "kmem_mm_page_alloc",
    "kmem_mm_page_free"
  ],
  "versions": [
    {
      "id": "published-version",
      "label": "Published version",
      "relation": "version-of-record",
      "title": "Dynamic trace-based sampling algorithm for memory usage tracking of enterprise applications",
      "url": "https://doi.org/10.1109/hpec.2017.8091061",
      "pdf_url": null,
      "status": "published",
      "canonical_for_citation": true
    },
    {
      "id": "public-full-text",
      "label": "Public full text",
      "relation": "source-record",
      "title": "Dynamic trace-based sampling algorithm for memory usage tracking of enterprise applications",
      "url": "https://publications.polymtl.ca/2979/1/2017_Daoud_Dynamic_trace-based_sampling_algorithm_memory.pdf",
      "pdf_url": "https://publications.polymtl.ca/2979/1/2017_Daoud_Dynamic_trace-based_sampling_algorithm_memory.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 a timer-plus-memory-variability policy that reduces memory-trace event volume without the full cost of Massif.",
    "points": [
      "For a timer-plus-memory-variability policy that reduces memory-trace event volume without the full cost of Massif.",
      "For the 5 GB/4 GB event-count reductions and the use of kmem page-allocation events as the all-event baseline.",
      "For a practical LTTng/Linux-kernel implementation of dynamic memory tracing with /proc configuration."
    ],
    "canonical_version_id": "published-version"
  },
  "provenance": {
    "metadata_verified_on": "2026-08-09",
    "metadata_source": [
      "DBLP/DOI bibliographic record for 10.1109/hpec.2017.8091061",
      "author identity matched to Naser Ezzati-Jivan in the local research catalog",
      "Dynamic sampling PDF pp. 1-5: problem, LTTng 2.8, kernel-module design, dynamic policy, and environment",
      "Dynamic sampling PDF pp. 5-7: benchmark, Firefox/Totem comparisons, overhead, event-count reduction, and correctness",
      "Dynamic sampling PDF p. 7: stated extension to other high-frequency kernel metrics",
      "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"
  }
}
