arXiv Science⌕ Search

arXiv · 2611.05704

Memory-Access Profiling for Early Multicore Interference Awareness in Embedded Systems

Abstract

Applications executing on different multicore processors may interfere through shared resources. Such interference can introduce execution-time variability and complicate system integration, especially when applications that behave predictably in isolation are co-scheduled. This paper presents a profiling framework for early multicore interference awareness. The proposed approach captures source-level memory-operation traces from C applications with limited source-code modification and combines them with architectural parameters of the target platform. The framework maps memory accesses to cache sets and memory blocks, generates cache-occupancy profiles and heatmaps, and evaluates pairwise interference risks through a progressive three-stage analysis. First, a coarse-grained screening step classifies applications according to their non-stack memory-access behavior. Second, a static multicore cache-profiling step identifies cache sets whose combined footprint exceeds or approaches the hardware associativity. Third, a temporal footprint analysis tracks intervening unique blocks between consecutive accesses to the same memory block and computes Contention Potential Growth to identify execution windows vulnerable to cache eviction. The framework is evaluated using four benchmark pairings executed on a dual-core platform, with hardware performance counters measuring L2 cache misses used as validation references. The results show that the proposed analysis is consistent with the observed high- and low-risk cases and provides conservative warnings for near-capacity configurations. In particular, different applications pairs might produces up to 213.09% increase in L2 cache misses. These results demonstrate that memory-access profiling can provide practical and interpretable early indicators of cache-related multicore interference before exhaustive hardware testing.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Jean-Baptiste Lefoul, Ahmad Shahnejat Bushehri, Alaric Chan Lock, Felipe Gohring de Magalhaes, Gabriela Nicolescu. 2026-11-03. Memory-Access Profiling for Early Multicore Interference Awareness in Embedded Systems. https://arxiv.org/abs/2611.05704

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Reference-Compatible Parallel Execution for Quantized LLM Inference

Batching can change a quantized language model's logits even when token positions and causal masks are unchanged. We present a method for executing known queries in parallel while retaining the numerical behavior of a scalar deployment fixed before optimization. The method derives physical KV-prefix and backend arithmetic requirements, groups compatible queries, and keeps independent projection work batched. On CUDA, it packs independent four-column reductions into a broadcast batch without widening the reference-sensitive reduction. On Vulkan, it preserves projection activation arithmetic and extends a scalar attention path across query groups. Controlled interventions and frozen-input studies cover Llama, Qwen and SmolLM2. CUDA packing reduces complete resident-service time by 4.00% on four fresh inputs. Vulkan batched attention reduces ordinary-request time by 32.34% versus per-query attention and 52.87% versus scalar execution on twelve fresh inputs. Equally optimized whole-graph boundary cuts match local grouping on aligned natural prefill and outperform it at some wider Vulkan query sizes. At deliberately crossing CUDA appends, local grouping gives a $1.307\times$ speedup over whole-graph cuts; this conditional result is not a workload-average speedup. These results identify how numerical compatibility constrains parallel execution and how width and alignment determine the benefit of local cuts.

cs.PF↗

SysPilot: Cross-Library Performance Autotuning via Library Performance Contracts

Modern scientific and machine-learning applications compose many independently developed libraries. When these libraries run together, their independently managed runtimes can oversubscribe shared resources: using the same CPU cores, fighting over GPUs, or contending for memory bandwidth. Avoiding such contention requires careful configuration across library boundaries. Existing autotuners do not directly investigate what resources are shared between libraries, which runtime signals correlate with interference. As a result, they are inefficient for finding optimal configurations to mitigate contention. This paper presents SysPilot, a cross-library performance autotuning system based on Library Performance Contract (LPC). A Library Performance Contract captures a library's resource demands, assumptions, controls, and observability signals in LPCL, a specification language for describing library resource requirements. SysPilot synthesizes contracts from documentation and code artifacts, composes contracts from the libraries used by an application, derives resource-conflict hypotheses, profiles the application to validate those hypotheses, and selects candidate configurations. This design makes the Library Performance Contract a reusable unit of performance knowledge: a contract for a library can be reused across many applications that depend on that library. We evaluate SysPilot on a benchmark suite of cross-library contention scenarios. The results show that SysPilot matches the performance of autotuners that rely on application-specific manual information while retaining cross-application reuse. Compared with general-purpose autotuners such as OpenTuner and SMAC3, SysPilot improves benchmark performance metrics by up to an additional 38% over the best configuration found by these autotuners, while using 3x fewer runs.

cs.PF↗

The Unreported Variable:Collector Selectivity in Data Placement Evaluation

A solid-state drive cannot overwrite data in place, so it cleans full blocks by copying out still-valid data, costing speed and lifetime. Interfaces such as NVMe Flexible Data Placement (FDP) let the host label data by expected lifetime so data dying together is stored together, and published schemes report cutting these copies by 20--75%. Those studies rarely state which blocks the drive chooses to clean. Varying only this choice in simulation, we show it decides how much a label is worth: label value peaks when the drive searches moderately for blocks holding little valid data, falls when it always takes the block with the least, and turns negative when it ignores how much valid data blocks hold. This holds in 47 of 48 synthetic configurations, and one real mail-server trace shows the same shape at about half the magnitude. Priced as spare capacity, a two-class label is worth 65% more spare when each scheme runs at its best setting, but becomes a net loss at 20% label error, typical of learned classifiers. Labels stating which data die together keep most of their value at 16 FDP handles and gain as cleaning improves. Evaluations must report the drive's cleaning policy.

cs.PF↗