{
  "schema_version": "0.1.0",
  "record_type": "research-topic",
  "topic_id": "performance-engineering",
  "label": "Performance Engineering",
  "title": "Software Performance Engineering Research",
  "description": "Research papers on performance engineering, measurement, optimization, workload behavior, and systems efficiency.",
  "introduction": "This topic groups research concerned with measuring, explaining, and improving software-system performance. It includes instrumentation, workload characterization, antipattern detection, resource analysis, optimization, and evidence-based performance decisions across operating systems, applications, and services.",
  "aliases": [
    "software performance engineering",
    "performance optimization research"
  ],
  "search_terms": [
    "performance engineering",
    "software optimization",
    "performance measurement",
    "systems efficiency"
  ],
  "related_topics": [
    "performance-analysis",
    "performance-optimization",
    "resource-analysis",
    "observability",
    "latency-analysis"
  ],
  "canonical_url": "https://threadslab.org/research-publications/topics/performance-engineering.html",
  "paper_count": 16,
  "papers": [
    {
      "paper_id": "optimization-transformers-llms",
      "title": "Optimization Strategies for Enhancing Resource Efficiency in Transformers & Large Language Models",
      "year": 2025,
      "authors": [
        "Tom Wallace",
        "Beatrice M. Ombuki-Berman",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/optimization-transformers-llms/",
      "canonical_source_url": "https://doi.org/10.1145/3676151.3719379",
      "core_contribution": "The paper compares compression and optimization strategies for reducing the resource cost of Transformer and large-language-model workloads while retaining useful accuracy.",
      "tags": [
        "llm-efficiency",
        "energy-efficiency",
        "model-compression",
        "performance-engineering"
      ],
      "keywords": [
        "transformers",
        "quantization",
        "knowledge distillation",
        "pruning",
        "4-bit quantization",
        "Minitron",
        "sustainable AI"
      ]
    },
    {
      "paper_id": "gnn-link-prediction-microservices",
      "title": "Utilizing Graph Neural Networks for Effective Link Prediction in Microservice Architectures",
      "year": 2025,
      "authors": [
        "Ghazal Khodabandeh",
        "Alireza Ezaz",
        "Majid Babaei",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/gnn-link-prediction-microservices/",
      "canonical_source_url": "https://doi.org/10.1145/3676151.3719362",
      "core_contribution": "The paper applies graph attention networks to predict future interactions in microservice call graphs, supporting proactive monitoring.",
      "tags": [
        "microservices",
        "graph-neural-networks",
        "performance-engineering",
        "predictive-monitoring"
      ],
      "keywords": [
        "microservice call graphs",
        "link prediction",
        "graph attention networks",
        "temporal segmentation",
        "negative sampling",
        "adaptive monitoring"
      ]
    },
    {
      "paper_id": "an-adaptive-logging-system-als-enhancing-software-logging-with-reinforcement-learning-techniques",
      "title": "An Adaptive Logging System (ALS): Enhancing Software Logging with Reinforcement Learning Techniques",
      "year": 2024,
      "authors": [
        "Amirmahdi Khosravi Tabrizi",
        "Naser Ezzati-Jivan",
        "Francois Tetreault"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/an-adaptive-logging-system-als-enhancing-software-logging-with-reinforcement-learning-techniques/",
      "canonical_source_url": "https://doi.org/10.1145/3629526.3645033",
      "core_contribution": "ALS uses source-code features and reinforcement learning to recommend which Python functions to log and which log levels to use for performance-bug diagnosis.",
      "tags": [
        "observability",
        "performance-engineering",
        "machine-learning",
        "trace-reduction"
      ],
      "keywords": [
        "adaptive logging",
        "ALS",
        "reinforcement learning",
        "log placement",
        "log level selection",
        "performance bugs",
        "Python AST",
        "Stable-Baselines",
        "DQN",
        "A2C",
        "PPO",
        "Apache",
        "Django",
        "cross-project evaluation",
        "Ciena",
        "source-code features"
      ]
    },
    {
      "paper_id": "analyzing-performance-variability-in-alibaba-s-microservice-architecture-a-critical-path-based-p",
      "title": "Analyzing Performance Variability in Alibaba's Microservice Architecture: A Critical-Path-Based Perspective",
      "year": 2024,
      "authors": [
        "Alireza Ezaz",
        "Ghazal Khodabandeh",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/analyzing-performance-variability-in-alibaba-s-microservice-architecture-a-critical-path-based-p/",
      "canonical_source_url": "https://doi.org/10.1145/3629527.3651845",
      "core_contribution": "The paper identifies response-time variability in Alibaba microservice traces through critical-path extraction and variability analysis of service interactions.",
      "tags": [
        "microservices",
        "performance-analysis",
        "latency-analysis",
        "observability",
        "performance-engineering"
      ],
      "keywords": [
        "Alibaba microservice architecture",
        "critical path",
        "distributed traces",
        "response-time variability",
        "critical interactions",
        "microservice performance",
        "adaptive tracing",
        "cluster-trace-microservices-v2022",
        "mean response time",
        "standard deviation"
      ]
    },
    {
      "paper_id": "enhancing-performance-engineering-with-kernel-events",
      "title": "Enhancing empirical software performance engineering research with kernel-level events: A comprehensive system tracing approach",
      "year": 2024,
      "authors": [
        "Morteza Noferesti",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/enhancing-performance-engineering-with-kernel-events/",
      "canonical_source_url": "https://doi.org/10.1016/j.jss.2024.112117",
      "core_contribution": "The paper releases a reusable Linux kernel-event and system-call artifact with controlled application workloads, injected resource noise, and analysis scenarios for software performance engineering.",
      "tags": [
        "kernel-tracing",
        "system-tracing",
        "performance-engineering",
        "observability",
        "anomaly-detection"
      ],
      "keywords": [
        "LTTng",
        "Linux kernel events",
        "system calls",
        "kernel tracepoints",
        "Elasticsearch",
        "Kibana",
        "IoT dataset",
        "stress-ng",
        "CPU noise",
        "I/O noise",
        "network noise",
        "memory noise",
        "software phase detection",
        "24,263,691 events"
      ]
    },
    {
      "paper_id": "identification-and-classification-of-jmh-microbenchmark-states-using-time-series-analysis",
      "title": "Identification and Classification of JMH Microbenchmark States using Time Series Analysis",
      "year": 2023,
      "authors": [
        "Tom Wallace",
        "Beatrice M. Ombuki-Berman",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/identification-and-classification-of-jmh-microbenchmark-states-using-time-series-analysis/",
      "canonical_source_url": "https://doi.org/10.1145/3578245.3584694",
      "core_contribution": "The paper uses time-series analysis to identify and classify warmup, steady-state, and anomalous states in Java JMH microbenchmarks.",
      "tags": [
        "performance-analysis",
        "performance-engineering",
        "anomaly-detection",
        "machine-learning"
      ],
      "keywords": [
        "Java Microbenchmark Harness",
        "JMH",
        "benchmark states",
        "steady state",
        "warmup",
        "Matrix Profile",
        "motifs",
        "discords",
        "PELT",
        "change points",
        "Stumpy",
        "Ruptures",
        "time-series analysis"
      ]
    },
    {
      "paper_id": "software-mining-investigating-correlation-between-source-code-features-and-michrobenchmark-s-ste",
      "title": "Software Mining - Investigating Correlation between Source Code Features and Michrobenchmark's Steady State",
      "year": 2023,
      "authors": [
        "Amirmahdi Khosravi Tabrizi",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/software-mining-investigating-correlation-between-source-code-features-and-michrobenchmark-s-ste/",
      "canonical_source_url": "https://doi.org/10.1145/3578245.3584695",
      "core_contribution": "The study examines whether static source-code features are associated with the steady-state behavior of Java microbenchmarks during JVM warmup.",
      "tags": [
        "performance-analysis",
        "performance-engineering",
        "machine-learning"
      ],
      "keywords": [
        "Java Microbenchmark Harness",
        "JMH",
        "srcML",
        "Lizard",
        "Apriori",
        "Java microbenchmarks",
        "JVM warmup",
        "steady state",
        "source-code features",
        "BMNFC",
        "BMLOC",
        "DNNSF"
      ]
    },
    {
      "paper_id": "uncovering-steady-state-executions-in-java-microbenchmarking-with-call-graph-analysis",
      "title": "Uncovering Steady State Executions in Java Microbenchmarking with Call Graph Analysis",
      "year": 2023,
      "authors": [
        "Madeline Janecek",
        "Sneh Patel",
        "Naser Ezzati-Jivan"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/uncovering-steady-state-executions-in-java-microbenchmarking-with-call-graph-analysis/",
      "canonical_source_url": "https://doi.org/10.1145/3578245.3584689",
      "core_contribution": "The paper uses sampled call graphs and machine learning to distinguish warmup from steady-state executions in Java microbenchmarks.",
      "tags": [
        "performance-analysis",
        "performance-engineering",
        "machine-learning",
        "trace-analysis"
      ],
      "keywords": [
        "Java",
        "JMH",
        "microbenchmarking",
        "steady-state detection",
        "warmup",
        "call-graph analysis",
        "Perf",
        "Graph2Vec",
        "change-point detection",
        "PELT",
        "Random Forest",
        "SVC",
        "flame graphs"
      ]
    },
    {
      "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": "cloud-platform-performance-multilevel-tracing",
      "title": "Cloud Platform Performance Evaluation Using Multi-level Execution Tracing",
      "year": 2020,
      "authors": [
        "Yves J. Bationo",
        "Naser Ezzati-Jivan",
        "Evan Galea",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/cloud-platform-performance-multilevel-tracing/",
      "canonical_source_url": "https://doi.org/10.1109/ithings-greencom-cpscom-smartdata-cybermatics50389.2020.00063",
      "core_contribution": "The paper correlates LTTng traces across OpenStack services, QEMU/KVM, network components, and host kernels to diagnose cloud-platform performance problems.",
      "tags": [
        "system-tracing",
        "performance-analysis",
        "performance-engineering",
        "resource-analysis"
      ],
      "keywords": [
        "cloud platforms",
        "multi-level execution tracing",
        "LTTng",
        "LTTng-UST",
        "OpenStack Nova",
        "Neutron",
        "QEMU",
        "KVM",
        "Open vSwitch",
        "Trace Compass",
        "live VM migration",
        "preemption",
        "VM interference"
      ]
    },
    {
      "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": "hardware-assisted-software-event-tracing",
      "title": "Hardware-assisted software event tracing",
      "year": 2017,
      "authors": [
        "Adrien Vergé",
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/hardware-assisted-software-event-tracing/",
      "canonical_source_url": "https://doi.org/10.1002/cpe.4069",
      "core_contribution": "The paper designs and evaluates hardware-assisted alternatives to LTTng-UST for software-event and execution-path tracing, including STM/ETB, ETM/ETB, and a modified Perf/BTS path.",
      "tags": [
        "system-tracing",
        "kernel-tracing",
        "trace-analysis",
        "performance-engineering"
      ],
      "keywords": [
        "hardware-assisted tracing",
        "software events",
        "event collection",
        "trace overhead",
        "ARM CoreSight",
        "STM",
        "ETM",
        "ETB",
        "Intel BTS",
        "Perf",
        "LTTng-UST"
      ]
    },
    {
      "paper_id": "cube-data-model-for-multilevel-statistics-computation-of-live-execution-traces",
      "title": "Cube data model for multilevel statistics computation of live execution traces",
      "year": 2015,
      "authors": [
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/cube-data-model-for-multilevel-statistics-computation-of-live-execution-traces/",
      "canonical_source_url": "https://doi.org/10.1002/cpe.3272",
      "core_contribution": "The paper proposes a multilevel data-cube model for computing statistics over live execution traces across several time scales.",
      "tags": [
        "kernel-tracing",
        "trace-analysis",
        "performance-analysis",
        "resource-analysis",
        "performance-engineering"
      ],
      "keywords": [
        "data cube",
        "stream cube",
        "live trace statistics",
        "LTTng",
        "State History Tree",
        "tilted time frame",
        "multilevel analysis",
        "roll-up",
        "drill-down",
        "range query",
        "sliding window",
        "cuboid materialization"
      ]
    },
    {
      "paper_id": "a-framework-to-compute-statistics-of-system-parameters-from-very-large-trace-files",
      "title": "A framework to compute statistics of system parameters from very large trace files",
      "year": 2013,
      "authors": [
        "Naser Ezzati-Jivan",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/a-framework-to-compute-statistics-of-system-parameters-from-very-large-trace-files/",
      "canonical_source_url": "https://doi.org/10.1145/2433140.2433151",
      "core_contribution": "The framework computes system-parameter statistics for arbitrary intervals and resource hierarchies from very large traces using a disk-resident history structure and controlled granularity.",
      "tags": [
        "kernel-tracing",
        "trace-analysis",
        "performance-analysis",
        "resource-analysis",
        "performance-engineering"
      ],
      "keywords": [
        "trace statistics",
        "LTTng",
        "Linux kernel 2.6.38.6",
        "disk-resident interval tree",
        "history tree",
        "granularity degree",
        "linear interpolation",
        "hierarchical query",
        "large-scale tracing",
        "online analysis",
        "CPU usage",
        "I/O throughput"
      ]
    },
    {
      "paper_id": "state-history-tree-an-incremental-disk-based-data-structure-for-very-large-interval-data",
      "title": "State History Tree: An Incremental Disk-Based Data Structure for Very Large Interval Data",
      "year": 2013,
      "authors": [
        "Alexandre Montplaisir-Goncalves",
        "Naser Ezzati-Jivan",
        "Florian Wininger",
        "Michel R. Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/state-history-tree-an-incremental-disk-based-data-structure-for-very-large-interval-data/",
      "canonical_source_url": "https://doi.org/10.1109/SocialCom.2013.107",
      "core_contribution": "The paper presents a disk-oriented State History Tree that stores very large, time-ordered trace intervals without repeated node rebalancing.",
      "tags": [
        "kernel-tracing",
        "trace-analysis",
        "performance-engineering",
        "resource-analysis"
      ],
      "keywords": [
        "State History Tree",
        "disk-based interval data",
        "streaming interval data",
        "time-ordered intervals",
        "LTTng",
        "Eclipse Tracing and Monitoring Framework",
        "Linux Tools Project",
        "Java",
        "R-tree",
        "PostgreSQL/PostGIS",
        "full query",
        "ad-hoc query"
      ]
    },
    {
      "paper_id": "high-performance-internet-connection-filtering-in-kernel",
      "title": "High Performance Internet Connection Filtering through an In-Kernel Architecture",
      "year": 2011,
      "authors": [
        "Naser Ezzati Jivan",
        "Alireza Shameli Sendi",
        "Naser Nematbakhsh",
        "Michel Dagenais"
      ],
      "page_url": "https://threadslab.org/research-publications/papers/high-performance-internet-connection-filtering-in-kernel/",
      "canonical_source_url": "https://publications.polymtl.ca/16917/",
      "core_contribution": "The paper moves part of an application proxy into the kernel to reduce context switches and unnecessary data copies during connection filtering.",
      "tags": [
        "performance-engineering",
        "performance-optimization",
        "resource-analysis"
      ],
      "keywords": [
        "in-kernel proxy",
        "connection filtering",
        "Fire Bench",
        "SPECWeb2009",
        "context switches",
        "data copies",
        "HTTP proxy",
        "FTP",
        "TELNET",
        "kernel architecture"
      ]
    }
  ]
}
