<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CSSE</journal-id>
<journal-id journal-id-type="nlm-ta">CSSE</journal-id>
<journal-id journal-id-type="publisher-id">CSSE</journal-id>
<journal-title-group>
<journal-title>Computer Systems Science &#x0026; Engineering</journal-title>
</journal-title-group>
<issn pub-type="ppub">0267-6192</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">24021</article-id>
<article-id pub-id-type="doi">10.32604/csse.2022.024021</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Flexible Task Scheduling Based on Edge Computing and Cloud Collaboration</article-title><alt-title alt-title-type="left-running-head">Flexible Task Scheduling Based on Edge Computing and Cloud Collaboration</alt-title><alt-title alt-title-type="right-running-head">Flexible Task Scheduling Based on Edge Computing and Cloud Collaboration</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Wang</surname><given-names>Suzhen</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref><email>wsuz@163.com</email>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Wang</surname><given-names>Wenli</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Jia</surname><given-names>Zhiting</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Pang</surname><given-names>Chaoyi</given-names></name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>Hebei University of Economics and Business</institution>, <addr-line>Shijiazhuang, 050061</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>The Australian e-Health Research Centre, ICT Centre, CSIRO</institution>, <country>Australia</country></aff>
</contrib-group><author-notes><corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Suzhen Wang. Email: <email>wsuz@163.com</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-01-18"><day>18</day>
<month>01</month>
<year>2022</year></pub-date>
<volume>42</volume>
<issue>3</issue>
<fpage>1241</fpage>
<lpage>1255</lpage>
<history>
<date date-type="received"><day>30</day><month>9</month><year>2021</year></date>
<date date-type="accepted"><day>26</day><month>11</month><year>2021</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Wang et al.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Wang et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CSSE_24021.pdf"></self-uri>
<abstract>
<p>With the rapid development and popularization of 5G and the Internet of Things, a number of new applications have emerged, such as driverless cars. Most of these applications are time-delay sensitive, and some deficiencies were found during data processing through the cloud centric architecture. The data generated by terminals at the edge of the network is an urgent problem to be solved at present. In 5&#x2005;g environments, edge computing can better meet the needs of low delay and wide connection applications, and support the fast request of terminal users. However, edge computing only has the edge layer computing advantage, and it is difficult to achieve global resource scheduling and configuration, which may lead to the problems of low resource utilization rate, long task processing delay and unbalanced system load, so as to lead to affect the service quality of users. To solve this problem, this paper studies task scheduling and resource collaboration based on a Cloud-Edge-Terminal collaborative architecture, proposes a genetic simulated annealing fusion algorithm, called GSA-EDGE, to achieve task scheduling and resource allocation, and designs a series of experiments to verify the effectiveness of the GSA-EDGE algorithm. The experimental results show that the proposed method can reduce the time delay of task processing compared with the local task processing method and the task average allocation method.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Edge computing</kwd>
<kwd>&#x201C;cloud-edge-terminal&#x201D; framework</kwd>
<kwd>task scheduling and resource allocation</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Most of the emerging application scenarios based on 5G technology are either computationally intensive or data intensive, presenting &#x201C;wide link&#x201D; and requiring &#x201C;low latency&#x201D;. One of the goals of edge computing [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-2">2</xref>] is to process data close to the network edge generated by data, so as to meet the needs of users for low delay, low energy consumption, security and privacy.</p>
<p>At present, there is no uniform definition of edge computing in academic and industrial circles. The European Telecommunications Standards Institute (ETSI) and the Edge Computing Consortium (ECC) have proposed different concepts of edge computing. These concepts have reached a consensus: complete data processing near the data generation terminal and provide services nearby. In [<xref ref-type="bibr" rid="ref-2">2</xref>], edge computing is divided into three stages, and the basic concept of edge computing is function caching. Reference [<xref ref-type="bibr" rid="ref-3">3</xref>] considers edge computing as an enabling technology to meet the needs of the industry in terms of agile connectivity, security and privacy. Literature [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>] summarizes the scenario and architecture of edge computing, and describes future development trends as well as potential problems. The paper [<xref ref-type="bibr" rid="ref-6">6</xref>&#x2013;<xref ref-type="bibr" rid="ref-8">8</xref>] summarizes the task offloading strategies for mobile edge computing. Reference [<xref ref-type="bibr" rid="ref-9">9</xref>] studies service requests in mobile edge computing and proposes GAMEC algorithm. Reference [<xref ref-type="bibr" rid="ref-10">10</xref>] abstracts the task unloading problem as a nonlinear programming problem by using the concept of software defined network. Reference [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>] proposes a scheduling strategy based on task priority. Reference [<xref ref-type="bibr" rid="ref-13">13</xref>&#x2013;<xref ref-type="bibr" rid="ref-18">18</xref>] looks at the edge computing applications in security, AI and such as.</p>
<p>The related research on edge computing, often fails to consider the collaborative participation of cloud center. Most of the existing scheduling schemes are based on single degree quantity, such as delay, and energy consumption. As a result, it is imperative to study the theory and method of task scheduling based on a Cloud-Edge-Terminal three-tier collaborative framework.</p>
<p>This paper first describes the concept and architecture of edge computing, then introduces the three-tier architecture of &#x201C;Cloud-Edge-Terminal&#x201D;, and presents a task scheduling strategy based on genetic simulated annealing algorithm. Finally, the model is constructed and the simulation experiment is designed to confirm the effectiveness of the proposed task scheduling strategy.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>&#x201C;Cloud-Edge-Terminal&#x201D; Framework Design</title>
<p>Although the definitions given by different organizations may differ, but they express a common point of view, that is, to process data nearby at the edge of the network. The mainstream definitions of edge computing is listed in <xref ref-type="table" rid="table-1">Tab. 1</xref>.</p>
<table-wrap id="table-1"><label>Table 1</label>
<caption>
<title>Concept of edge computing</title></caption>
<table><colgroup><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Organization</th>
<th align="left">Definition</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">ISO/IEC JTC1/SC38</td>
<td align="left">Edge computing is a form of distributed computing that places the main processing and data storage at the edge nodes of the network.</td>
</tr>
<tr>
<td align="left">ECC</td>
<td align="left">Edge computing refers to an open platform that integrates core capabilities of network, computing, storage, and applications on the edge of the network close to the source of things or data, and provides edge intelligent services nearby to meet the needs of industry digitization in agile connection, real-time business, data optimization, application intelligence, Key requirements for security and privacy protection.</td>
</tr>
<tr>
<td align="left">ETSI</td>
<td align="left">Provide IT service environment and computing capabilities at the edge of mobile networks, and emphasize proximity to mobile users to reduce network operation and service delivery delays and improve user experience.</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2_1">
<label>2.1</label>
<title>Connotation of Edge Computing</title>
<p>The mobility of edge computing is the primary concern, but edge computing should not be limited to mobile edge computing (MEC). It is worth mentioning that some scholars &#x201C;MEC&#x201D; multi access edge computing.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Framework of Edge Computing</title>
<p>The edge computing industry alliance has proposed a feasible architecture for edge computing, which is widely used in existing research. A simplified schematic diagram is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Architecture of edge computing</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-1.png"/>
</fig>
<p>The terminal layer is located at the edge of the network, which is composed of various terminal devices and generates a large amount of heterogeneous data. Limited by the resources of terminal devices, most terminal devices cannot complete those tasks with a long duration and a large amount of computation.</p>
<p>The edge layer acts as a bridge between the cloud layer and the terminal layer, which is closer to the terminal devices at the edge of the network. The edge layer completes the processing of data generated by terminal devices and supports terminal layer services nearby.</p>
<p>Cloud is rich in computing, storage and other resources, and is good at dealing with long-term, large amounts of data and complex computing. However, with the rich types and number of terminals, the data generated shows an explosive growth trend. Due to network transmission costs, cloud computing has some deficiencies in supporting emerging low latency applications.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>&#x201C;Cloud-Edge-Terminal&#x201D; Framework</title>
<p>Edge computing and cloud computing are complementary technologies, and each has its advantages. The emergence of edge computing extends cloud services to the edge of the network. It will become a new development trend of cloud computing technology to process the data at the edge nearby and cooperate in the cloud center. Reference [<xref ref-type="bibr" rid="ref-19">19</xref>] propose that the value of edge computing and cloud computing can be magnified, and they also provide reference framework and application scenarios of &#x201C;edge cloud&#x201D; collaboration.</p>
<p>Most of the existing edge computing researches focus on the edge layer, and form the &#x201C;Edge-Terminal&#x201D; binary architecture with the terminal devices, which has some limitations in the global and integrity [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>]. In this paper, a Cloud-Edge-Terminal collaborative framework is proposed. The cloud center is introduced into the traditional &#x201C;Edge-Terminal&#x201D; binary architecture, and the edge computing and cloud computing are organically combined to construct the &#x201C;Cloud-Edge-Terminal&#x201D; collaborative framework. This paper proposes a framework for bringing the advantages of cloud computing resources to the network edge layer, and at the same time synergizing the local advantages of edge computing and cloud computing. The diagram of Cloud-Edge-Terminal framework is shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title><bold>&#x201C;</bold>Cloud-Edge-Terminal&#x201D; collaboration diagram</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-2.png"/>
</fig>
<p>This paper focuses on the process of the terminal user unloading the task to the edge server. The edge computing server is closer to the data generation side, but its resources are still limited compared with those of the cloud center. Therefore, it is necessary to find a suitable edge computing server to allow the terminal user to offload the task.</p>
<p>Considering that in practice, the priorities for offloading requests of different user tasks is different, and the resources provided by the server at the edge layer are often different at different times. At the same time, considering the user demand and the load of the edge server can improve the efficiency of task offloading, as well as reduce service time and energy consumption. Taking into account the possibility of further task segmentation, the task is further divided into more fine-grained tasks, so as to explore the parallelism between subtasks.</p>
<p>This paper mainly focuses on resource collaboration in cloud edge collaboration. The task unloading of terminal devices first selects the edge server cluster closer to each other. The cloud is responsible for the scheduling of task unloading, making the unloading decision, processing the unloading request of the terminal, matching the best edge server for the unloading task, and participating in the collaborative computing when the edge device resources are insufficient. The process is shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>&#x201C;Cloud-Edge-Terminal&#x201D; collaborative processing</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-3.png"/>
</fig>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Model Building</title>
<p>In order to further study, this section will abstract the edge computing and cloud collaboration framework model, and formalize the problem.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Device Model</title>
<p><bold>Definition 1 Center Cloud</bold></p>
<p>The center cloud is represented as a 3-tuple cloud (m, c, b).<list list-type="simple"><list-item><label>(1)</label>
<p>&#x201C;m&#x201D; represents the memory resources that the center cloud can provide;</p></list-item><list-item><label>(2)</label>
<p>&#x201C;c&#x201D; represents the CPU resources that the center cloud can provide;</p></list-item><list-item><label>(3)</label>
<p>&#x201C;b&#x201D; represents the bandwidth resources that the center cloud can provide.</p></list-item></list></p>
<p><bold>Definition 2 Edge Server</bold></p>
<p>The edge server is represented as a 4-tuple E<sub><italic>i</italic></sub> (m, c, b, <italic>t</italic><sub>0</sub>).<list list-type="simple"><list-item><label>(1)</label>
<p>&#x201C;m&#x201D; represents the memory resources that the edge server can provide;</p></list-item><list-item><label>(2)</label>
<p>&#x201C;c&#x201D; represents the CPU resources that the edge server can provide;</p></list-item><list-item><label>(3)</label>
<p>&#x201C;b&#x201D; represents the bandwidth resources that the edge server can provide;</p></list-item><list-item><label>(4)</label>
<p>&#x201C;<italic>t</italic><sub>0</sub>&#x201D; represents the estimated processing time of tasks on the server.</p></list-item></list></p>
<p><bold>Definition 3 Terminal</bold></p>
<p>The terminal is represented as a 2-tuple Ter<sub><italic>i</italic></sub> (m, c).<list list-type="simple"><list-item><label>(1)</label>
<p>&#x201C;m&#x201D; represents the memory resources that the terminal can provide;</p></list-item><list-item><label>(2)</label>
<p>&#x201C;c&#x201D; represents the CPU resources that the terminal can provide.</p></list-item></list></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Task Model</title>
<p>Task division aims to divide task J into multiple subtasks &#x03C9;<sub>i</sub>(I&#x2009;&#x003D;&#x2009;1, 2, &#x2026;). Then according to whether unloading is allowed or not, it can be divided into two categories: allowing unloading and not allowing unloading. In this paper, directed acyclic graphs are used represent the task after partition. D (V, E):V represents subtasks and E is the directed edge between nodes, as shown in the <xref ref-type="fig" rid="fig-4">Fig. 4</xref>.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Task division</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-4.png"/>
</fig>
<p><bold>Definition 4 Task</bold></p>
<p>The task is represented as a 4-tuple Task<sub><italic>i</italic></sub> (m, c, <inline-formula id="ieqn-1">
<mml:math id="mml-ieqn-1"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thickmathspace" /><mml:mi>M</mml:mi><mml:mi>o</mml:mi><mml:mi>b</mml:mi></mml:math>
</inline-formula>).<list list-type="simple"><list-item><label>(1)</label>
<p>&#x201C;m&#x201D; represents the memory requirement of this task;</p></list-item><list-item><label>(2)</label>
<p>&#x201C;c&#x201D; represents the CPU requirement of this task;</p></list-item><list-item><label>(3)</label>
<p>&#x201C;<italic>t</italic><sub>max</sub>&#x201D;represents the latest completion time of the task;</p></list-item><list-item><label>(4)</label>
<p>&#x201C;Mob&#x201D; represents the terminal that generated the task.</p></list-item></list></p>
<p><bold>Definition 5 Subtask</bold></p>
<p>The task is represented as a 6-tuple Subtask<sub>j</sub> (m, c, <inline-formula id="ieqn-2">
<mml:math id="mml-ieqn-2"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math>
</inline-formula>, <italic>d</italic><sub><italic>in</italic></sub>, <italic>d</italic><sub><italic>out</italic></sub>).<list list-type="simple"><list-item><label>(1)</label>
<p>&#x201C;m&#x201D; represents the memory requirement of this task;</p></list-item><list-item><label>(2)</label>
<p>&#x201C;c&#x201D; represents the CPU requirement of this task;</p></list-item><list-item><label>(3)</label>
<p>&#x201C;<italic>t</italic><sub>max</sub>&#x201D;represents the latest completion time of the task;</p></list-item><list-item><label>(4)</label>
<p>&#x201C;task<sub>i</sub>&#x201D; represents the task before the subtask is partitioned;</p></list-item><list-item><label>(5)</label>
<p>&#x201C;d<sub>in</sub>&#x201D; represents the predecessor subtask of the subtask;</p></list-item><list-item><label>(6)</label>
<p>&#x201C;d<sub>out</sub>&#x201D; represents the successor subtask of the subtask.</p></list-item></list></p>
<p>Subtasks should meet the two constraints:<list list-type="simple"><list-item><label>(1)</label>
<p>The starting subtask, that is, the task without degree must be executed locally;</p></list-item><list-item><label>(2)</label>
<p>The subtasks except (1) are allowed to be offloaded to the edge server or center cloud for execution.</p></list-item></list></p>
<p>According to the constraint rules, subtasks A and B in <xref ref-type="fig" rid="fig-5">Fig. 5</xref> must be executed locally at the terminal, and tasks C through H are allowed to be unloaded. The specific execution location depends on the remaining resources of each server and the network conditions.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Task classification</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-5.png"/>
</fig>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Time and Energy Consumption Model</title>
<p><bold>Definition 6 Delay</bold></p>
<p>The total task processing delay is defined as follows:<disp-formula id="eqn-1"><label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math>
</disp-formula>where <italic>t</italic><sub><italic>c</italic></sub> represents task <italic>task</italic><sub><italic>i</italic></sub> unload to edge computing server <italic>E</italic><sub><italic>j</italic></sub> transmission delay and total return delay of calculation results; <italic>t</italic><sub>0</sub> represents the processing delay on the edge server; and <italic>t</italic><sub><italic>w</italic></sub> is the waiting delay of unloading process.</p>
<p><bold>Definition 7 Energy Consumption</bold></p>
<p>The total task processing energy consumption is defined as follows:<disp-formula id="eqn-2"><label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:msub></mml:math>
</disp-formula>where P<sub><italic>i</italic></sub> represents the power of device i;<inline-formula id="ieqn-3">
<mml:math id="mml-ieqn-3"><mml:mrow><mml:mspace width="thickmathspace" /><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math>
</inline-formula> represents the continuous running time of the device i.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Description of Problem and Nondeterministic Polynomial (NP) Analysis</title>
<sec id="s3_4_1">
<label>3.4.1</label>
<title>Problem Description</title>
<p>The goal of the task scheduling method is to minimize the task delay under the premise of ensuring the user&#x0027;s delay requirements. Therefore, the problem is modeled as the problem of minimizing the delay under the constraint conditions to ensure the user&#x0027;s agile connectivity experience. This section refines the constraints for this problem.</p>
<p><bold>Definition 8 Execution Cost</bold></p>
<p>The weighted sum of time and energy consumption is defined as the task execution cost.<disp-formula id="eqn-3"><label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">u</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mo>=</mml:mo><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C9;</mml:mi></mml:mrow></mml:mrow><mml:mn>1</mml:mn></mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mo>+</mml:mo><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C9;</mml:mi></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msub><mml:mrow><mml:mi mathvariant="normal">E</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thickmathspace" /></mml:mrow><mml:mspace width="1em" /><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C9;</mml:mi></mml:mrow></mml:mrow><mml:mn>1</mml:mn></mml:msub><mml:mrow><mml:mo>+</mml:mo><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C9;</mml:mi></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
</disp-formula>where, <italic>&#x03C9;</italic><sub>1</sub> and <italic>&#x03C9;</italic><sub>2</sub> represent the time weighting factor and energy consumption weighting factor respectively, indicating the sensitivity of the system to this factor. The larger the value, the higher the sensitivity. When <italic>&#x03C9;</italic><sub>2</sub> &#x003D; 0, the task execution cost is the task delay. Then, the problem is transformed into an optimization problem with constraints.<disp-formula id="eqn-4"><label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:mrow><mml:mi mathvariant="normal">s</mml:mi></mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mspace width="thickmathspace" /><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>c</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mi>E</mml:mi><mml:mi>d</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>J</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
</sec>
<sec id="s3_4_2">
<label>3.4.2</label>
<title>NP Analysis of the Problem</title>
<p>When the number of tasks is n and the number of edge servers is m, for a task scheduling problem in an edge computing and cloud collaborative environment, its time complexity is O(m<sup>n</sup>). If m significantly larger, the above problems cannot be solved in polynomial time. So task scheduling problem becomes an NP problem.</p>
<p>The task scheduling problem in the Cloud-Edge-Terminal collaborative framework can be abstracted as n tasks assigned to m targets, which can be regarded as a knapsack problem (KP) [<xref ref-type="bibr" rid="ref-20">20</xref>]. It represents the 0&#x2013;1 knapsack problem (0&#x2013;1 KP), which is a combinatorial optimization problem, and has been proved to be a NP complete (NPC) problem.</p>
<p>Because the NPC problem cannot obtain exact solution in polynomial time, the performance of existing task scheduling methods still needs to be improved. In this paper, a genetic algorithm and simulated annealing algorithm are used to optimize the transformed combinatorial optimization problem.</p>
</sec>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Algorithm Design</title>
<p>This paper uses an optimized genetic algorithm to solve the problem. The flowchart of the algorithm is shown in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>. Genetic algorithm uses roulette selection, and fitness function selects the reciprocal of time. The mutation selection is random point crossover.<list list-type="simple"><list-item><label>(1)</label>
<p>Coding guidelines</p></list-item></list></p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Algorithm flowchart</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-6.png"/>
</fig>
<p>The goal of the task scheduling method is to match the most suitable destination server for the task, and Dests is used to represent the final unloading method. For the sake of simplicity, the local processing task code is 0, the cloud server number is 1, and the edge servers are coded from 2 in turn. The target server uses binary encoding, and the final result is the final scheduling method.</p>
<p>DestS &#x003D; [0000 0001 0002 0003 &#x2026;]<list list-type="simple"><list-item><label>(2)</label>
<p>Selection</p></list-item></list></p>
<p>In this paper, roulette algorithm is used as the generation method, and the reciprocal of the system cost is defined as the fitness function.<disp-formula id="eqn-5"><label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mspace width="thickmathspace" /><mml:mtext>&#xA0;</mml:mtext><mml:mo>=</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mspace width="thickmathspace" /><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mrow><mml:mi mathvariant="normal">C</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">u</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:math>
</disp-formula><list list-type="simple"><list-item><label>(3)</label>
<p>Crossover</p></list-item></list></p>
<p>The process of cross operation and chromosome exchange to produce new offspring is one of the processes of population producing new offspring. The common crossover operations include single point crossover, multi-point crossover and extended crossover.<list list-type="simple"><list-item><label>(4)</label>
<p>Mutation</p></list-item></list></p>
<p>Single point mutation and multiple point mutation are common methods for mutation operation and chromosome individual gene mutation. Single point mutation is used in this paper.<list list-type="simple"><list-item><label>(5)</label>
<p>Annealing process</p></list-item></list></p>
<p>In order to reduce the probability of genetic algorithm falling into local optimal solution in the early stage, a simulated annealing factor is introduced.</p>
<p>Disturbance probability is introduced in <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref>.<disp-formula id="eqn-6"><label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">x</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mrow><mml:mi mathvariant="normal">F</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
<p>If P/(K&#x002A;T) &#x003E; rand, accept the suboptimal population. The &#x201C;rand&#x201D; is a rand number, where &#x201C;K&#x201D; is constant, and &#x201C;T&#x201D; is the current temperature. The temperature drop follows the rule <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref>, &#x201C;&#x03C3;&#x201D; annealing coefficient.<disp-formula id="eqn-7"><label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:mrow><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thickmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula><disp-formula id="eqn-8"><label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mtext>&#xA0;</mml:mtext><mml:mo>+</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x03C3;</mml:mi></mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Experimental Design and Analysis of Result</title>
<sec id="s4_1">
<label>4.1</label>
<title>Experimental Design</title>
<p>In this section, the above is tested and verified. The experiment is based on the Python programming language, and the simulation platform parameter information is shown in <xref ref-type="table" rid="table-2">Tab. 2</xref>.</p>
<table-wrap id="table-2"><label>Table 2</label>
<caption>
<title>Experimental platform information</title></caption>
<table><colgroup><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Parameter</th>
<th align="left">Value</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Operating system</td>
<td align="left">Windows 10 Professional</td>
</tr>
<tr>
<td align="left">Processor</td>
<td align="left">AMD Ryzen 5 3600 3.59&#x2005;GHz</td>
</tr>
<tr>
<td align="left">Memory</td>
<td align="left">16GB</td>
</tr>
<tr>
<td align="left">Version</td>
<td align="left">Python 3.7</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The experiment adopts the current mainstream method, of using Python for data simulation, and generating experimental parameters through random methods [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>]. The parameter information is shown in <xref ref-type="table" rid="table-3">Tabs. 3</xref> and <xref ref-type="table" rid="table-4">4</xref>.</p>
<table-wrap id="table-3"><label>Table 3</label>
<caption>
<title>Resource parameters</title></caption>
<table><colgroup><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Parameter</th>
<th align="left">Value range</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Number of edge servers</td>
<td align="left">10&#x2013;100</td>
</tr>
<tr>
<td align="left">Number of terminals</td>
<td align="left">100&#x2013;1000</td>
</tr>
<tr>
<td align="left">Edge servers CPU resources</td>
<td align="left">10<sup>2</sup>&#x2013;10<sup>3</sup></td>
</tr>
<tr>
<td align="left">Edge servers memory resources</td>
<td align="left">10<sup>9</sup>&#x2013;10<sup>10</sup></td>
</tr>
<tr>
<td align="left">Terminals CPU resources</td>
<td align="left">1&#x2013;1.5</td>
</tr>
<tr>
<td align="left">CPU required by the tasks</td>
<td align="left">1&#x2013;1.5</td>
</tr>
<tr>
<td align="left">Memory required by the tasks</td>
<td align="left">10<sup>6</sup>&#x2013;10<sup>7</sup></td>
</tr>
<tr>
<td align="left">Terminal-Edge transmission bandwidth</td>
<td align="left">10<sup>8</sup></td>
</tr>
<tr>
<td align="left">Cloud-Edge transmission bandwidth</td>
<td align="left">10<sup>8</sup>&#x2013;9&#x002A;10<sup>8</sup></td>
</tr>
<tr>
<td align="left">Terminal-Cloud transmission bandwidth</td>
<td align="left">10<sup>9</sup></td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="table-4"><label>Table 4</label>
<caption>
<title>Energy consumption parameters</title></caption>
<table><colgroup><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Parameter</th>
<th align="left">Value range</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Terminal</td>
<td align="left">0.10&#x2013;0.25</td>
</tr>
<tr>
<td align="left">Edge servers</td>
<td align="left">100&#x2013;150</td>
</tr>
<tr>
<td align="left">Cloud</td>
<td align="left">1500&#x2013;2500</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This paper verifies for experimental sensitive applications. The experimental design consists comparing task localization processing with task random offloading processing in order to prove the necessity of task offloading; then verifying the task scheduling method proposed in this paper, and finally comparing the algorithm proposed in this paper with the task average distribution algorithm.</p>
<p>The equipment energy consumption parameters are shown in <xref ref-type="table" rid="table-4">Tab. 4</xref>.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Analysis of Results</title>
<p>In order to determine the effectiveness of the algorithm, we first compared the performance of the improved genetic algorithm. The optimal scheduling results were analyzed under the condition that the number of edge server nodes is 10 and the number of cloud center nodes is 1. The algorithm parameters are shown in <xref ref-type="table" rid="table-5">Tab. 5</xref>.</p>
<table-wrap id="table-5"><label>Table 5</label>
<caption>
<title>Algorithm parameters</title></caption>
<table><colgroup><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Parameter</th>
<th align="left">Value</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Number of iterations</td>
<td align="left">500</td>
</tr>
<tr>
<td align="left">Crossover probability</td>
<td align="left">0.7</td>
</tr>
<tr>
<td align="left">Mutation probability</td>
<td align="left">0.1</td>
</tr>
<tr>
<td align="left">Initial temperature</td>
<td align="left">1000</td>
</tr>
<tr>
<td align="left">&#x03C3;</td>
<td align="left">0.98</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The experimental results are shown in <xref ref-type="table" rid="table-6">Tab. 6</xref>.</p>
<table-wrap id="table-6"><label>Table 6</label>
<caption>
<title>Experimental results</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Number of tasks</th>
<th align="left">Algorithm</th>
<th align="left">Results(s)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="2">100</td>
<td align="left">GA</td>
<td align="left">0.077009</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.071019</td>
</tr>
<tr>
<td align="left" rowspan="2">200</td>
<td align="left">GA</td>
<td align="left">0.1145118</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.112412</td>
</tr>
<tr>
<td align="left" rowspan="2">300</td>
<td align="left">GA</td>
<td align="left">0.142701</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.13808</td>
</tr>
<tr>
<td align="left" rowspan="2">400</td>
<td align="left">GA</td>
<td align="left">0.290745</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.28089</td>
</tr>
<tr>
<td align="left" rowspan="2">500</td>
<td align="left">GA</td>
<td align="left">0.47644</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.423638</td>
</tr>
<tr>
<td align="left" rowspan="2">600</td>
<td align="left">GA</td>
<td align="left">0.498386</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.426664</td>
</tr>
<tr>
<td align="left" rowspan="2">700</td>
<td align="left">GA</td>
<td align="left">0.689837</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left">0.647761</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The experimental results show that under the conditions of this experiment setting, as the number of tasks increased from 100 to 700, the improved algorithm becomes more effective.</p>
<p>Next the relationship between the optimal iteration results of the algorithm and the number of iterations were compared. The experiment was carried out under the conditions that the number of tasks was 600, the number of edge computing servers was 10, and the number of cloud centers is 1. To demonstrate the optimization performance of the algorithm, the experiment was repeated 50 times, and the comparison between the average optimal result and the optimal result was conducted. The results are shown in <xref ref-type="table" rid="table-7">Tab. 7</xref>.</p>
<table-wrap id="table-7"><label>Table 7</label>
<caption>
<title>Analysis of algorithm performance</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Number of iterations</th>
<th align="left">Algorithm</th>
<th align="left">Optimal results(s)</th>
<th align="left">First appears</th>
<th align="left">Average results(s)</th>
<th align="left">Average number of iterations</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="2">100</td>
<td align="left">GA</td>
<td align="left">0.53149605</td>
<td align="left">90</td>
<td align="left">0. 55634206</td>
<td align="left">88.2</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.52202637</bold></td>
<td align="left">96</td>
<td align="left">0.540611662</td>
<td align="left">90.2</td>
</tr>
<tr>
<td align="left" rowspan="2">200</td>
<td align="left">GA</td>
<td align="left">0.49449435</td>
<td align="left">194</td>
<td align="left">0.51066</td>
<td align="left">182.5</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.48609051</bold></td>
<td align="left">198</td>
<td align="left">0.505746252</td>
<td align="left">185.6</td>
</tr>
<tr>
<td align="left" rowspan="2">300</td>
<td align="left">GA</td>
<td align="left">0.48294193</td>
<td align="left">238</td>
<td align="left">0.491247565</td>
<td align="left">273.25</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.47822559</bold></td>
<td align="left">293</td>
<td align="left">0.48864317</td>
<td align="left">277.2</td>
</tr>
<tr>
<td align="left" rowspan="2">400</td>
<td align="left">GA</td>
<td align="left">0.47208516</td>
<td align="left">370</td>
<td align="left">0.481051</td>
<td align="left">374.5</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.46378412</bold></td>
<td align="left">374</td>
<td align="left">0.477597682</td>
<td align="left">374.4</td>
</tr>
<tr>
<td align="left" rowspan="2">500</td>
<td align="left">GA</td>
<td align="left">0.46664622</td>
<td align="left">469</td>
<td align="left">0.47015579</td>
<td align="left">476.2</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.46281636</bold></td>
<td align="left">482</td>
<td align="left">0.468687904</td>
<td align="left">482</td>
</tr>
<tr>
<td align="left" rowspan="2">600</td>
<td align="left">GA</td>
<td align="left">0.46284699</td>
<td align="left">567</td>
<td align="left">0.467606</td>
<td align="left">554.75</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.45722705</bold></td>
<td align="left">587</td>
<td align="left">0.46553027</td>
<td align="left">561.2</td>
</tr>
<tr>
<td align="left" rowspan="2">700</td>
<td align="left">GA</td>
<td align="left">0.45745619</td>
<td align="left">663</td>
<td align="left">0.462613</td>
<td align="left">641.25</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.45045954</bold></td>
<td align="left">680</td>
<td align="left">0.460182298</td>
<td align="left">649</td>
</tr>
<tr>
<td align="left" rowspan="2">800</td>
<td align="left">GA</td>
<td align="left">0.45542874</td>
<td align="left">780</td>
<td align="left">0.460006</td>
<td align="left">782.5</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.44958811</bold></td>
<td align="left">789</td>
<td align="left">0.45809669</td>
<td align="left">762</td>
</tr>
<tr>
<td align="left" rowspan="2">900</td>
<td align="left">GA</td>
<td align="left">0.45398229</td>
<td align="left">850</td>
<td align="left">0.458569</td>
<td align="left">829</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.44845254</bold></td>
<td align="left">880</td>
<td align="left">0.45694739</td>
<td align="left">799.2</td>
</tr>
<tr>
<td align="left" rowspan="2">1000</td>
<td align="left">GA</td>
<td align="left">0.44791635</td>
<td align="left">913</td>
<td align="left">0.45156852</td>
<td align="left">865</td>
</tr>
<tr>
<td align="left">GSA-EDGE</td>
<td align="left"><bold>0.44664402</bold></td>
<td align="left">930</td>
<td align="left">0.45434687</td>
<td align="left">834</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The experimental results show that the improved genetic algorithm has a smaller adaptation value and better searching effect under the same number of iterations.</p>
<p><xref ref-type="fig" rid="fig-7">Fig. 7</xref> shows the fitness of the improved genetic algorithm when the number of tasks was 600 and the number of iterations was 500.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Algorithm fitness</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-7.png"/>
</fig>
<p>Because genetic algorithms have relatively few parameters, they are easy to implement. Therefore, for to analyze the influence of crossover and variation factors on the parameters of the improved genetic algorithm in term of the optimization results, the experiment was carried out using 500 iterations and 600 tasks. The results are shown in <xref ref-type="table" rid="table-8">Tab. 8</xref></p>
<table-wrap id="table-8"><label>Table 8</label>
<caption>
<title>Analysis of algorithm performance</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Mutation probability</th>
<th align="left">0.1</th>
<th align="left">0.2</th>
<th align="left">0.3</th>
<th align="left">0.4</th>
<th align="left">0.5</th>
<th align="left">0.6</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Fitness</td>
<td align="left">0.46281636</td>
<td align="left">0.49259758</td>
<td align="left">0.474520742</td>
<td align="left">0.463950786</td>
<td align="left">0.476446722</td>
<td align="left">0.475106816</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Next, the unload necessity proof experiment was carried out to compare the unload processing with local task processing and unscheduled task processing. The experimental results are shown in <xref ref-type="fig" rid="fig-8">Fig. 8</xref>.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Total time of task local processing and random offloading</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-8.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-8">Fig. 8</xref> shows the comparison of task localization processing and the total time delay of task randomly unloading task processing under the &#x201C;Cloud-Edge-Terminal&#x201D; framework proposed in this paper. Analysis of the experimental results, show that random task offloading can reduce the total task processing time by 91.4&#x0025;. Therefore, edge computing for task offloading can reduce the total task duration.</p>
<p>Then, for the number of tasks from 100 to 700, under the condition of the number of edge servers is 10 and the number of cloud centers is 1.</p>
<p>The delay weighting factor <italic>&#x03C9;</italic><sub>1</sub>&#x2009;&#x003D;&#x2009;1 was selected in experiment, and the longest processing time of the device was regarded as the duration of the method. The longest processing time of the device was selected as the processing delay, the experiment was verified, and the task local terminal processing, average offloading and the offloading method designed in this paper were compared. The experimental results shown in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>, confirm that the offloading algorithm proposed in this paper can reduce the task processing time by 43.35&#x0025; on average compared with the average offloading algorithm, and reduce the task processing time by 77.67&#x0025; with task localization.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Comparison of three algorithms in terms of task processing delay</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-9.png"/>
</fig>
<p>Task local processing means that the tasks generated by the terminal are processed on the terminal, and the task processing time is the genetic algorithm-based scheduling algorithm parameters discussed in this paper, as shown in <xref ref-type="table" rid="table-5">Tab. 5</xref>.</p>
<p>When the number of tasks is 500, verify the relationship between the number of tasks and the number of edge servers. The experiment selects the number of edge servers [10, 100], and the specific results are shown in <xref ref-type="fig" rid="fig-10">Fig. 10</xref>. The experimental results show that when the number of edge servers is small, the average computational delay of the algorithm proposed in this paper is decreased significantly.</p>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Relationship between calculation delay and the number of servers</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-10.png"/>
</fig>
<p>Finally, the experiment vertifies the relationship between the task delay and the number of algorithm iterations in an environment where the number of tasks is 100, 200, and 500, and the number of edge servers is 50. The experimental results show that the task processing time of the 100 to 300 generations of iterations is significantly reduced. Starting with the 300th generation, the time has been reduced slowly. The experimental results are shown in <xref ref-type="fig" rid="fig-11">Fig. 11</xref>.</p>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Relationship between calculation delay and number of iterations</title></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CSSE_24021-fig-11.png"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>In this paper, the concept, framework and application scenarios of edge computing are defined, and a Cloud-Edge- Terminal collaborative framework is proposed. Based on this, a task scheduling strategy based on time delay and energy consumption is proposed, which shows an improvement compared with task localization processing, task random offloading and comparison.</p>
<p>Going forward, we will consider optimizing the experimental environment and building an edge computing environment using big data processing platforms such as Spark and Hadoop. Furthermore, because multi cloud access is one of the technology trends in edge computing &#x201C;cloud-edge&#x201D; collaborative computing in a multi-cloud environment will be another work direction.</p>
</sec>
</body>
<back>
<ack>
<p>Thanks to the project team Shanshan Geng and Zhanfeng Zhang for their contributions to this article.</p>
</ack><fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> This paper is partially supported by the Social Science Foundation of Hebei Province (No. HB19JL007), and the Education technology Foundation of the Ministry of Education (No. 2017A01020), and the Natural Science Foundation of Hebei Province (F2021207005).</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Shi</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Dustdar</surname></string-name></person-group>, &#x201C;<article-title>The promise of edge computing</article-title>,&#x201D; <source>Computer</source>, vol. <volume>49</volume>, no. <issue>5</issue>, pp. <fpage>78</fpage>&#x2013;<lpage>81</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Shi</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Cao</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Xu</surname></string-name></person-group>, &#x201C;<article-title>Edge computing: Vision and challenges</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>3</volume>, no. <issue>5</issue>, pp. <fpage>637</fpage>&#x2013;<lpage>646</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Ding</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Cao</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Edge computing: Applications, state-of-the-art and challenges</article-title>,&#x201D; <source>ZTE Technology Journal</source>, vol. <volume>25</volume>, no. <issue>3</issue>, pp. <fpage>2</fpage>&#x2013;<lpage>7</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Cai</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Xiao</surname></string-name></person-group>, &#x201C;<article-title>Edge computing: Platforms, applications and challenges</article-title>,&#x201D; <source>Journal of Computer Research and Development</source>, vol. <volume>55</volume>, no. <issue>2</issue>, pp. <fpage>327</fpage>&#x2013;<lpage>337</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Shi</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Edge computing: State-of-the-art and future directions</article-title>,&#x201D; <source>Journal of Computer Research and Development</source>, vol. <volume>56</volume>, no. <issue>1</issue>, pp. <fpage>69</fpage>&#x2013;<lpage>89</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Dong</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Qu</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Hu</surname></string-name></person-group>, &#x201C;<article-title>Survey of research on computation offloading strategy in mobile edge computing</article-title>,&#x201D; <source>Computer Science</source>, vol. <volume>46</volume>, no. <issue>11</issue>, pp. <fpage>32</fpage>&#x2013;<lpage>40</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Xie</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Lian</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Jia</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Huang</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>Survey on computation offloading in mobile edge computing</article-title>,&#x201D; <source>Journal on Communications</source>, vol. <volume>39</volume>, no. <issue>11</issue>, pp. <fpage>138</fpage>&#x2013;<lpage>155</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Mach</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Becvar</surname></string-name></person-group>, &#x201C;<article-title>Mobile edge computing: A survey on architecture and computation offloading</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>19</volume>, no. <issue>3</issue>, pp. <fpage>1628</fpage>&#x2013;<lpage>1656</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Deng</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Fu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yin</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Service selection for composition in mobile edge computing systems</article-title>,&#x201D; in <conf-name>IEEE 2018 IEEE Int. Conf. on Web Services (ICWS)</conf-name>, <conf-loc>San Francisco, CA, USA</conf-loc>, PP. pp. <fpage>355</fpage>&#x2013;<lpage>358</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Chen</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Hao</surname></string-name></person-group>, &#x201C;<article-title>Task offloading for mobile edge computing in software defined ultra-dense network</article-title>,&#x201D; <source>IEEE Journal on Selected Areas in Communications</source>, vol. <volume>36</volume>, no. <issue>3</issue>, pp. <fpage>587</fpage>&#x2013;<lpage>597</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Dong</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Hu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Qu</surname></string-name></person-group>, &#x201C;<article-title>Task scheduling policy for mobile edge computing with user priority</article-title>,&#x201D; <source>Application Research of Computers</source>, vol. <volume>37</volume>, no. <issue>9</issue>, pp. <fpage>2701</fpage>&#x2013;<lpage>2705</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Dong</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Qu</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Hu</surname></string-name></person-group>. &#x201C;<article-title>Resource allocation strategy for mobile edge computing of multi-priority tasks</article-title>,&#x201D; <source>Computer Engineering</source>, vol. <volume>46</volume>, no. <issue>3</issue>, pp. <fpage>18</fpage>&#x2013;<lpage>23</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Gumaei</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Al-Rakhami</surname></string-name> and <string-name><given-names>H.</given-names> <surname>AlSalman</surname></string-name></person-group>, &#x201C;<article-title>Dl-har: Deep learning-based human activity recognition framework for edge computing</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>65</volume>, no. <issue>2</issue>, pp. <fpage>1033</fpage>&#x2013;<lpage>1057</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Qian</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Sun</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Tian</surname></string-name></person-group>, &#x201C;<article-title>Data security defense and algorithm for edge computing based on mean field game</article-title>,&#x201D; <source>Journal of Cyber Security</source>, vol. <volume>2</volume>, no. <issue>2</issue>, pp. <fpage>97</fpage>&#x2013;<lpage>106</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Qi</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Song</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Feng</surname></string-name></person-group>, &#x201C;<article-title>A novel edge computing based area navigation scheme</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>65</volume>, no. <issue>3</issue>, pp. <fpage>2385</fpage>&#x2013;<lpage>2396</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yong</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>A novel GLS consensus algorithm for alliance chain in edge computing environment</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>65</volume>, no. <issue>1</issue>, pp. <fpage>963</fpage>&#x2013;<lpage>976</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Shi</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Xie</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Workload allocation based on user mobility in mobile edge computing</article-title>,&#x201D; <source>Journal on Big Data</source>, vol. <volume>2</volume>, no. <issue>3</issue>, pp. <fpage>105</fpage>&#x2013;<lpage>111</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Jiang</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Fu</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving genetic algorithm outsourcing in cloud computing</article-title>,&#x201D; <source>Journal of Cyber Security</source>, vol. <volume>2</volume>, no. <issue>1</issue>, pp. <fpage>49</fpage>&#x2013;<lpage>61</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="web"><person-group person-group-type="author"><collab>Edge computing and cloud synergy white paper</collab></person-group>, <year>2018</year>. [Online]. Available: <uri xlink:href="http://www.ecconsortium.org/Uploads/file/20190221/1550718911180625.pdf">http://www.ecconsortium.org/Uploads/file/20190221/1550718911180625.pdf</uri>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G. B.</given-names> <surname>DANTZIG</surname></string-name></person-group>, &#x201C;<article-title>Discrete variable extremum problems</article-title>,&#x201D; <source>Operations Research</source>, vol. <volume>5</volume>, no. <issue>2</issue>, pp. <fpage>266</fpage>&#x2013;<lpage>277</lpage>, <year>1957</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>