<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" dtd-version="1.3" article-type="brief-report">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. High Perform. Comput.</journal-id>
<journal-title-group>
<journal-title>Frontiers in High Performance Computing</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. High Perform. Comput.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2813-7337</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fhpcp.2025.1638924</article-id>
<article-version article-version-type="Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Brief Research Report</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Improving I/O phase predictions in FTIO using hybrid wavelet-Fourier analysis</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Tarraf</surname> <given-names>Ahmad</given-names></name>
<xref ref-type="aff" rid="aff1"/>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Data curation" vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/">Data curation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Formal analysis" vocab-term-identifier="https://credit.niso.org/contributor-roles/formal-analysis/">Formal analysis</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Project administration" vocab-term-identifier="https://credit.niso.org/contributor-roles/project-administration/">Project administration</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Resources" vocab-term-identifier="https://credit.niso.org/contributor-roles/resources/">Resources</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software/">Software</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing &#x2013; original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
<uri xlink:href="https://loop.frontiersin.org/people/2908848"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Wolf</surname> <given-names>Felix</given-names></name>
<xref ref-type="aff" rid="aff1"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
<uri xlink:href="https://loop.frontiersin.org/people/2982500"/>
</contrib>
</contrib-group>
<aff id="aff1"><institution>Department of Computer Science, Technical University of Darmstadt</institution>, <city>Darmstadt</city>, <country country="de">Germany</country></aff>
<author-notes>
<corresp id="c001"><label>&#x0002A;</label>Correspondence: Ahmad Tarraf, <email xlink:href="mailto:ahmad.tarraf@tu-darmstadt.de">ahmad.tarraf@tu-darmstadt.de</email></corresp>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-02-04">
<day>04</day>
<month>02</month>
<year>2026</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2025</year>
</pub-date>
<volume>3</volume>
<elocation-id>1638924</elocation-id>
<history>
<date date-type="received">
<day>31</day>
<month>05</month>
<year>2025</year>
</date>
<date date-type="rev-recd">
<day>26</day>
<month>11</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>18</day>
<month>12</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2026 Tarraf and Wolf.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Tarraf and Wolf</copyright-holder>
<license>
<ali:license_ref start_date="2026-02-04">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<p>With the growing complexity of I/O software stacks and the rise of data-intensive workloads, optimizing I/O performance is essential for enhancing overall system performance on HPC clusters. While many sophisticated I/O management approaches exist that try to alleviate I/O contention, they often rely on models that predict the future I/O behavior of applications. Yet, these models are often created from past execution runs and can be error-prone due to I/O variability. In this work, we propose an enhancement to an existing tool that leverages frequency-based techniques to characterize I/O phase. We explore methods to improve prediction accuracy by incorporating multiple frequency components. Furthermore, by coupling the wavelet transformation with the Fourier transformation, we enhance the precision of our predictions while maintaining a compact and efficient behavioral characterization. We demonstrate our approach using a deep learning benchmark executed on a production cluster.</p></abstract>
<kwd-group>
<kwd>behavioral characterization</kwd>
<kwd>HPC</kwd>
<kwd>I/O</kwd>
<kwd>performance modeling</kwd>
<kwd>wavelet transform</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declared that financial support was received for this work and/or its publication. This work was partially funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) &#x02013; Project No. 449683531 (ExtraNoise).</funding-statement>
</funding-group>
<counts>
<fig-count count="4"/>
<table-count count="0"/>
<equation-count count="7"/>
<ref-count count="51"/>
<page-count count="10"/>
<word-count count="6167"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Big Data and AI</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec sec-type="introduction" id="s1">
<label>1</label>
<title>Introduction</title>
<p>Modern HPC applications are increasingly becoming more I/O intensive with the emergence of machine learning applications and data-intensive workflows. In light of the emergence of such workloads (e.g., AI, big data analytics, and complex multi-step workflows) running alongside future exascale applications, workloads are expected to become increasingly data-intensive, leading to even less predictable I/O behavior and access patterns in HPC, as depicted by <xref ref-type="bibr" rid="B31">Neuwirth and Paul (2021)</xref>. Many applications spend 15%&#x02013;40% of their execution time performing I/O, with a good probability that this value even further increases in the future (<xref ref-type="bibr" rid="B25">Macedo et al., 2023</xref>; <xref ref-type="bibr" rid="B34">Patel et al., 2019</xref>, <xref ref-type="bibr" rid="B35">2020</xref>). Depending on the application, access patterns, data volumes, and parallelism of I/O operations can vary significantly (<xref ref-type="bibr" rid="B4">Bez et al., 2024</xref>). In contrast, I/O profiling and characterization tools still lack the ability to capture and analyze emerging HPC workloads (<xref ref-type="bibr" rid="B31">Neuwirth and Paul, 2021</xref>). Moreover, the landscape of scientific applications is rapidly changing in the era of exascale computing, with trends toward more dynamic systems and applications (<xref ref-type="bibr" rid="B41">Tarraf et al., 2024c</xref>) and concepts like modular supercomputing, which utilizes heterogeneous resources to improve power efficiency, system utilization, and cluster scalability (<xref ref-type="bibr" rid="B30">Neuwirth, 2023</xref>). Indeed, characterizing the I/O behavior of an application is already challenging due to well-known problems such as I/O variability, I/O bursts, and I/O contention (<xref ref-type="bibr" rid="B45">Wang et al., 2004</xref>; <xref ref-type="bibr" rid="B33">Oral et al., 2014</xref>; <xref ref-type="bibr" rid="B23">Liu et al., 2016</xref>; <xref ref-type="bibr" rid="B49">Yu et al., 2020</xref>) and will likely become even more difficult in the future.</p>
<p>Performance degradation and I/O contention are often encountered when different jobs compete for shared resources, such as I/O (<xref ref-type="bibr" rid="B40">Tarraf et al., 2024b</xref>; <xref ref-type="bibr" rid="B21">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B35">Patel et al., 2020</xref>). HPC applications often exhibit alternating I/O and computational phases. The I/O phases tend to be periodic, with dominating write I/O operations (e.g., checkpointing) occurring in bursts synchronously across several processes (<xref ref-type="bibr" rid="B15">Hu et al., 2016</xref>). Jobs that periodically write can account for a quarter to a third of the node-hours on large systems and for over a third of the total amount of written data for all systems examined by <xref ref-type="bibr" rid="B50">Zanon Boito et al. (2025)</xref>. However, since modern applications can undergo several phases, strictly periodic behavior is often only valid in specific time segments.</p>
<p>Recent studies like <xref ref-type="bibr" rid="B9">Dorier et al. (2014)</xref>; <xref ref-type="bibr" rid="B17">Jeannot et al. (2021)</xref>; <xref ref-type="bibr" rid="B6">Boito et al. (2023)</xref> revealed that knowledge of periodic I/O phases, even when not <italic>perfectly precise</italic>, leads to good contention avoidance. This motivated us to develop FTIO (Frequency Techniques for I/O) (<xref ref-type="bibr" rid="B39">Tarraf et al., 2024a</xref>), which allows predicting periodic I/O phases both online and offline. The tool combines signal processing techniques with outlier detection methods to determine the frequency of the I/O phases, along with metrics that gauge the confidence in the results. This paper presents an approach to improve the characterizations from FTIO. In particular, this paper contributes by:</p>
<list list-type="bullet">
<list-item><p>Provides a hybrid approach that combines the discrete Wavelet transform with the discrete Fourier transform to improve the temporal characterization of I/O in HPC.</p></list-item>
<list-item><p>Explores two signal processing techniques (filtering and Fourier fitting) to further improve characterizations.</p></list-item>
<list-item><p>Evaluating our solutions on a productive cluster and demonstrating its applicability.</p></list-item>
</list>
<p>In what follows, we discuss related work (Section 2) and present FTIO (Section 3). We then describe our new extensions for improved characterization in Sections 4 and 5. Afterwards, we evaluate the approach (Section 6) and provide a conclusion (Section 7).</p></sec>
<sec id="s2">
<label>2</label>
<title>Releated work</title>
<p>Many researchers have focused on characterizing and modeling I/O in HPC including work by <xref ref-type="bibr" rid="B22">Liu et al. (2014)</xref>; <xref ref-type="bibr" rid="B3">Bez et al. (2019)</xref>; <xref ref-type="bibr" rid="B38">Tang et al. (2014)</xref>; <xref ref-type="bibr" rid="B27">McKenna et al. (2016)</xref>; <xref ref-type="bibr" rid="B46">Wang et al. (2018)</xref>; <xref ref-type="bibr" rid="B43">Tseng et al. (2019)</xref>; <xref ref-type="bibr" rid="B14">He et al. (2019)</xref>; <xref ref-type="bibr" rid="B20">Li et al. (2019)</xref>; <xref ref-type="bibr" rid="B36">Pavan et al. (2019)</xref>; <xref ref-type="bibr" rid="B47">Xie et al. (2019)</xref>; <xref ref-type="bibr" rid="B16">Isakov et al. (2020)</xref>; <xref ref-type="bibr" rid="B48">Xie et al. (2021)</xref>; <xref ref-type="bibr" rid="B19">Kim et al. (2023)</xref>; <xref ref-type="bibr" rid="B10">Dorier et al. (2016)</xref>. A large group of these relies on past application or system logs like the works of <xref ref-type="bibr" rid="B22">Liu et al. (2014)</xref>; <xref ref-type="bibr" rid="B27">McKenna et al. (2016)</xref>; <xref ref-type="bibr" rid="B46">Wang et al. (2018)</xref>; <xref ref-type="bibr" rid="B14">He et al. (2019)</xref>; <xref ref-type="bibr" rid="B20">Li et al. (2019)</xref>; <xref ref-type="bibr" rid="B36">Pavan et al. (2019)</xref>; <xref ref-type="bibr" rid="B47">Xie et al. (2019)</xref>; <xref ref-type="bibr" rid="B16">Isakov et al. (2020)</xref>; <xref ref-type="bibr" rid="B48">Xie et al. (2021)</xref>; <xref ref-type="bibr" rid="B19">Kim et al. (2023)</xref>. Yet, such information is often not available. Several popular machine learning approaches have been deployed, including neural networks (<xref ref-type="bibr" rid="B3">Bez et al., 2019</xref>; <xref ref-type="bibr" rid="B43">Tseng et al., 2019</xref>), LSTMs (<xref ref-type="bibr" rid="B20">Li et al., 2019</xref>), decision trees (<xref ref-type="bibr" rid="B27">McKenna et al., 2016</xref>), and pattern matching (<xref ref-type="bibr" rid="B38">Tang et al., 2014</xref>), among others. While such approaches can provide good predictions, models with high predictive accuracy are often <italic>black boxes</italic> and cannot be interpreted directly to explain I/O performance, as described by <xref ref-type="bibr" rid="B16">Isakov et al. (2020)</xref>. Moreover, such approaches require learning phases that, aside from being expensive, rely on past information that can be tainted by I/O variability.</p>
<p>Other approaches, like using context-free grammars (<xref ref-type="bibr" rid="B10">Dorier et al., 2016</xref>), are particularly useful for cache management and I/O prefetching (<xref ref-type="bibr" rid="B11">Dryden et al., 2021</xref>). On a higher level of abstraction, some approaches characterize I/O access patterns using the notion of <italic>I/O phases</italic>. For instance, <xref ref-type="bibr" rid="B36">Pavan et al. (2019)</xref> clusters jobs with similar I/O behavior, while <xref ref-type="bibr" rid="B22">Liu et al. (2014)</xref> extracts an I/O signature using grid clustering. Moving away from using system- or application-dependent thresholds, FTIO <xref ref-type="bibr" rid="B39">Tarraf et al. (2024a)</xref> allows predicting the <italic>period</italic> of the I/O phases at runtime using frequency techniques coupled with outlier detection methods. In previous work (<xref ref-type="bibr" rid="B39">Tarraf et al., 2024a</xref>), we demonstrated that, combined with the I/O scheduler Set-10, FTIO enabled a 26% boost in system utilization and a 56% reduction of I/O slowdown.</p></sec>
<sec id="s3">
<label>3</label>
<title>Background</title>
<sec>
<label>3.1</label>
<title>Acquiring I/O information</title>
<p>FTIO supports a variety of file formats<xref ref-type="fn" rid="fn0003"><sup>1</sup></xref> from different tools, include Darshan (<xref ref-type="bibr" rid="B37">Snyder et al., 2016</xref>), recorder (<xref ref-type="bibr" rid="B44">Wang et al., 2020</xref>), Metric Proxy (<xref ref-type="bibr" rid="B2">Besnard et al., 2024</xref>), TMIO (<xref ref-type="bibr" rid="B40">Tarraf et al., 2024b</xref>), and others. Essentially, FTIO requires the bandwidth over time (i.e., the signal). Based on these two arrays, FTIO detects the period of the I/O phases either at runtime (online) or after the job&#x00027;s execution (offline). For instance, TMIO, which is a C&#x0002B;&#x0002B; library that is compiled with the application or simply preloaded (using LD_PRELOAD), can provide traces online or offline. Consequently, FTIO can characterize the temporal behavior based on these traces, both online and offline. Note that TMIO also supports sending Msgpack (<xref ref-type="bibr" rid="B29">MessagePack Developers, 2025</xref>) messages using ZMQ (<xref ref-type="bibr" rid="B51">ZeroMQ Developers, 2025</xref>) over sockets, which avoids creating an intermediate file. FTIO can characterize any metric at any level. Internally, these metrics are overlapped to obtain two arrays that describe the signal values and their corresponding timestamps.</p></sec>
<sec>
<label>3.2</label>
<title>Extracting the period of the I/O phases</title>
<p>Using DFT, FTIO examines the behavior of a signal in the frequency domain. However, this requires the signal to be sampled at equal steps (i.e., fixed sampling rate <italic>T</italic><sub><italic>s</italic></sub>). Hence, FTIO samples the signal <italic>x</italic>(<italic>t</italic>) with a sampling frequency <italic>f</italic><sub><italic>s</italic></sub> to obtain <italic>N</italic> &#x0003D; &#x00394;<italic>t</italic>&#x000B7;<italic>f</italic><sub><italic>s</italic></sub> samples:</p>
<disp-formula id="E1"><mml:math id="M1"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Afterwards, FTIO applies the DFT on the equally spaced sequence <italic>x</italic><sub><italic>n</italic></sub> to transform it into a sequence <italic>X</italic><sub><italic>k</italic></sub> of the same size (i.e., <italic>k</italic>&#x02208;[0, <italic>N</italic>)) in the frequency domain:</p>
<disp-formula id="E2"><mml:math id="M2"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mo>-</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>for the frequencies <inline-formula><mml:math id="M3"><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Considering that the time window &#x00394;<italic>t</italic> is usually constant in most cases (i.e., when working offline with an already collected trace), increasing <italic>f</italic><sub><italic>s</italic></sub> results in more components (i.e., <italic>N</italic>), but still with the same frequency resolution (distance between two consecutive frequencies in the frequency domain). As <italic>x</italic><sub><italic>n</italic></sub> consists of purely real values for our purposes (I/O signal), DFT is symmetric and only half the spectrum is needed to reconstruct the original signal with the inverse DFT (IDFT):</p>
<disp-formula id="EQ3"><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:munderover></mml:mstyle><mml:mn>2</mml:mn><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:mo class="qopname">cos</mml:mo><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x0002B;</mml:mo><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(1)</label></disp-formula>
<p>with the amplitude |<italic>X</italic><sub><italic>k</italic></sub>| and the phase <italic>arg</italic>(<italic>X</italic><sub><italic>k</italic></sub>). Hence, reconstructing the signal only requires half of the spectrum (<italic>single-sided spectrum</italic>), such that the amplitude of the cosine waves is multiplied by 2 and shifted upwards by the DC offset <italic>X</italic><sub>0</sub>. FTIO utilizes the Fast Fourier Transform (FFT) algorithm, which has a complexity of <italic>O</italic>(<italic>NlogN</italic>). Furthermore, it uses the <italic>power spectrum</italic> (<inline-formula><mml:math id="M5"><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac><mml:msubsup><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula>) to suppress noise from small amplitude high frequency components. The spectrum is normalized over the total power of the signal to ease the next step of the analysis. Afterwards, FTIO extracts the dominant frequency using one of the supported outlier detection methods, including Z-score (default), DBSCAN, isolation forest, among others. The Z-score, for instance, reveals how many standard deviations &#x003C3; a power <italic>p</italic><sub><italic>k</italic></sub> is from the mean <inline-formula><mml:math id="M6"><mml:mover accent="true"><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mo>&#x00304;</mml:mo></mml:mover></mml:math></inline-formula> of all powers:</p>
<disp-formula id="EQ4"><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:mo>-</mml:mo><mml:mo>|</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mo>&#x00304;</mml:mo></mml:mover><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(2)</label></disp-formula>
<p>To identify the dominant frequency <italic>f</italic><sub><italic>d</italic></sub>, FTIO finds the frequency candidates <inline-formula><mml:math id="M8"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> that satisfy the following equation:</p>
<disp-formula id="EQ5"><mml:math id="M9"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02265;</mml:mo><mml:mn>3</mml:mn><mml:mtext class="textrm" mathvariant="normal">and</mml:mtext><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">max</mml:mtext></mml:mrow></mml:msub><mml:mo>&#x02265;</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>8</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(3)</label></disp-formula>
<p>A Z-score beyond 3 usually indicates an outlier (<xref ref-type="bibr" rid="B18">Kannan et al., 2015</xref>). Since several outliers might exist, we normalize the Z-score to the largest Z-score <inline-formula><mml:math id="M10"><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">max</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo class="qopname">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x02265;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munder><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> and compare this to an 80% tolerance. Depending on the number of candidates, we distinguish threecases:</p>
<list list-type="bullet">
<list-item><p><italic>Single candidate</italic> (<inline-formula><mml:math id="M11"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>): The signal is periodic with <italic>f</italic><sub><italic>d</italic></sub> &#x0003D; <italic>f</italic><sub><italic>k</italic></sub>.</p></list-item>
<list-item><p><italic>Two candidates</italic> (<inline-formula><mml:math id="M12"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>): <italic>f</italic><sub><italic>d</italic></sub> is the one with the highest power contribution. However, we have lower confidence in the results.</p></list-item>
<list-item><p><italic>More than two candidates</italic>: The signal is not periodic, and there is no dominant frequency.</p></list-item>
</list>
<p>FTIO ignores higher harmonic frequencies when candidates are multiples of two, which indicates periodic I/O bursts. The tool provides a confidence <italic>c</italic><sub><italic>k</italic></sub> and offers both online and offline characterization with enhancements like time window adaptation, among other options, as described in <xref ref-type="bibr" rid="B39">Tarraf et al. (2024a)</xref>.</p></sec></sec>
<sec id="s4">
<label>4</label>
<title>Improving the temporal characterization of I/O signals</title>
<p>As described in Section 3, FTIO provides the dominant frequency to characterize the periodic behavior of I/O phases. While this is sufficient in most cases, users might be interested in characterizing the signal more accurately. For that, the tool offers the option to further provide frequencies to enhance characterizations as described Sections 4.1 and 4.2.</p>
<sec>
<label>4.1</label>
<title>Signal reconstruction with multiple frequencies</title>
<p>FTIO usually provides a single dominant frequency <italic>f</italic><sub><italic>d</italic></sub> to characterize the period of the I/O phases as described in Section 3. As <xref ref-type="disp-formula" rid="EQ3">Equation 1</xref> indicates, the more frequency components are used, the more accurate the description becomes. At the same time, the complexity of the characterization is kept simple, as only cosine waves are added. To demonstrate this, we executed HACC-IO with 384 processes (4 nodes) on the Lichtenberg cluster (see Section 6). We varied the number of extracted frequencies from the analysis up to 10 (using the &#x0201C;-n&#x0201D; flag). As <xref ref-type="fig" rid="F1">Figure 1</xref> shows, the more frequency components are used, the more accurate the representation becomes.</p>
<fig position="float" id="F1">
<label>Figure 1</label>
<caption><p>Improving signal characterization by specifying the number of frequency components to use. The top part illustrates the default behavior of FTIO. The next three plots show the results obtained with 2, 3, 5, and 10 components, respectively.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fhpcp-03-1638924-g0001.tif">
<alt-text content-type="machine-generated">Four line graphs display bandwidth in gigabytes per second over time in seconds, each with various signals. Graph one shows original, sampled, and reconstructed top two signals. Graph two displays original, sampled, and reconstructed top three signals. Graph three includes original, sampled, and reconstructed top five signals. Graph four presents original, sampled, and reconstructed top ten signals. Each graph includes consistent sine wave references.</alt-text>
</graphic>
</fig>
<p>FTIO prints the sorted cosine waves up to the specified limit according to their amplitude. Furthermore, as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, it also provides the temporal characterizations as a sum of cosine waves, according to <xref ref-type="disp-formula" rid="EQ3">Equation 1</xref> up to the specified number of components. To refine this description further, we extended FTIO to use Fourier fitting as described next.</p></sec>
<sec>
<label>4.2</label>
<title>Fourier fitting</title>
<p>Fourier fitting approximates a function through a sum of sinusoidal waves. Same as DFT, we can use <xref ref-type="disp-formula" rid="EQ3">Equation 1</xref> for this purpose up to a specified number of components. Unlike DFT, Fourier fitting approximates the coefficients (amplitudes, phases, and frequencies) of a signal. Since DFT returns the exact decomposition of a signal as a sum of its harmonics for the fundamental frequency <inline-formula><mml:math id="M13"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac></mml:math></inline-formula> (<xref ref-type="bibr" rid="B39">Tarraf et al., 2024a</xref>), when only a few selected components are used, the representation is not exact. In this context, frequencies between the discrete values <italic>f</italic><sub><italic>k</italic></sub> (i.e., for a frequency resolution of <inline-formula><mml:math id="M14"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac></mml:math></inline-formula>) might give a better fit for the signal. Consequently, Fourier fitting might improve the result.</p>
<p>Fourier fitting in FTIO uses the <monospace>curve_fit</monospace> function from SciPy to fit the sampled signal <italic>x</italic><sub><italic>n</italic></sub> using non-linear least square fitting. As initial parameters for the amplitudes, frequencies, and phases, the fitting uses the top cosine waves from DFT with up to the specified number of components. Next, the sampled signal is fitted and the optimized parameters of these components are returned. We observed that Fourier fitting can improve the results if the signal contains noise (e.g., I/O variation), the signal is not strongly periodic, or the sampling frequency <italic>f</italic><sub><italic>s</italic></sub> is too low. Note that for the last case, FTIO provides an option to automatically specify the sampling frequency according to the timestamps in the signal. Section 6 provides an example of how Fourier fitting can be used to improve the results.</p></sec></sec>
<sec id="s5">
<label>5</label>
<title>Extracting relevant I/O patterns</title>
<p>As mentioned in Section 1, it is well known that I/O in HPC suffers from performance variability Contrary, not all I/O activities are equally important, and hence some abstraction in the models and characterizations can be tolerated, as works on I/O scheduling showed (<xref ref-type="bibr" rid="B6">Boito et al., 2023</xref>). Consequently, as we are often not concerned with all I/O activity, we extended FTIO with another basic building block from the signal processing domain, namely filtering as described in Section 5.1. Furthermore, we incorporated the wavelet analysis in FTIO to extend the tool&#x00027;s characterization capabilities as explained in Section 5.2.</p>
<sec>
<label>5.1</label>
<title>Low- and high-pass filters</title>
<p>Low- and high-pass filters are key components in signal processing. The filters allow reducing the effect of particular frequencies in the signal. For instance, as its name implies, a low-pass filter allows low-frequency components within a range to pass while suppressing high-frequency components. The cutoff frequency &#x003C9;<sub><italic>c</italic></sub> (in rad/s) is used to indicate which frequencies are filtered. For low frequencies (&#x003C9;&#x0226A;&#x003C9;<sub><italic>c</italic></sub>), the magnitude response stays close to 1, while for larger frequencies (&#x003C9;&#x0226B;&#x003C9;<sub><italic>c</italic></sub>), it approaches zero. At the cutoff frequency &#x003C9;<sub><italic>c</italic></sub>, the response is <inline-formula><mml:math id="M15"><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:msqrt><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msqrt></mml:math></inline-formula> (&#x02013;3 dB).</p>
<p>One popular type of low-pass filter is the Butterworth filter (<xref ref-type="bibr" rid="B5">Blackledge, 2006</xref>). For simplicity, we skip the explanation. Interested readers can find more details about this in <xref ref-type="bibr" rid="B32">Oppenheim and Schafer (2010)</xref>. FTIO implements the filters using the <monospace>butter</monospace> function from <monospace>SciPy</monospace>. Aside from low and high-pass filters, FTIO can provide band-pass filters. To use these filters, FTIO provides the user with the option of selecting the filter type (low-, high-, or band-pass filter), the cutoff frequencies in Hz (i.e., <italic>w</italic><sub><italic>c</italic></sub> &#x0003D; 2&#x003C0;<italic>f</italic><sub><italic>c</italic></sub>), and the order of the filter. Afterwards, the discrete sequence <italic>x</italic><sub><italic>n</italic></sub> is filtered, and the approach continues as usual.</p>
<p>Filtering allows FTIO to focus on a particular frequency range. If a higher frequency resolution is desired, <italic>f</italic><sub><italic>s</italic></sub> can be increased, which, however, results in a greater number of frequency components. If a tool, for instance, can only react after a specific amount of time, the filter can be used to remove the unnecessary components. Yet this option should be used with caution, as I/O variations are artifacts of the signal, and not noise. Consequently, deviation might be presented from the original behavior.</p></sec>
<sec>
<label>5.2</label>
<title>Discrete wavelet transform</title>
<p>Often, we are interested not only in the period of a signal but also in how long this period is or was valid. To improve FTIO and adapt to such a scenario, a multi-resolution scheme like the wavelet transformation (<xref ref-type="bibr" rid="B12">Graps, 1995</xref>) is used. In contrast to DFT, the wavelet transform sacrifices frequency resolution for time resolution. The idea is to convolute an input signal <italic>x</italic>(<italic>t</italic>) with a set of small finite waves (i.e., the wavelets), which are scaled (i.e., by the scale parameter <italic>a</italic>&#x02208;&#x0211D;<sup>&#x0002B;</sup>) and translated (by the translation parameter <italic>b</italic>&#x02208;&#x0211D;) versions of the mother wavelet:</p>
<disp-formula id="EQ6"><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mo>|</mml:mo><mml:mi>a</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:mi>&#x003C8;</mml:mi><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(4)</label></disp-formula>
<p>Hence, the Continuous Wavelet Transform (CWT) of a signal <italic>x</italic>(<italic>t</italic>) is (<xref ref-type="bibr" rid="B26">Mallat, 2008</xref>; <xref ref-type="bibr" rid="B7">Chaovalit et al., 2011</xref>):</p>
<disp-formula id="EQ7"><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x0221E;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mo>|</mml:mo><mml:mi>a</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:msup><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(5)</label></disp-formula>
<p>Such that &#x0201C;*&#x0201D; denotes the complex conjugate of the mother wavelet &#x003C8;. However, due to the continuous nature of <italic>a</italic> and <italic>b</italic>, the CWT is highly redundant (<xref ref-type="bibr" rid="B1">Akansu et al., 2010</xref>) and computationally expensive. By restricting the scales and translations to discrete values (i.e., usually dyadic scales and translations <italic>a</italic> &#x0003D; 2<sup><italic>j</italic></sup> and <italic>b</italic> &#x0003D; <italic>k</italic>2<sup><italic>j</italic></sup>), the DWT can be derived. From the implementation perspective, the DWT is computed by successively passing a signal through high-pass and low-pass filters, producing detail (from high-pass) and approximation (from low-pass) coefficients (<xref ref-type="bibr" rid="B7">Chaovalit et al., 2011</xref>). In particular, at each decomposition level <italic>j</italic>, the signal is convolved with a low and high-pass filter, and the result is decimated (downsampled) by 2. Downsampling is necessary to avoid doubling the data at every level. Furthermore, since half the frequencies have been removed after filtering, half the samples can be discarded, as they do not provide any additional information (Nyquist). At each decomposition level <italic>j</italic>, the frequency range can be approximated (as filters are not ideal) to <inline-formula><mml:math id="M18"><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>. For further information, see <xref ref-type="bibr" rid="B28">Mertins (1999)</xref>; <xref ref-type="bibr" rid="B26">Mallat (2008)</xref>.</p>
<p>FTIO uses <monospace>PyWavelets</monospace> to execute DWT. The sampled signal is provided to this function. Consequently, the sampling frequency <italic>f</italic><sub><italic>s</italic></sub> specifies the highest captured frequency in the signal (<inline-formula><mml:math id="M19"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:math></inline-formula>). As a result from DWT, arrays of detail and approximation coefficients are returned. FTIO allows specifying the mother wavelet and uses by default Haar (db1).</p></sec>
<sec>
<label>5.3</label>
<title>A hybrid approach: combining DWT with DFT</title>
<p>While the results from DWT could be used to extract the period of the I/O phases, the approach is not straightforward. When the coefficients from DWT are upsampled, they essentially show filtered versions of the signal at different frequency ranges. Yet, our approach tries to avoid using thresholds as far as possible. Hence, an approach to tackle the problem is to combine DFT with DWT.</p>
<p>After sampling the signal with <italic>f</italic><sub><italic>s</italic></sub>, the DWT is applied. Next, we apply DFT on the <italic>upsampled approximation coefficients</italic>. Consequently, DFT is applied to a smoother signal with less variation compared to the existing approach (Section 3). In case a dominant frequency is found, it&#x00027;s used to determine the width of a sliding window <italic>w</italic>, and ultimately the number of samples <italic>m</italic> inside it. Next, the Pearson correlation between the dominant cosine wave from DFT (if FTIO found a prediction) and the upsampled approximation coefficients is calculated inside <italic>w</italic> (i.e., for <italic>m</italic> samples). We iterate over the length of <italic>n</italic>&#x02212;<italic>m</italic> samples and repeat this calculation, to obtain the sliding window correlation up till &#x00394;<italic>t</italic>&#x02212;<italic>w</italic> seconds. Note that this calculation shares similarities with the concept of the CWT. Afterwards, we examine how long the sliding window correlation was positive. The start and end times of these segments are compared to the dominant cosine wave: Segments shorter than their own period are discarded, while adjacent segments whose boundaries lie within one period are merged. Finally, FTIO returns an array with start and end ranges when the input signal can be characterized by the dominant frequency <italic>f</italic><sub><italic>d</italic></sub>.</p></sec></sec>
<sec id="s6">
<label>6</label>
<title>Evaluation</title>
<sec>
<label>6.1</label>
<title>Experimental setup</title>
<p>All experiments in this paper were performed on the Lichtenberg cluster (Stage 1 partition), which features 643 compute nodes, each with 96 CPU cores and 384 GB main memory. The access mode is user-exclusive, and the shared file system (IBM Spectrum Scale) achieves a peak performance of 150 GB/s.</p></sec>
<sec>
<label>6.2</label>
<title>Fourier fitting</title>
<p>To demonstrate how Fourier fitting can improve the characterizations of a signal, we executed HACC-IO (<xref ref-type="bibr" rid="B24">LLNL, 2025</xref>) with 9,216 processes on the Lichtenberg cluster. HACC-IO mimics one I/O phase of HACC [Hybrid/Hardware Accelerated Cosmology Code (<xref ref-type="bibr" rid="B13">Habib et al., 2012</xref>)]. HACC-IO has four steps: compute, write, read, and verify. We added a loop to execute these steps repeatedly. We configured HACC-IO to write to a single shared file using MPI I/O. To capture the I/O trace, TMIO was preloaded (LD_PRELOAD). Afterwards, we used FTIO with a sampling frequency of 1 Hz to characterize the writing phases with up to 10 frequencies and refine the results using Fourier fitting. As <xref ref-type="fig" rid="F2">Figure 2</xref> shows, while selecting 10 frequency components already result in a good characterization, Fourier fitting can further improve this. In particular, by comparing the sampled signal to the output of DFT and Fourier fitting, we observed that Fourier fitting reduces the mean square error by 31.11%.</p>
<fig position="float" id="F2">
<label>Figure 2</label>
<caption><p>Improving the characterizations from FTIO  with 10 frequencies and Fourier fitting.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fhpcp-03-1638924-g0002.tif">
<alt-text content-type="machine-generated">Line graph showing bandwidth in gigabytes per second versus time in seconds. It includes three plots: sampled signal (dashed blue), DFT 10-component sum (solid green), and Fourier fit 10-components sum (solid orange). All three lines display similar periodic wave patterns with peaks and troughs aligning over the time axis, from zero to around 185 seconds. Peaks reach about two hundred fifty gigabytes per second.</alt-text>
</graphic>
</fig></sec>
<sec>
<label>6.3</label>
<title>Combining DWT with DFT</title>
<p>To demonstrate the results of combining the DFT with DWT, we again used HACC-IO from Section 6.2. We set the decomposition level to three and executed FTIO on the trace. The results are illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>. From the DFT, FTIO found the dominant frequency of the I/O phases to be 0.055 Hz (i.e., 18.01 s). As the top of <xref ref-type="fig" rid="F3">Figure 3</xref> shows, this representation is not valid for the entire time, since the application contains some variations. Using DWT, the relevant frequencies can be inspected by examining the approximation coefficients. As described in Section 5.3, by combining the results from the two transforms and examining the sliding window correlation, FTIO returns that the dominant frequency from DFT is valid inside [9.88, 72.08] and [106.38, 168.28] s. The entire process (computing DWT, applying sliding window correlation, and extracting the results) consumed 4.2 s. Note that the trace is 180.1 s long, but due to the sliding window (18 s), the correlation is calculated only up to 168 s.</p>
<fig position="float" id="F3">
<label>Figure 3</label>
<caption><p>Combining the results from DFT with DWT. The <bold>top</bold> part shows the result from DFT on the write behavior of HACC-IO with 9216 ranks. The second figure from the <bold>top</bold> shows the scalogram from the DWT with a decomposition level of 2. The next figure shows the dominant cosine wave from the DFT and the upsampled approximation coefficients from the DWT. The <bold>bottom</bold> part shows the sliding time window correlation of the two signals for a window length of 18 s.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fhpcp-03-1638924-g0003.tif">
<alt-text content-type="machine-generated">Four graphs illustrating signal analysis data based on HACC-IO. The first graph shows the dominant frequency (i.e., cosine wave) identified by FTIO, in addition to the original and sampled signals. The second graph displays the scalogram with a decomposition level of two (frequency in hertz over time in seconds) from the DWT using a color gradient to indicate amplitude. The third graph compares the upsampled approximated coefficients from DWT to the dominant cosine wave from DFT, showing bandwidth in gigabytes per second versus time. The fourth graph depicts sliding window correlation with a window of eighteen seconds, plotting correlation values against time.</alt-text>
</graphic>
</fig>
<p>Next, we demonstrate our approach using DLIO (<xref ref-type="bibr" rid="B8">Devarajan et al., 2021</xref>), an I/O benchmark for Deep Learning. We configured the benchmark to use a modified ResNet50 configuration, which utilizes PyTorch to generate training data, train the model, and perform checkpointing (35.4 GB) every epoch (a total of 10 epochs). Furthermore, DLIO trains on 1,024 files (in the npz format, each containing 100 samples) using 8 readers and computational threads, with a batch size of 400. We executed the benchmark with 96 MPI ranks on 2 nodes. On each node, a metric proxy client was running that forwarded the collected metrics to the root proxy running on the login node. After the benchmarks finished, the trace is examined directly by querying it to FTIO and using the hybrid approach that combines DFT (with <italic>f</italic><sub><italic>s</italic></sub>=10 Hz) and DWT with a decomposition level of 2. <xref ref-type="fig" rid="F4">Figure 4</xref> shows the results. In around 4 s, FTIO found that the dominant frequency 0.0361 Hz (i.e., 27.65 s) is valid inside [84.54, 370.04] s. While the results are promising, further evaluation is needed to identify the limitations, optimize the critical parameters (decomposition level), and enhance the sliding window correlation at its boundaries.</p>
<fig position="float" id="F4">
<label>Figure 4</label>
<caption><p>Combining the results from DFT with DWT for DLIO. After data generation, DLIO writes 10 checkpoints (35.4 GB) at the end of each epoch. By combining DWT with DFT and examining the sliding window correlation, FTIO yields a range where the dominant frequency is valid.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fhpcp-03-1638924-g0004.tif">
<alt-text content-type="machine-generated">Four graphs illustrating signal analysis data based on DLIO. The first graph shows the dominant frequency (i.e., cosine wave) identified by FTIO, in addition to the original and sampled signals. The second graph displays the scalogram with a decomposition level of three (frequency in hertz over time in seconds) from the DWT using a color gradient to indicate amplitude. The third graph compares the upsampled approximated coefficients from DWT to the dominant cosine wave from DFT, showing bandwidth in gigabytes per second versus time. The fourth graph depicts sliding window correlation with a window of 27.6 seconds, plotting correlation values against time.</alt-text>
</graphic>
</fig>
</sec></sec>
<sec sec-type="conclusions" id="s7">
<label>7</label>
<title>Conclusion</title>
<p>This paper presented an extension to FTIO that allows improving charterization using Fourier fitting and extracting valid ranges for the detected dominant frequency. The later aspect was realized by combining DFT and DWT and interpreting their common results. Consequently, FTIO&#x00027;s characterizations are improved in the presence of I/O variations. While the results show that this approach is promising, further evaluation and examination are needed to improve the calculation at the boundaries and parameter selections.</p></sec>
</body>
<back>
<sec sec-type="data-availability" id="s8">
<title>Data availability statement</title>
<p>The datasets for this study can be found in <xref ref-type="bibr" rid="B42">Tarraf and Wolf (2025)</xref>. The instructions to reproduce the results are included in the FTIO repository<xref ref-type="fn" rid="fn0004"><sup>2</sup></xref>.</p>
</sec>
<sec sec-type="author-contributions" id="s9">
<title>Author contributions</title>
<p>AT: Conceptualization, Data curation, Formal analysis, Funding acquisition, Investigation, Methodology, Project administration, Resources, Software, Supervision, Validation, Visualization, Writing &#x02013; original draft, Writing &#x02013; review &#x00026; editing. FW: Funding acquisition, Supervision, Writing &#x02013; review &#x00026; editing.</p>
</sec>
<ack><title>Acknowledgments</title><p>The authors gratefully acknowledge the computing time provided to them on the high-performance computer Lichtenberg II at TU Darmstadt, funded by the German Federal Ministry of Research, Technology and Space (BMFTR) and the State of Hesse.</p></ack>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The author(s) declared that this work was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s11">
<title>Generative AI statement</title>
<p>The author(s) declared that generative AI was used in the creation of this manuscript. Improve the language of the writing and fit the space constraints.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p></sec>
<sec sec-type="disclaimer" id="s12">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Akansu</surname> <given-names>A. N.</given-names></name> <name><surname>Serdijn</surname> <given-names>W. A.</given-names></name> <name><surname>Selesnick</surname> <given-names>I. W.</given-names></name></person-group> (<year>2010</year>). <article-title>Emerging applications of wavelets: a review</article-title>. <source>Phys. Commun</source>. <volume>3</volume>, <fpage>1</fpage>&#x02013;<lpage>18</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.phycom.2009.07.001</pub-id></mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Besnard</surname> <given-names>J.-B.</given-names></name> <name><surname>Tarraf</surname> <given-names>A.</given-names></name> <name><surname>Cascajo</surname> <given-names>A.</given-names></name> <name><surname>Shende</surname> <given-names>S.</given-names></name></person-group> (<year>2024</year>). <article-title>&#x0201C;Introducing the metric proxy for holistic I/O measurements,&#x0201D;</article-title> in <source>High Performance Computing. ISC High Performance 2024 International Workshops</source>, eds. M. Weiland, S. Neuwirth, C. Kruse, and T. Weinzierl (Cham: Springer Nature Switzerland), <fpage>213</fpage>&#x02013;<lpage>226</lpage>. doi: <pub-id pub-id-type="doi">10.1007/978-3-031-73716-9_15</pub-id></mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Bez</surname> <given-names>J.</given-names></name> <name><surname>Boito</surname> <given-names>F.</given-names></name> <name><surname>Nou</surname> <given-names>R.</given-names></name> <name><surname>Miranda</surname> <given-names>A.</given-names></name> <name><surname>Cortes</surname> <given-names>T.</given-names></name> <name><surname>Navaux</surname> <given-names>P. O.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Detecting I/O access patterns of HPC workloads at runtime,&#x0201D;</article-title> in <source>SBAC-PAD 2019</source> - <italic>International Symposium on Computer Architecture and High Performance Computing, Campo Grande, Brazil</italic>. doi: <pub-id pub-id-type="doi">10.1109/SBAC-PAD.2019.00025</pub-id></mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Bez</surname> <given-names>J. L.</given-names></name> <name><surname>Byna</surname> <given-names>S.</given-names></name> <name><surname>Ibrahim</surname> <given-names>S.</given-names></name></person-group> (<year>2024</year>). <article-title>I/O access patterns in HPC applications: a 360-degree survey</article-title>. <source>ACM Comput. Surv</source>. <volume>56</volume>, <fpage>1</fpage>&#x02013;<lpage>41</lpage>. doi: <pub-id pub-id-type="doi">10.1145/3611007</pub-id></mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Blackledge</surname> <given-names>J. M.</given-names></name></person-group> (<year>2006</year>). <source>Digital Signal Processing: Mathematical and Computational Methods, Software Development, and Applications</source>. <publisher-loc>Chichester, West Sussex, England</publisher-loc>: <publisher-name>Horwood, 2nd edition</publisher-name>. doi: <pub-id pub-id-type="doi">10.1533/9780857099457</pub-id></mixed-citation>
</ref>
<ref id="B6">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Boito</surname> <given-names>F.</given-names></name> <name><surname>Pallez</surname> <given-names>G.</given-names></name> <name><surname>Teylo</surname> <given-names>L.</given-names></name> <name><surname>Vidal</surname> <given-names>N.</given-names></name></person-group> (<year>2023</year>). <article-title>IO-SETS: Simple and efficient approaches for I/O bandwidth management</article-title>. <source>IEEE Trans. Paral. Distr. Syst</source>. <volume>34</volume>, <fpage>2783</fpage>&#x02013;<lpage>2796</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TPDS.2023.3305028</pub-id></mixed-citation>
</ref>
<ref id="B7">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Chaovalit</surname> <given-names>P.</given-names></name> <name><surname>Gangopadhyay</surname> <given-names>A.</given-names></name> <name><surname>Karabatis</surname> <given-names>G.</given-names></name> <name><surname>Chen</surname> <given-names>Z.</given-names></name></person-group> (<year>2011</year>). <article-title>Discrete wavelet transform-based time series analysis and mining</article-title>. <source>ACM Comput. Surv</source>. <volume>43</volume>, <fpage>1</fpage>&#x02013;<lpage>37</lpage>. doi: <pub-id pub-id-type="doi">10.1145/1883612.1883613</pub-id></mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Devarajan</surname> <given-names>H.</given-names></name> <name><surname>Zheng</surname> <given-names>H.</given-names></name> <name><surname>Kougkas</surname> <given-names>A.</given-names></name> <name><surname>Sun</surname> <given-names>X.-H.</given-names></name> <name><surname>Vishwanath</surname> <given-names>V.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;DLIO: a data-centric benchmark for scientific deep learning applications,&#x0201D;</article-title> in <source>IEEE/ACM International Symposium in Cluster, Cloud, and Internet Computing (CCGRID&#x00027;21)</source>, 81&#x02013;91. doi: <pub-id pub-id-type="doi">10.1109/CCGrid51090.2021.00018</pub-id></mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Dorier</surname> <given-names>M.</given-names></name> <name><surname>Antoniu</surname> <given-names>G.</given-names></name> <name><surname>Ross</surname> <given-names>R.</given-names></name> <name><surname>Kimpe</surname> <given-names>D.</given-names></name> <name><surname>Ibrahim</surname> <given-names>S.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;CALCioM: mitigating I/O interference in HPC systems through cross-application coordination,&#x0201D;</article-title> in <source>IPDPS&#x00027;14</source> (<publisher-loc>IEEE</publisher-loc>), <fpage>155</fpage>&#x02013;<lpage>164</lpage>. doi: <pub-id pub-id-type="doi">10.1109/IPDPS.2014.27</pub-id></mixed-citation>
</ref>
<ref id="B10">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Dorier</surname> <given-names>M.</given-names></name> <name><surname>Ibrahim</surname> <given-names>S.</given-names></name> <name><surname>Antoniu</surname> <given-names>G.</given-names></name> <name><surname>Ross</surname> <given-names>R.</given-names></name></person-group> (<year>2016</year>). <article-title>Using formal grammars to predict I/O behaviors in HPC: The Omnisc&#x00027;IO approach</article-title>. <source>IEEE Trans. Paral. Distr. Syst</source>. <volume>27</volume>, <fpage>2435</fpage>&#x02013;<lpage>2449</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TPDS.2015.2485980</pub-id></mixed-citation>
</ref>
<ref id="B11">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Dryden</surname> <given-names>N.</given-names></name> <name><surname>B&#x000F6;hringer</surname> <given-names>R.</given-names></name> <name><surname>Ben-Nun</surname> <given-names>T.</given-names></name> <name><surname>Hoefler</surname> <given-names>T.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Clairvoyant prefetching for distributed machine learning I/O,&#x0201D;</article-title> in <source>Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC&#x00027;21</source> (<publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>ACM</publisher-name>). doi: <pub-id pub-id-type="doi">10.1145/3458817.3476181</pub-id></mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Graps</surname> <given-names>A.</given-names></name></person-group> (<year>1995</year>). <article-title>An introduction to wavelets</article-title>. <source>IEEE Comput. Sci. Eng</source>. <volume>2</volume>, <fpage>50</fpage>&#x02013;<lpage>61</lpage>. doi: <pub-id pub-id-type="doi">10.1109/99.388960</pub-id></mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Habib</surname> <given-names>S.</given-names></name> <name><surname>Morozov</surname> <given-names>V.</given-names></name> <name><surname>Finkel</surname> <given-names>H.</given-names></name> <name><surname>Pope</surname> <given-names>A.</given-names></name> <name><surname>Heitmann</surname> <given-names>K.</given-names></name> <name><surname>Kumaran</surname> <given-names>K.</given-names></name> <etal/></person-group>. (<year>2012</year>). <article-title>&#x0201C;The Universe at extreme scale: Multi-petaflop sky simulation on the BG/Q,&#x0201D;</article-title> in <source>2012 International Conference for High Performance Computing, Networking, Storage and Analysis</source> (<publisher-loc>Salt Lake City, UT</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>11</lpage>. doi: <pub-id pub-id-type="doi">10.1109/SC.2012.106</pub-id></mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>He</surname> <given-names>Y.</given-names></name> <name><surname>Dai</surname> <given-names>D.</given-names></name> <name><surname>Bao</surname> <given-names>F. S.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Modeling HPC storage performance using long short-term memory networks,&#x0201D;</article-title> in <source>2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS)</source>, 1107&#x02013;1114. doi: <pub-id pub-id-type="doi">10.1109/HPCC/SmartCity/DSS.2019.00157</pub-id></mixed-citation>
</ref>
<ref id="B15">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Hu</surname> <given-names>W.</given-names></name> <name><surname>Liu</surname> <given-names>G.-M.</given-names></name> <name><surname>Li</surname> <given-names>Q.</given-names></name> <name><surname>Jiang</surname> <given-names>Y.-H.</given-names></name> <name><surname>Cai</surname> <given-names>G.-L.</given-names></name></person-group> (<year>2016</year>). <article-title>Storage wall for exascale supercomputing</article-title>. <source>Front. Inf. Technol. Electr. Eng</source>. <volume>17</volume>, <fpage>1154</fpage>&#x02013;<lpage>1175</lpage>. doi: <pub-id pub-id-type="doi">10.1631/FITEE.1601336</pub-id></mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Isakov</surname> <given-names>M.</given-names></name> <name><surname>del Rosario</surname> <given-names>E.</given-names></name> <name><surname>Madireddy</surname> <given-names>S.</given-names></name> <name><surname>Balaprakash</surname> <given-names>P.</given-names></name> <name><surname>Carns</surname> <given-names>P.</given-names></name> <name><surname>Ross</surname> <given-names>R. B.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>&#x0201C;HPC I/O throughput bottleneck analysis with explainable local models,&#x0201D;</article-title> in <source>SC&#x00027;20</source>, 1&#x02013;13. doi: <pub-id pub-id-type="doi">10.1109/SC41405.2020.00037</pub-id></mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Jeannot</surname> <given-names>E.</given-names></name> <name><surname>Pallez</surname> <given-names>G.</given-names></name> <name><surname>Vidal</surname> <given-names>N.</given-names></name></person-group> (<year>2021</year>). <article-title>Scheduling periodic I/O access with BI-colored chains: models and algorithms</article-title>. <source>J. Schedul</source>. <volume>24</volume>, <fpage>469</fpage>&#x02013;<lpage>481</lpage>. doi: <pub-id pub-id-type="doi">10.1007/s10951-021-00685-8</pub-id></mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kannan</surname> <given-names>K. S.</given-names></name> <name><surname>Manoj</surname> <given-names>K.</given-names></name> <name><surname>Arumugam</surname> <given-names>S.</given-names></name></person-group> (<year>2015</year>). <article-title>Labeling methods for identifying outliers</article-title>. <source>Int. J. Stat. Syst</source>. <volume>10</volume>, <fpage>231</fpage>&#x02013;<lpage>238</lpage>.</mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>S.</given-names></name> <name><surname>Sim</surname> <given-names>A.</given-names></name> <name><surname>Wu</surname> <given-names>K.</given-names></name> <name><surname>Byna</surname> <given-names>S.</given-names></name> <name><surname>Son</surname> <given-names>Y.</given-names></name></person-group> (<year>2023</year>). <article-title>Design and implementation of I/O performance prediction scheme on HPC systems through large-scale log analysis</article-title>. <source>J. Big Data</source> <volume>10</volume>:<fpage>65</fpage>. doi: <pub-id pub-id-type="doi">10.1186/s40537-023-00741-4</pub-id></mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>D.</given-names></name> <name><surname>Wang</surname> <given-names>Y.</given-names></name> <name><surname>Xu</surname> <given-names>B.</given-names></name> <name><surname>Li</surname> <given-names>W.</given-names></name> <name><surname>Li</surname> <given-names>W.</given-names></name> <name><surname>Yu</surname> <given-names>L.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>&#x0201C;PIPULS: predicting I/O patterns using LSTM in storage systems,&#x0201D;</article-title> in <source>2019 International Conference on High Performance Big Data and Intelligent Systems (HPBD&#x00026;IS)</source>, 14&#x02013;21. doi: <pub-id pub-id-type="doi">10.1109/HPBDIS.2019.8735467</pub-id></mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>S.</given-names></name> <name><surname>Huang</surname> <given-names>L.</given-names></name> <name><surname>Liu</surname> <given-names>H.</given-names></name> <name><surname>Ruhela</surname> <given-names>A.</given-names></name> <name><surname>Trueheart</surname> <given-names>V.</given-names></name> <name><surname>Lindsey</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>&#x0201C;Practice guideline for heavy I/O workloads with lustre file systems on TACC supercomputers,&#x0201D;</article-title> in <source>Practice and Experience in Advanced Research Computing, PEARC &#x00027;21</source> (<publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>ACM</publisher-name>). doi: <pub-id pub-id-type="doi">10.1145/3437359.3465570</pub-id></mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>Y.</given-names></name> <name><surname>Gunasekaran</surname> <given-names>R.</given-names></name> <name><surname>Ma</surname> <given-names>X.</given-names></name> <name><surname>Vazhkudai</surname> <given-names>S. S.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Automatic identification of application I/O signatures from noisy server-side traces,&#x0201D;</article-title> in <source>12th USENIX Conference on File and Storage Technologies (FAST 14)</source> (<publisher-loc>Santa Clara, CA</publisher-loc>: <publisher-name>USENIX Association</publisher-name>), <fpage>213</fpage>&#x02013;<lpage>228</lpage>.</mixed-citation>
</ref>
<ref id="B23">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>Y.</given-names></name> <name><surname>Gunasekaran</surname> <given-names>R.</given-names></name> <name><surname>Ma</surname> <given-names>X.</given-names></name> <name><surname>Vazhkudai</surname> <given-names>S. S.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Server-side log data analytics for I/O workload characterization and coordination on large shared storage systems,&#x0201D;</article-title> in <source>SC &#x00027;16: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis</source>, 819&#x02013;829. doi: <pub-id pub-id-type="doi">10.1109/SC.2016.69</pub-id></mixed-citation>
</ref>
<ref id="B24">
<mixed-citation publication-type="web"><collab>LLNL</collab> (<year>2025</year>). <source>CORAL Benchmark Codes - HACC IO</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://asc.llnl.gov/coral-benchmarks&#x00023;hacc">https://asc.llnl.gov/coral-benchmarks&#x00023;hacc</ext-link> (Accessed January 10, 2025).</mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Macedo</surname> <given-names>R.</given-names></name> <name><surname>Miranda</surname> <given-names>M.</given-names></name> <name><surname>Tanimura</surname> <given-names>Y.</given-names></name> <name><surname>Haga</surname> <given-names>J.</given-names></name> <name><surname>Ruhela</surname> <given-names>A.</given-names></name> <name><surname>Harrell</surname> <given-names>S. L.</given-names></name> <etal/></person-group>. (<year>2023</year>). <article-title>&#x0201C;Taming metadata-intensive HPC jobs through dynamic, application-agnostic QoS control,&#x0201D;</article-title> in <source>2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing (CCGrid)</source> (<publisher-loc>Bangalore, India</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>47</fpage>&#x02013;<lpage>61</lpage>. doi: <pub-id pub-id-type="doi">10.1109/CCGrid57682.2023.00015</pub-id></mixed-citation>
</ref>
<ref id="B26">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Mallat</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <source>A Wavelet Tour of Signal Processing, Third Edition: The Sparse Way</source>. <publisher-loc>New York, USA</publisher-loc>: <publisher-name>Academic Press, Inc</publisher-name>. 3rd edition.</mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>McKenna</surname> <given-names>R.</given-names></name> <name><surname>Herbein</surname> <given-names>S.</given-names></name> <name><surname>Moody</surname> <given-names>A.</given-names></name> <name><surname>Gamblin</surname> <given-names>T.</given-names></name> <name><surname>Taufer</surname> <given-names>M.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Machine learning predictions of runtime and IO traffic on high-end clusters,&#x0201D;</article-title> in <source>2016 IEEE International Conference on Cluster Computing (CLUSTER)</source>, 255&#x02013;258. doi: <pub-id pub-id-type="doi">10.1109/CLUSTER.2016.58</pub-id></mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Mertins</surname> <given-names>A.</given-names></name></person-group> (<year>1999</year>). <source>Signal Analysis: Wavelets, Filter Banks, Time-Frequency Transforms, and Applications</source>. <publisher-loc>New York</publisher-loc>: <publisher-name>John Wiley</publisher-name>.</mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="web"><collab>MessagePack Developers</collab> (<year>2025</year>). <source>MessagePack: It&#x00027;s like JSON</source>. But fast and small. Available online at: <ext-link ext-link-type="uri" xlink:href="https://msgpack.org/index.html">https://msgpack.org/index.html</ext-link> (Accessed January 10, 2025).</mixed-citation>
</ref>
<ref id="B30">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Neuwirth</surname> <given-names>S.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Modular supercomputing and its role in Europe&#x00027;s exascale computing strategy,&#x0201D;</article-title> in <source>Proceedings of The 39th International Symposium on Lattice Field Theory</source> &#x02013; <italic>PoS(LATTICE2022)</italic> (Bonn, Germany: Sissa Medialab), <fpage>245</fpage>. doi: <pub-id pub-id-type="doi">10.22323/1.430.0245</pub-id></mixed-citation>
</ref>
<ref id="B31">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Neuwirth</surname> <given-names>S.</given-names></name> <name><surname>Paul</surname> <given-names>A. K.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Parallel I/O evaluation techniques and emerging HPC workloads: a perspective,&#x0201D;</article-title> in <source>2021 IEEE International Conference on Cluster Computing (CLUSTER)</source> (<publisher-loc>Portland, OR, USA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>671</fpage>&#x02013;<lpage>679</lpage>. doi: <pub-id pub-id-type="doi">10.1109/Cluster48925.2021.00100</pub-id></mixed-citation>
</ref>
<ref id="B32">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Oppenheim</surname> <given-names>A. V.</given-names></name> <name><surname>Schafer</surname> <given-names>R. W.</given-names></name></person-group> (<year>2010</year>). <source>Discrete-Time Signal Processing. Prentice Hall Signal Processing Series</source>. <publisher-loc>Upper Saddle River Munich</publisher-loc>: <publisher-name>Pearson 3, edition</publisher-name>.</mixed-citation>
</ref>
<ref id="B33">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Oral</surname> <given-names>S.</given-names></name> <name><surname>Simmons</surname> <given-names>J.</given-names></name> <name><surname>Hill</surname> <given-names>J.</given-names></name> <name><surname>Leverman</surname> <given-names>D.</given-names></name> <name><surname>Wang</surname> <given-names>F.</given-names></name> <name><surname>Ezell</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>&#x0201C;Best practices and lessons learned from deploying and operating large-scale data-centric parallel file systems,&#x0201D;</article-title> in <source>SC&#x00027;14: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis</source>, 217&#x02013;228. doi: <pub-id pub-id-type="doi">10.1109/SC.2014.23</pub-id></mixed-citation>
</ref>
<ref id="B34">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Patel</surname> <given-names>T.</given-names></name> <name><surname>Byna</surname> <given-names>S.</given-names></name> <name><surname>Lockwood</surname> <given-names>G. K.</given-names></name> <name><surname>Tiwari</surname> <given-names>D.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Revisiting I/O behavior in large-scale storage systems: the expected and the unexpected,&#x0201D;</article-title> in <source>Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC &#x00027;19</source> (<publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>ACM</publisher-name>). doi: <pub-id pub-id-type="doi">10.1145/3295500.3356183</pub-id></mixed-citation>
</ref>
<ref id="B35">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Patel</surname> <given-names>T.</given-names></name> <name><surname>Garg</surname> <given-names>R.</given-names></name> <name><surname>Tiwari</surname> <given-names>D.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;GIFT: a coupon based throttle-and-reward mechanism for fair and efficient I/O bandwidth management on parallel storage systems,&#x0201D;</article-title> in <source>Proceedings of the 18th USENIX Conference on File and Storage Technologies, FAST&#x00027;20</source> (<publisher-loc>USA</publisher-loc>: <publisher-name>USENIX Association</publisher-name>), <fpage>103</fpage>&#x02013;<lpage>120</lpage>.</mixed-citation>
</ref>
<ref id="B36">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Pavan</surname> <given-names>P. J.</given-names></name> <name><surname>Bez</surname> <given-names>J. L.</given-names></name> <name><surname>Serpa</surname> <given-names>M. S.</given-names></name> <name><surname>Boito</surname> <given-names>F. Z.</given-names></name> <name><surname>Navaux</surname> <given-names>P. O. A.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;An unsupervised learning approach for I/O behavior characterization,&#x0201D;</article-title> in <source>2019 31st International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)</source>, 33&#x02013;40. doi: <pub-id pub-id-type="doi">10.1109/SBAC-PAD.2019.00019</pub-id></mixed-citation>
</ref>
<ref id="B37">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Snyder</surname> <given-names>S.</given-names></name> <name><surname>Carns</surname> <given-names>P.</given-names></name> <name><surname>Harms</surname> <given-names>K.</given-names></name> <name><surname>Ross</surname> <given-names>R.</given-names></name> <name><surname>Lockwood</surname> <given-names>G. K.</given-names></name> <name><surname>Wright</surname> <given-names>N. J.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Modular HPC I/O characterization with darshan,&#x0201D;</article-title> in <source>2016 5th Workshop on Extreme-Scale Programming Tools (ESPT)</source>, 9&#x02013;17. doi: <pub-id pub-id-type="doi">10.1109/ESPT.2016.006</pub-id></mixed-citation>
</ref>
<ref id="B38">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tang</surname> <given-names>H.</given-names></name> <name><surname>Zou</surname> <given-names>X.</given-names></name> <name><surname>Jenkins</surname> <given-names>J.</given-names></name> <name><surname>Boyuka</surname> <given-names>D. A.</given-names></name> <name><surname>Ranshous</surname> <given-names>S.</given-names></name> <name><surname>Kimpe</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>&#x0201C;Improving read performance with online access pattern analysis and prefetching,&#x0201D;</article-title> in <source>Euro-Par 2014 Parallel Processing</source>, eds. F. Silva, I. Dutra, and V. Santos Costa (Cham: Springer International Publishing), <fpage>246</fpage>&#x02013;<lpage>257</lpage>. doi: <pub-id pub-id-type="doi">10.1007/978-3-319-09873-9_21</pub-id></mixed-citation>
</ref>
<ref id="B39">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Tarraf</surname> <given-names>A.</given-names></name> <name><surname>Bandet</surname> <given-names>A.</given-names></name> <name><surname>Boito</surname> <given-names>F.</given-names></name> <name><surname>Pallez</surname> <given-names>G.</given-names></name> <name><surname>Wolf</surname> <given-names>F.</given-names></name></person-group> (<year>2024a</year>). <article-title>&#x0201C;Capturing periodic I/O using frequency techniques,&#x0201D;</article-title> in <source>2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS)</source> (<publisher-loc>San Francisco, CA, USA</publisher-loc>), <fpage>465</fpage>&#x02013;<lpage>478</lpage>. doi: <pub-id pub-id-type="doi">10.1109/IPDPS57955.2024.00048</pub-id></mixed-citation>
</ref>
<ref id="B40">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Tarraf</surname> <given-names>A.</given-names></name> <name><surname>Munoz</surname> <given-names>J. F.</given-names></name> <name><surname>Singh</surname> <given-names>D. E.</given-names></name> <name><surname>&#x000D6;zden</surname> <given-names>T.</given-names></name> <name><surname>Carretero</surname> <given-names>J.</given-names></name> <name><surname>Wolf</surname> <given-names>F.</given-names></name></person-group> (<year>2024b</year>). <article-title>&#x0201C;I/O behind the scenes: bandwidth requirements of HPC applications with asynchronous I/O,&#x0201D;</article-title> in <source>2024 IEEE International Conference on Cluster Computing (CLUSTER)</source> (<publisher-loc>Kobe, Japan</publisher-loc>), <fpage>426</fpage>&#x02013;<lpage>439</lpage>. doi: <pub-id pub-id-type="doi">10.1109/CLUSTER59578.2024.00044</pub-id></mixed-citation>
</ref>
<ref id="B41">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tarraf</surname> <given-names>A.</given-names></name> <name><surname>Schreiber</surname> <given-names>M.</given-names></name> <name><surname>Cascajo</surname> <given-names>A.</given-names></name> <name><surname>Besnard</surname> <given-names>J.-B.</given-names></name> <name><surname>Vef</surname> <given-names>M.-A.</given-names></name> <name><surname>Huber</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2024c</year>). <article-title>Malleability in modern HPC systems: current experiences, challenges, and future opportunities</article-title>. <source>IEEE Trans. Paral. Distr. Syst</source>. <volume>35</volume>, <fpage>1551</fpage>&#x02013;<lpage>1564</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TPDS.2024.3406764</pub-id></mixed-citation>
</ref>
<ref id="B42">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tarraf</surname> <given-names>A.</given-names></name> <name><surname>Wolf</surname> <given-names>F.</given-names></name></person-group> (<year>2025</year>). <article-title>Improving I/O phase predictions in FTIO using hybrid wavelet-Fourier analysis [data set]</article-title>. <source>Front. High Perfor. Comput</source>. Zenodo. doi: <pub-id pub-id-type="doi">10.5281/zenodo.17713783</pub-id></mixed-citation>
</ref>
<ref id="B43">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tseng</surname> <given-names>S.-M.</given-names></name> <name><surname>Nicolae</surname> <given-names>B.</given-names></name> <name><surname>Bosilca</surname> <given-names>G.</given-names></name> <name><surname>Jeannot</surname> <given-names>E.</given-names></name> <name><surname>Chandramowlishwaran</surname> <given-names>A.</given-names></name> <name><surname>Cappello</surname> <given-names>F.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Towards portable online prediction of network utilization using MPI-level monitoring,&#x0201D;</article-title> in <source>Euro-Par 2019: Parallel Processing</source>, eds. R. Yahyapour (Cham: Springer International Publishing), <fpage>47</fpage>&#x02013;<lpage>60</lpage>. doi: <pub-id pub-id-type="doi">10.1007/978-3-030-29400-7_4</pub-id></mixed-citation>
</ref>
<ref id="B44">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>C.</given-names></name> <name><surname>Sun</surname> <given-names>J.</given-names></name> <name><surname>Snir</surname> <given-names>M.</given-names></name> <name><surname>Mohror</surname> <given-names>K.</given-names></name> <name><surname>Gonsiorowski</surname> <given-names>E.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Recorder 2.0: efficient parallel I/O tracing and analysis,&#x0201D;</article-title> in <source>2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)</source>, 1&#x02013;8. doi: <pub-id pub-id-type="doi">10.1109/IPDPSW50202.2020.00176</pub-id></mixed-citation>
</ref>
<ref id="B45">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>F.</given-names></name> <name><surname>Xin</surname> <given-names>Q.</given-names></name> <name><surname>Hong</surname> <given-names>B.</given-names></name> <name><surname>Brandt</surname> <given-names>S. A.</given-names></name> <name><surname>Miller</surname> <given-names>E.</given-names></name> <name><surname>Long</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2004</year>). <article-title>&#x0201C;File system workload analysis for large scale scientific computing applications,&#x0201D;</article-title> in <source>21st IEEE/12th NASA Goddard Conference on Mass Storage Systems and Technologies, April 2004</source> (<publisher-loc>College Park, MA, USA</publisher-loc>).</mixed-citation>
</ref>
<ref id="B46">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>T.</given-names></name> <name><surname>Snyder</surname> <given-names>S.</given-names></name> <name><surname>Lockwood</surname> <given-names>G.</given-names></name> <name><surname>Carns</surname> <given-names>P.</given-names></name> <name><surname>Wright</surname> <given-names>N.</given-names></name> <name><surname>Byna</surname> <given-names>S.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;IOMiner: large-scale analytics framework for gaining knowledge from I/O logs,&#x0201D;</article-title> in <source>2018 IEEE International Conference on Cluster Computing (CLUSTER)</source>, 466&#x02013;476. doi: <pub-id pub-id-type="doi">10.1109/CLUSTER.2018.00062</pub-id></mixed-citation>
</ref>
<ref id="B47">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Xie</surname> <given-names>B.</given-names></name> <name><surname>Tan</surname> <given-names>Z.</given-names></name> <name><surname>Carns</surname> <given-names>P.</given-names></name> <name><surname>Chase</surname> <given-names>J.</given-names></name> <name><surname>Harms</surname> <given-names>K.</given-names></name> <name><surname>Lofstead</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>&#x0201C;Applying machine learning to understand write performance of large-scale parallel filesystems,&#x0201D;</article-title> in <source>2019 IEEE/ACM Fourth International Parallel Data Systems Workshop (PDSW)</source>, 30&#x02013;39. doi: <pub-id pub-id-type="doi">10.1109/PDSW49588.2019.00008</pub-id></mixed-citation>
</ref>
<ref id="B48">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Xie</surname> <given-names>B.</given-names></name> <name><surname>Tan</surname> <given-names>Z.</given-names></name> <name><surname>Carns</surname> <given-names>P.</given-names></name> <name><surname>Chase</surname> <given-names>J.</given-names></name> <name><surname>Harms</surname> <given-names>K.</given-names></name> <name><surname>Lofstead</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>&#x0201C;Interpreting write performance of supercomputer I/O systems with regression models,&#x0201D;</article-title> in <source>2021 IEEE International Parallel and Distributed Processing Symposium (IPDPS)</source> (<publisher-loc>Portland, OR, USA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>557</fpage>&#x02013;<lpage>566</lpage>. doi: <pub-id pub-id-type="doi">10.1109/IPDPS49936.2021.00064</pub-id></mixed-citation>
</ref>
<ref id="B49">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>J.</given-names></name> <name><surname>Yang</surname> <given-names>W.</given-names></name> <name><surname>Wang</surname> <given-names>F.</given-names></name> <name><surname>Dong</surname> <given-names>D.</given-names></name> <name><surname>Feng</surname> <given-names>J.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2020</year>). <article-title>Spatially bursty I/O on supercomputers: causes, impacts and solutions</article-title>. <source>IEEE Trans. Paral. Distr. Syst</source>. <volume>31</volume>, <fpage>2908</fpage>&#x02013;<lpage>2922</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TPDS.2020.3005572</pub-id></mixed-citation>
</ref>
<ref id="B50">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zanon Boito</surname> <given-names>F.</given-names></name> <name><surname>Teylo</surname> <given-names>L.</given-names></name> <name><surname>Popov</surname> <given-names>M.</given-names></name> <name><surname>Jolivel</surname> <given-names>T.</given-names></name> <name><surname>Tessier</surname> <given-names>F.</given-names></name> <name><surname>Luettgau</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2025</year>). <source>A deep look into the temporal I/O behavior of HPC applications -extended version</source>. Technical Report RR-9577, Inria &#x00026;Labri, Univ. Bordeaux. doi: <pub-id pub-id-type="doi">10.1109/IPDPS64566.2025.00072</pub-id></mixed-citation>
</ref>
<ref id="B51">
<mixed-citation publication-type="web"><collab>ZeroMQ Developers</collab> (<year>2025</year>). ZeroMQ. Available online at: <ext-link ext-link-type="uri" xlink:href="https://zeromq.org/">https://zeromq.org/</ext-link> (Accessed January 10, 2025).</mixed-citation>
</ref>
</ref-list>
<fn-group>
<fn fn-type="custom" custom-type="edited-by" id="fn0001">
<p>Edited by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1337205/overview">Geoffrey Fox</ext-link>, University of Virginia, United States</p>
</fn>
<fn fn-type="custom" custom-type="reviewed-by" id="fn0002">
<p>Reviewed by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1856657/overview">Norbert Pataki</ext-link>, E&#x000F6;tv&#x000F6;s Lor&#x000E1;nd University, Hungary</p>
<p><ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3093999/overview">Raul Tapia</ext-link>, Sevilla University, Spain</p>
</fn>
</fn-group>
<fn-group>
<fn id="fn0003"><label>1</label><p><ext-link ext-link-type="uri" xlink:href="https://github.com/tuda-parallel/FTIO/blob/main/docs/file_formats.md">https://github.com/tuda-parallel/FTIO/blob/main/docs/file_formats.md</ext-link></p></fn>
<fn id="fn0004"><label>2</label><p><ext-link ext-link-type="uri" xlink:href="https://github.com/tuda-parallel/FTIO/tree/main/artifacts/frontiers25">https://github.com/tuda-parallel/FTIO/tree/main/artifacts/frontiers25</ext-link></p></fn>
</fn-group>
</back>
</article>