\tocauthor

Duc-Thuan Le 11institutetext: HCMC University of Technology, VNU-HCM, Vietnam

Prediction based computation offloading and resource allocation for multi-access ISAC enabled IoT system

Duc-Thuan Le
Abstract

In the new era of the Internet of Things (IoT), tasks are now being migrated to edge sites closer to data generators. Mobile devices inherently encounter limitations in terms of energy and computational processing capabilities. In high mobility paradigm, ISAC provides a promising foundation for integrating deployment management within dynamic spatial settings. We are interested in applying prediction mechanism to resource allocation management by extracting data attributes, focusing on ISAC related contexts of the trajectory and velocity and making the allocating decision. We present a system design, a theoretical framework and an implementation of the ClusterMan software package. The numerical suggest that the strong clustering subset of feature may yield high accuracy up to 97% in the prediction results.

keywords:
computational offloading, clustering, prediction, ISAC

1 Introduction

With the advent of the Internet of Thing, there has been a paradigm shift towards relocating tasks from centralized processing centers to the edge locations, where data is generated, has occurred and being exploded. This potential unlocks the high dynamic scenarios, such as automotive and industrial applications, which have previously been limited due to the problem of battery capacity and slow processor speed. When combined with spatial factors, as seen in Integrated sensing and communication (ISAC) [1], it forms a cornerstone in ongoing 6G implementations. However, employing an efficient resource allocation mechanism in combination with understanding the spectral efficiency in spatial variance in the wireless channel remains incomplete.

The issue of offloading computation to servers has been researched and implemented across various system types [2]. In distributed and multi-access networks, objects can also be moved at the environmental level, such as with Docker [3]. However, these mechanisms are constrained by the large volume of data, which is not always suitable for IoT system environments.An alternative direction being considered is an adaptation of previous telecommunications device subsets, now applied to IoT, known as Mobile Edge computation offloading [4]. In this approach, each data bit is carefully weighed against the energy consumed for processing at the device or at the server system [5]. While multi-site cloud computing [6] offers significant computational power, the data transmission latency is too large to operate matching the requirement of processing time delay of IoT devices. Therefore, mobile networks are utilized to supplement computational capabilities.

Current solutions in computation-assisted mobile network encounter the problem of spectral efficiency in spatial variances especially in high mobility paradigm. Consequently, the development of 6G networks aims to integrate sensing into communications and target ISAC enabled IoT system. The biggest challenge of handling spatial factors and trajectory movements to modulation speed is addressed in OTFS [7]. OTFS is noted for its ability to transmit data for shorter period of times, enabling longer-range radar and/or faster target tracking rates [8], making it a promising mechanism for ISAC. We consider the offloading in the practical implementation of ISAC, OTFS, specifically using velocity modulation, which poses a challenge due to the complexity of the modulation domain. Previous solutions focused on optimization approach, but failed to ensure the flexibility of the solution, depending on the nature of the data.

This study applies attribute analysis and data correlation in building predictive solutions in Meta-learning (MAML) [9] to the problem of strategy selection and resource allocation mechanism construction. We present the two models relevant to the ISAC enable communication in IoT system In the first model, we analyse the data structure and clustering characteristics. In the second model, we employ the regression model to formulate the clustered feature into resource allocation prediction. We examine different subset of resources includes frequency, speed and offloading factor. We developed a novel outlier theoretical framework to perform the prediction in spectral efficiency and ensure the convergence of the proposed mechanism. We prove and show by numerical simulation that the capability prediction accuracy.

2 System design

2.1 ClusterMan architecture design

The architecture of the ClusterMan system is designed for deployment in a distributed system of mobile devices that require low-latency responsiveness and energy-efficient consumption. It employs wireless communication channels that leverage velocity modulation and a unified centralized processing server system. From a user’s perspective, this system appears as a single server with unlimited capacity. Specifically, the described architecture in Figure 1 includes the following components:

Refer to caption
Figure 1: System Architecture Diagram

Software Management Subsystem orchestrates the efficient utilization of resources, manages cluster models, and optimizes carrier frequencies. It consists of three key components: the ResourceMan, the ClusterModelMan, and the CarrierFreqMan, detailed in the following list:

  • -

    ResourceMan: This component provides the allocation and utilization of available resources within the system. It monitors various system resources such as CPU, memory, storage, and network bandwidth to ensures that resources are efficiently allocated to different tasks within the system.

  • -

    ClusterModelMan: This component manages and optimizes cluster configurations. It maintains a repository of diverse cluster models, and facilitates the selection of an appropriate model based on considerations such as performance goals, resource constraints, and scalability requirements.

  • -

    CarrierFreqMan: This component focuses on managing carrier frequencies within wireless communication systems, including tasks such as frequency allocation, channel selection, and velocity modulation. It collects and analyzes wireless physical resource, then it determines the optimal carrier assignments to maximize resource utilization.

Mobile Edge Computing Subsystem collaborates the two main components to enable efficient task processing and offloading, leveraging both centralized and local computing resources. The main components are:

  • -

    Edge Server: This component serves as a centralized computing node, equipped with unlimited processing capabilities to manage intensive computation tasks. It offers high-performance computing resources capable of handling multiple concurrent requests from mobile devices.

  • -

    Mobie Device/IoT layer: This component represents the end-user device, such as mobile devices, vehicles, or IoT devices equipped with sensors, user applications enabling them to collect local data. These devices typically have limited computational resources and power constraints compared to Edge Servers then thus requiring them to offload their heavy tasks to the Edge Server for further processing.

Velocity modulation library implementation employs Zak-based transformation in [10] and provides the API calcSE()𝑐𝑎𝑙𝑐𝑆𝐸calcSE(\cdot)italic_c italic_a italic_l italic_c italic_S italic_E ( ⋅ ) as described in the Listing 1.

Listing 1: velocity modulation library
import random
import math
import matplotlib.pyplot as plt
import numpy as np
# Caching Spectral Efficiency
SE = {}
bandwidth = 1E6
num_usr = 5
time_frm = 10E-3 # 10 ms
delta_f = 100E3 # 100 kHz
lightSpeed = 3E8
def calc_SE(speed, carrierFreq):
global SE,bandwidth,num_usr,time_frm,delta_f,lightSpeed
# Return cached version
if speed in SE:
return SE[speed]
# Construct representation based on Zak-transform as in [10].
end

2.2 ClusterMan interface and interaction specification

Within the Software Management Subsystem, the interaction among its components facilitates effective operation, efficient resource utilization, enhanced system performance, and reliable communication, includes:

  • -

    Model retrieving: the ResourceMan interacts with the ClusterModelMan to retrieve information about available cluster configurations and their associated features. This interaction enables the ResourceMan to make informed decisions regarding resource allocation and scheduling.

  • -

    Physical platform information retrieving the ClusterModelMan, upon receiving a request from the ResourceMan, selects an appropriate cluster model based on the workload characteristics and resource requirements. It further leverages information from the CarrierFreqMan to establish the appropriated clustering scheme on the physical platform.

  • -

    Physical platform information provider the CarrierFreqMan provides essential information to ClusterModelMan about the physical platform, including channel conditions and interference levels. This information is utilized to configure cluster settings.

The interaction between the Edge Server and the Mobie Device/IoT layer is described as follows:

  • Task offloading: when the Mobie Device/IoT layer has tasks that exceed its processing capacity or require centralized resources, it delegate these tasks to the Edge Server. This offloading process can harness the advantages of event communication systems in tandem with application migration [11, 12] to orchestrate task and delegate tasks efficiently.

  • Centralized cluster processing: the Edge server receives task requests from Mobile Devices and performs centralized cluster processing based on predictive estimation to make the resource allocation decision. Through resource orchestration, it leverages a unified unlimited computational resources at large scale [13] to execute heavy computations efficiently in almost zero-delay response.

  • Result delivery when the Edge Server completes processing tasks, it sends the results back to the requesting Mobile Devices. These outcomes may include aggregated info and usually has small data size and can be omitted in order to decouple the transmission process and computation process. [14].

3 System Model

3.1 System notations

Given a system consisting a set of N𝑁Nitalic_N users and one Edge Server (ES). Each user uses exactly one mobile device (MD) then there are total of N𝑁Nitalic_N MD in the system. On each device, there exists a set of computational tasks. These tasks process an input stream of data, and the total number of tasks is denoted by K𝐾Kitalic_K, where each task is indexed by k{1,2,,K}𝑘12𝐾k\in\{1,2,\dots,K\}italic_k ∈ { 1 , 2 , … , italic_K }. As a result, input data of a k𝑘kitalic_k-th task on MD n𝑛nitalic_n has the length of Dn,ksubscript𝐷𝑛𝑘D_{n,k}italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT bits.

3.2 Task model

Each input data of a task on a MD nN𝑛𝑁n\in Nitalic_n ∈ italic_N has a task with an offloading ratio ln,k[0,1]subscript𝑙𝑛𝑘01l_{n,k}\in[0,1]italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ∈ [ 0 , 1 ]. That portion ln,kDn,ksubscript𝑙𝑛𝑘subscript𝐷𝑛𝑘l_{n,k}D_{n,k}italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT is sent to the ES for computation, thus not using the MD’s resources. Consequently, the length of the data kept for local execution on the MD is (1ln,k)Dn,k1subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘(1-l_{n,k})D_{n,k}( 1 - italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ) italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT.

We ignore the time and energy consumption in the ES when processing the data ln,kDn,ksubscript𝑙𝑛𝑘subscript𝐷𝑛𝑘l_{n,k}D_{n,k}italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT of the task when offloading it to the ES for processing, because the processing capacity of the ES is infinite, so the execution time is fast and the resource usage is negligible and can be ignored.

3.3 Local computation model

Each MD is assumed to operate at a fixed processing speed of fnsubscript𝑓𝑛f_{n}italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT during the execution of any task.To perform computation, the quantity describing the complexity is cn,ksubscript𝑐𝑛𝑘c_{n,k}italic_c start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT with units of CPU cycles/bit, indicating the average number of clock cycles required to process one bit of input data. The execution time of the task computed locally on the MD, Tlocalsubscript𝑇𝑙𝑜𝑐𝑎𝑙T_{local}italic_T start_POSTSUBSCRIPT italic_l italic_o italic_c italic_a italic_l end_POSTSUBSCRIPT, in seconds, is expressed as follows:

Tlocal(n,k)=cn,k(1ln,k)Dn,kfnsubscript𝑇𝑙𝑜𝑐𝑎𝑙𝑛𝑘subscript𝑐𝑛𝑘1subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑓𝑛T_{local(n,k)}=\dfrac{c_{n,k}(1-l_{n,k})D_{n,k}}{f_{n}}\vspace{-0.2 cm}italic_T start_POSTSUBSCRIPT italic_l italic_o italic_c italic_a italic_l ( italic_n , italic_k ) end_POSTSUBSCRIPT = divide start_ARG italic_c start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ( 1 - italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ) italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG (1)

where fnsubscript𝑓𝑛f_{n}italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the CPU speed of MD n𝑛nitalic_n measured in (Hz), and cn,ksubscript𝑐𝑛𝑘c_{n,k}italic_c start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT is the number of CPU cycles required to execute one bit of data on MD n𝑛nitalic_n for the task k𝑘kitalic_k.

The corresponding amount of energy is:

Elocal(n,k)=ϵncn,kfn2(1ln,k)Dn,ksubscript𝐸𝑙𝑜𝑐𝑎𝑙𝑛𝑘subscriptitalic-ϵ𝑛subscript𝑐𝑛𝑘superscriptsubscript𝑓𝑛21subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘E_{local(n,k)}=\epsilon_{n}c_{n,k}f_{n}^{2}(1-l_{n,k})D_{n,k}italic_E start_POSTSUBSCRIPT italic_l italic_o italic_c italic_a italic_l ( italic_n , italic_k ) end_POSTSUBSCRIPT = italic_ϵ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ) italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT (2)

where ϵn,ksubscriptitalic-ϵ𝑛𝑘\epsilon_{n,k}italic_ϵ start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT is a energy coefficient determined by the chip architecture of MD n𝑛nitalic_n.

3.4 Communication model

Considering that the data size of the task processed result is negligible compared to the data size of the tasks themselves, in this work, we only focus on the uplink transmission. We consider the situation where the ES allocate spectrum bandwidth Wnsubscript𝑊𝑛W_{n}italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT represents the bandwidth allocated to MD n𝑛nitalic_n by the ES to offload its computation. The uplink transmission rate from MD n𝑛nitalic_n to the edge ES can be rewritten as follows:

Rn=Wnlog2(1+pnhnσ2)=WncalSE(vk,fc)subscript𝑅𝑛subscript𝑊𝑛subscript21subscript𝑝𝑛subscript𝑛superscript𝜎2subscript𝑊𝑛𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐R_{n}=W_{n}\log_{2}\left(1+\dfrac{p_{n}h_{n}}{\sigma^{2}}\right)=W_{n}{calSE}(% v_{k},f_{c})\vspace{-0.2 cm}italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( 1 + divide start_ARG italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_h start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG start_ARG italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) = italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) (3)

where pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the uplink transmission power of MD n𝑛nitalic_n. Assume the paths between transmitter and receiver has little fading effect, the channel gain hnsubscript𝑛h_{n}italic_h start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is a constant close to 1. σ2superscript𝜎2\sigma^{2}italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT refers to the variance of the additive white Gaussian noise. The notation CZak=calSE(vn,fc)subscript𝐶𝑍𝑎𝑘𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑛subscript𝑓𝑐C_{{Zak}}={calSE}(v_{n},f_{c})italic_C start_POSTSUBSCRIPT italic_Z italic_a italic_k end_POSTSUBSCRIPT = italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) (bit/s/Hz) is the spectral efficiency (SE) with variables vnsubscript𝑣𝑛v_{n}italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT being the vehicle speed and fcsubscript𝑓𝑐f_{c}italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT being the carrier frequency.

We assume that the wireless links transmit data at a fixed rate measured in bits per second (bps). The transmission delay from MD n𝑛nitalic_n to the ES for offloading tasks can be defined as

Toff(n,k)=ln,kDn,kRn=ln,kDn,kWncalSE(vk,fc)subscript𝑇𝑜𝑓𝑓𝑛𝑘subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑅𝑛subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑊𝑛𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐T_{off(n,k)}=\dfrac{l_{n,k}D_{n,k}}{R_{n}}=\dfrac{l_{n,k}D_{n,k}}{W_{n}{calSE}% (v_{k},f_{c})}\vspace{-0.2 cm}italic_T start_POSTSUBSCRIPT italic_o italic_f italic_f ( italic_n , italic_k ) end_POSTSUBSCRIPT = divide start_ARG italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG = divide start_ARG italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_ARG (4)

The corresponding energy to perform the transmission is:

Eoff(n,k)=pnToff(n,k)=(2calSE(vk,fc)1)σ2hnln,kDn,kWncalSE(vk,fc)subscript𝐸𝑜𝑓𝑓𝑛𝑘subscript𝑝𝑛subscript𝑇𝑜𝑓𝑓𝑛𝑘superscript2𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐1superscript𝜎2subscript𝑛subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑊𝑛𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐E_{off(n,k)}=p_{n}T_{off(n,k)}=\left(2^{{calSE}(v_{k},f_{c})}-1\right)\dfrac{% \sigma^{2}}{h_{n}}\dfrac{l_{n,k}D_{n,k}}{W_{n}{calSE}(v_{k},f_{c})}\vspace{-0.% 2 cm}italic_E start_POSTSUBSCRIPT italic_o italic_f italic_f ( italic_n , italic_k ) end_POSTSUBSCRIPT = italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT italic_o italic_f italic_f ( italic_n , italic_k ) end_POSTSUBSCRIPT = ( 2 start_POSTSUPERSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT - 1 ) divide start_ARG italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_h start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG divide start_ARG italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_ARG (5)

3.5 Problem modeling statement

The estimated total execution time for processing the task k𝑘kitalic_k of MD n𝑛nitalic_n for any case can be expressed as follows:

Tn,k=Toff(n,k)+Tlocal(n,k)=ln,kDn,kWncalSE(vk,fc)+cn,k(1ln,k)Dn,kfnsubscript𝑇𝑛𝑘subscript𝑇𝑜𝑓𝑓𝑛𝑘subscript𝑇𝑙𝑜𝑐𝑎𝑙𝑛𝑘subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑊𝑛𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐subscript𝑐𝑛𝑘1subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑓𝑛T_{n,k}=T_{off(n,k)}+T_{local(n,k)}=\dfrac{l_{n,k}D_{n,k}}{W_{n}{calSE}(v_{k},% f_{c})}+\dfrac{c_{n,k}(1-l_{n,k})D_{n,k}}{f_{n}}\vspace{-0,3 cm}italic_T start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT = italic_T start_POSTSUBSCRIPT italic_o italic_f italic_f ( italic_n , italic_k ) end_POSTSUBSCRIPT + italic_T start_POSTSUBSCRIPT italic_l italic_o italic_c italic_a italic_l ( italic_n , italic_k ) end_POSTSUBSCRIPT = divide start_ARG italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_ARG + divide start_ARG italic_c start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ( 1 - italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ) italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG (6)

The total energy consumption for processing the task of MD n𝑛nitalic_n at time k𝑘kitalic_k is the sum of the component energies

En,k=Eoff(n,k)+Elocal(n,k)subscript𝐸𝑛𝑘subscript𝐸𝑜𝑓𝑓𝑛𝑘subscript𝐸𝑙𝑜𝑐𝑎𝑙𝑛𝑘E_{n,k}=E_{off(n,k)}+E_{local(n,k)}\vspace{-0,3 cm}italic_E start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT = italic_E start_POSTSUBSCRIPT italic_o italic_f italic_f ( italic_n , italic_k ) end_POSTSUBSCRIPT + italic_E start_POSTSUBSCRIPT italic_l italic_o italic_c italic_a italic_l ( italic_n , italic_k ) end_POSTSUBSCRIPT (7)

By substituting the computed quantities from expressions (2) and (5) to the equation (7), we obtain the formulation of the total energy expression optimization problem as follows:

(Problem P1):

minΩ1n𝒩n𝒦(2calSE(vk,fc)1)σ2hnln,kDn,kWncalSE(vk,fc)+ϵncn,kfn2(1ln,k)Dn,ksubscriptsubscriptΩ1subscript𝑛𝒩subscript𝑛𝒦superscript2𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐1superscript𝜎2subscript𝑛subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘subscript𝑊𝑛𝑐𝑎𝑙𝑆𝐸subscript𝑣𝑘subscript𝑓𝑐subscriptitalic-ϵ𝑛subscript𝑐𝑛𝑘superscriptsubscript𝑓𝑛21subscript𝑙𝑛𝑘subscript𝐷𝑛𝑘\displaystyle\begin{split}&\min\limits_{\Omega_{1}}\sum_{n\in\mathcal{N}}\sum_% {n\in\mathcal{K}}\left(2^{{calSE}(v_{k},f_{c})}-1\right)\dfrac{\sigma^{2}}{h_{% n}}\dfrac{l_{n,k}D_{n,k}}{W_{n}{calSE}(v_{k},f_{c})}+\epsilon_{n}c_{n,k}f_{n}^% {2}(1-l_{n,k})D_{n,k}\end{split}start_ROW start_CELL end_CELL start_CELL roman_min start_POSTSUBSCRIPT roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_n ∈ caligraphic_N end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_n ∈ caligraphic_K end_POSTSUBSCRIPT ( 2 start_POSTSUPERSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT - 1 ) divide start_ARG italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_h start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG divide start_ARG italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_ARG start_ARG italic_W start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c italic_a italic_l italic_S italic_E ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) end_ARG + italic_ϵ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT ) italic_D start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT end_CELL end_ROW

where the set of optimization variables is defined as Ω1={fn,ln,k,vn,fc}subscriptΩ1subscript𝑓𝑛subscript𝑙𝑛𝑘subscript𝑣𝑛subscript𝑓𝑐\Omega_{1}{=}\{f_{n},l_{n,k},v_{n},f_{c}\}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { italic_f start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT italic_n , italic_k end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT } and the computation of calSE()𝑐𝑎𝑙𝑆𝐸{calSE}(\cdot)italic_c italic_a italic_l italic_S italic_E ( ⋅ ) is considered an indivisible unit task. In the subsequent steps, we will develop the solution for problem (P1).

4 Proposed Algorithm

We aim to develop a prototype system where the components of the system are modeled and tested, then a feasible solution algorithm is provided. The algorithms designed at this stage have the nature of finding solution approaches to demonstrate the feasibility of the topic and is far from optimum. The results of the algorithm, named IteraGAlg, are described in section 4.1, it consists of two steps: configuration setup and greedy solution selection.

In the next stage, the enhanced algorithm design are shaped by the analysis of the feature selection. Despite providing a solution with low complexity, the greedy yields results that diverge significantly from the actual system configuration. In some cases, the difficulty of the problem formulation and the high dimensions of problem spaces make it difficult for us to find the optimum. In our extended approach, we employ predictive methods to augment the baseline solution by leveraging the adaptation from an unrealistic high-dimensional problem to a realistic data-driven approach. Therefore, we proposed an algorithm in section 4.2, named ClusPreAlg, that does not aim to find an optimum, instead we apply the prediction to provide adaption to the realistic experimental environment with large scalability and heterogeneity.

4.1 The Greedy Algorithm - IterGAlg

From the formulation of Problem (P1) includes task model, local execution model, and offloading model, we propose a greedy algorithm that optimizes the total energy consumption of all MD and tasks. Assuming a pool of MD and tasks of individual MD is already given as well. The algorithm details are presented in Algorithm 1 is processed through the 3 steps as listed below:

4.1.1 Step FI - Feasible Initialization

In this step, we initialize the system with a feasible set of values. As is common in offloading problems, we are interested in starting the offloading at the 50% of the data input size. This initialized value might be changed depending on the different test scenarios later.

4.1.2 Step FS - Feasible Solution

This step performs the initialized calculation of total energy with a predefined offload list as an input argument. There are two steps of calculations, which include the local execution energy and the offloading energy energy. The former term is straightforward, achieved by applying mathematical modeling, while the latter term involves the formulation of offloading transmission and employs the external determination of spectral efficiency, as mentioned in 3.4.

4.1.3 Step GIm - Greedy Improvement

The greedy improvement step starts by entering a loop where it tries to improve the result using greedy approaches after each iteration. We keep track of the best reachable result in a global optimum value. Then, in each loop step, we recalculate the new total energy consumption of all tasks. There are two expected outputs:

An improvement is obtained if a updated total energy results is less than the current tracking minimum, the algorithm updates this minimum value. In addition to updating the new minimum energy consumption, the algorithm picks out the worst-performed task, i.e. the task consuming most energy, and increases it offloading ratio by 0.01 or 1% to seek for energy consumption reduction and continues the next iteration.

A saturated stage is reach; no improvement is found if this stage is reached, it indicates that the algorithm has exhausted all feasible options for improvement without achieving any further enhancements. Due to the step searching approaches, the algorithm has performed a semi-brute-force iterations to explore all the possibilities and surmount the limitations inherent to the current approach.

Algorithm 1 Algorithm IteraGAlg based on Iterative greedy decision
1:Initialize:
2:cycle_per_bitarray[1..K]\textit{cycle\_per\_bit}\leftarrow\text{array}[1..K]cycle_per_bit ← array [ 1 . . italic_K ]    # cycle per bit for all tasks
3:coefficientarray[1..K]\textit{coefficient}\leftarrow\text{array}[1..K]coefficient ← array [ 1 . . italic_K ]    # MD energy coefficient for all tasks
4:frequencyarray[1..K]\textit{frequency}\leftarrow\text{array}[1..K]frequency ← array [ 1 . . italic_K ]    # MD processing frequency of all tasks
5:
6:se_listarray[1..K]\textit{se\_list}\leftarrow\text{array}[1..K]se_list ← array [ 1 . . italic_K ]    # spectral efficiency for all tasks
7:bandwidth_listarray[1..K]\textit{bandwidth\_list}\leftarrow\text{array}[1..K]bandwidth_list ← array [ 1 . . italic_K ]    # communication bandwidth for all tasks
8:gain_listarray[1..K]\textit{gain\_list}\leftarrow\text{array}[1..K]gain_list ← array [ 1 . . italic_K ]    # communication gain for all tasks
9:noise_powerarray[1..K]\textit{noise\_power}\leftarrow\text{array}[1..K]noise_power ← array [ 1 . . italic_K ]    # communication noise power for all tasks
10:
11:offload_listarray[1..K]\textit{offload\_list}\leftarrow\text{array}[1..K]offload_list ← array [ 1 . . italic_K ]    # offloading ratio for all tasks
12:data_sizearray[1..K]\textit{data\_size}\leftarrow\text{array}[1..K]data_size ← array [ 1 . . italic_K ]    # data size for all tasks
13:
14:local_energyarray[1..K]\textit{local\_energy}\leftarrow\text{array}[1..K]local_energy ← array [ 1 . . italic_K ]    # local energy for all tasks
15:offload_energyarray[1..K]\textit{offload\_energy}\leftarrow\text{array}[1..K]offload_energy ← array [ 1 . . italic_K ]    # offload energy for all tasks
16:
17:function get_total_energy(offload_list)
18:    local_size=(1offload_list)data_sizelocal_size1offload_listdata_size\textit{local\_size}{=}(1{-}\textit{offload\_list}){*}\textit{data\_size}local_size = ( 1 - offload_list ) ∗ data_size
19:    offload_size=data_sizelocal_sizeoffload_sizedata_sizelocal_size\textit{offload\_size}{=}\textit{data\_size}{-}\textit{local\_size}offload_size = data_size - local_size
20:    local_energy=local_sizecycle_per_bitcoefficientfrequencyfrequencylocal_energylocal_sizecycle_per_bitcoefficientfrequencyfrequency\textit{local\_energy}{=}\textit{local\_size}{*}\textit{cycle\_per\_bit}{*}% \textit{coefficient}{*}\textit{frequency}{*}\textit{frequency}local_energy = local_size ∗ cycle_per_bit ∗ coefficient ∗ frequency ∗ frequency
21:    offload_energy=(2SE1)/SE(noise/(gainbandwidth))offload_sizeoffload_energysuperscript2SE1SEnoisegainbandwidthoffload_size\textit{offload\_energy}{=}(2^{\text{SE}}{-}1){/}\textit{SE}{*}(\textit{noise}% /(\textit{gain}{*}\textit{bandwidth})){*}\textit{offload\_size}offload_energy = ( 2 start_POSTSUPERSCRIPT SE end_POSTSUPERSCRIPT - 1 ) / SE ∗ ( noise / ( gain ∗ bandwidth ) ) ∗ offload_size
22:    return local_energy+offload_energylocal_energyoffload_energy\textit{local\_energy}+\textit{offload\_energy}local_energy + offload_energy
23:end function
24:function optimize
25:    Step FI:   offload_list=[0.5]N;best_so_far=+infformulae-sequenceoffload_listdelimited-[]0.5𝑁best_so_far𝑖𝑛𝑓\textit{offload\_list}=[0.5]*N;\textit{best\_so\_far}=+infoffload_list = [ 0.5 ] ∗ italic_N ; best_so_far = + italic_i italic_n italic_f
26:    Step FS:   total_energy=GET_TOTAL_ENERGY(offload_list)total_energy𝐺𝐸𝑇_𝑇𝑂𝑇𝐴𝐿_𝐸𝑁𝐸𝑅𝐺𝑌𝑜𝑓𝑓𝑙𝑜𝑎𝑑_𝑙𝑖𝑠𝑡\textit{total\_energy}=GET\_TOTAL\_ENERGY(offload\_list)total_energy = italic_G italic_E italic_T _ italic_T italic_O italic_T italic_A italic_L _ italic_E italic_N italic_E italic_R italic_G italic_Y ( italic_o italic_f italic_f italic_l italic_o italic_a italic_d _ italic_l italic_i italic_s italic_t )
27:    Step GIm:
28:    while (SUM(total_energy) ¡ best_so_fardo
29:         best_so_far = SUM(total_list)
30:         offload_list[INDEX(MAX(total_list))] += 0.01
31:         total_energy = GET_TOTAL_ENERGY(offload_list)
32:    end while
33:end function

4.2 Clustering Prediction Approach Algorithm - ClusPreAlg

The greedy technique often produces output that is significantly different from the actual system. There are several reasons for this disparity, such as the complexity of problem formulation model and the large size of problem domains. In certain scenarios, navigating through input variants poses significant challenges in achieving the optimal solution. We utilize two transformed phases to improve the baseline solution, thereby enhancing its adaptivity.

  • Feature extracting we tackle the disparity by a refined methodologies to extract the feature classification which is capable of better approximating real-world scenarios

  • Clustering prediction after obtaining the extraction result, we aim to enhance the baseline solution by employing clustering prediction techniques. The prediction with pragmatic data-driven approach holds the potential to bridge the gap between theoretical models and real-world applications.

The whole process can be summarized in the pipeline workflow described in Section 4.2.1. Details of the first transformed phase are provided in Section 4.2.2 and are mainly focus in the function TrainClusteredModels()𝑇𝑟𝑎𝑖𝑛𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑒𝑑𝑀𝑜𝑑𝑒𝑙𝑠TrainClusteredModels(\;\;)italic_T italic_r italic_a italic_i italic_n italic_C italic_l italic_u italic_s italic_t italic_e italic_r italic_e italic_d italic_M italic_o italic_d italic_e italic_l italic_s ( ). The description of the second transformed phase, which involves mitigating feature extraction to prediction, is implemented in the function ClusteringPrediction()𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑖𝑛𝑔𝑃𝑟𝑒𝑑𝑖𝑐𝑡𝑖𝑜𝑛ClusteringPrediction(\;\;)italic_C italic_l italic_u italic_s italic_t italic_e italic_r italic_i italic_n italic_g italic_P italic_r italic_e italic_d italic_i italic_c italic_t italic_i italic_o italic_n ( ) and is presented in Section 4.2.3. To provide the overview picture, we describe the procedure in Algorithm 2. To enhance theoretical contribution, we draw the conclusion in the Remark 4.1 and then make a statement of the Proposition 4.2.

4.2.1 The prediction and pipeline approach

The proposed solution starts by simulating a set of random MD and tasks and aims to optimize the total energy consumption among all tasks of devices. Next, the optimized tasks as well as MD information are compiled into a dataset.

A feature selection process is applied on the dataset to extract the most useful variables affecting energy consumption. After that, the dataset is partitioned into a set of clusters and be applied a separate prediction model on each cluster.

Refer to caption
Figure 2: Pipeline structure of the proposed mechanism

4.2.2 Feature selection process

Due to the non-linear relationships between the other features and energy consumption, the correlation metrics fail to detect the effect of these variables on the energy. We employs the algorithm to calculate the MI between variables and energy named mutual_information_regression [15].

In addition, Figure 3(a) indicates the possibility of clustering to help in prediction model. This figure demonstrates how data points are grouped into clusters, which can be essential in identifying patterns and is a more intuitive grasp of the data distribution. The use of clustering can simplify the data pre-processing steps, making it easier to handle large datasets and improve the overall efficiency of the development process with the selected features as shown in Figure 3(b).

Remark 4.1.

(Clustering MI Impact) We further investigate the concern on feature clustering on our greedy result which is shown in Figure 3. This preliminary result is important in illustrating that extracting all 4 features does not achieve the best MAE error rate. In contrast, extracting a subset of 3 out of 4 features might be less accurate than using a larger number of features. However, when an appropriate subset of features is selected, where the clustering ability is stronger, indicated by a higher MI value, the final error rate can be even better than when using all 4 features.

After pre-traning step, it is common to make an assumption of the expected output monotonicity. At each step, the given solution is the most valuable subset of items that satisfy the constraints. Now if the capacity increases, the new set of item about to be selected are expected to be at least as valuable as before

Assumption 1

(Theorem 1 in [16]) In a setting of d dimension feature, there exists a meta-algotithm qsubscriptq\mathcal{M}_{q}caligraphic_M start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT that corrects the monotonicity for any function K-mean cluster c: d[0,1]Ksuperscriptdsuperscript01K\mathbb{R}^{d}\rightarrow[0,1]^{K}blackboard_R start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT → [ 0 , 1 ] start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT has E[c]𝔼[q(c)]ϵEdelimited-[]subscriptc𝔼delimited-[]qcϵE[\mathcal{M}_{c}]\geq\mathbb{E}[q(c)]-\epsilonitalic_E [ caligraphic_M start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ] ≥ blackboard_E [ italic_q ( italic_c ) ] - italic_ϵ, where the first expectation is taken over the input distribution and the randomness in the meta-algorithm

Assumption 2

At each state of the training process iterates over a set state St,0tTsubscript𝑆𝑡0𝑡𝑇S_{t},0\leq t\leq Titalic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , 0 ≤ italic_t ≤ italic_T, the context environment is eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and cluster algorithm propose a result of cq(c)similar-to𝑐𝑞𝑐c\sim q(c)italic_c ∼ italic_q ( italic_c ) clustering distribution and there is existed a limit β𝛽\betaitalic_β: logP(c)β𝑙𝑜𝑔𝑃𝑐𝛽logP(c)\leq\betaitalic_l italic_o italic_g italic_P ( italic_c ) ≤ italic_β which a normal situation to ensure the effectiveness of clustering pre-training.

The concurrent probability of context environment over set of cluster

(c|St)=(a1)P(St,c)|P(c)cq(c)P(St,c)P(c)dc=(a2)i=0tP(ri|c,St,ei)P(c)cq(c)i=0tP(ri|c,St,ei)P(c)dcconditional𝑐subscript𝑆𝑡𝑎1conditional𝑃subscript𝑆𝑡𝑐𝑃𝑐subscriptsuperscript𝑐𝑞𝑐𝑃subscript𝑆𝑡superscript𝑐𝑃superscript𝑐𝑑superscript𝑐𝑎2superscriptsubscriptproduct𝑖0𝑡𝑃conditionalsubscript𝑟𝑖𝑐subscript𝑆𝑡subscript𝑒𝑖𝑃𝑐subscriptsuperscript𝑐𝑞superscript𝑐superscriptsubscriptproduct𝑖0𝑡𝑃conditionalsubscript𝑟𝑖superscript𝑐subscript𝑆𝑡subscript𝑒𝑖𝑃superscript𝑐𝑑superscript𝑐\mathbb{P}(c|S_{t})\overset{(a1)}{=}\frac{P(S_{t},c)|P(c)}{\sum\limits_{c^{% \prime}\in q(c)}P(S_{t},c^{\prime})P(c^{\prime})dc^{\prime}}\overset{(a2)}{=}% \frac{\prod_{i=0}^{t}P(r_{i}|c,S_{t},e_{i})P(c)}{\sum\limits_{c^{\prime}\in q(% c^{\prime})}\prod_{i=0}^{t}P(r_{i}|c^{\prime},S_{t},e_{i})P(c^{\prime})dc^{% \prime}}blackboard_P ( italic_c | italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) start_OVERACCENT ( italic_a 1 ) end_OVERACCENT start_ARG = end_ARG divide start_ARG italic_P ( italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_c ) | italic_P ( italic_c ) end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_q ( italic_c ) end_POSTSUBSCRIPT italic_P ( italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) italic_P ( italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) italic_d italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_OVERACCENT ( italic_a 2 ) end_OVERACCENT start_ARG = end_ARG divide start_ARG ∏ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT italic_P ( italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_c , italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) italic_P ( italic_c ) end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_q ( italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT italic_P ( italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) italic_P ( italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) italic_d italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG (8)

The pre-training with 2 condition (a1) span over clustering cq(c)𝑐𝑞𝑐c\in q(c)italic_c ∈ italic_q ( italic_c ) at each stage Stsubscript𝑆𝑡S_{t}italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and (a2) the concurrent probability of context environment span over set of cluster eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT

Refer to caption
(a) 3D clustering structure
Refer to caption
(b) MAE clustering examination
Figure 3: Clustering examination
Proposition 4.2.

The error bound of clustering prediction The boundness of the probability of reward rt+1subscriptrt1r_{t+1}italic_r start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT

𝔼Q(ri|,ei+1))𝔼Q(ri|,ei)β\mathbb{E}_{Q}\mathbb{P}(r_{i}|\cdot,e_{i+1}))-\mathbb{E}_{Q}\mathbb{P}(r_{i}|% \cdot,e_{i})\leq\beta\vspace{-0.3cm}blackboard_E start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT blackboard_P ( italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | ⋅ , italic_e start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) ) - blackboard_E start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT blackboard_P ( italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | ⋅ , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ≤ italic_β (9)

where it employs the bound of P(c)𝑃𝑐P(c)italic_P ( italic_c ), i.e. logP(c)β𝑙𝑜𝑔𝑃𝑐𝛽logP(c)\leq\betaitalic_l italic_o italic_g italic_P ( italic_c ) ≤ italic_β

Proof 4.3.

We roll out the probability of the reward in (10)

t=0Tlog((rt+1|St,ei))superscriptsubscript𝑡0𝑇conditionalsubscript𝑟𝑡1subscript𝑆𝑡subscript𝑒𝑖-\sum_{t=0}^{T}\log(\mathbb{P}(r_{t+1}|S_{t},e_{i}))\vspace{-0.5cm}- ∑ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT roman_log ( blackboard_P ( italic_r start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT | italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) (10)

using where (b1) is Bayesian model averaging, (b2) is the substitution of (8) and the properties of integral cq(c)FX(c)q(c)𝑑c=𝔼cq(c)FX(c)subscript𝑐𝑞𝑐subscript𝐹𝑋𝑐𝑞𝑐differential-d𝑐subscript𝔼similar-to𝑐𝑞𝑐subscript𝐹𝑋𝑐\int_{c\in q(c)}F_{X}(c)q(c)dc=\mathbb{E}_{c\sim q(c)}F_{X}(c)∫ start_POSTSUBSCRIPT italic_c ∈ italic_q ( italic_c ) end_POSTSUBSCRIPT italic_F start_POSTSUBSCRIPT italic_X end_POSTSUBSCRIPT ( italic_c ) italic_q ( italic_c ) italic_d italic_c = blackboard_E start_POSTSUBSCRIPT italic_c ∼ italic_q ( italic_c ) end_POSTSUBSCRIPT italic_F start_POSTSUBSCRIPT italic_X end_POSTSUBSCRIPT ( italic_c ) and we have the monotonicity from the common assumption 1 of meta-learning (MAML) then we have InfPF(f,P(S))=Sf(s,P(S))μ(S)𝑑S𝐼𝑛subscript𝑓𝑃𝐹𝑓𝑃𝑆subscript𝑆𝑓𝑠𝑃𝑆𝜇𝑆differential-d𝑆Inf_{P}F(f,P(S))=\int_{S}f(s,P(S))\mu(S)dSitalic_I italic_n italic_f start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT italic_F ( italic_f , italic_P ( italic_S ) ) = ∫ start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT italic_f ( italic_s , italic_P ( italic_S ) ) italic_μ ( italic_S ) italic_d italic_S as an appliance of Riemann integral definition. We arrive at

t=0Tlog((rt+1|St,ei))𝔼cq(c)(ri|c,St,ei)𝔼cq(c)logP(c)superscriptsubscript𝑡0𝑇conditionalsubscript𝑟𝑡1subscript𝑆𝑡subscript𝑒𝑖subscript𝔼similar-to𝑐𝑞𝑐conditionalsubscript𝑟𝑖𝑐subscript𝑆𝑡subscript𝑒𝑖subscript𝔼similar-to𝑐𝑞𝑐𝑙𝑜𝑔𝑃𝑐-\sum_{t=0}^{T}\log(\mathbb{P}(r_{t+1}|S_{t},e_{i}))\geq-\mathbb{E}_{c\sim q(c% )}\mathbb{P}(r_{i}|c,S_{t},e_{i})-\mathbb{E}_{c\sim q(c)}logP(c)- ∑ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT roman_log ( blackboard_P ( italic_r start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT | italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) ≥ - blackboard_E start_POSTSUBSCRIPT italic_c ∼ italic_q ( italic_c ) end_POSTSUBSCRIPT blackboard_P ( italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | italic_c , italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) - blackboard_E start_POSTSUBSCRIPT italic_c ∼ italic_q ( italic_c ) end_POSTSUBSCRIPT italic_l italic_o italic_g italic_P ( italic_c ) (11)

Then we rewrite (11) in average form to obtain (9). Further more, we rewrite in the KL as usual formulation in K-cluster domain.

𝔼cq(c)[KL((rt+1|,ei+1)(ri|,ei))]\displaystyle\mathbb{E}_{c\sim q(c)}\left[KL(\mathbb{P}(r_{t+1}|\cdot,e_{i+1})% \|\mathbb{P}(r_{i}|\cdot,e_{i}))\right]blackboard_E start_POSTSUBSCRIPT italic_c ∼ italic_q ( italic_c ) end_POSTSUBSCRIPT [ italic_K italic_L ( blackboard_P ( italic_r start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT | ⋅ , italic_e start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) ∥ blackboard_P ( italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | ⋅ , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) ] βabsent𝛽\displaystyle\leq\beta≤ italic_β
Algorithm 2 Algorithm ClusPreAlg based on Clustering-Prediction technique
1:function TrainClusteredModels(num_clusters)
2:    Apply K-means clustering to segment the data into num_clusters clusters
3:    Train a prediction model for each cluster
4:    return {models_per_cluster, cluster_classifier}
5:end function
6:function ClusteringPredict(models, classifier, test_data)
7:    Determine the cluster for test_data using classifier
8:    Retrieve the prediction model for the identified cluster
9:    Use the model to predict the energy value for test_data
10:    return predicted_energy_value
11:end function
12:function EvaluateModels(training_data, test_data, k)
13:    for num_clusters from 1 to k do
14:         {models, classifier} \leftarrow TrainClusteredModels(num_clusters)
15:         predictions \leftarrow ClusteringPredict(models, classifier, test_data)
16:    end for
17:end function

4.2.3 The clustering prediction ClusPreAlg algorithm

Equation (7) shows no optimum solution, we devise a numerical approximation method to predict the total energy consumption. The model has three steps:

  • Scaling the variables to the range [0,1]

  • Performing the K-means clustering with given number of clusters k𝑘kitalic_k

  • Train separate prediction models on each cluster

Different variables have distinct units and interpretations. For example, a speed of 1m/s1𝑚𝑠1m/s1 italic_m / italic_s is not equivalent to a processing frequency of 1Hz1𝐻𝑧1Hz1 italic_H italic_z. Scaling transform eliminates concerns about their actual units. Additionally, K-means clustering minimizes the inertia function, which is heavily influenced by the scale of the features. As a result, features with strong clustering can dominate and overshadow those with smaller ones. The algorithm is given as follows:

5 Numerical results

5.1 Experiment set-up

We leverage a novel large-scale database of a tracking data set in a real vehicle trajectory. The VED dataset [17], which logs GPS trajectories of automobile in timing recording and monitoring the status of fuel, energy, speed and auxiliary power consumption. Since our clustering prediction primarily concern the value of mobile/IoT device traveling in 2D earth coordinator of longitude and latitude. To avoid the partial interference derivation between the two dimension in velocity estimation, we are interested in discovering the feature of device modeling as UAV in plane where the moving distance d<<Rmuch-less-than𝑑𝑅d<<Ritalic_d < < italic_R as shown in Figure 4, then we can transform that dR×ϕ𝑑𝑅italic-ϕd\approx R\times\phiitalic_d ≈ italic_R × italic_ϕ We develop a Python library named Spectral Efficiency Estimator as in section 2.1, which is deployed on a server run at 3.6GHz, 16 cores and 32 GB memory. The dataset VED is spanned on 12GB size which includes 22.3 million of records and be accessed through Python Pandas library [18, 19].

Refer to caption
Figure 4: The moving distant vs signal radius distant

5.2 The evaluation of the baseline IterGAlg algorithm

5.2.1 The impact of modulation settings

The system’s efficiency is measured by the total energy consumption of MDs and processing of their tasks. The size of data need to be uploaded has an important impact on the overall system performance. To evaluation, we derive the following experiment to figure out the data size impact.

The proposed algorithm is validated in Figure. 5 here ensures for local optimization and may not guarantee a global minimum due to their inherent approach of selecting the best immediate option. It also shows that in high mobility scenario, as speed ranging from 100 - 400 m/s and the spectral efficiency drops, results in lower energy consumption overall. This could be explained due to the reduced communication rate without power adjust to balance the rate loss.

Refer to caption
Figure 5: Total energy consumption in various modulation setting

5.2.2 The impact of the offloading ratio

The greedy algorithm aims to reduce the total energy by taking an iterative approach to an optimal solution as it selects locally optimal energy. As seen in the previous evaluation, the greedy offloading method makes choices based on immediate reduction, which does surely lead to a convergence outcome. Besides, the impact of data size on energy consumption must be taken into account since it is crucial to the edge data-driven network. The energy needed for data transmission grows significantly as the size of the data increases exponentially. Since mobile edge computing typically prefers to offload tasks to server, it is mandatory to determine how to reduce energy usage while still achieving optimal results in a limited amount of time. The better energy saving gap in increasing the offloading data portion is confirmed by the improved gap (the larger gap is the better) as in Figure 6.

Refer to caption
Figure 6: Impact of data size on the total energy consumption
Refer to caption
(a) MAE
Refer to caption
(b) MSE
Figure 7: MAE and MSE with different k𝑘kitalic_k values

5.3 The evaluation of the enhanced ClusPreAlg algorithm

In this assessment, we use the greedy numerical outcomes as a baseline to evaluate the enhanced clustering prediction. We aim to assess the error rate in term of MAE and MSE for the predicted results and compare them with the baseline numerical data.

Figure 7(a) illustrates that the Mean Absolute Error (MAE) shows a substantial reduction by 10%, highlighting the algorithm’s improved accuracy. The effects of Carrier Frequency and Speed on energy consumption are consistent with the observations in 4.2.2. Consequently, the curve of all features does not change significantly when less influential factors such as are added. Figure 7(b) emphasizes the same pattern observed with MAE but with significantly better results, as the Mean Squared Error (MSE) is as low as 3%. This highlights the effectiveness of the clustering approach in minimizing prediction errors more robustly when considering the squared differences.

Refer to caption
Figure 8: MAE evaluation of full feature clustering

To confirm the effect of featured clustering, we perform a full feature clustering in Figure 8. This confirm the most impact factor of the mobile task includes TaskSize and OffloadingRatio. Therefore, our proposed mechanism has an impact on resource allocation, particularly in IoT systems with heavy computational task and require fast processing step by leveraging prediction techniques.

Through historical optimized offloading decisions kept in a dataset, a mutual information analysis confirmed the relationship between the variables and energy consumption. Subsequently, k-means clustering applied to the dataset revealed distinct clustering characteristics, enabling the construction of separate prediction models for each cluster. These models achieved low level errors in terms of MAE and MSE. As a result, the clustering - prediction model could serve as an improvement over the baseline greedy algorithm while requiring much less variable information.

6 Conclusion

In IoT system deployment, the computation offloading leverages the powerful capabilities of nearby computation of the base station at the edge network. This study reveals significant impacts of offloading decisions on total energy consumption in MEC network employing OTFS modulation. We propose a number of comprehensive models for mobile devices, tasks, local energy computation, and offloading energy computation. From these models, optimized offloading strategies by the greedy algorithm demonstrate a clear potential for reducing energy use, confirmed by convergence plots showing minimized energy.

We analyze the fundamentals of offloading within the new velocity modulation scheme, which figures out the OTFS network according to time, frequency, and space. The approximation through a clustering - prediction model show the potential of adaptive mechanism in resource allocation for ISAC enabled system where sensing and communication have strongly interaction. However, we lack a definitive strategy for choosing the starting point of the greedy algorithm, which affects our ability to ensure a good initial point and establish a bounded statement of convergence.

References

  • [1] Xiong, Y., Liu, F., Cui, Y., Yuan, W., Han, T.X., Caire, G.: On the fundamental tradeoff of integrated sensing and communications under gaussian channels. IEEE Transactions on Information Theory (2023)
  • [2] Kovachev, D., Yu, T., Klamma, R.: Adaptive computation offloading from mobile devices into the cloud. In: 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications. pp. 784–791. IEEE (2012)
  • [3] Ma, L., Yi, S., Li, Q.: Efficient service handoff across edge servers via docker container migration. In: Proceedings of the Second ACM/IEEE Symposium on Edge Computing. pp. 1–13 (2017)
  • [4] Mach, P., Becvar, Z.: Mobile edge computing: A survey on architecture and computation offloading. IEEE communications surveys & tutorials 19(3), 1628–1656 (2017)
  • [5] Nguyen, P., Ha, V., Le, L.: Computation offloading and resource allocation for backhaul limited cooperative mec systems. In: Proc. IEEE VTC Fall. Hawaii, USA (Sep 2019)
  • [6] Nguyen, P.D., Le, L.B.: Joint computation offloading, sfc placement, and resource allocation for multi-site mec systems. In: 2020 IEEE Wireless Communications and Networking Conference (WCNC). pp. 1–6. IEEE (2020)
  • [7] Hadani, R., Rakib, S., Tsatsanis, M., Monk, A., Goldsmith, A.J., Molisch, A.F., Calderbank, R.: Orthogonal time frequency space modulation. In: 2017 IEEE Wireless Communications and Networking Conference (WCNC). pp. 1–6. IEEE (2017)
  • [8] Raviteja, P., Phan, K.T., Hong, Y., Viterbo, E.: Orthogonal time frequency space (otfs) modulation based radar system. In: 2019 IEEE Radar Conference (RadarConf). pp. 1–6. IEEE (2019)
  • [9] Rajeswaran, A., Finn, C., Kakade, S.M., Levine, S.: Meta-learning with implicit gradients. Advances in neural information processing systems 32 (2019)
  • [10] Mohammed, S.K.: Time-domain to delay-doppler domain conversion of otfs signals in very high mobility scenarios. IEEE Transactions on Vehicular Technology 70(6), 6178–6183 (2021)
  • [11] Nguyen, D., Thoai, N.: Ebc: Application-level migration on multi-site cloud. In: 2012 International Conference on Systems and Informatics (ICSAI2012). pp. 876–880. IEEE (2012)
  • [12] Chen, M., Li, W., Fortino, G., Hao, Y., Hu, L., Humar, I.: A dynamic service migration mechanism in edge cognitive computing. ACM Transactions on Internet Technology (TOIT) 19(2), 1–15 (2019)
  • [13] Sonkoly, B., Haja, D., Németh, B., Szalay, M., Czentye, J., Szabó, R., Ullah, R., Kim, B.S., Toka, L.: Scalable edge cloud platforms for iot services. Journal of Network and Computer Applications 170, 102785 (2020)
  • [14] Suganuma, T., Oide, T., Kitagami, S., Sugawara, K., Shiratori, N.: Multiagent-based flexible edge computing architecture for iot. IEEE Network 32(1), 16–23 (2018)
  • [15] Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12, 2825–2830 (2011)
  • [16] Gergatsouli, E., Lucier, B., Tzamos, C.: Black-box methods for restoring monotonicity. In: International Conference on Machine Learning. pp. 3463–3473. PMLR (2020)
  • [17] Oh, G., Leblanc, D.J., Peng, H.: Vehicle energy dataset (ved), a large-scale dataset for vehicle energy consumption research. IEEE Transactions on Intelligent Transportation Systems 23(4), 3302–3312 (2020)
  • [18] Reback, J., McKinney, W., Van Den Bossche, J., Augspurger, T., Cloud, P., Klein, A., Hawkins, S., Roeschke, M., Tratner, J., She, C., et al.: pandas-dev/pandas: Pandas 1.0. 5. Zenodo (2020)
  • [19] Harris, C.R., Millman, K.J., Van Der Walt, S.J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N.J., et al.: Array programming with numpy. Nature 585(7825), 357–362 (2020)