<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>easy &#8211; Science</title>
	<atom:link href="https://scienmag.com/tag/easy/feed/" rel="self" type="application/rss+xml" />
	<link>https://scienmag.com</link>
	<description></description>
	<lastBuildDate>Sat, 17 Oct 2026 08:48:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://scienmag.com/wp-content/uploads/2024/07/cropped-scienmag_ico-32x32.jpg</url>
	<title>easy &#8211; Science</title>
	<link>https://scienmag.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">73899611</site>	<item>
		<title>Extra-P Turns Scalability Modeling Into a Few Small Experiments</title>
		<link>https://scienmag.com/extra-p-turns-scalability-modeling-into-a-few-small-experiments/</link>
		
		<dc:creator><![CDATA[Denise Maddox]]></dc:creator>
		<pubDate>Sat, 17 Oct 2026 08:48:23 +0000</pubDate>
				<category><![CDATA[Science News]]></category>
		<category><![CDATA[Technology and Engineering]]></category>
		<category><![CDATA[algorithmic scalability challenges]]></category>
		<category><![CDATA[early bottleneck detection in high-performance computing]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[empirical]]></category>
		<category><![CDATA[experimental approaches to scalability]]></category>
		<category><![CDATA[Extra-P]]></category>
		<category><![CDATA[high-performance computing]]></category>
		<category><![CDATA[Machine learning]]></category>
		<category><![CDATA[made]]></category>
		<category><![CDATA[Modeling]]></category>
		<category><![CDATA[parallel computing performance prediction]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[performance deviation analysis in supercomputers]]></category>
		<category><![CDATA[performance modeling]]></category>
		<category><![CDATA[performance modeling for parallel applications]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[Scientific Research]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[supercomputer utilization optimization]]></category>
		<category><![CDATA[supercomputing application development best practices]]></category>
		<category><![CDATA[supercomputing bottleneck identification]]></category>
		<category><![CDATA[supercomputing resource efficiency]]></category>
		<category><![CDATA[supercomputing scalability modeling]]></category>
		<category><![CDATA[weak-scaling performance analysis]]></category>
		<guid isPermaLink="false">https://scienmag.com/?p=296046</guid>

					<description><![CDATA[A decade-long effort at ETH Zurich and TU Darmstadt has distilled empirical performance modeling into a Python tool that finds hidden supercomputer bottlenecks from as few as five experiments.]]></description>
										<content:encoded><![CDATA[<p>Supercomputers are built to solve enormous problems quickly, yet the applications that run on them routinely fail to use their full power. A code whose runtime grows quadratically with input size will exhaust even the largest machine available, and a weak-scaling experiment whose execution time keeps climbing as nodes are added delivers diminishing returns from parallelism. Such scaling bottlenecks often remain invisible until developers attempt the critical problem or system size, at which point an expensive supercomputer sits poorly utilized while a remedy—sometimes requiring profound algorithmic research—takes time and expertise not every team can afford. The lesson drawn by researchers at ETH Zurich and TU Darmstadt is that these bottlenecks should be caught as early as possible, ideally during the initial phases of development.</p>
<p>Performance models offer a way to see scaling behavior before it bites. A model is a formula expressing a critical metric such as runtime as a function of execution parameters like the degree of parallelism or input size. The function t = c1 + c2·log(p), for example, characterizes an application whose execution time grows logarithmically on top of a constant base as processors are added—a benign weak-scaling scenario. Deviations of actual performance from what the model predicts can point to unforeseen hardware limitations or errors in the model itself. Crucially, the main goal of such a model is not to predict exact runtime at a different scale, although that is often used as a test; the goal is to identify performance bottlenecks, both relative to other parts of the code and compared to developer expectations.</p>
<p>Models can be created analytically or empirically. Analytical modeling means reasoning about the properties of the underlying algorithms, which is challenging for complex applications with thousands of source lines. Analysts usually restrict themselves to a few selected kernels they believe will dominate performance at scale, a practice that risks overlooking bottlenecks because recognizing dominance at scale is non-trivial—strictly speaking, identifying the right kernels requires the very model one is trying to build. Even modeling a selected kernel is error-prone and sometimes impossible, since the performance behavior of library calls often remains opaque, and reasoning alone can hardly determine constants and coefficients. Empirical performance modeling, the process of learning models from performance data, offers a convenient alternative because it can be largely automated and does not require intimate knowledge of the source code.</p>
<p>This is the premise of Extra-P, a project launched around 2012 to democratize performance modeling via automation. When the effort began, tools for measuring and analyzing performance were widely available, but modeling was confined to a community of experts. Extra-P, built entirely in Python for Linux, Windows, and macOS, generates models from a small number of carefully selected experiments—as few as five. The tool consists of six core components organized around a central experiment object holding parameters, call tree, measurements, and models. File readers load data from formats including the CUBE profiles produced by Score-P and JSON lines; modelers translate measurements into models; experiments can be saved as .extra-p files for reuse; and users interact through a command-line interface for scripting on clusters or a Qt-based graphical user interface for interactive exploration of models across the call tree, complete with severity indicators, line and contour plots, surface plots, and heatmaps.</p>
<p>The mathematical core is the Performance Model Normal Form, or PMNF. It rests on two insights: the function classes commonly found to represent communication and computation times as functions of execution parameters are limited to polynomial and logarithmic terms or combinations thereof, and analyzing the application at a fine-grained level such as individual function calls allows the performance contributions of each input parameter to be measured even with only a few measurements. The default search space spans exponents n = 5 and J = {0, 1, 2}, meaning scalability worse than p³·log²(p) is not distinguished—a choice reflecting common behavior in parallel programs that can be tailored when expectations are known. The workflow gathers at least five data points by varying a parameter of interest while keeping everything else constant, repeats measurements depending on system noise until confidence intervals are acceptable, then generates an individual model for each kernel in the call tree by fitting coefficients for all complexity expressions spanned by the PMNF using linear regression, selecting the best model via cross-validation and ranking kernels by asymptotic complexity. Model generation costs at most seconds; the experiments dominate.</p>
<p>The precision of this approach has been demonstrated on real codes. Reproducing analytical models of the Sweep3D neutron transport problem, Extra-P confirmed the previously computed analytical ones, with prediction errors remaining small even at a scale of more than 100 times the training data. Comparing models trained on runs up to 2,048 processes with models trained up to 8,192 processes showed that only the coefficients of the terms, not the terms themselves, slightly change—meaning Extra-P correctly captures asymptotic behavior. In the HOMME dynamical core of the Community Atmospheric Model, developed at NCAR and confirmed to work well up to 100,000 processes, a surprising discovery emerged: the MPI_Reduce call scales significantly worse than linearly with process count. The routine sits in HOMME&#8217;s initialization, outside the code developers considered performance critical, underscoring the need to examine entire applications. Subsequent analysis revealed the bug was caused by not adapting the number of MPI processes assigned to initial I/O to the total process count.</p>
<p>Multi-parameter modeling posed a harder problem. With a shared search space for all parameters, the combinatorial explosion would lead to over four billion model hypotheses for the default exponents and three parameters, meaning hours per function and metric on commodity hardware. A modified golden section search—ordering hypotheses by the magnitude of their first derivative at the observation with the largest input value and traversing the space to minimize error—reduces the search from billions to less than a hundred hypotheses for a three-parameter model. Evaluation on 100,000 synthetic samples showed the heuristic differs from the exhaustive approach in less than 0.6% of cases, and even then both identify the correct lead-order term, while modeling time drops from 107 hours to 1.5 hours. An iterative refinement variant replaces fixed search spaces by starting with integer exponents and refining them through fractions with growing denominators, using the mediant of two fractions and terminating when the rate of improvement in the scale-independent SMAPE error metric sufficiently decreases.</p>
<p>Reducing experiment cost became a central theme. Taint analysis through the Perf-Taint tool, built on LLVM, identifies which functions and loops are affected by performance-critical parameters, allowing Extra-P to prune false dependencies and skip modeling of constant functions—in LULESH and MILC, hundreds of functions were pruned statically or dynamically. Sparse modeling exploits the assumption that each parameter exhibits a single consistent behavior across the measured space, requiring only five measurement points per parameter plus one additional point to determine whether parameter effects are independent or compounded, instead of the 5^m points of a dense matrix. A reinforcement learning agent trained on hundreds of thousands of synthetic functions yielded a cheapest-points-first strategy; on average, sparse modeling combined with this strategy reduces modeling cost by 85% while retaining 92% of model accuracy. Gaussian process regression then refined point selection further, accounting for noise levels, repetitions, and parameter ranges, improving average accuracy by up to 64.29% within the same budget by selecting fewer but more informative measurement points.</p>
<p>Noise, the constant of all empirical measurements, demanded its own countermeasures. Deep neural networks trained on noisy data can learn to adapt to perturbations, so an adaptive modeler estimates the noise level using a range-of-relative-deviation heuristic and selects between regression and DNN modeling accordingly. The DNN predicts PMNF exponents as a classification task over 43 classes of common performance behaviors, with coefficients determined via regression afterward, and transfer learning specializes a pretrained network to each modeling problem. Software counters offer a complementary route: counting executed LLVM basic blocks and transferred message sizes yields measurements inherently resilient to noise, which are combined with noise-sensitive wall-clock measurements through prior models of MPI operations to fit coefficients with a single noise-sensitive measurement set instead of multiple repetitions. Segmented modeling detects piecewise behaviors—such as MPI implementations switching algorithms with process count—by sliding a window across data points and comparing subset models, while an expectation-validation framework lets users specify asymptotic growth rates in big O notation and automatically generates divergence models explaining discrepancies between expected and actual performance, successfully applied to MPI libraries and parallel sorting benchmarks.</p>
<p>The tool&#8217;s reach now extends beyond finding scalability bugs. Hardware-independent requirement models for memory footprint, computation, communication, and memory access support co-design: modeling five scientific applications including Kripke, LULESH, MILC, Relearn, and icoFoam showed how per-process requirements change when a system is upgraded—for LULESH, doubling the racks would grow computation and communication requirements by roughly a factor of 1.2 while memory footprint stays constant, augmenting traditional back-of-the-envelope calculations for system purchasing decisions. Task-graph modeling captures isoefficiency in task-based programs like Cilk and OpenMP by comparing actual, contention-free, and upper-bound efficiency functions through a task replay engine that simulates tasks by busy-waiting for measured durations. Compositional performance modeling splits programs along natural boundaries into modules with composition operators for sequential and parallel concatenation, tracking latency and throughput—revealing, for instance, that bubblesort delivers its first sorted elements earlier than mergesort even though mergesort wins on total time. The authors&#8217; outlook emphasizes integration with AI-driven methods and adaptation to increasingly heterogeneous hardware, where understanding how code behaves differently on CPUs versus GPUs is crucial for accurate predictions in mixed-device systems.</p>
<p><strong>Subject of Research:</strong> Computer Science</p>
<p><strong>Article Title:</strong> Extra-P—Empirical performance modeling made easy</p>
<p><strong>Article References:</strong> Calotoiu, A., Copik, M., Czappa, F., Geiss, A., de Morais, G., Ritter, M., Shudler, S., Hoefler, T., &amp; Wolf, F. (2026). Extra-P—Empirical performance modeling made easy. <em>Frontiers in High Performance Computing, 3</em>, Article 1714042. <a href="https://doi.org/10.3389/fhpcp.2025.1714042" rel="noopener noreferrer">https://doi.org/10.3389/fhpcp.2025.1714042</a></p>
<p><strong>Image Credits:</strong> AI Generated</p>
<p><strong>DOI:</strong> <a href="https://doi.org/10.3389/fhpcp.2025.1714042" rel="noopener noreferrer">10.3389/fhpcp.2025.1714042</a></p>
<p><strong>Keywords:</strong> performance modeling, high-performance computing, scalability, machine learning, software engineering, Extra-P, Empirical, performance, modeling, made, easy, scientific research</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">296046</post-id>	</item>
	</channel>
</rss>
