<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1398647</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1398647</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Dynamic balancing method of power distribution and consumption tasks based on state iterative prediction and resource peaking shifting</article-title>
<alt-title alt-title-type="left-running-head">Cai et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1398647">10.3389/fenrg.2024.1398647</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Cai</surname>
<given-names>Tiantian</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chen</surname>
<given-names>Junjian</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Junye</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hu</surname>
<given-names>Ming</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2647117/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Li</surname>
<given-names>Xiaohua</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1115271/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cai</surname>
<given-names>Zexiang</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Xuhui</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Technology R&#x26;D Center</institution>, <institution>China Southern Power Grid Digital Power Grid Research Institute Co, Ltd</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>School of Electric Power Engineering</institution>, <institution>South China University of Technology</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1578745/overview">Yuqing Dong</ext-link>, The University of Tennessee, United States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1371498/overview">Ziming Yan</ext-link>, Nanyang Technological University, Singapore</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1517415/overview">Lipeng Zhu</ext-link>, Hunan University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Xiaohua Li, <email>eplxh@scut.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>03</day>
<month>05</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1398647</elocation-id>
<history>
<date date-type="received">
<day>10</day>
<month>03</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>15</day>
<month>04</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Cai, Chen, Li, Hu, Li, Cai and Wang.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Cai, Chen, Li, Hu, Li, Cai and Wang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). 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.</p>
</license>
</permissions>
<abstract>
<p>In the context of the new power system, the widespread access to massive distributed new energy sources has led to the power distribution and consumption tasks characterized by multiple time scales, wide random distribution, and large demand differences, resulting in unpredictable resource peaks in the tasks computing resource demand curve. In view of this situation, a method of forecasting and dynamic balancing of computing resource demand for power distribution and consumption tasks based on state iteration was proposed: firstly, the tasks computing resource demand model was established under the analysis of the attributes and parameter demand of the power distribution and consumption tasks scenario. Secondly, on the basis of the short-term effectiveness prediction of the traditional Markov model, the first-order difference of the state is used for data training to track the state fluctuation, and the historical state and the predicted state are used for state iteration, so as to avoid the convergence of long-term prediction. Finally, a dynamic balancing model is established according to the time-scale characteristics of cyclical and non-cyclical tasks, and the optimal configuration of load imbalance is achieved through the identification and adjustment of historical data and burst data. The simulation results show that the improved Markov model based on first-order difference and state iteration has the short-term accuracy of the traditional model and the long-term traceability of data fluctuations. The dynamic balancing model can combine the characteristics of historical data and burst data to effectively reduce the imbalance of resource demand, and show good ability to cope with resource imbalance deviation.</p>
</abstract>
<kwd-group>
<kwd>power distribution and consumption tasks</kwd>
<kwd>computing resource demand</kwd>
<kwd>first-order difference of state</kwd>
<kwd>state iteration</kwd>
<kwd>dynamic balancing</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Smart Grids</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The new power system is a modern power system that is efficient, flexible, and intelligent, with new energy as the main body. While developing in the future, new power systems are also facing some problems. The widespread access to new energy sources such as photovoltaics and wind power that are different from traditional energy structures has led to the power distribution and consumption tasks are characterized by multiple time scales, wide random distribution, and large demand differences (<xref ref-type="bibr" rid="B11">K&#xfc;feo&#x11f;lu et al., 2019</xref>; <xref ref-type="bibr" rid="B10">Infield et al., 2020</xref>), a situation that has been led to by the widespread access to massive distributed new energy sources. Consequently, new features such as randomness and occasional demand for computing resources are presented (<xref ref-type="bibr" rid="B18">Xiao et al., 2023</xref>; <xref ref-type="bibr" rid="B19">Xiao et al., 2024</xref>). Unpredictable resource peaks in the tasks computing resource demand curve are directly led to by the characteristics of new elements, which affect the balanced relationship between resource supply and tasks demand (<xref ref-type="bibr" rid="B4">Cao et al., 2020</xref>; <xref ref-type="bibr" rid="B13">Kumar et al., 2023</xref>), making it difficult for the system to be predicted and responded to in advance (<xref ref-type="bibr" rid="B8">Dong et al., 2022</xref>). To reconstruct the power distribution and consumption task processing framework under the new power system, it is crucial to develop an urgent prediction solution that incorporates data mining and data reuse. Building upon this foundation, a novel solution suitable for dynamically balancing task differentiation can be explored, which fully promotes the development of distribution network automation in the new power system. (<xref ref-type="bibr" rid="B12">Kumar et al., 2021</xref>).</p>
<p>The orientation of traditional computing resource demand forecasting is towards the deconstruction and application of historical data. A cloud virtual machine resource hotspot classification mechanism is established in literature (<xref ref-type="bibr" rid="B14">Liu et al., 2017</xref>) to provide migration objects and targets for load prediction and dynamic scheduling. The proposal in literature (<xref ref-type="bibr" rid="B16">Wang et al., 2016</xref>) is to migrate high-load physical node tasks to low-load physical nodes while predicting cloud virtual machine historical data. The proposition of literature (<xref ref-type="bibr" rid="B17">Wang et al., 2022</xref>) is to conduct coupling dependency analysis on timing characteristics under multi-time scale tasks disassembly and fusion, thereby achieving long-term resource load prediction. Subsequent prediction based on container historical data and a large neural network model is realized in literature (<xref ref-type="bibr" rid="B15">Ma, 2020</xref>), which holds certain reference value for realizing dynamic prediction and resource scheduling flexibility. However, with the widespread access to massive new energy sources, traditional prediction solutions that rely solely on historical data are difficult to support, knowledge-driven ideas that take into account historical data mining and prediction data reuse have become an important driving force to improve the accuracy of demand forecasting.</p>
<p>The orientation of research on computing resource demand balance is towards the analysis and modeling of tasks characteristics. In terms of tasks characteristics, the feasibility of dynamically allocating processing units based on tasks characteristics is discussed in literature (<xref ref-type="bibr" rid="B3">Baital et al., 2020</xref>). The traditional first-come, first-served queue scheduling is changed based on tasks time characteristics in literature (<xref ref-type="bibr" rid="B9">Huang et al., 2018</xref>). The coupling of tasks characteristics for cluster division is considered in literature (<xref ref-type="bibr" rid="B1">Abbasi et al., 2021</xref>), where an affinity-based tasks scheduling algorithm is proposed. However, the identification of tasks characteristics is lacking in literature (<xref ref-type="bibr" rid="B9">Huang et al., 2018</xref>; <xref ref-type="bibr" rid="B3">Baital et al., 2020</xref>; <xref ref-type="bibr" rid="B1">Abbasi et al., 2021</xref>), resulting in the balanced solution not reflecting the differentiated processing process. On the topic of tasks computing resource demand modeling, tasks sequence demand is modeled based on cyclicity and similarity in literature (<xref ref-type="bibr" rid="B2">Alam et al., 2018</xref>). An assessment and modeling of computing resource demand for the tasks of smart distribution stations is conducted in literature (<xref ref-type="bibr" rid="B5">Cen et al., 2022</xref>). A deployment plan after resource assessment based on tasks characteristics and logical composition is established in literature (<xref ref-type="bibr" rid="B20">Zhou et al., 2022</xref>), based on (<xref ref-type="bibr" rid="B5">Cen et al., 2022</xref>). Although the proposal to model tasks needs is made in literature (<xref ref-type="bibr" rid="B2">Alam et al., 2018</xref>; <xref ref-type="bibr" rid="B5">Cen et al., 2022</xref>; <xref ref-type="bibr" rid="B20">Zhou et al., 2022</xref>), their solutions still remain at the passive assessment level and lack differentiated solution construction driven by different task perspectives.</p>
<p>In response to the challenges of predicting and balancing the demand curve for computing resources in power distribution and consumption tasks, a method for predicting and dynamically balancing the demand for computing resources in power distribution and consumption tasks based on state iteration is proposed in this paper. Firstly, this paper innovatively constructs a unified computing resource demand model based on the scenario attributes and parameter requirements of power distribution and consumption tasks. Secondly, this paper constructs a first-order difference model through state iteration based on the traditional Markov model. It creatively establishes a connection between historical states and predicted states, enabling continuous updates for state sequences. Finally, a dynamic balancing model is established based on the time scale characteristics of cyclical and non-cyclical tasks, and the optimal configuration of load imbalance is achieved by identifying and adjusting historical data and burst data. This paper proposes a coherent set of prediction and balancing solutions, with the goal of providing analytical tools and a foundation for equitable load balancing of computing resources in the power distribution and consumption tasks.</p>
</sec>
<sec id="s2">
<title>2 Computing resource demand model and characteristic analysis of power distribution and consumption tasks</title>
<sec id="s2-1">
<title>2.1 Key issues in building computing resource demand model</title>
<p>Against the background of the new energy wave and digitalization wave in the power system, the demand for computing resource in the power distribution and consumption tasks has always maintained a high growth trend. However, there is often a certain lag in the configuration of terminal computing resource, which creates bottleneck constraint between computing resource demand and configuration. At the same time, due to the differences in parameter attributes of the power distribution and consumption tasks, its computing resource demand are bound to show &#x201c;resource peaks&#x201d; and &#x201c;resource troughs&#x201d; in different time periods. Therefore, it is very necessary to establish a reasonable computing resource demand model. It can not only provide mathematical model for improving the supply and demand of computing resource, but also meet the needs for flexible adjustment of resource allocation.</p>
<p>Drawing upon the aforementioned analysis, this chapter initiates an examination of the diverse scenario types within the power distribution and consumption tasks. Subsequently, it delves into the intricacies of the power distribution and consumption tasks&#x2019; characteristics and underscores the imperative of constructing a demand model for computing resources. Finally, from the vantage point of time, resources, and complexity, the calculation of the resource demand model for the power distribution and consumption tasks occurs across three dimensions, thereby establishing the groundwork for subsequent state prediction. The problem-solving process is depicted in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Flow chart of computing resource demand and characteristics analysis of power distribution and consumption tasks.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g001.tif"/>
</fig>
</sec>
<sec id="s2-2">
<title>2.2 Power distribution and consumption tasks scenarios and types</title>
<p>The provision of a variety of services to users within the scope of the distribution network, including power supply, power quality, comprehensive energy, energy efficiency management, and market transactions, is referred to as the power distribution and consumption tasks (<xref ref-type="bibr" rid="B6">Chen et al., 2016</xref>). The connection of massive new energy sources such as photovoltaics, wind turbines, energy storage, and electric vehicles to the distribution network has been facilitated by the advancement of new power system transformation (<xref ref-type="bibr" rid="B7">Cheng, 2022</xref>). The power distribution and consumption tasks is characterized by the explosive growth of heterogeneous multi-source tasks data, resulting in large volume and variety. The typical power distribution and consumption tasks can currently be divided into two dimensions: data sensing and data applications in the entire chain utilization of power information. Data sensing, which includes online monitoring, states sensing, etc., functions to collect information from users and equipment in distribution network scenarios. Data applications, which include metering operation and maintenance, power trading, etc., can realize functions such as market transactions and rapid control.</p>
</sec>
<sec id="s2-3">
<title>2.3 Analysis of power distribution and consumption tasks characteristics</title>
<p>The power distribution and consumption tasks, which serves as an effective carrier of system informatization, automation, and intelligent upgrading and transformation, faces challenges due to its complex task characteristics, particularly in facilitating the development of distribution network interconnection. These characteristics include multiple time scales, wide random distribution, large demand differences, and parameters that are difficult to define. Owing to these characteristics, the computing resource demand curve, which is comprehensively generated by multiple types of power distribution and consumption tasks, will exhibit random and sporadic resource demand peaks. In order to proactively respond to this imbalanced state, it is urgently required to construct a multi-dimensional and fine-grained computing resource demand model from the perspective of power distribution and consumption task characteristics is urgently required.</p>
</sec>
<sec id="s2-4">
<title>2.4 Computing resource demand model for power distribution and consumption tasks</title>
<p>This section establishes a computing resource demand model based on the analysis of power distribution and consumption task characteristics. The model is expanded to include three dimensions: time, resources, and complexity: (1) Time parameters: tasks that recur at certain time intervals and tasks that do not recur at time intervals are included in power distribution and consumption tasks. The full life cycle process of these tasks encompasses arrival time, execution time, end time, and delay cycle. (2) Resource parameters: A wide range of resource demand is presented by the power distribution and consumption tasks, due to the diversification of service objects and the differentiation of processing data. (3) Complexity parameters: The degree of change in computing resource demand is referred to as the complexity of power distribution and consumption tasks, and its parameters are described by tasks sensitivity and unit scale. The task interval response time demand is referred to as its sensitivity, which is a key parameter for the dynamic and balanced deployment of tasks; The unit scale serves as a dimension for classifying task types and task needs, and is responsible for the differentiated expression of power distribution and consumption tasks.</p>
<p>On the basis of the definition of three types of parameter dimensions, the power distribution and consumption tasks is described in this section as a cyclical tasks model and a non-cyclical tasks model: The cyclical tasks is characterized by its fixed sampling cycle. In the power distribution scenario, to ensure the balance of &#x201c;two-way power flow&#x201d;, the output of distributed new energy sources needs to be quickly adjusted by the distribution network control system to deal with disturbances. These operations typically requires fixed sampling at the millisecond-level. To ensure the optimal match between electricity prices in the electricity market and real-time electricity information, rapid processing is required by the electricity market. Transaction data should be allocated reasonably to supply and demand, and this allocation usually requires fixed sampling at the second-level. In combination with parameter definition, the tasks model with a fixed sampling cycle that has been built is described as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represent the total computing resource demand curves of millisecond-level and second-level cyclical tasks respectively. <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represent the number of millisecond-level and second-level cyclical tasks respectively. <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the total number of steps in the time segment for millisecond-level cyclical tasks <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and second-level cyclical tasks <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> . <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the computing resource demand of millisecond-level cyclical tasks <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and second-level cyclical tasks <inline-formula id="inf8">
<mml:math id="m9">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> . <inline-formula id="inf9">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the execution cycle of millisecond-level cyclical tasks <inline-formula id="inf10">
<mml:math id="m11">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and second-level cyclical tasks <inline-formula id="inf11">
<mml:math id="m12">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> . <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the execution time of millisecond-level cyclical tasks <inline-formula id="inf13">
<mml:math id="m14">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and second-level cyclical tasks <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Non-cyclical tasks are characterised by their lack of a fixed sampling cycle and their sudden nature. They often involve scenarios such as load forecasting for distribution stations and fault protection actions. The arrival time of such tasks is uncertain and the execution time is relatively long. Combined with the parameter definition, The non-cyclical tasks model constructed in this article using arrive time <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#x002C;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> execution time <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and completion time <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is described as follows:<disp-formula id="e2">
<mml:math id="m19">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf18">
<mml:math id="m20">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is used to describe the non-cyclical tasks. <inline-formula id="inf19">
<mml:math id="m21">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is used to describe the computing resource demand of non-cyclical tasks <inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Based on the construction of cyclical tasks and non-cyclical tasks models, a segment division model is established for subsequent resource demand forecasting and dynamic balancing:<disp-formula id="e3">
<mml:math id="m23">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mi>A</mml:mi>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mo>&#x222b;</mml:mo>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf21">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the multi-tasks comprehensive computing resource demand curve. <inline-formula id="inf22">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the average computing resource demand. For the division of the multi-tasks comprehensive demand model into segments and the realization of the resource demand prediction, the division boundary between the resource imbalance decreasing segment and the resource imbalance increasing segment is defined by the change amount of the standard deviation of the computing resource demand and the average computing resource demand. Thus, the division judgment mechanism is thus defined:<disp-formula id="e4">
<mml:math id="m26">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2212;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf23">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the standard deviation between the computing resource demand and the average computing resource demand in <inline-formula id="inf24">
<mml:math id="m28">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> . <inline-formula id="inf25">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the proportion of each value of the computing resource demand curve in <inline-formula id="inf26">
<mml:math id="m30">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf27">
<mml:math id="m31">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the change in the standard deviation of computing resource demand and average computing resource demand during <inline-formula id="inf28">
<mml:math id="m32">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> . <inline-formula id="inf29">
<mml:math id="m33">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the boundary threshold that divides the resource imbalance decreasing segment and the resource imbalance increasing segment. <inline-formula id="inf30">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the resource imbalance state matrix. <inline-formula id="inf31">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the decreasing resource imbalance segment and the increasing resource imbalance segment.</p>
</sec>
</sec>
<sec id="s3">
<title>3 State iterative prediction model and dynamic load balancing model</title>
<sec id="s3-1">
<title>3.1 Key issues in state iterative prediction model and dynamic load balancing model</title>
<p>Building upon the computing resource demand model for power distribution and consumption tasks, this chapter introduces an improved Markov model based on first-order differences, following the segment division framework. By incorporating first-order differences and state iteration, this approach addresses the limitations of traditional prediction models, such as insufficient posteriority and stochasticity. Furthermore, a dynamic balancing model is developed for increasing resource imbalance segment, leveraging predictive insights. This model effectively tackles the imbalance in computing resource consumption by differentially adjusting cyclical and non-cyclical tasks.</p>
</sec>
<sec id="s3-2">
<title>3.2 Resource demand states prediction model of power distribution and consumption tasks</title>
<p>To predict occasional peaks in computing resource demand, the computing resource demand curve of the power distribution and consumption tasks can be statistically constructed into a trendy and random state sequence from a statistical perspective. The Markov chain can be utilized as the applicable prediction model for the nature of this sequence. The characteristics of the traditional Markov prediction model are analysed in this chapter, and an improved Markov model based on first-order difference and sequence iterative update is proposed to ensure the accuracy and effectiveness of resource demand states prediction for the power distribution and consumption tasks.</p>
<sec id="s3-2-1">
<title>3.2.1 Traditional Markov prediction model</title>
<p>The Markov prediction model is a probabilistic prediction method about the occurrence of an event. It predicts the states of the event at various times in the future based on the current states of the event. In each step of the Markov prediction model, the system can realize mutual migration between states according to the probability distribution of state transitions. This section provides an overview of the steps included in the traditional Markov prediction model. Suppose a certain system state sequence:<disp-formula id="e5">
<mml:math id="m36">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>The Markov prediction model emphasizes that the predicted state is only related to the previous state, so the transition probability between any states can be obtained based on this principle, that is, the one-step state transition matrix can be obtained:<disp-formula id="e6">
<mml:math id="m37">
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22f1;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>According to the current state <inline-formula id="inf32">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the state sequence and the one-step state transition matrix, the next state <inline-formula id="inf33">
<mml:math id="m39">
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> can be predicted:<disp-formula id="e7">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>Based on this, the prediction of the next stage of state can be obtained. According to the traditional Markov prediction model, the subsequent prediction is described by the k-step state transition matrix.<disp-formula id="e8">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>The basic steps of the traditional Markov prediction model can be obtained from comprehensive formulas <xref ref-type="disp-formula" rid="e5">(5</xref>-<xref ref-type="disp-formula" rid="e8">8)</xref>. Certain limitations are inherent in the traditional Markov model. When the curve change rate experiences sudden changes and the numerical value undergoes violent fluctuations, the complex changes that occur in the prediction process cannot be handled by a single state transition matrix. The traditional Markov model, which predicts based solely on the current state, is directly led to an inability to have aftereffects. The state value of the model will pass through the same state interval multiple times, causing the model to enter a stationary distribution and rendering it incapable of making effective predictions. In other words, the convergence of subsequent prediction data is excessively strong.</p>
</sec>
<sec id="s3-2-2">
<title>3.2.2 Improved Markov model based on first order difference and sequence iterative update</title>
<p>As noted in <xref ref-type="sec" rid="s3-2-1">section 3.2.1</xref>, the traditional Markov model, on one hand, exhibits poor sensitivity to rate mutations and data fluctuations, and is incapable of handling complex changes that occur in the prediction process. On the other hand, its data training is based solely on historical data and lacks the reuse of prediction data, limiting the number of steps that can be accurately predicted to three to five steps. This directly results in the state prediction falling into a stationary distribution. In light of the shortcomings of the traditional Markov model, the proposal in this section is to perform first-order difference processing on the state sequence based on the accurate prediction in the previous stage of the traditional Markov model and update the prediction data to the original sequence for iteration. The first-order difference value is able to reflect not only of reflecting data fluctuations, but also of reflecting the changes in the sequence, thereby preventing the sequence prediction from developing to extremes. The scheme is depicted in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Improved markov prediction flowchart based on first-order differencing and iterative sequence updating.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g002.tif"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="F2">Figure 2</xref>, the improved Markov model based on first-order difference and sequence iterative update includes three steps.<list list-type="simple">
<list-item>
<p>(1) First, the numerical sequence of power distribution and consumption tasks resource demand is constructed as:</p>
</list-item>
</list>
<disp-formula id="e9">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(2) Then perform first-order difference processing on the numerical sequence of power distribution and consumption tasks resource demand, and combined with Equation <xref ref-type="disp-formula" rid="e10">10</xref>:</p>
</list-item>
</list>
<disp-formula id="e10">
<mml:math id="m43">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>According to the resource imbalance state matrix and Equation <xref ref-type="disp-formula" rid="e10">10</xref>, the one-step state transition matrix can be obtained by <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>State transfer probability matrix.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" colspan="2" align="center"/>
<th colspan="2" align="center">Transfer states</th>
<th rowspan="2" align="center">Total</th>
</tr>
<tr>
<th align="center">
<inline-formula id="inf34">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf35">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="center">Current states</td>
<td align="center">
<inline-formula id="inf36">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf37">
<mml:math id="m47">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf38">
<mml:math id="m48">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf39">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf40">
<mml:math id="m50">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">
<inline-formula id="inf41">
<mml:math id="m51">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the table: <inline-formula id="inf42">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the number of transitions from state <inline-formula id="inf43">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to state <inline-formula id="inf44">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf45">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the number of transitions from state <inline-formula id="inf46">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to state <inline-formula id="inf47">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> . <inline-formula id="inf48">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the number of each state in the resource imbalance state matrix <inline-formula id="inf49">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. In order to facilitate the calculation of subsequent state transition matrices, the initial value of the current unbalanced state <inline-formula id="inf50">
<mml:math id="m60">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is described by matrix <inline-formula id="inf51">
<mml:math id="m61">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf52">
<mml:math id="m62">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is a 1 &#xd7; 2 boolean matrix, as follows:<disp-formula id="e11">
<mml:math id="m63">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf53">
<mml:math id="m64">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> respectively indicate that the current states is a decreasing resource imbalance segment or a increasing resource imbalance segment. According to the one-step state transition matrix <inline-formula id="inf54">
<mml:math id="m65">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and the current imbalance state <inline-formula id="inf55">
<mml:math id="m66">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> obtained in <xref ref-type="table" rid="T1">Table 1</xref>, the next stage state prediction value <inline-formula id="inf56">
<mml:math id="m67">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be calculated:<disp-formula id="e12">
<mml:math id="m68">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>After the state transition prediction calculation, <inline-formula id="inf57">
<mml:math id="m69">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is a non-Boolean matrix. For subsequent calculations, <inline-formula id="inf58">
<mml:math id="m70">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> needs to be converted into a 1 &#xd7; 2 Boolean matrix:<disp-formula id="e13">
<mml:math id="m71">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>According to Eq. <xref ref-type="disp-formula" rid="e13">13</xref>, the predicted state probability can be equivalent to the segment in which the current predicted state is in resource imbalance.<list list-type="simple">
<list-item>
<p>(3) Finally, the predicted state is added to the original state sequence to form a new state sequence. According to the one-step state transition matrix <inline-formula id="inf59">
<mml:math id="m72">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> updated in <xref ref-type="table" rid="T1">Table 1</xref> and equations <xref ref-type="disp-formula" rid="e11">(11</xref>-<xref ref-type="disp-formula" rid="e13">13)</xref>, a continuous iterative prediction of the power distribution and consumption tasks resource demand state is formed:</p>
</list-item>
</list>
<disp-formula id="e14">
<mml:math id="m73">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf60">
<mml:math id="m74">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the predicted state at step k. <inline-formula id="inf61">
<mml:math id="m75">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the Boolean matrix at step k-1. <inline-formula id="inf62">
<mml:math id="m76">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the one-step state transition matrix after k updates.</p>
<p>Eventually, the number of steps accurately predicted by the traditional Markov front stage covers the iterative prediction sequence. In this case, accurate coverage is achieved in 3 steps. The improved Markov prediction, which is based on first-order difference and iterative sequence updating, combines the short-term accurate prediction characteristics of traditional models with the data-sensitive identification characteristics of existing models. Concurrently, the convergence of the traditional k-step state transition matrix in prediction is overcome by the addition of state iterative updates and the iteration based on a state transition matrix.</p>
</sec>
</sec>
<sec id="s3-3">
<title>3.3 Dynamic load balancing model of power distribution and consumption tasks</title>
<p>Based on the prediction of computing resource demand states of power distribution and consumption tasks, reducing the peak demand for resource is an urgent issue that needs to be solved in the next step. This section considers establishing a load balancing model for the increasing resource imbalance segment. On the one hand, based on the prediction of the increasing resource imbalance segment, a dynamic balancing model for cyclical tasks based on historical data can be established; On the other hand, based on the burst characteristics of non-cyclical tasks, a non-cyclical task dynamic balancing model considering current data is established.</p>
<sec id="s3-3-1">
<title>3.3.1 Cyclical tasks dynamic balancing model</title>
<p>The unbalanced increasing segment of the resource curve is attributed to the overlap of cyclical tasks, resulting in a significant gap between the resource demand curve and the average resource demand in that time cycle. In order to ensure the optimal balance of resource demand, this section combines the characteristics of cyclical tasks with fixed-interval sampling, and performs iterative updates for cyclical tasks to minimize resource imbalance based on the principle of peaking shifting. Despite the different time scales of millisecond-level cyclical tasks and second-level cyclical tasks, the adjustment ideas and principles are unified. The adjustment of second-level cyclical tasks is taken as an example for analysis in this context. The process is depicted in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Schematic diagram of cyclical task dynamic balancing.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g003.tif"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="F3">Figure 3</xref>, this section divides the adjustment of second-level cyclical tasks into six steps:<list list-type="simple">
<list-item>
<p>(1) The first step is to define the first time point with the lowest resource demand of all second-level cyclical tasks in the increasing resource imbalance segment as <inline-formula id="inf63">
<mml:math id="m77">
<mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>(2) The second step is sort all second-level cyclical tasks in the increasing resource imbalance segment according to resource demand, defined as <inline-formula id="inf64">
<mml:math id="m78">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>(3) The third step is to move the second-level cyclical task <inline-formula id="inf65">
<mml:math id="m79">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> to time <inline-formula id="inf66">
<mml:math id="m80">
<mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and start execution. Cyclical tasks with peaking shifting need to meet the cycle response time limit</p>
</list-item>
</list>
</p>
<p>a. When <inline-formula id="inf67">
<mml:math id="m81">
<mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is less than the cyclical response time of the task:<disp-formula id="e15">
<mml:math id="m82">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf68">
<mml:math id="m83">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the total resource demand of all second-level cyclical tasks after the first peaking shifting.</p>
<p>b. When <inline-formula id="inf69">
<mml:math id="m84">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mtext>low</mml:mtext>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is greater than the cyclical response time of the task, the latest response time in each cycle is used as the target point for peaking shifting:<disp-formula id="e16">
<mml:math id="m85">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf70">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the starting point of the resource imbalance increasing segment.<list list-type="simple">
<list-item>
<p>(4) The fourth step involves redefining the first time point with the lowest resource demand, following the procedure outlined in step (1) and utilizing Eqs <xref ref-type="disp-formula" rid="e15">15</xref> and <xref ref-type="disp-formula" rid="e16">16</xref>. Following this logic, the minimum resource demand time point sequence <inline-formula id="inf71">
<mml:math id="m87">
<mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> can be obtained one after another.</p>
</list-item>
<list-item>
<p>(5) The fifth step involves performing the <italic>m</italic>th peaking shifting, as outlined in step (3), based on the resource demand time point sequence <inline-formula id="inf72">
<mml:math id="m88">
<mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
<disp-formula id="e17">
<mml:math id="m89">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf73">
<mml:math id="m90">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the total computing resource demand curve of second-level cyclical tasks after adjustment in the <italic>m</italic>th step.<list list-type="simple">
<list-item>
<p>(6) The sixth step is to define minimizing the imbalance degree as the objective optimization function and corresponding constraints:</p>
</list-item>
</list>
<disp-formula id="e18">
<mml:math id="m91">
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>s.t.<disp-formula id="e19">
<mml:math id="m92">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mtext>cal</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf74">
<mml:math id="m93">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the sum of squares of the difference between the computing resource demand of all second-level cyclical tasks in the segment and the average computing resource demand. <inline-formula id="inf75">
<mml:math id="m94">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the time proportion of each resource value. <inline-formula id="inf76">
<mml:math id="m95">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the average computing resource demand of all second-level cyclical tasks in the segment. Constraint <inline-formula id="inf77">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> means that the maximum total computing resource demand of the second-level cyclical tasks after the <italic>m</italic>th step peaking shifting adjustment must not exceed the resource supply amount <inline-formula id="inf78">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mtext>cal</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; Constraint <inline-formula id="inf79">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> means that peaking shifting must ensure that cyclical tasks are sampled within the response time of each cycle.</p>
<p>Determine whether the iteration meets the termination condition. If so, terminate it. If not, return to step (4). In the same way, the peaking shifting processing and parameter expression of millisecond-level cyclical tasks are similar to the second-level cyclical tasks.</p>
</sec>
<sec id="s3-3-2">
<title>3.3.2 Non-cyclical tasks dynamic balancing model</title>
<p>The previous dynamic balancing model of cyclical tasks based on historical data for state prediction has effectively reduced resource imbalance. However, due to the burst characteristics of non-cyclical tasks, the balance of the original leveling model will be broken when such tasks moves. To address this issue, this section initially distinguishes the response cycles of cyclical tasks during the non-cyclical tasks execution time. Subsequently, it performs differential leveling based on the results of this differentiation. The specific diagram is depicted in <xref ref-type="fig" rid="F4">Figure 4</xref>:</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Schematic diagram of non-cyclical task dynamic balancing.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g004.tif"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="F4">Figure 4</xref>, the main principle of the non-cyclical tasks dynamic balancing model is to avoid cyclical tasks stagnation during its execution time: on one hand, for short-response cyclical tasks, partial avoidance can be achieved by leveraging the characteristics of their short cycle response time. on the other hand, for long-response cyclical tasks, all non-cyclical tasks can be avoided based on the characteristics of long cycle response time. According to this idea, this model uses the short response cyclical tasks back-moving time <inline-formula id="inf80">
<mml:math id="m99">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and the long response cyclical tasks back-moving time <inline-formula id="inf81">
<mml:math id="m100">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> as decision variables to optimize the non-cyclical tasks segment to minimize the load imbalance. The specific model is as follows.</p>
<p>To implement this idea, the adjustable cyclical step waveform during the non-cyclical tasks time is shifted backward:<disp-formula id="e20">
<mml:math id="m101">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf82">
<mml:math id="m102">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the expressions under the final step waveform adjustment of short response cyclical tasks and long response cyclical tasks. <inline-formula id="inf83">
<mml:math id="m103">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the computing resource demand of short response cyclical task <inline-formula id="inf84">
<mml:math id="m104">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and long response cyclical task <inline-formula id="inf85">
<mml:math id="m105">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The meaning of parameters <inline-formula id="inf86">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf87">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is consistent with the previous ones, indicating the number of steps, execution cycle and execution time of short response cyclical tasks and long response cyclical tasks respectively. Reference formula <xref ref-type="disp-formula" rid="e18">(18)</xref> defines minimizing load imbalance as the objective optimization function and corresponding constraints:<disp-formula id="e21">
<mml:math id="m108">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>A</mml:mi>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#xac;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#xac;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>s.t.<disp-formula id="e22">
<mml:math id="m109">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mtext>cal</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>In the formula: <inline-formula id="inf88">
<mml:math id="m110">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the computing resource demand curve of non-cyclical tasks. <inline-formula id="inf89">
<mml:math id="m111">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the total computing resource demand curve in the segment after the adjustment of the non-cyclical tasks dynamic balancing model. <inline-formula id="inf90">
<mml:math id="m112">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#xac;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf91">
<mml:math id="m113">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#xac;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> respectively represent the computing resource demand curves of the unadjusted parts of the short response cyclical tasks and long response cyclical tasks. <inline-formula id="inf92">
<mml:math id="m114">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the time proportion of each resource value after adjustment of the non-cyclical tasks dynamic balancing model. <inline-formula id="inf93">
<mml:math id="m115">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the average computing resource demand after adjustment of the non-cyclical tasks dynamic balancing model. Constraint <inline-formula id="inf94">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> indicates that the adjusted maximum total computing resource demand must not exceed resource supply <inline-formula id="inf95">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mtext>cal</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Constraint <inline-formula id="inf96">
<mml:math id="m118">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> means that the backward movement time does not exceed the execution time of the cyclical tasks. Constraint <inline-formula id="inf97">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> means that cyclical tasks cannot cross the current segment when avoiding non-cyclical tasks.</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Simulation analysis</title>
<sec id="s4-1">
<title>4.1 Typical scene construction</title>
<p>The technology for new energy sources to be widely connected to the distribution network and participate in power market regulation is becoming increasingly mature, the power distribution and consumption tasks exhibit both cyclical and non-cyclical characteristics. Therefore, this paper takes the participation of distributed photovoltaics and distributed wind power generation in response to the two-way adjustment of the power market as the research scenario. The specific tasks included in the scenario are shown in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Typical scenarios of distributed photovoltaic and distributed wind power generation participation in two-way regulation of electricity market.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g005.tif"/>
</fig>
<p>It can be seen from <xref ref-type="fig" rid="F5">Figure 5</xref> that the distributed photovoltaics and distributed wind power station area mainly undertakes millisecond-level cyclical tasks. The power market side mainly undertakes second-level cyclical tasks. This article defines computing resource capacity as 40&#xa0;MB. The execution time, cycle and computing resource demand of each tasks in <xref ref-type="fig" rid="F5">Figure 5</xref> are defined, as shown in <xref ref-type="table" rid="T2">Table 2</xref> below:</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Cyclical task parameters.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Millisecond cyclical tasks name (PV)</th>
<th align="center">Execution time (ms)</th>
<th align="center">Execution cycle (ms)</th>
<th align="center">Computing resource demand (MB)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Load data collection</td>
<td align="center">20</td>
<td align="center">100</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">load control</td>
<td align="center">20</td>
<td align="center">800</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center" style="background-color:#c6c7c9">Millisecond cyclical tasks name (Wind)</td>
<td align="center" style="background-color:#c6c7c9">Execution time (ms)</td>
<td align="center" style="background-color:#c6c7c9">Execution cycle (ms)</td>
<td align="center" style="background-color:#c6c7c9">Computing resource demand (MB)</td>
</tr>
<tr>
<td align="center">Wind speed and direction data collection</td>
<td align="center">50</td>
<td align="center">500</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Fan orientation adjustment</td>
<td align="center">10</td>
<td align="center">800</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Blade angle adjustment</td>
<td align="center">10</td>
<td align="center">800</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Fan control</td>
<td align="center">10</td>
<td align="center">1,000</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">monitoring of wind turbines</td>
<td align="center">100</td>
<td align="center">1,000</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center" style="background-color:#c6c7c9">Millisecond cyclical tasks name (General)</td>
<td align="center" style="background-color:#c6c7c9">Execution time (ms)</td>
<td align="center" style="background-color:#c6c7c9">Execution cycle (ms)</td>
<td align="center" style="background-color:#c6c7c9">Computing resource demand (MB)</td>
</tr>
<tr>
<td align="center">Electrical data acquisition</td>
<td align="center">10</td>
<td align="center">50</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Switch data acquisition</td>
<td align="center">10</td>
<td align="center">50</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Calculation of electrical parameters</td>
<td align="center">50</td>
<td align="center">200</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">Data filtering</td>
<td align="center">50</td>
<td align="center">200</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">Energy control</td>
<td align="center">100</td>
<td align="center">500</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">Off-grid control</td>
<td align="center">20</td>
<td align="center">600</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">Cutting machine load shedding control</td>
<td align="center">20</td>
<td align="center">500</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center" style="background-color:#c6c7c9">Second cyclical tasks name</td>
<td align="center" style="background-color:#c6c7c9">Execution time(s)</td>
<td align="center" style="background-color:#c6c7c9">Execution cycle(s)</td>
<td align="center" style="background-color:#c6c7c9">Computing resource demand (MB)</td>
</tr>
<tr>
<td align="center">Regional electricity consumption query</td>
<td align="center">0.2</td>
<td align="center">1</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Regional load object awareness</td>
<td align="center">0.2</td>
<td align="center">1</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Identification of remaining Internet access paths</td>
<td align="center">0.2</td>
<td align="center">1</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Real-time electricity price monitoring</td>
<td align="center">0.25</td>
<td align="center">2</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">Regional participant quotation and volume monitoring</td>
<td align="center">0.5</td>
<td align="center">3</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">Forward market risk monitoring</td>
<td align="center">1</td>
<td align="center">5</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">Market clearing and settlement</td>
<td align="center">1</td>
<td align="center">5</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">Bilateral optimization of regional markets</td>
<td align="center">2</td>
<td align="center">5</td>
<td align="center">4</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2">
<title>4.2 Analysis of power distribution and consumption tasks resource demand states prediction results</title>
<p>Resource states prediction requires a large amount of data for training. This section selects 0&#x2013;300s as a sample of the improved Markov prediction model for first-order difference and sequence iterative update. And combine the tasks parameters in the typical scenario construction in section 4.1 to predict the resource demand states within the next 20&#xa0;s. The predicted states results are shown in <xref ref-type="fig" rid="F6">Figure 6</xref>.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Comparison chart of resource imbalance predictions.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g006.tif"/>
</fig>
<p>It can be seen from <xref ref-type="fig" rid="F6">Figure 6</xref> that the state prediction of the improved Markov prediction model is basically consistent with the actual resource demand imbalance state. Among them: the prediction accuracy of the first 10 steps of short-term prediction is nearly 100%; the state changes of long-term prediction are also basically consistent with reality. At the same time, it can be seen from <xref ref-type="fig" rid="F6">Figure 6</xref> that the traditional Markov prediction model converges after the three-step transition, losing the effectiveness and feasibility of prediction. The simulation results prove that the improved Markov model based on first-order difference and sequence iterative update proposed in this article has the short-term accuracy of the traditional model and the long-term traceability of data fluctuations.</p>
</sec>
<sec id="s4-3">
<title>4.3 Analysis of results of cyclical tasks dynamic balancing model</title>
<p>Analyze the tasks resource demand state prediction waveform in <xref ref-type="sec" rid="s4-2">section 4.2</xref>, and perform dynamic balancing of cyclical tasks based on historical data for the increasing resource imbalance segment in the prediction state. Here, the typical resource imbalance increasing segment 315&#x2013;316s is analyzed. The waveform analysis indicators include the number of wave peaks, the highest peak difference and the stationarity: (1) The resource peak is defined as a significant protrusion in the waveform; (2) The highest peak difference is defined as the maximum resource drop at the peak before and after adjustment; (3) The stationarity is defined as the trend of resource fluctuations. The simulation of the adjusted second-level cyclical tasks, millisecond-level cyclical tasks and comprehensive cyclical tasks are as follows, as shown in <xref ref-type="fig" rid="F7">Figure 7</xref> and <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Comparison chart of cyclical task dynamic balancing. <bold>(A)</bold> Second cyclical tasks. <bold>(B)</bold> Millisecond cyclical tasks. <bold>(C)</bold> Comprehensive cyclical tasks.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g007.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Load imbalance numerical table before and after dynamic balancing (cyclical category).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center"/>
<th colspan="3" align="center">Load imbalance</th>
</tr>
<tr>
<th align="center">Second cyclical tasks</th>
<th align="center">Millisecond cyclical tasks</th>
<th align="center">Comprehensive cyclical tasks</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Pre-balancing</td>
<td align="center">3.64</td>
<td align="center">15.45</td>
<td align="center">22.21</td>
</tr>
<tr>
<td align="center">Post-balancing</td>
<td align="center">0.24</td>
<td align="center">2.55</td>
<td align="center">2.85</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>It can be seen from <xref ref-type="fig" rid="F7">Figure 7</xref> that: the number of resource peaks after adjustment for millisecond-level cyclical tasks and comprehensive cyclical tasks dropped from 6 to 3; The highest peak difference of the three types of demand curves has a significant reduction effect, among which the highest peak difference of comprehensive cyclical tasks is 16MB, which proves the applicability of the dynamic balancing model; the stationarity of the three types of demand curves after adjustment is more stable than before adjustment, and the data falling points are more concentrated near the demand mean. It can be seen from <xref ref-type="table" rid="T3">Table 3</xref> that the resource imbalance and load imbalance of second-level cyclical tasks, millisecond-level cyclical tasks and comprehensive cyclical tasks are all reduced by one order of magnitude.</p>
<p>Therefore, it can be proved that the cyclical tasks dynamic balancing model can fully balance the resource peaks and troughs in the forecast state, and can effectively reduce the imbalance of resource demand, thereby achieving a smooth curve.</p>
</sec>
<sec id="s4-4">
<title>4.4 Analysis of results of non-cyclical tasks dynamic balancing model</title>
<p>This section is designed to add non-cyclical tasks station load prediction in the typical resource imbalance increasing segment 315&#x2013;316s in <xref ref-type="sec" rid="s4-3">section 4.3</xref> to verify the feasibility of the non-cyclical tasks dynamic balancing model considering current data. The parameter description of the station load forecasting task is shown in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Task parameters for load forecasting in the station area.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th colspan="4" align="center">Station load forecasting</th>
</tr>
<tr>
<th align="center">Arrive time/s</th>
<th align="center">Execution time/s</th>
<th align="center">End time/s</th>
<th align="center">Computing resource demand/MB</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">315.5</td>
<td align="center">0.3</td>
<td align="center">315.8</td>
<td align="center">5</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In order to achieve partial avoidance of short response cyclical tasks and complete avoidance of long response cyclical tasks, the comprehensive constraint (22) analyzes the cyclical tasks that require adjustment during the non-cyclical tasks cycle and their back-shifting time, as shown in <xref ref-type="table" rid="T5">Table 5</xref>.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Adjustable cyclical electric task setback timeframe during off-cycle electric tasks cycle.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">The adjustable cyclical tasks</th>
<th align="center">Back-shifting time/s</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Electrical data acquisition</td>
<td align="center">315.8&#x2013;315.83</td>
</tr>
<tr>
<td align="center">Switch data acquisition</td>
<td align="center">315.8&#x2013;315.83</td>
</tr>
<tr>
<td align="center">Load data collection</td>
<td align="center">315.8&#x2013;315.86</td>
</tr>
<tr>
<td align="center">Calculation of electrical parameters</td>
<td align="center">315.8&#x2013;315.85</td>
</tr>
<tr>
<td align="center">Energy control</td>
<td align="center">315.8&#x2013;315.9</td>
</tr>
<tr>
<td align="center">Cutting machine load shedding control</td>
<td align="center">315.8&#x2013;315.98</td>
</tr>
<tr>
<td align="center">Regional electricity consumption query</td>
<td align="center">315.8</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>According to the adjustable cyclical tasks and the corresponding back-shifting time in <xref ref-type="table" rid="T5">Table 5</xref>, a simulation analysis is conducted on the dynamic balancing model including non-cyclical tasks cycle, as shown in <xref ref-type="fig" rid="F8">Figure 8</xref> and <xref ref-type="table" rid="T6">Table 6</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Comparison chart of non-cyclical task dynamic balancing.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g008.tif"/>
</fig>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Load imbalance numerical table before and after dynamic balancing (non-cyclical category).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">Load imbalance</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Pre-balancing</td>
<td align="center">6.85</td>
</tr>
<tr>
<td align="center">Post-balancing</td>
<td align="center">3.56</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>It can be seen from <xref ref-type="fig" rid="F8">Figure 8</xref>: During the non-cyclical tasks cycle of 315.5&#x2013;315.8s, the number of resource peaks before and after adjustment is significantly reduced; the highest peak difference in the segment was 5MB, which proves that leveling can completely avoid the original peak point in burst scenarios. Although the leveled curve after the segment has higher resource demand than before due to the backward shift of cyclical tasks, the data fluctuation trend ensures the data placement through the vertical increase and decrease of resources inside and outside the segment. It is more stable and meets the demand of minimizing the imbalance degree of the model. It can be seen from <xref ref-type="table" rid="T6">Table 6</xref> that the resource demand imbalance dropped from 6.850 to 3.560 after dynamic balancing of non-cyclical tasks.</p>
<p>Therefore, it can be proved that the non-cyclical tasks, dynamic balancing model can make full use of current data to cope with the deviation of resource imbalance in emergency scenarios and achieve a stable demand curve.</p>
</sec>
<sec id="s4-5">
<title>4.5 Adaptability analysis of dynamic balancing model</title>
<sec id="s4-5-1">
<title>4.5.1 Adaptability analysis between different segments</title>
<p>In order to further verify the applicable scope and influencing factors of the dynamic balance model, the adaptive analysis of the application of the dynamic balancing model in the resource imbalance decreasing segment is carried out. In order to facilitate the adaptability analysis between different scenarios in the following, this section only considers the role of photovoltaic scenarios, and selects the resource imbalance decreasing segment 316&#x2013;317s as the research object, as shown in <xref ref-type="fig" rid="F9">Figure 9</xref> and <xref ref-type="table" rid="T7">Table 7</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Comparison chart of low segment dynamic balancing.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g009.tif"/>
</fig>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Load imbalance numerical table before and after dynamic balancing (316&#x2013;317s).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">Load imbalance</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Pre-balancing</td>
<td align="center">18.83</td>
</tr>
<tr>
<td align="center">Post-balancing</td>
<td align="center">3.06</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>It can be seen from <xref ref-type="fig" rid="F9">Figure 9</xref> that the number of peaks in this decreasing segment has dropped significantly after being adjusted by the dynamic balancing model, with the highest peak difference reaching 16MB, and the adjusted computing resource demand data points are more concentrated near the average demand line. It can be seen from <xref ref-type="table" rid="T7">Table 7</xref> that the resource imbalance degree dropped by nearly 6 times, which is 10 times smaller than the previous increase in resource imbalance. Based on the above results, it can be seen that the dynamic balancing model is universally applicable to both the increasing and decreasing segments of resource imbalance.</p>
<p>On the basis of the adjusted resource imbalance decreasing segment, what factors will cause differences in dynamic balancing effects and the pros and cons brought by these differences will continue to be analyzed. Here, a simulation analysis is conducted on the change amount and change rate of computing resource demand in the two segments, as shown in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Comparison chart of change amount and change rate of computing resource demand in the two segments.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g010.tif"/>
</fig>
<p>It can be seen from <xref ref-type="fig" rid="F10">Figure 10</xref>: In terms of the change in computing resource demand, the reduction in computing resource demand in the two segments is basically synchronized. However, in terms of the increase, whether it is the horizontal time width or the vertical numerical scale, the segment where resource imbalance decreases are significantly higher than the segment where resource imbalance increases. At the same time, in terms of the change rate of computing resource demand, the fluctuation in the decreasing resource imbalance segment is more obvious than that in the increasing resource imbalance segment. Similarly, the change rate of increasing computing resources is significantly greater than that in the increasing resource imbalance segment.</p>
<p>Based on the above results, the composition of power distribution and consumption tasks in the two segments is further analyzed. Since millisecond-level cyclical tasks have similar distribution in the two segments, no analysis is performed here. It can be seen from the enlarged display part of the figure that the types of second-level cyclical tasks in the resource imbalance increasing segment are significantly more than those in the resource imbalance decreasing segment. The reason is that the execution cycle of second-level cyclical tasks is large, and aggregation usually occurs during its common cycle, and the segment where aggregation occurs naturally forms a increasing segment. Therefore, in the decreasing segment where there is no large accumulation of second-level cyclical tasks, the baseline value of computing resources is relatively low. Correspondingly, the possibility and rate of change of computing resources under dynamic balancing will also be relatively high.</p>
<p>To sum up, the execution cycle of large time-scale cyclical tasks is the main factor affecting the dynamic balancing effect. Subsequent adjustments are mainly targeted at the segments where resource imbalance increases. At the same time, the analysis of the common tasks cycle must be strengthened to achieve optimal adjustment results.</p>
</sec>
<sec id="s4-5-2">
<title>4.5.2 Adaptability analysis between different scenarios</title>
<p>In order to further verify the effectiveness of the dynamic balancing model in different scenarios, this section considers comparing the photovoltaic-only scenario and the wind power-only scenario, and selects the resource imbalance increasing segment 315&#x2013;316s as the research object, as shown in <xref ref-type="fig" rid="F11">Figure 11</xref>.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Comparison chart of change amount and change rate of computing resource demand in the two scenarios.</p>
</caption>
<graphic xlink:href="fenrg-12-1398647-g011.tif"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="F11">Figure 11</xref>, whether it is a separate photovoltaic scenario or a separate wind power scenario, the adaptive changes in computing resource demand reflect the universality of the dynamic balancing model in different scenarios, and also prove that the good dynamic balancing effect in the comprehensive energy scenarios in Sections 4.3 and 4.4 is not due to the role of a particular energy scenario only. Similarly, it can also be observed from <xref ref-type="fig" rid="F11">Figure 11</xref>: the demand in the front stage of the wind power scenario is greatly reduced, while the demand in the back stage is increased; the overall photovoltaic scenario is relatively balanced. The reason is that the wind power scenario has a large number of proprietary tasks and a long execution cycle. Before adjustment, the demand in the front stage is large and the demand in the back stage is slightly smaller. After adjustment, there will be obvious changes in the two stages. In subsequent adjustments, consider strengthening the coordination of scenario-specific tasks features to achieve optimal adjustment results.</p>
</sec>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>This paper proposes a method framework for power distribution and consumption tasks computing resource demand prediction and dynamic balancing based on state iteration. on this basis, the traditional Markov prediction scheme is improved to form an iterative prediction based on historical data and forecast data. Concurrently, an analysis is conducted on the characteristics of multi-time scale tasks based on the prediction results, leading to the formation of dynamic balancing models for different types of tasks.<list list-type="simple">
<list-item>
<p>(1) The improved Markov model proposed in this article based on first-order difference and sequence iterative update: on the one hand, it can reflect data fluctuations and has good tracking performance for long-sequence predictions; on the other hand, it combines the advantages of traditional models and has high accuracy for short-term predictions. This solution provides basic load state prediction solutions for industrialized intelligent terminals and is universal.</p>
</list-item>
<list-item>
<p>(2) The power distribution and consumption tasks load balancing model proposed in this article considers differentiated adjustments based on the characteristics of cyclical and non-cyclical tasks on the basis of state prediction: on the one hand, it fully balances the resource peaks and troughs in the predicted state, effectively reducing resource demand degree of imbalance; on the other hand, this model make full use of the cyclical tasks time response characteristics to cope with the deviation of resource imbalance in emergency scenarios, and achieve a stable demand curve.&#x3002;</p>
</list-item>
</list>
</p>
<p>The following is a discussion of the limitations of the research work in this article and the directions for further research in the future: This article uses the power distribution and consumption tasks as a calculation example, but the demand prediction and dynamic balancing methods in this article are still applicable to other tasks with such characteristics. The resource demand prediction method in this article is deterministic research. In the future, the resource states in the power Internet of Things will be further complicated. How to adaptively adjust the migration boundary through uncertainty modeling of the states will be an important follow-up research direction.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>TC: Writing&#x2013;review and editing. JC: Writing&#x2013;review and editing. JL: Writing&#x2013;review and editing. MH: Writing&#x2013;original draft. XL: Writing&#x2013;review and editing. ZC: Writing&#x2013;review and editing. XW: Writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This work is supported by the Science and Technology Program of China Southern Power Grid Company: Research and Application of New Energy Specialized Chip Key Technology for New Energy Monitoring and Control Demand (670000KK52220001).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Authors TC, JC, and JL were employed by China Southern Power Grid Digital Power Grid Research Institute Co. Ltd.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
<p>The authors declare that this study received funding from the Science and Technology Program of China Southern Power Grid Company. The funder had the following involvement in the study: this included providing problem requirements and scenarios for the paper writing and participating in the publication of the final paper.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;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">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abbasi</surname>
<given-names>S. I.</given-names>
</name>
<name>
<surname>Kamal</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gochoo</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Jalal</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Affinity-based task scheduling on heterogeneous multicore systems using cbs and qbictm</article-title>. <source>Appl. Sci.</source> <volume>11</volume>, <fpage>5740</fpage>. <pub-id pub-id-type="doi">10.3390/app11125740</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alam</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Rufino</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ferreira</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ahmed</surname>
<given-names>H. S.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Orchestration of microservices for IoT using docker and edge computing</article-title>. <source>IEEE Commun. Mag.</source> <volume>56</volume> (<issue>9</issue>), <fpage>118</fpage>&#x2013;<lpage>123</lpage>. <pub-id pub-id-type="doi">10.1109/MCOM.2018.1701233</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Baital</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Chakrabarti</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An approach: applicability of existing heterogeneous multicore real-time task scheduling in commercially available heterogeneous multicore systems</article-title>. <source>Adv. Intelligent Syst. Comput.</source> <volume>1042</volume>, <fpage>111</fpage>&#x2013;<lpage>124</lpage>. <pub-id pub-id-type="doi">10.1007/978-981-32-9949-8_8</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Meng</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An overview onEdge computing research</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>85714</fpage>&#x2013;<lpage>85728</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.2991734</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>A configuration method of computing resources for microservice-based edge computing apparatus in smart distribution transformer area</article-title>. <source>Int. J. Electr. Power &#x26; Energy Syst.</source> <volume>138</volume>, <fpage>107935</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2021.107935</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ren</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Kong</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Key technology of access network supporting in intelligent power distribution business</article-title>. <source>Comput. Sci.</source> <volume>43</volume>, <fpage>558</fpage>&#x2013;<lpage>560</lpage>.</citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <source>Auxiliary analysis and application of Intelligent power distribution and utilization business under big data platform</source>. <publisher-loc>Guangzhou</publisher-loc>: <publisher-name>Guangdong University of Technology</publisher-name>. <pub-id pub-id-type="doi">10.27029/d.cnki.ggdgu.2021.001011</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dong</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Shang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Application scenario and key technology prospect of power specific integrated circuit</article-title>. <source>Proc. CSEE</source> <volume>42</volume>, <fpage>5017</fpage>&#x2013;<lpage>5034</lpage>. <pub-id pub-id-type="doi">10.13334/j.0258-8013.pcsee.211356</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>Y.-J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.-L.</given-names>
</name>
<name>
<surname>Jing</surname>
<given-names>M.-E.</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>X.-Y.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>HITSM: a heuristic algorithm for independent task scheduling in multicore</article-title>,&#x201d; in <conf-name>2018 14th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT)</conf-name>, <conf-loc>Qingdao, China</conf-loc>, <conf-date>03 November 2018</conf-date>, <fpage>1</fpage>&#x2013;<lpage>3</lpage>.</citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Infield</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Freris</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2020</year>). <source>Renewable energy in power systems</source>. <publisher-loc>NY, USA</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name>.</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>K&#xfc;feo&#x11f;lu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Anaya</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Pollitt</surname>
<given-names>M. G.</given-names>
</name>
</person-group> (<year>2019</year>). <source>Digitalisation and new business models in energy sector. Energy Policy Research Group</source>. <publisher-loc>Cambridge, UK</publisher-loc>: <publisher-name>University of Cambridge</publisher-name>.</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kumar</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Vidyarthi</surname>
<given-names>D. P.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A novel energy-efficient scheduling model for multi-core systems</article-title>. <source>Clust. Comput.</source> <volume>24</volume> (<issue>2</issue>), <fpage>643</fpage>&#x2013;<lpage>666</lpage>. <pub-id pub-id-type="doi">10.1007/s10586-020-03143-w</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kumar</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Agrawal</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Analysis of multi-dimensional industrial IoT (IIoT) data in Edge&#x2013;Fog&#x2013;Cloud based architectural frameworks: a survey on current state and research challenges</article-title>. <source>J. Industrial Inf. Integration</source> <volume>35</volume>, <fpage>100504</fpage>. <pub-id pub-id-type="doi">10.1016/j.jii.2023.100504</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A hot-spot migration strategy for resource scheduling in cloud environment</article-title>. <source>J. Northwest. Polytech. Univ.</source> <volume>35</volume>, <fpage>138</fpage>&#x2013;<lpage>142</lpage>. <pub-id pub-id-type="doi">10.3969/j.issn.1000-2758.2017.01.022</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Research and implementation of dynamic scheduling of container cloud platform resources based on kubernetes</article-title>. <publisher-loc>Nanchang</publisher-loc>: <publisher-name>Jiangxi Normal University</publisher-name>. <pub-id pub-id-type="doi">10.27178/d.cnki.gjxsu.2019.000436</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A virtual machine dynamic scheduling algorithm based on load forecast</article-title>. <source>Comput. Eng. Sci.</source> <volume>38</volume>, <fpage>1974</fpage>&#x2013;<lpage>1979</lpage>. <pub-id pub-id-type="doi">10.3969/j.issn.1007-130X.2016.10.004</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Teng</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Resource load prediction model based on long-short time series feature fusion</article-title>. <source>J. Comput. Appl.</source> <volume>42</volume>, <fpage>1508</fpage>&#x2013;<lpage>1515</lpage>. <pub-id pub-id-type="doi">10.11772/j.issn.1001-9081.2021030393</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Gan</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>Q.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Robust submodule fault management in modular multilevel converters with nearest level modulation for uninterrupted power transmission</article-title>. <source>IEEE Trans. Power Deliv.</source> <volume>39</volume>, <fpage>931</fpage>&#x2013;<lpage>946</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRD.2023.3343693</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Adaptive grid-synchronization based grid-forming control for voltage source converters</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>39</volume> (<issue>2</issue>), <fpage>4763</fpage>&#x2013;<lpage>4766</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2023.3338967</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Cen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Workloadmodeling for microservice-based edge computing in power internetof things</article-title>. <source>IEEE Access</source> <volume>9</volume>, <fpage>76205</fpage>&#x2013;<lpage>76212</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2021.3081705</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>