{
  "schema_version": "0.1.0",
  "record_type": "research-topic",
  "topic_id": "multicore-systems",
  "label": "Multicore Systems",
  "title": "Multicore Systems Performance Research",
  "description": "Research papers on multicore execution, thread interactions, scheduling, contention, and performance diagnosis.",
  "introduction": "This topic groups research on performance behavior in multicore and parallel systems. The records address thread scheduling, synchronization, resource contention, execution paths, waiting dependencies, and system-level evidence for explaining variation across cores and workloads.",
  "aliases": [
    "multi-core systems",
    "parallel execution analysis",
    "multicore performance"
  ],
  "search_terms": [
    "multicore systems",
    "multi-core performance",
    "thread contention",
    "parallel execution",
    "scheduling analysis"
  ],
  "related_topics": [
    "kernel-tracing",
    "performance-analysis",
    "resource-analysis",
    "trace-analysis",
    "root-cause-analysis"
  ],
  "canonical_url": "https://threadslab.org/research-publications/topics/multicore-systems.html",
  "paper_count": 9,
  "papers": [
    {
      "paper_id": "execution-trace-model-verification-multicore",
      "title": "Execution trace-based model verification to analyze multicore and real-time systems",
      "year": 2022,
      "authors": [
        "Raphaël Beamonte",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/execution-trace-model-verification-multicore/",
      "canonical_source_url": "https://doi.org/10.1002/cpe.6974",
      "core_contribution": "The paper combines model-based quantitative constraints with user-space and kernel execution traces to automatically identify likely causes of real-time and multicore constraint violations.",
      "tags": [
        "system-tracing",
        "kernel-tracing",
        "multicore-systems",
        "trace-analysis",
        "root-cause-analysis",
        "lttng"
      ],
      "keywords": [
        "model-based constraints",
        "execution tracing",
        "user-space traces",
        "kernel traces",
        "LTTng",
        "LTTng-UST",
        "Common Trace Format",
        "Trace Compass",
        "reservoir sampling",
        "critical-path analysis",
        "JACK2",
        "cyclictest",
        "priority inversion",
        "CPUTop"
      ]
    },
    {
      "paper_id": "performance-evaluation-multithread-execution-paths",
      "title": "Performance Evaluation of Complex Multi-Thread Applications Through Execution Path Analysis",
      "year": 2022,
      "authors": [
        "Majid Rezazadeh",
        "Naser Ezzati-Jivan",
        "Seyed Vahid Azhari",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/performance-evaluation-multithread-execution-paths/",
      "canonical_source_url": "https://doi.org/10.1016/j.peva.2022.102289",
      "core_contribution": "The paper unifies Chromium user-space events with Linux kernel scheduling and resource events to analyze execution paths and localize sporadic latency in a complex multithreaded application.",
      "tags": [
        "performance-analysis",
        "trace-analysis",
        "multicore-systems",
        "performance-engineering"
      ],
      "keywords": [
        "multi-thread applications",
        "execution paths",
        "performance evaluation",
        "thread behavior"
      ]
    },
    {
      "paper_id": "model-based-constraints-execution-tracing",
      "title": "Automated Generation of Model-Based Constraints for Common Multi-core and Real-Time Applications Using Execution Tracing",
      "year": 2021,
      "authors": [
        "Raphael Beamonte",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/model-based-constraints-execution-tracing/",
      "canonical_source_url": "https://doi.org/10.1007/s10766-020-00689-5",
      "core_contribution": "The paper automatically builds an approximate workflow model and adaptive quantitative constraints from user-space and kernel execution traces, reducing manual model construction for real-time and multicore diagnosis.",
      "tags": [
        "system-tracing",
        "multicore-systems",
        "trace-analysis",
        "performance-analysis",
        "lttng"
      ],
      "keywords": [
        "model-based constraints",
        "execution tracing",
        "multi-core systems",
        "real-time applications",
        "constraint generation",
        "LTTng",
        "Trace Compass",
        "cyclictest",
        "JACK2",
        "wakelock"
      ]
    },
    {
      "paper_id": "distributed-architecture-for-an-integrated-development-environment-large-trace-analysis-and-visu",
      "title": "Distributed Architecture for an Integrated Development Environment, Large Trace Analysis, and Visualization",
      "year": 2021,
      "authors": [
        "Yonni Chen Kuang Piao",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/distributed-architecture-for-an-integrated-development-environment-large-trace-analysis-and-visu/",
      "canonical_source_url": "https://doi.org/10.3390/s21165560",
      "core_contribution": "The paper presents a modular client-server architecture for large-trace storage, analysis, and visualization inside an integrated development environment.",
      "tags": [
        "system-tracing",
        "trace-analysis",
        "observability",
        "performance-optimization",
        "multicore-systems"
      ],
      "keywords": [
        "distributed architecture",
        "Trace Compass",
        "TraceScape",
        "LTTng 2.10.3",
        "Trace Analysis Server Protocol",
        "TASP",
        "Protobuf",
        "GZip JSON",
        "large traces",
        "state models",
        "trace visualization",
        "PixiJS",
        "Chart.js",
        "HighCharts"
      ]
    },
    {
      "paper_id": "system-execution-path-profiling-hardware-counters",
      "title": "System Execution Path Profiling Using Hardware Performance Counters",
      "year": 2021,
      "authors": [
        "Francis Giraldeau",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/system-execution-path-profiling-hardware-counters/",
      "canonical_source_url": "https://doi.org/10.1109/SYSCON48628.2021.9447121",
      "core_contribution": "The work bridges kernel-level hardware-counter sampling and user-space interpreter state so execution-path profiling can attribute performance evidence to interpreted code.",
      "tags": [
        "performance-analysis",
        "resource-analysis",
        "multicore-systems",
        "system-tracing"
      ],
      "keywords": [
        "execution paths",
        "hardware performance counters",
        "critical-path profiling",
        "CPython",
        "PyPMU",
        "Linux perf",
        "perf NMI",
        "LTTng-UST",
        "libunwind",
        "sampling",
        "SysCon 2021"
      ]
    },
    {
      "paper_id": "depgraph",
      "title": "DepGraph: Localizing Performance Bottlenecks in Multi-Core Applications Using Waiting Dependency Graphs and Software Tracing",
      "year": 2020,
      "authors": [
        "Naser Ezzati-Jivan",
        "Quentin Fournier",
        "Michel R. Dagenais",
        "Abdelwahab Hamou-Lhadj"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/depgraph/",
      "canonical_source_url": "https://doi.org/10.1109/SCAM51674.2020.00022",
      "core_contribution": "DepGraph uses system-level tracing to expose the waiting dependencies that divide a task's execution time across threads and hardware resources.",
      "tags": [
        "kernel-tracing",
        "performance-analysis",
        "root-cause-analysis",
        "multicore-systems"
      ],
      "keywords": [
        "waiting dependency graph",
        "system-level tracing",
        "blocking dependencies",
        "performance bottlenecks",
        "thread-resource interactions"
      ]
    },
    {
      "paper_id": "efficient-trace-analysis-parallelization",
      "title": "Efficient Methods for Trace Analysis Parallelization",
      "year": 2019,
      "authors": [
        "Fabien Reumont-Locke",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/efficient-trace-analysis-parallelization/",
      "canonical_source_url": "https://doi.org/10.1007/s10766-019-00631-4",
      "core_contribution": "The paper partitions Common Trace Format streams into balanced workloads, resolves cross-chunk state dependencies, and parallelizes stateful trace analyses with low synchronization cost.",
      "tags": [
        "trace-analysis",
        "performance-engineering",
        "multicore-systems",
        "performance-optimization"
      ],
      "keywords": [
        "trace analysis",
        "parallelization",
        "analysis scalability",
        "multicore processing",
        "CTF",
        "Babeltrace",
        "LTTng",
        "parallel efficiency",
        "State History Tree"
      ]
    },
    {
      "paper_id": "enhanced-state-history-tree-esht-a-stateful-data-structure-for-analysis-of-highly-parallel-syste",
      "title": "Enhanced State History Tree (eSHT): A Stateful Data Structure for Analysis of Highly Parallel System Traces",
      "year": 2016,
      "authors": [
        "Loic Prieur-Drevon",
        "Raphael Beamonte",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/enhanced-state-history-tree-esht-a-stateful-data-structure-for-analysis-of-highly-parallel-syste/",
      "canonical_source_url": "https://doi.org/10.1109/BigDataCongress.2016.19",
      "core_contribution": "eSHT redesigns the State History Tree to store and query highly parallel trace intervals more compactly and with shallower trees.",
      "tags": [
        "kernel-tracing",
        "trace-analysis",
        "performance-optimization",
        "multicore-systems",
        "resource-analysis"
      ],
      "keywords": [
        "Enhanced State History Tree",
        "eSHT",
        "State History Tree",
        "interval data",
        "external-memory indexing",
        "LTTng 2.7.0",
        "Trace Compass",
        "Linux kernel 4.3.0",
        "parallel traces",
        "node fill",
        "tree depth",
        "query optimization"
      ]
    },
    {
      "paper_id": "efficient-analysis-multi-core-system-tracing-data",
      "title": "An Efficient Analysis Approach for Multi-Core System Tracing Data",
      "year": 2012,
      "authors": [
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/efficient-analysis-multi-core-system-tracing-data/",
      "canonical_source_url": "https://doi.org/10.2316/P.2012.790-053",
      "core_contribution": "The paper introduces a stateful trace-abstraction architecture that shares modeled system state and intermediate computation across concurrent patterns to reduce the cost of analyzing large Linux kernel traces.",
      "tags": [
        "kernel-tracing",
        "lttng",
        "trace-analysis",
        "trace-abstraction",
        "trace-filtering",
        "performance-analysis",
        "multicore-systems"
      ],
      "keywords": [
        "multi-core tracing",
        "LTTng",
        "Linux kernel 2.6.38.6",
        "stateful trace analysis",
        "trace abstraction",
        "EventMapper",
        "modeled state",
        "semantic events",
        "synthetic event generation",
        "State Machine Language",
        "pattern library",
        "partial trace abstraction",
        "SYN flood",
        "fork bomb",
        "kernel trace",
        "Java trace analyzer",
        "computation sharing",
        "storage efficiency"
      ]
    }
  ]
}
