# Resource Provisioning in Edge Computing for Latency Sensitive Applications

Amine Abouaomar, Soumaya Cherkaoui, Zoubeir Mlika, and Abdellatif Kobbane A.
Abouaomar is with INTERLAB, Engineering Faculty, Université de Sherbrooke,
Canada and also with ENSIAS, Mohammed V University in Rabat, Morocco (e-mail:
amine.abouaomar@usherbrooke.ca)S. Cherkaoui is with INTERLAB, Engineering
Faculty, Université de Sherbrooke, Canada.Z. Mlika is with INTERLAB,
Engineering Faculty, Université de Sherbrooke, Canada.A. Kobbane is with the
ENSIAS, Mohammed V University in Rabat, Morocco.

###### Abstract

Low-Latency IoT applications such as autonomous vehicles, augmented/virtual
reality devices and security applications require high computation resources
to make decisions on the fly. However, these kinds of applications cannot
tolerate offloading their tasks to be processed on a cloud infrastructure due
to the experienced latency. Therefore, edge computing is introduced to enable
low latency by moving the tasks processing closer to the users at the edge of
the network. The edge of the network is characterized by the heterogeneity of
edge devices forming it; thus, it is crucial to devise novel solutions that
take into account the different physical resources of each edge device. In
this paper, we propose a resource representation scheme, allowing each edge
device to expose its resource information to the supervisor of the edge node
through the mobile edge computing application programming interfaces proposed
by European Telecommunications Standards Institute. The information about the
edge device resource is exposed to the supervisor of the EN each time a
resource allocation is required. To this end, we leverage a Lyapunov
optimization framework to dynamically allocate resources at the edge devices.
To test our proposed model, we performed intensive theoretical and
experimental simulations on a testbed to validate the proposed scheme and its
impact on different system’s parameters. The simulations have shown that our
proposed approach outperforms other benchmark approaches and provides low
latency and optimal resource consumption.

###### Index Terms:

Edge Computing, Low Latency, Lyapunov Optimization, Resource Consumption,
Resource Management, Resource Provisioning, Resource Representation.

##  I Introduction

TABLE I: Summary of System Variables Symbol | Description
---|---
$\mathcal{U}$ | Set of users
$\mathcal{E}$ | Set of EN
$x^{u}_{i}$ | Association index
$D_{i}$ | Devices of the EN i
$R_{(i,j)}$ | Set of resources of device j
$\mathcal{C}_{(i,j)}$ | Set of containers of device j
$S_{(i,j)}$ | Set of services
$V^{s_{(i,j)}}_{r}$ | Requirement resource vector a service
$\mathbbm{1}_{r}$ | Identification function
$A_{s_{(i,j)}}$ | Matrix of required resources per service
$T_{out}$ | Timeout of a request
$\varrho_{(i,j)}$ | Request
$\Xi^{\sim,p}_{(i,j)}$ | Amount of resources consumed by a container
$\lambda_{i}$ | Arrival rate of requests
$Rq_{i}$ | Number of request at a time slot
$\delta^{\sim}_{L}$ | Delay for a given resource
$D_{(i,j,l)}$ | Data size for local processing
$f_{\mathcal{P}}$ | Processing capacity
$idx_{r/w}$ | Read/Write index
$\xi_{i}^{u}$ | Link data rate
$h_{.}$ | Channel gain
$P_{.}$ | Power of communication
$\rho_{\sim}^{i}$ | Data size for edge processing
$Q_{i}$ | Queue vector of an EN i
$\mathcal{H}$ | History vector
$b_{i}$ | Queue’s request arrival process
$a_{i}$ | Queue’s service arrival process
$Z_{i}$ | Queue dynamic of EN i
$y_{k}$ | Penalty process variable
$L^{r^{\sim}_{(i,j)}}_{(i,j,k)}$ | Load for a given resource
$V$ | Trade off parameter
$p^{avg}_{m}$ | average resource loss
$\alpha_{i}(t)$ | Resource allocation scheme
$\beta_{i}(t)$ | Resource state vector
$y_{i}(t)$ | Vector of penalties
$L^{norm}_{(i,j,k)}$ | Normal load
$rate_{norm}$ | Rate of request arrival

The evolution of technologies and communication systems in the last decade
gave birth to new Internet-based applications and services that require low
latency. Cloud computing was proposed as a powerful technology to enable low
latency requirements and optimized resource consumption by offering many
advantages such as high availability, scalability and reduced costs [1, 2].
However, to meet the latency requirement in tasks processing, remote cloud
computing infrastructure may not be suitable for latency-sensitive
applications such as industrial process monitoring, automated vehicles [3, 4],
virtual/augmented reality, surveillance and security and human emotions
detection. Therefore, the proximity to the processing infrastructure is the
key when it comes to reducing the experienced latency [5, 6]. Such
infrastructure is located at the edge of the network, enabling to address the
limitations of cloud computing infrastructure through distributed and low
latency computation.

Edge computing (EC) has emerged as a promising solution to lower the
experienced latency by distributing the processing, communication and control
closer to where the data is generated [7, 5, 8]. EC therefore extends cloud
computing by providing applications with the computational, storage and
communication resources at the edge of the network. The main standardization
efforts in EC were initially proposed by the Industry Specification Group
(ISG) within the European Telecommunications Standards Institute (ETSI) [9,
10, 11, 12, 13]. Unlike cloud computing, which is scalable and highly
maintained, EC is more heterogeneous and resource constrained. The edge of the
network is built-up on edge nodes (ENs). ENs are the aggregation of
heterogeneous edge devices (EDs) such as edge routers and switches, edge
servers, sensors and even some end users (EUs) equipment (e.g. laptops and
smartphones). From the location point of view, the EDs are located outside the
premises of the operator which makes the maintenance and management difficult.
From the architectural point of view, EDs could have different hardware
architectures and have different capabilities. For instance, an EN could have
several edge routers and edge servers. Some edge servers may have high
processing resources or specialized ones such as graphical processing units
(GPUs), that make them suitable to perform intense computation tasks. Some
other edge servers could have big storage space to serve as caching and
storing infrastructure at the edge of the network [14, 15]. Finally, edge
routers may have moderate processing resources but powerful networking
resources, allowing them to handle more traffic than others.

The disparity of available resources at the edge of the network requires an
efficient and optimal resource provisioning, especially because of the limited
available resources compared to the cloud. However, an adequate and optimal
resource provisioning requires a good knowledge of available resources. The
unavailability of information about EDs capabilities at the ENs can increase
the latency and cause additional delay because some of EDs could be asked to
perform tasks they are noted best suited for. Therefore, providing the
information about ED’s resources at an EN will make the process of tasks
distribution more optimal. Thus, any supervising entity that oversees tasks
distribution can build suitable resource provisioning schemes based on this
information.

In this paper, we propose a resource representation model to characterize the
different physical resources of the EDs. There are four resources of interest
in this paper: processing, storage, memory and networking. Since each ED is
aware of its different available resource, the ENs will be capable of
discovering the resource information of the EDs independently of the
architecture or manufacturer. In the literature, most of the works investigate
the problem of edge resource allocation considering only communication and
computation resources [16, 17, 18, 19, 20, 21, 22, 23, 24]. A few works also
consider other types of resources but without specifically targeting the delay
minimization problem [25, 26, 27]. In this work, we formulate the resource
allocation optimization problem as a Lyapunov optimization with the aim of
minimizing the overall applications experienced latency by jointly considering
all the above-mentioned resources. The main contributions of this paper re
summarized as follows:

  * •

To characterize the physical resource in an EC environment, we propose a
resource representation model which adheres to the ETSI standard [9, 10, 11,
12, 13]. The model represents different kinds of resources (processing,
storage, memory and networking) of EDs and their capabilities.

  * •

We propose a resource allocation scheme based on Lyapunov optimization to
minimize the experienced delay through the study of the service queues
dynamics at the ENs.

  * •

We propose an algorithm to optimize the frequency of resource allocation and
information exchange. The proposed algorithm is based on the workload at each
EN.

  * •

We simulate the proposed scheme under different configurations of parameters.
We also use a testbed inspired by the work in [28] to experiment the proposed
scheme. We evaluate the latency, the consumption of different resources at the
EDs and the queue evolution over time. The simulations show that our proposed
approach outperforms other benchmark approaches and provides low latency and
optimal resource consumption.

The reminder of the paper is organized as follows. The system model is first
detailed in Section II. Subsequently, we formulate the problem of latency
minimization, the dynamic of the queues and the different requirements in
Section III. In Section IV, we detail the proposed resource representation
scheme, the resource allocation scheme and the task distribution model. The
performance of the system is simulated in Section V. We discuss the related
works in Section VI. And we conclude the paper in Section VII.

##  II System Model

Figure 1: Overview of the different entities of the edge computing
architecture.

###  II-A Network architecture

Let us consider an edge computing network architecture as the one depicted in
Fig. 1 that adheres to the requirement of ETSI standard based architecture [9,
10, 11, 12, 13]. In this architecture, the end users are depicted in the lower
layer which is called EUs’ layer. EUs can be drones, surveillance cameras or
virtual reality equipment. For simplicity, EU are to be referred to as users.
Let $\mathcal{U}$ be the set of $N$ users $\mathcal{U}=\\{u_{1},...,u_{N}\\}$.
Users communicate with the edge layer through gateways that connect to one or
several edge nodes (ENs). The gateways are used as intermediary devices to
connect the user equipment to the edge nodes. For example, these intermediary
devices can be routers or switches within the same level of the hosting
organization. ENs belong to the set $\mathcal{E}=\\{e_{1},e_{2},...,e_{M}\\}$
of $M$ EN. We assume that users are already associated to ENs following the
strategy proposed in [29]. Let $x_{i}^{u}(t)$ be a binary variable that
ensures the user-EN association, described as follows:

$\begin{cases}x_{i}^{u}(t)\in\\{0,1\\},\forall i\in\mathcal{E},\forall
u\in\mathcal{U}\\\ {\sum_{i\in\mathcal{E}}x_{i}}^{u}(t)=1,\forall
u\in\mathcal{E}\end{cases}$ (1)

Each EN is considered to be an aggregation of heterogeneous EDs denoted by
$D_{i}=\\{d_{(i,1)},d_{(i,2)},...,d_{(i,K)}\\}$. In addition, users-EN
matching is distributed which makes the system standalone, but in case we have
a huge number of EDs, the discovery phase could take much more time.
Therefore, each EN $e_{i}$ is supervised by an edge node supervisor (ENS),
denoted $e_{i}^{*}$ . Each ED has resources in terms of processing
($\mathcal{P}$), storage ($\mathcal{S}$), memory ($\mathcal{M}$) and
networking ($\mathcal{N}$), denoted by the set
$R_{(i,j)}=\\{r_{(i,j)}^{\sim},\sim\in\mathcal{P},\mathcal{S},\mathcal{N},\mathcal{M}\\}$,
with $i$ representing the EN and $j$ the ED. Each ED $j$ hosts a set of
containers [30] $C_{(i,j)}=\\{c_{(i,j)}^{1},...,c_{(i,j)}^{P}\\}$ representing
the different services deployed on the EN $i$. We denote by
$\Xi_{(i,j)}^{\sim,k}$ the amount of resource $\sim$ consumed by the container
$k$ executed on the ED $j$ at the EN $i$. Let
$S_{(i,j)}=\\{s_{(i,j)}~{}|~{}i~{}\in~{}\mathcal{E}~{}and~{}j~{}\in~{}D_{i}\\}$
be the set of services hosted on the $j^{th}$ ED at the $i^{th}$ EN. Each
service requires resources in terms of processing, storage, memory and
networking, which are represented by a vector
$V_{r}^{s_{(i,j)}}=\langle\mathbbm{1}_{r},A_{s_{(i,j)}}\rangle$ where
$\mathbbm{1}_{r}(\sim)=1$ if the resource $\sim$ is required by $s_{(i,j)}$
and $\mathbbm{1}_{r}(\sim)=0$ otherwise. $A_{s_{(i,j)}}$ represents the
resource amounts required by service $s_{(i,j)}$. The resource capacity at
each device is a crucial parameter that should be considered for a good
resource allocation. The following equation describes the constraint on the
resource capacities and is given as:

$\sum_{k=1}^{|C_{(i,j)}|}\Xi_{(i,j)}^{\sim,k}\leq
r_{(i,j)}^{\sim}~{}|~{}\sim~{}\in\\{\mathcal{P},\mathcal{M},\mathcal{N},\mathcal{S}\\}$
(2)

$C_{(i,j)}$ represents the set of containers, $\Xi_{(i,j)}^{(\sim,k)}$
represent the amount of resources required by the container $k$,
$r_{(i,j)}^{~{}}$ represents the maximum capacity of the resource $\sim$.
Users perform service requests on the EN. We denote a single request by
$\rho_{(i,j)}=\langle D_{(i,j,l)},s_{(i,j)},T_{out}\rangle$, where
$D_{(i,j,l)}$ is the data size to be processed by service $s_{(i,j)}$ and
$T_{out}$ is the time duration upon which the user gives up service
$s_{(i,j)}$. Without loss of generality, the time is considered to be discreet
and indexed by slots $t~{}\in~{}\mathbb{N}$ and the requests are identically
independent distributed (i.i.d.). The requests arrival rate is then
proportional to the number of request, and for a given EN i we have the
arrival rate [17]:

$\lambda_{i}=\frac{\mathbb{E}\left[V_{r}^{s_{(i,j)}}\right]}{t}$ (3)

where $V_{r}^{s_{(i,j)}}$ represents the vector of the required resources by
the service $s_{(i,j)}$ at the time slot $t$. In this paper, we consider that
requests are either processed locally, using the residual resources of the
user, processed at the edge, or both in a proportional manner; locally and at
the EN.

###  II-B Local processing

Local processing delay consist in both computational and storage delay. The
computational delay is given as follows:

$\delta_{L}^{\mathcal{P}}=\frac{D_{u_{k}}}{f_{\mathcal{P}}}$ (4)

where, $f_{\mathcal{P}}$ represents the computing capacity of the ED which is
the amount of data that the processing unit can process per time unit.
$D_{uk}$ represents the data size. At this stage there is no communication.
Therefore, no queuing delay which represents the time that the request spends
at the queue of a shared resources (the EN in this case). For the local
processing case, the user equipment uses its own capabilities to process the
task. Thus, the communication delay is, $\delta_{L}^{C}=0$. We considered the
storage delay which is the delay from storing/reading to/from the storage
support of ED. Since the ED are heterogeneous, some of the EDs can be equipped
with HDD storage supports while others might have SSD, and it is well known
that writing/reading to/from SSD is faster than HDD [31, 32]. In addition the
caching at the edge represents a use case in which the storage performance
have an important impact on the latency [33]. For these considerations we
considered the storage delay, and we put:

$\delta_{L}^{\mathcal{S}}=D_{u_{k}}\left(\frac{idx_{w}}{s_{w}}+\frac{idx_{r}}{s_{r}}\right)$
(5)

where, $s_{w}$ and $s_{r}$ are respectively the storage support writing and
reading speed of the ED, $idx_{w}$ and $idx_{r}$ are binary variables denoting
either writing/reading is active. Reading index is defined as follows:

$idx_{r}=\begin{cases}0\text{ if request requires no reading}\\\ 1\text{
otherwise}\end{cases}$ (6)

and writing index as:

$idx_{r}=\begin{cases}0\text{ if request requires no writing}\\\ 1\text{
otherwise}\end{cases}$ (7)

In this case of local processing, the total delay experienced by a given
request is given as:

$\delta_{L}^{total}=\delta_{L}^{\mathcal{P}}+\delta_{L}^{\mathcal{S}}$ (8)

In this paper, the queuing delay represents the time that the request spends
at the queue of a shared resources in the edge network. For this reason, we
considered the queuing delay in the edge processing scenario and we adopted
the Lyapunov framework to study the queues dynamics. For the local processing
case, the queuing delay is not considered, because the user equipment uses its
own capabilities to process the task and thus it has no queue of a shared
resources.

###  II-C Edge processing

We consider that the links between the users and EN are reliable, also, the
communication setup is already done. Processing at the EN entails a queuing
delay and a propagation delay. The propagation delay is the sum of, (i) the
delay that a service request experiences to get to the EN and (ii) the delay
$t$ that the corresponding response experiences to get back to the user from
the EN. This propagation delay depends on the communication link’s data rate,
which is defined as follows [17]:

$\xi_{i}^{u}=B_{w}.\log_{2}\left(1+\frac{P_{u}\left|h_{(u,i)}\right|^{2}}{\sigma^{2}+{\sum_{\begin{subarray}{c}v\in\mathcal{U}\\\
v\neq u\end{subarray}}}{P_{v}\left|h_{(v,i)}\right|^{2}}}\right),$ (9)

where $B_{w}$ represents the bandwidth of the communication link, $P_{u}$ is
the transmission power or user $u$, $h_{(u,i)}$ is the channel gain between
user $u$ and EN $i$ and $\sigma^{2}$ represents the noise variance. The
transmission is the ratio of the packet size to be transmitted to the
communication data rate and is given as follows [34]:

$\delta_{(i,u)}^{\mathcal{C}}=\frac{\rho_{i}^{\sim}}{\xi_{i}^{u}}$ (10)

The total delay for task processing is given as:

$\delta_{(i,u)}^{total}=\delta_{(i,u)}^{\mathcal{C}}+\delta_{(i,u)}^{\mathcal{S}}+\delta_{(i,u)}^{\mathcal{P}}+\delta_{(i,u)}^{wait}$
(11)

where $\delta_{(i,u)}^{\mathcal{\mathcal{C}}}$,
$\delta_{(i,u)}^{\mathcal{S}}$, $\delta_{(i,u)}^{\mathcal{P}}$ and
$\delta_{(i,u)}^{wait}$ represent respectively, the transmission delay,
storage delay, processing delay and the waiting time at the queue of the EN.

###  II-D Problem Formulation

In order to optimize the total delay, we start by analyzing the queuing delay
which is an essential component of the overall delay. To achieve that, we
could use tools such as Little’s Law that affirms that the queuing time is
proportional to queue length. However, this would allow to consider the queue
length and not the queue tail, which would not help guaranteeing the
constraints regarding the low latency. We leverage the Lyapunov optimization
framework due to its capabilities to provide optimized and stable queuing
dynamic [35].

We assume that all the requests are stored in the same queue and i.i.d. Let
$Q_{i}(t)$ be the queue vector of EN $i$ that evolves in time. The evolution
of the queue $Q_{i}(t)$ is based on the event of requests arrival. Let us
assume that the value of $Q_{i}(t)$ have the structure of
$\\{\mu(-1),\mu(0),\mu(1),...\\}$ where $Qi(0)=\mu(-1)$ is the initial state
of the vector $Q_{i}$, where $\mu(t)$ represents the requests arrived in time
$t$. The values of $Q_{i}(t)$ are based on the values of
$\\{Q(0),\mu(0),...,\mu(t-1)\\}$ and let $\mathcal{H}(t)$ be the history
vector up to the time $t-1$. The queue $Q_{i}(t)$ evolves in time as follows:

$Q_{i}(t+1)=\max\left[\left(Q_{i}(t)-b_{i}(t)+a_{i}(t)\right),0\right]$ (12)

Where $a_{i}(t)$ and $b_{i}(t)$ represents respectively the arrival process
and the service process [35]. Values of $a_{i}(t)$ and $b_{i}(t)$ are defined
by general functions $\hat{a_{i}}(t)$ and $\hat{b_{i}}(t)$ respectively ads
defined in Eq. (14). In addition, we define the queue dynamic at the EN $i$ as
follows:

$\begin{split}Z_{i}(t+1)=\lim\limits_{t\to\infty}\frac{1}{t}{\sum_{\tau=1}^{t}}P(\max\left[\left(Q_{i}(t)+b_{i}(t)\right)-a_{i}(t),0\right]\\\
>\Delta_{T_{out}}(t))\end{split}$ (13)

Where, $Q_{i}(t)$ is the queuing dynamic at the EN $i$, and $\Delta_{Tout}(t)$
is the queue length bounds when the tolerable bound relative to the timeout of
the tasks. For a given resource allocation scheme $\alpha_{i}(t)$ and a
resource state $\beta_{i}(t)$ of the EDs in the EN $i$. $\beta_{i}(t)$ is used
as intermediary variable to find the optimal value of $\alpha_{i}(t)$ that
will be used as input to our resource allocation algorithm. For each
$\beta_{i}(t)$, which is the resource state represented as a vector with
values of different values of available resources there is an associated
$\alpha_{i}(t)$, which is the resource allocation scheme.

The objective is to find an optimal value of $\alpha_{i}(t)$. Each allocation
scheme $\alpha_{i}(t)$ incurs a vector of penalties
$y_{i}(t)=\\{y_{0}(t),y_{1}(t),...,y_{K}(t)\\}$. The arrival process
$a_{i}(t)$, the service process $b_{i}(t)$, and the penalty vector $y_{i}(t)$
can be expressed as a function of $\alpha_{i}(t)$ and $\beta_{i}(t)$ as
follows [35]:

$\begin{cases}a_{i}(t)=\hat{a_{i}}(\alpha_{i}(t),\beta_{i}(t))\\\
b_{i}(t)=\hat{b_{i}}(\alpha_{i}(t),\beta_{i}(t))\\\
y_{k}(t)=\hat{y_{k}}(\alpha_{i}(t),\beta_{i}(t))\end{cases}$ (14)

For $t>0$, we define $\bar{a}_{i}(t)$, $\bar{b}_{i}(t)$, $\bar{y}_{k}(t)$ and
$\bar{Q}_{i}(t)$ the average sizes of $a_{i}(t)$, $b_{i}(t)$, $y_{k}(t)$ and
$Q_{i}(t)$ defined as :

$\begin{cases}\bar{a}_{i}(t)=\frac{1}{t}{\sum_{\tau=0}^{t-1}}a_{i}(\tau)\\\
\bar{b}_{i}(t)=\frac{1}{t}{\sum_{\tau=0}^{t-1}}b_{i}(\tau)\\\
\bar{y}_{k}(t)=\frac{1}{t}{\sum_{\tau=0}^{t-1}}y_{k}(\tau)\\\
\bar{Q}_{i}(t)=\frac{1}{t}{\sum_{\tau=0}^{t-1}}Q_{i}(\tau)\end{cases}$ (15)

The ENS compute the optimal value of $\alpha_{i}(t)$ through solving the
following optimization problem:

$\lim\sup\limits_{t\to\infty}\bar{y}_{0}(t)$ (16)

Subject to

  * •

(C1’) : $\lim\sup\limits_{t\to\infty}\bar{y}_{k}(t)\leq 0$

  * •

(C2’) : Stability of $Q_{i}(t)~{}\forall~{}t~{}\in\\{0,1,...\\}$

The delay optimization problem is formulated as follows:

$minimize~{}\\{\delta_{(i,u)}^{total}\\}$ (17)

subject to:

  * •

(C1): Eq. (2) to ensure resource consumption and maximum capacities.

  * •

(C2): Eq. (1) for user-EN association.

  * •

(C3): Eq. (12), (13) to ensure the queue dynamic.

  * •

(C4): Eq. (14), (15) for resource allocation.

  * •

(C1’) and (C2’) for penalties conditions.

To solve the problem in (17), problem (16) should be solved and thus
constraints (C1’) and (C2’) should be respected. Further, constraints
(C1)-(C4) should be respected to obtain an optimal solution to (17). It is
known that problem (16) can be solved in an optimal way but tuning a parameter
denoted as $V$ [35]. Thus, after verifying the constraints C1-C4, we can solve
(17) optimally as well. Our detailed solution is described in the sequel.

##  III Proposed Solution

###  III-A Solution Overview

Before going deep into the details of the solution, we provide the basic idea
of the proposed resource provisioning approach. At the beginning of each
resource provisioning cycle, we verify the constraints (C1)-(C4) related to
the association, maximum resource capacities, type and requirement of each
task. Then, we provide the resource provisioning through solving the
optimization problem in (16) by leveraging the Lyapunov optimization whenever
a resource provisioning is needed under the constraints of (C1’) and (C2’).
Note here that we focus on the tasks that are to be processed at the edge of
the network. At the EN side, the ENS checks the requirements for each task in
terms of type and required amounts of resources. More details about our
proposed approach are provided in the remainder of this section.

###  III-B Proposed Solution

In order to solve problem in (16), we consider $y_{0}^{min}$ as the minimum
value of the penalty; in our case is the resource consumed over time slot $t$,
and we put:

$y_{k}(t)=p_{k}(t)-p_{k}^{avg}$ (18)

$p_{k}(t)$ is the resource loss in the ED $k$ in the EN $i$ at the time slot
$t$, and $p^{avg}_{k}$ is the average resource loss, and the constraint (C1’)
in (16) holds if:

$\lim\sup\limits_{t\to\infty}\bar{y}_{k}(t)\leq p_{k}^{avg}$ (19)

Therefore, considering the Eq. (13), we can rewrite
$Z_{k}(t+1)=\max\left[Z_{k}(t)+y_{k}(t),0\right]$ and we have
$Z_{k}(\tau+1)\geq Z_{k}(\tau)+y_{k}(\tau)$ for $\tau\in\\{0,1,...,t-1\\}$,
due to requests arrival process which is i.i.d. Thus we can write [35]:

$Z_{k}(t)-Z_{k}(0)\geq{\sum_{\tau=0}^{t-1}}y_{k}(\tau)$ (20)

we divide by $t$ in (20), and we obtain:

$\frac{Z_{k}(t)}{t}-\frac{Z_{k}(0)}{t}\geq\frac{1}{t}{\sum_{\tau=0}^{t-1}}y_{k}(\tau)$
(21)

Clearly, $\frac{Z_{k}(t)}{t}\to 0$ when $Z_{k}(t)$ is stable, thus, $Q_{i}(t)$
is stable and (C2’) is met.

Assuming that the queues are empty initially, we define
$\theta(t)=[Qi(t),Z_{k}(t)]$ as the combination of the queue vectors, the
Lyapunov function is expressed as follows:

$L(\theta(t))=\frac{1}{2}\left[{\sum_{i\in\mathcal{E}}}Q_{i}(t)^{2}+{\sum_{k\in\mathbb{D}_{i}}}Z_{k}(t)^{2}\right]$
(22)

The drift plus penalty process requires the minimization of
$\mathbb{E}[\Delta(t)+V.y_{k}(t)~{}|~{}\mathcal{H}(t)]$, where
$\Delta(t)=L(Q(t+1))-L(Q(t))$ and $V$ is a performance tradeoff parameter.
Let us assume that the functions of (14) satisfy the following conditions for
all values of $\alpha_{i}(t)$ and $\beta_{i}(t)$ :

$\begin{cases}a_{i}(t)\geq 0\\\ b_{i}(t)\geq 0\\\ y_{0}^{min}(t)\leq
y_{0}(t)\leq y_{0}^{max}\end{cases}$ (23)

Where $y_{0}^{min}$ and $y_{0}^{max}$ are the maximum and minimum values of
$y_{0}(t)$. Let $D\geq 0$ be a constant that for every resource allocation
scheme $\alpha_{i}(t)$ based on values of $\beta_{i}(t)$ we have [35]:

$\begin{cases}\mathbb{E}\left[\hat{a_{i}}(\alpha_{i}(t),\beta_{i}(t))^{4}\right]\leq
D\\\ \mathbb{E}\left[\hat{b_{i}}(\alpha_{i}(t),\beta_{i}(t))^{4}\right]\leq
D\\\ \mathbb{E}\left[\hat{y_{k}}(\alpha_{i}(t),\beta_{i}(t))^{4}\right]\leq
D\end{cases}$ (24)

Where $\mathbb{E}[.]$ represents the expectations taken, considering
$\beta_{i}(t)$ and the decisions $\alpha_{i}(t)$. The drift-plus-penalty
expression for a finite constant $B>0$, satisfies the following [35]:

$\begin{split}\mathbb{E}\left[\Delta(t)+V.y_{0}(t)|\mathcal{H}(t)\right]\leq\\\
B+V.\mathbb{E}\left[y_{0}(t)|\mathcal{H}(t)\right]+\\\
{\sum_{i\in\mathcal{E}}}\left(Q_{i}(t)\right)\mathbb{E}\left[a_{i}(t)-b_{i}(t)|\mathcal{H}(t)\right]+\\\
{\sum_{k\in\mathcal{D}_{i}}}\left(Z_{k}(t)\right)\mathbb{E}\left[y_{k}(t)|\mathcal{H}(t)\right]\end{split}$
(25)

The right-hand-side of Eq. (25) is minimized when choosing a minimal value of
$\alpha_{i}(t)$ corresponding to the states of the $Q_{i}(t)$ and $Z_{k}(t)$
and the state of resource at EN $i$, $\beta_{i}(t)$:

$V.y_{0}(t)+{\sum_{i\in\mathcal{E}}}Q_{i}(t)\left[a_{i}(t)-b_{i}(t)\right]+{\sum_{k\in\mathcal{D}_{i}}}\left[Z_{k}(t)y_{k}(t)\right]\leq
C$ (26)

$Q_{i}(t)$ and $Z_{k}(t)$ are updated according to (12) and (13), with the
existence of a given constant $C\geq 0$, optimal value of $\alpha_{i}(t)$ is
chosen when $C$ is small as possible, and:

$\begin{split}\mathrm{V}.y_{0}(t)+{\sum_{i\in\mathcal{E}}}Q_{i}(t)\left[a_{i}(t)-b_{i}(t)\right]+{\sum_{k\in\mathcal{D}_{i}}}\left[Z_{k}(t)y_{k}(t)\right]\\\
\leq C+\\\
\inf_{\alpha_{i}(t)}[V.y_{0}(t)+{\sum_{i\in\mathcal{E}}}Q_{i}(t)\left[a_{i}(t)-b_{i}(t)\right]+\\\
{\sum_{k\in\mathcal{D}_{i}}}\left[Z_{k}(t)y_{k}(t)\right]]\end{split}$ (27)

In case $C=0$, the exactly minimum value of $\alpha_{i}(t)$ is reached, thus
the optimal resource allocation scheme is obtained.

The resource representation allows characterizing the exact capabilities of
the EDs precisely and uniformly. The resource representation allows the ENS to
get information about the EDs resource status, which correspond to the values
of $\beta_{i}(t)$ in our proposed approach in the previous section. Each ED is
aware of its purpose (the types of operations that could be handled), its
capacities and available resources. For this purpose, each ED exposes its
available resource to the ENS through the MEC API standard of ETSI [9, 10, 11,
12, 13].

Figure 2: Example of output for an ED exposing information about its CPU

The resources are exposed in XML format to the supervising entity. In order to
get information about the physical resource, each ED uses low-level operations
and commands including CPUID to get the CPU properties such as the
architecture, number of cores and the frequency. The ED, depending on its OS,
uses commands such as cpuinfo and meminfo for Linux based machines to obtain
the current state of the CPU usage and memory respectively, wmic for Windows-
based EDs. We proceeded with the same to cover the majority of the used OS in
the EDs. Collecting all these commands within the same program that, depending
on the ED used OS, collects the information about the EDs and their available
resources. Figure 2 shows an example of an ED’s response when the supervisor
requested information about the CPU resource. The output is an XML response
with all the different information about the CPU such as the family, the
frequency, number of cores and the architecture. Also, XML can be parsed by
almost all EDs, which makes the information about the resource easier and more
understandable to the ENS.

Algorithm 1 is performed in order to define the optimal allocation scheme for
determining the adequate EDs that will participate in processing the incoming
request. The time complexity of the proposed Lyapunov-based optimization
algorithm is around $O(N^{2})$ [35], which ensures an low complexity of our
proposed algorithm in Algorithm 1, since it is the only heavy task to perform
by the ENS.

The frequency of checking ED resources (through resource representation model)
depends essentially on the frequency of reallocating the resources. More
precisely, the resource’s status is checked every time the resource allocation
is needed instead of being checked at each given time slot as in [16, 17, 18,
19, 21, 22, 23, 24]. We could solve this problem either statically or
dynamically. In the static scheme, the problem is solved by fixing a time
interval on which we perform the resource’s checking, which is not optimal
since the resource reallocation interval on a given EN is longer under a low
load and shorter under a high load. We can solve the problem of reallocation
resources dynamically by monitoring the load on devices [36]. Below, we
consider that the moment of checking resource’s status is the moment of
reallocating resources. In fact, reallocating virtual resources for edge
computing applications costs additional computational resource. Thus, overly
frequent reallocation of resources might decrease the efficiency of the EN
resources usage. Inspired from the the work in [36], we define the workload of
an ED for a given resource $\sim$ (where
$\sim~{}\in\\{\mathcal{P},\mathcal{S},\mathcal{N},\mathcal{M}\\}$) as follows:

$L_{(i,j,k)}^{r_{(i,j)}^{\sim}}=r_{(i,j)}^{\sim}-\sum_{k=1}^{|C_{(i,j)}|}\Xi_{(i,j)}^{\sim,k}$
(28)

Algorithm 1 Resource allocation based on resource representation and Lyapunov
optimization (LRR)

1:Input: incoming requests $\varrho_{(i,j)}$

2:Init: place $\varrho_{(i,j)}$ at the queue

3:get $D_{u_{k}}$ and $s_{(i,j)}$

4:if free($r_{(i,j)}^{\sim}$) then

5: Allocate resource at ED $d_{(i,j)}$

6: Instantiate container $c^{k}_{(i,j)}$ for the requested service with
respect to constraint in equation (2)

7: Destroy the $c^{k}_{(i,j)}$ after task completion

8:else

9: Find $\alpha_{i}$ from the problem in (16) determine the candidate ED with
respect to $T_{out}$

10: Allocate the adequate amount of resource on each selected ED from (16)

11: Distribute the subtasks to the ED

12: Create containers on each ED

13: Destroy containers after all subtasks are finished

14:end if

15:Wait for the next request

If we assume that the maximum workload of an ED is given by
$L^{max}_{(i,j,k)}$, we define the normal workload $L^{norm}_{(i,j,k)}$ as
follow:

$L_{(i,j,k)}^{norm}=L_{(i,j,k)}^{max}\times rate_{norm}\text{ with
}rate_{norm}\in[0,1]$ (29)

Finally, we can define $L_{(i,j,k)}^{th}$ as the threshold that triggers the
resource reallocation process as :

$L_{(i,j,k)}^{th}=rate_{th}\times(1-rate_{norm})\times K\times
L_{(i,j,k)}^{max}$ (30)

Where $K$ represents the number of container on execution on the ED $j$. A
resource reallocation takes place when the value of $L^{th}_{(i,j,k)}$
changes.

Algorithm 2 Resource Reallocation Calculation

1:Use (29) and (30) to calculate $L^{norm}_{(i,j,k)}$ , $L^{th}_{(i,j,k)}$ and
$L^{max}_{(i,j,k)}$

2:for each $d(i,j)$ in $D_{i}$ do

3: if $L^{curr}_{(i,j,k)}>L^{norm}_{(i,j,k)}+L^{th}_{(i,j,k)}$ then

4: send resource information request to $d(i,j)$

5: end if

6:end for

The time complexity of algorithm (2) depends on the number of ED in the EN.
Since the ENS has the information about each ED at the beginning of the
network operations, information about the loads are available, since the ENS
is aware of the tasks’ sizes and the capabilities of each ED. Moreover, the
number of the resource allocation scheme changing in some cases remains
unchanged due to the availability of resource on a given ED, which ensures the
optimality of the resources used to compute the optimal allocation scheme
$\alpha_{i}(t)$ [36]. In other words, the frequency of performing resource
allocation is lower when compared to other schemes that perform the same
operation not only at each request arrival but at each time slot [16, 17, 18,
19, 21, 22, 23, 24].

##  IV Simulation Results

Figure 3: Testbed components; The VM-Workers (EDs) on left and right and the
VM-Master (ENS) on the center. Figure 4: Average queues sizes over time

We evaluated our proposed resource provisioning approach through extensive
simulations. The experimental testbed was inspired from the work of [28]. For
simplicity, we used the same OS (Linux) and we deployed Docker on these VMs,
then we used Kubernetes as container management engine. We then configured the
VMs to act as a swarm from the point of view of Docker. We deployed our
resource representation component over these VMs, and we deployed our resource
allocation algorithm on the master device (the ENS). Moreover, we tested the
resource representation component on different versions of OSs and different
hardware architectures (x86, x64 and ARM). However, the testbed with
heterogeneous configuration is yet to be investigated in a future work. The
experimental simulations consist of an EN with 3 EDs. As illustrated of Fig.
3, with the ENS (master) is at the middle having the role of supervising the
EN, receiving the request and executing the resource provisioning schemes. The
central ED in the Fig. 3 is considered to host the master of the EN, thus, the
ENS. The other EDs are the workers. The ENS is responsible for checking the
EDs resource information, performing the resource provisioning (computing the
optimal scheme and values of $\alpha_{i}(t)$) and forwarding the requests to
the adequate nodes based on the $\alpha_{i}(t)$ values). We tested the
proposed approach by implementing a face recognition based on OpenCV framework
[37]. We simulated the proposed approach using a setup that is closely equal
to the experimental one, having a power of processing of $2.5Ghz$, a memory
variation between $\\{2-4\\}$ Gb and a storage between $\\{20-30\\}$ Gb. We
also considered the $V$ parameter ranging in $0-100$. To put the testbed to
work, we considered the following scenario, in which we used a face
recognition application inspired from [38]. The user’s device (smartphone for
instance) sends the images to the EN for recognition. The face recognition
classifier is already trained in the EN. After receiving the image, the EN
solves the optimization problem and select the EDs in which the face detection
should take place. The EDs have different capabilities and configurations as
described in the table follows:

TABLE II: Experimental Setup Nodes/Resource capabilities | Memory | Processing | Storage
---|---|---|---
EN | ED1 | 2Gb | 2 Cores | 20Gb
ED2 | 2 Gb | 4 Cores | 30Gb
ED3 | 4Gb | 2 Cores | 20Gb
Figure 5: Average queue size evolution in function of the parameter V

We compare our approach to the MGRA benchmark approach [19] both theoretically
and in simulations. We also compare our approach when using both resource
representation and Lyapunov optimization (LRR in Fig. 4-11) with using the
proposed Lyapunov framework alone. Fig. 5 illustrates the average queue size
evolution in time. The queue size is minimized in LRR compared to MGRA. The
figures also show that using resource representation in our approach has a
positive effect in minimizing the queue size compared to using our proposed
Lyapunov framework alone. In addition, the mechanism we used is lightweight
and could be executed within a tiny shred of resources.

In order to test the impact of the parameter $V$ of Eq. (26) on the overall
system performance, we evaluated the average queue size under the different
values of $V$ to find the optimal configuration of the performance-delay
tradeoff. As a reminder the $V$ parameter represents the tradeoff between the
performance and the allowable latency.

Figure 6: Average latency evolution in function of the parameter V

We illustrate the evolution of the queue under the variation of the $V$
parameter. Fig. 5 which shows that a lower value of $V$ means that the user is
interested in being served within a low delay. In the MGRA scheme, there is no
consideration to such parameter, which causes the constant behavior of the
average queue size. Fig. 5 shows that the queue size of is less congested when
using our Lyapunov framework and even less congested when using LRR. Even for
high values of $V$ , the queue is far from reaching the queue size of the
benchmark MGRA scheme.

Figure 7: The average network interface utilization on each ED of the
simulation setup

We evaluated the impact of the parameter $V$ on the average latency and we
conclude that a higher value of $V$ implies a higher latency, which is also
very clear from the figure 4. Our proposed approach shows an improvement in
terms of latency. Fig. 9 illustrates the average latency evolution with the
queue size under the different schemes of resource provisioning. The average
latency represents the overall delay spent from the moment of requesting a
task processing, to selecting the adequate ED to process the task and then
receiving the results. Our proposed LRR approach outperforms the MGRA
approach.

Our approach achieves the lowest latency with the evolution of the queue size,
and with further examination, Fig. 9 shows that LRR improves the latency up to
40%. This can be explained by the fact that the ENS is all the time aware of
the available resources at the ED and their capabilities. Therefore, based on
the resource information, the ENS allocates the resources on the adequate EDs,
which distribute the tasks in an adequate way that guarantees a lower latency
for the users and resource consumption at the ED following the Lyapunov
optimization framework.

The results for our study of the testbed ED resources behavior under the
different resource provisioning schemes are illustrated in Fig. (4-11). Our
proposed LRR scheme shows a significant improvement in terms of CPU
consumption as shown in Fig. 10. This enhancement is due to the ENS awareness
of the resource status of each ED. When adopting the benchmark MGRA approach,
a portion of the resources from the devices are used to compute the optimal
matching between the users and the EN which takes almost $O(N^{2})$ compared
to Lyapunov which takes only $O(\frac{1}{N2})$. In some cases, the MGRA
benchmark approach which is based on a matching game, takes long delay to
reach a stable distribution, which may cause higher consumption of resources.
In LRR, the resource representation guarantees the information about the ENs
resources. Using Lyapunov optimization for addressing the queue’s congestion
offers better resources utilization on one hand. On the other hand, it is
mathematically proved that an optimal resource allocation scheme is always
guaranteed within a reasonable delay. Fig. 10 shows that LRR guarantees a
lower resource consumption in terms of CPU compared to the benchmark approach;
specifically approximately a 11% lower consumption on ED1 and ED2, and
approximately a 18% lower on ED3.

Figure 8: The average storage utilization of each ED from the setup Figure 9:
Latency evolution over the queue size

Fig. 11 illustrates the storage consumption under the MGRA, and our approach
using Lyapunov with and without considering the resource representation. Fig.
11 shows that the different schemes have almost the same performance for ED1
and ED2. However, in ED3, LRR significantly improves the performance of
storage use by almost 25% compared to MGRA, due to the fact that in our
proposed scheme we used containers as a virtualization technology instead of
VMs used in the MGRA approach.

The network performance is illustrated in Fig. 8, in which the Lyapunov-based
approach shows an enhancement of the bandwidth consumption as it was already
been discussed in previous papers such as the works in [16, 17]. In addition,
the resource representation gives better results, 15% lower than MGRA and 6%
lower than the Lyapunov-only based approach.

Figure 10: Average CPU utilization at the EDs. Figure 11: The average storage
utilization of each ED from the setup

Fig. 7 illustrates the memory consumption on the different EDs of our testbed.
The results show that LRR uses 14% less resources compared to the benchmark
scheme. This result could be explained by the fact that in a matching game
approach, EDs are not aware of what the other devices have in terms of
capabilities. Also, the matching game is distributed and the discovery phase
could take much more time. Our LRR approach which makes the information about
available resources accessible to the ENS while using a Lyapunov approach
makes the resource allocation more efficient.

Fig. 12 illustrates the evolution of the reallocation frequency in LRR
compared to a baseline scheme. The baseline scheme referred to in Fig. 12, is
used in several previous works [16, 17, 18, 19, 21, 22, 23, 24, 36] and
consists in allocating resources at each time slot where a request is
received. However, adopting such policy may make the EN reallocate resources
continuously at each node to satisfy the requests, which may have a direct
impact on the latency. In LRR, the ENs have sufficient information about each
ED’s capabilities and up-to-date resource states, making it easier to allocate
resources on nodes with available resource without the need of recomputing the
allocation scheme.

Figure 12: The reallocation frequency in function of the queue size

##  V Related Works

Several previous works investigated the resource allocation and management
from the edge computing perspective. Most of these works, such as in [16, 17,
18, 19, 21, 22, 23, 24] investigate the resource allocation problem for only
one or two types of resources, and very few investigated the problem of
resource allocation with more than two types of resources [8]; mainly the
computational and networking resources. In this paper, we propose a resource
allocation scheme for four kind of resources including processing, storage,
memory and networking through resource representation. Resource representation
allows the ENS to acquire information about all the available resources at
each device in the EN. Some of the previous works did address the resource
allocation problem using the Lyapunov optimization framework for minimizing
the queuing time [16, 17, 18, 22, 39]. However, these works focus on few types
of resource and the allocation cycle takes place at each time slot, which may
lead in some cases to compute the optimal allocation scheme even when the
current scheme can deal with incoming requests. Therefore, in our proposed
approach the resource allocation scheme is only performed when the incoming
request requires a re-computation of the resource allocation scheme. Other
studies such as in [19, 21, 22, 23, 24] used theoretical game-based approaches
such as matching games and coalitional games.

In some papers, authors propose a combination of different techniques such as
in [16, 17, 18], combining Lyapunov optimization and matching game frameworks
or combining multiple optimization framework such as in [22]. In [16] the
authors proposed a mixed-integer nonlinear programming problem to optimize the
task offloading, computation scheduling and the radio resources. The problem
was relaxed to subproblems by leveraging the Lyapunov optimization framework,
then proposing a convex decomposition approach and matching game to solve the
subproblems. In their proposed algorithm for the optimal task offloading,
decision and resource allocation is taken at each time slot, which may lead in
some scenarios to changing the overall decision to offload a small portion of
tasks. In the study in [17] the authors proposed a user-server association
scheme that takes the channel quality in account in addition to the
computational capabilities and workloads of the servers. The authors also used
a Lyapunov optimization and a matching game to propose a dynamic task
offloading and resource allocation policy. The authors of [18] proposed a
resource allocation scheme for computational and communication resources
jointly with users’ access point association. The proposed solution in [18] is
based also on a Lyapunov framework to stabilize the queue and a matching game
theory to associate the users to the access points. From the game theoretical
perspective, the resource allocation scheme proposed in [19] is based on a
joint Stackelberg game to efficiently allocate computing resources to devices,
and a one-to-many matching game to match the users to access points. The
approach is similar to the one in [21], where instead of using different game
theory frameworks, the authors proposed two-tiers matching game to optimize
computing resource allocation and pricing, under limited computing and
communication resources constraints. The first tier aims at associating users
and small base stations with the goal of maximizing the social welfare. The
second tier aims at achieving the collaboration between the different small
base stations in order to ensure an efficient computing resources consumption.
In some papers such as in [22], the authors investigated the optimization of
the network resources, more specifically the channel selection which is
critical to ensure a reliable task allocation. The authors proposed the
combination of three optimization tools to optimize the long-term throughput
under energy cost and service reliability constraints. The authors also
proposed a learning-based channel selection with service reliability, energy,
backlog, and conflict awareness through with a Lyapunov optimization framework
to optimize the strategy to allocate the channel, and a matching game approach
for the channel selection. However, in these works, the aspect of resource is
used in an abstract manner, and the proposed approaches does not put
assumptions about either the heterogeneity of the equipment used, neither the
interaction between the equipment.

##  VI Conclusion

In this paper, we investigated resource provisioning at the edge of the
network under latency and resource consumption constraints. In order to reduce
the latency, we studied the experienced delays at the different levels of the
considered architecture. Precisely, we studied the queue dynamic at the EN by
leveraging a Lyapunov optimization framework. In order to perform efficient
resource provisioning, we proposed a resource representation for EDs. The
resource representation allows the exposition of EDs resource information
(processing, storage, memory and networking) at any time through the ETSI
standard for edge computing applications. The ENS uses the gathered
information on available resources to define the optimal resource provisioning
scheme based on drift-plus penalty of the Lyapunov optimization framework. We
also studied the frequency of resource reallocation and we proposed an
algorithm based on the workload at each ED of the EN to reduce the number of
times at which the ENS performs a resource reallocation operation. Moreover,
we performed extensive theoretical and experimental simulations to prove the
effectiveness of our proposed approaches. The numerical results have shown
that our proposed approach outperforms the benchmark approach in terms of
latency which drops up to 25% in some cases, and up to 40% in terms of lower
resource consumption.

## References

  * [1] M. Abu Sharkh _et al._ , _The Era of the Personal Cloud: What Does It Mean for Cloud Providers?: From Hype to Reality_ , 01 2019, pp. 1–15.
  * [2] A. Rachedi _et al._ , “Ieee access special section editorial: The plethora of research in internet of things (iot),” _IEEE Access_ , vol. 4, pp. 9575–9579, 2016.
  * [3] M. Azizian _et al._ , “An optimized flow allocation in vehicular cloud,” _IEEE Access_ , vol. 4, pp. 6766–6779, 2016.
  * [4] A. Alalewi _et al._ , “On 5g-v2x use cases and enabling technologies: A comprehensive survey,” _IEEE Access_ , vol. 9, pp. 107 710–107 737, 2021\.
  * [5] M. Satyanarayanan, “The emergence of edge computing,” _Computer_ , vol. 50, no. 1, pp. 30–39, 2017.
  * [6] Z. Mlika _et al._ , “Network slicing with mec and deep reinforcement learning for the internet of vehicles,” _IEEE Network_ , vol. 35, no. 3, pp. 132–138, 2021.
  * [7] A. Filali _et al._ , “Multi-access edge computing: A survey,” _IEEE Access_ , vol. 8, pp. 197 017–197 046, 2020.
  * [8] K. Toczé _et al._ , “A taxonomy for management and optimization of multiple resources in edge computing,” _Wireless Communications and Mobile Computing_ , vol. 2018, 2018.
  * [9] ETSI, “ETSI GR MEC 027 Multi-access Edge Computing (MEC); Study on MEC support for alternative virtualization technologies,” ETSI, White paper, Nov. 2019.
  * [10] ETSI, “Multi-access edge computing (MEC) MEC management ETSI GS MEC 010-2, part 2: Application lifecycle, rules and requirements management,” ETSI, White paper, Nov. 2019.
  * [11] ETSI, “Multi-access edge computing (MEC) ETSI GS MEC 011: Edge platform application enablement,” ETSI, White paper, Nov. 2019.
  * [12] ETSI, “Multi-access edge computing (MEC) ETSI GS MEC 021: Application mobility service API,” ETSI, White paper, Jan. 2020.
  * [13] ETSI, “Mec in 5g networks,” ETSI, White paper, Jun. 2018.
  * [14] A. Abouaomar _et al._ , “Caching, device-to-device and fog computing in 5th cellular networks generation : Survey,” in _2017 International Conference on Wireless Networks and Mobile Communications (WINCOM)_ , 2017, pp. 1–6.
  * [15] E. D. Ngangue Ndih _et al._ , “On enhancing technology coexistence in the iot era: Zigbee and 802.11 case,” _IEEE Access_ , vol. 4, pp. 1835–1844, 2016.
  * [16] Q. Zhang _et al._ , “Dynamic task offloading and resource allocation for mobile-edge computing in dense cloud ran,” _IEEE Internet of Things Journal_ , vol. 7, no. 4, pp. 3282–3299, 2020.
  * [17] C.-F. Liu _et al._ , “Dynamic task offloading and resource allocation for ultra-reliable low-latency edge computing,” _IEEE Transactions on Communications_ , vol. 67, no. 6, pp. 4132–4150, 2019.
  * [18] M. Merluzzi _et al._ , “Dynamic joint resource allocation and user assignment in multi-access edge computing,” in _ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)_ , 2019, pp. 4759–4763.
  * [19] S. Guo _et al._ , “Mobile edge computing resource allocation: A joint stackelberg game and matching strategy,” _International Journal of Distributed Sensor Networks_ , vol. 15, no. 7, p. 1550147719861556, 2019.
  * [20] A. Abouaomar _et al._ , “Users-fogs association within a cache context in 5g networks:coalition game model,” in _2018 IEEE Symposium on Computers and Communications (ISCC)_ , 2018, pp. 00 014–00 019.
  * [21] Y. Du _et al._ , “Two-tier matching game in small cell networks for mobile edge computing,” _IEEE Transactions on Services Computing_ , pp. 1–1, 2019.
  * [22] H. Liao _et al._ , “Learning-based context-aware resource allocation for edge-computing-empowered industrial iot,” _IEEE Internet of Things Journal_ , vol. 7, no. 5, pp. 4260–4277, 2019.
  * [23] Z. Zhou _et al._ , “Computation resource allocation and task assignment optimization in vehicular fog computing: A contract-matching approach,” _IEEE Transactions on Vehicular Technology_ , vol. 68, no. 4, pp. 3113–3125, 2019.
  * [24] B. Gu _et al._ , “Task offloading in vehicular mobile edge computing: A matching-theoretic framework,” _IEEE Vehicular Technology Magazine_ , vol. 14, no. 3, pp. 100–106, 2019.
  * [25] H. R. Arkian _et al._ , “Mist: Fog-based data analytics scheme with cost-efficient resource provisioning for iot crowdsensing applications,” _Journal of Network and Computer Applications_ , vol. 82, pp. 152–165, 2017\.
  * [26] O. Skarlat _et al._ , “Towards qos-aware fog service placement,” in _2017 IEEE 1st international conference on Fog and Edge Computing (ICFEC)_. IEEE, 2017, pp. 89–96.
  * [27] F. Z. Yousaf _et al._ , “Fine-grained resource-aware virtual network function management for 5g carrier cloud,” _IEEE Network_ , vol. 30, no. 2, pp. 110–115, 2016.
  * [28] B. P. Rimal _et al._ , “Experimental testbed for edge computing in fiber-wireless broadband access networks,” _IEEE Communications Magazine_ , vol. 56, no. 8, pp. 160–167, 2018.
  * [29] A. Abouaomar _et al._ , “Matching-game for user-fog assignment,” in _IEEE GLOBECOM Conference_ , 2018, pp. 1–6.
  * [30] D. Merkel, “Docker: lightweight linux containers for consistent development and deployment,” _Linux journal_ , vol. 2014, no. 239, p. 2, 2014.
  * [31] D. R.-J. G.-J. Rydning, “The digitization of the world from edge to core,” _Framingham: International Data Corporation_ , 2018.
  * [32] J. Xu _et al._ , “Saving energy on the edge: In-memory caching for multi-tier heterogeneous networks,” _IEEE Communications Magazine_ , vol. 56, no. 5, pp. 102–107, 2018.
  * [33] J. Zhang _et al._ , “Joint resource allocation for latency-sensitive services over mobile edge computing networks with caching,” _IEEE Internet of Things Journal_ , vol. 6, no. 3, pp. 4283–4294, 2019.
  * [34] Z. Mlika _et al._ , “Massive iot access with noma in 5g networks and beyond using online competitiveness and learning,” _IEEE Internet of Things Journal_ , vol. 8, no. 17, pp. 13 624–13 639, 2021.
  * [35] M. J. Neely, “Stability and probability 1 convergence for queueing networks via lyapunov optimization,” _Journal of Applied Mathematics_ , vol. 2012, 2012.
  * [36] W. Lin _et al._ , “A threshold-based dynamic resource allocation scheme for cloud computing,” _Procedia Engineering_ , vol. 23, pp. 695–703, 2011\.
  * [37] A. Kaehler _et al._ , _Learning OpenCV 3: computer vision in C++ with the OpenCV library_. ” O’Reilly Media, Inc.”, 2016.
  * [38] N. Muslim _et al._ , “Face recognition in the edge cloud,” in _Proceedings of the International Conference on Imaging, Signal Processing and Communication_ , 2017, pp. 5–9.
  * [39] C.-F. Liu _et al._ , “Fronthaul-aware software-defined wireless networks: Resource allocation and user scheduling,” _IEEE Transactions on Wireless Communications_ , vol. 17, no. 1, pp. 533–547, 2017.


Realisation of Abelian varieties as automorphism groups

---

Mathieu Florence

Abstract.

Let $A$ be an Abelian variety over a field $F$. We show that $A$ is isomorphic
to the automorphism group scheme of a smooth projective $F$-variety if, and
only if, $\mathrm{Aut}_{gp}(\overline{A})$ is finite. This result was proved
by Lombardo and Maffei [7] in the case $F=\mathbb{C}$ , and recently by Blanc
and Brion [1] in the case of an algebraically closed $F$.

Résumé.

Soit $A$ une variété abélienne sur un corps $F$. On montre que $A$ est
isomorphe au schéma en groupes des automorphismes d’une $F$-variété projective
et lisse, si et seulement si le groupe des $\overline{F}$-automorphismes de
$A$ est fini.
Ce résultat est dû à Lombardo et Maffei [7] lorsque $F=\mathbb{C}$. Il est dû
à Blanc et Brion [1] lorsque $F=\overline{F}$ .

###### Contents

  1. 1 Introduction.
    1. 1.1 Sketch of our construction.
  2. 2 Notation.
    1. 2.1 Geometry over $F$.
    2. 2.2 Frobenius and Verschiebung.
    3. 2.3 Abelian varieties.
    4. 2.4 Barycentric operations.
  3. 3 Statement of the theorem.
  4. 4 Auxiliary results.
    1. 4.1 Blowups.
    2. 4.2 Hypersections in projective space.
    3. 4.3 (Semi-)abelian varieties.
  5. 5 Proof of the implication $1)\Rightarrow 2)$.
    1. 5.1 Construction of $X$.
    2. 5.2 Proof that $\mathbf{Aut}(X)\simeq A$.
  6. 6 Acknowledgments.

##  1\. Introduction.

Let $F$ be a field, with algebraic closure $\overline{F}$. Let $X$ be a
projective variety over $F$. The automorphism group functor $\mathbf{Aut}(X)$
is represented by a group scheme, locally of finite type over $F$ ([8],
Theorem 3.7). Conversely, given a group scheme $G$, of finite type over $F$,
it is natural to ask whether $G$ can be realised as the automorphism group of
such an $X$. When $G=A$ is an abelian variety, this question was recently
considered in [7]. When $F=\mathbb{C}$, Lombardo and Maffei prove that $A$ is
the automorphism group of a projective smooth complex variety, if and only if
$\mathrm{Aut}_{gp}(A)$ is finite. They use analytic methods. Their result was
extended to $F$ algebraically closed of any characteristic in [1], using
algebro-geometric techniques: blowups, Lie algebra computations and modding
out actions of finite group schemes. Making a different use of these tools, we
provide a generalisation of this result, to the case of all ground fields $F$.

###  1.1. Sketch of our construction.

Let $A/F$ be an abelian variety over a field $F$, such that
$G:=\mathrm{Aut}_{gp}(\overline{A})$ is finite. We first introduce an integer
$n\geq 1$, invertible in $F$, such that $G$ acts faithfully on the $n$-torsion
subgroup $A[n](\overline{F})$.
Then, we pick an abelian variety $B_{1}/F$, enjoying the following properties.

  1. (1)

The abelian varieties $A$ and $B_{1}$ are ‘orthogonal’, in the sense that

$\mathrm{Hom}_{gp}(\overline{A},\overline{B}_{1})=0,$

where homomorphisms are taken over $\overline{F}$.

  2. (2)

There exists an injection (of algebraic $F$-groups)

$\iota:A[n]\hookrightarrow B_{1}.$

We denote by $B_{2}/F$ the abelian variety fitting into the diagonal extension

$0\longrightarrow A[n]\stackrel{{\scriptstyle
a\mapsto(a,\iota(a))}}{{\longrightarrow}}A\times
B_{1}\stackrel{{\scriptstyle\pi}}{{\longrightarrow}}B_{2}\longrightarrow 0.$

Using point (1) above, we prove that automorphisms of (the variety) $B_{2}$
are diagonal: they come from automorphisms of $A\times B_{1}$, respecting
orbits under the embedded $A[n]$. Next, we build an appropriate smooth closed
$F$-subvariety $Y_{2}\subset B_{2}$, stable by translations by
$A\simeq\pi(A\times\\{0\\})\subset B_{2}$.
We define a smooth $F$-variety $X$ as the blowup

$X:=\mathrm{Bl}_{Y_{2}}B_{2}.$

The natural arrow

$A\longrightarrow\mathbf{Aut}(B_{2}),$

given by translations, lifts to an arrow

$\tau:A\longrightarrow\mathbf{Aut}(X).$

We show that $\tau$ is an isomorphism of algebraic groups over $F$.

##  2\. Notation.

###  2.1. Geometry over $F$.

Let $F$ be a field, with algebraic closure $\overline{F}$, and separable
closure $F_{s}\subset\overline{F}$. We denote by $F[\epsilon]$,
$\epsilon^{2}=0$, the $F$-algebra of dual numbers. We use it for differential
calculus.
By a variety over $F$, we mean a separated $F$-scheme of finite type.
An algebraic $F$-group (or simply $F$-group) is an $F$-group scheme of finite
type. It is often assumed to be reduced, hence smooth over $F$.
Let $X$ be a variety over $F$. For a field extension $E/F$, we denote by
$X_{E}:=X\times_{F}E$ the $E$-variety obtained from $X$ by extending scalars.
We put $\overline{X}:=X\times_{F}\overline{F}$.
If $X$ is smooth over $F$, we denote by $TX\longrightarrow X$ the tangent
bundle of $X$. A global section of the tangent bundle is called a vector field
on $X$.
We denote by $\mathrm{Aut}(X)$ the (abstract) group of automorphisms of the
$F$-variety $X$, and by ${\mathrm{Aut}}(\overline{X})$ the group of
automorphisms of the $\overline{F}$-variety $\overline{X}$.
If $X/F$ is a projective variety, we denote by $\mathbf{Aut}(X)$ the $F$-group
scheme of automorphisms of $X$; it is locally of finite type over $F$. By [2],
Lemma 3.1, there is a canonical isomorphism

$H^{0}(X,TX)\stackrel{{\scriptstyle\sim}}{{\longrightarrow}}\mathrm{Lie}(\mathbf{Aut}(X)).$

If an abstract group $G$ acts on a variety $X$, and if $Z\subset X$ is a
closed subvariety, we denote by ${\mathrm{Stab}}_{G}(Z)\subset G$, or simply
by ${\mathrm{Stab}}(Z)\subset G$ when no confusion arises, the subgroup of
transformations leaving $Z$ (globally) invariant.
Let $G/F$ be a group scheme, locally of finite type. In the situation where
$G$ acts on $X$, we use the notation $\mathbf{Stab}_{G}(Z)\subset G$ for the
closed $F$-subgroup scheme defined by

$\mathbf{Stab}_{G}(Z)(A)=\\{g\in G(A),g(Z_{A})=Z_{A}\\},$

for all commutative $F$-algebras $A$. That it is representable follows from
[3], II 1.3.6.

###  2.2. Frobenius and Verschiebung.

If $F$ has characteristic $p>0$, we put

$X^{(1)}:=X\times_{\mathrm{Frob}}F,$

extension of scalars taken with respect to
$\mathrm{Frob}:F\stackrel{{\scriptstyle x\mapsto x^{p}}}{{\longrightarrow}}F.$
Recall the Frobenius homomorphism

$\mathrm{Frob}_{X}:X\longrightarrow X^{(1)};$

it is a morphism of $F$-varieties, functorial in $X$.
If $X/F$ is an algebraic group, it is a group homomorphism.
If $X$ is a commutative algebraic group, there is the Verschiebung
homomorphism

$\mathrm{Ver}_{X}:X^{(1)}\longrightarrow X,$

satisfying $(\mathrm{Ver}_{X}\circ\mathrm{Frob}_{X})=p\mathrm{Id}_{X}$.
If moreover $X/F$ is a semi-abelian variety, $\mathrm{Ver}_{X}$ and
$\mathrm{Frob}_{X}$ are isogenies.

###  2.3. Abelian varieties.

If $A$ and $B$ are Abelian varieties over $F$, we denote by
$\mathrm{Hom}_{gp}(A,B)$ the group of homomorphisms of algebraic $F$-groups,
from $A$ to $B$. We denote by ${\mathrm{Hom}_{gp}}(\overline{A},\overline{B})$
the group of homomorphisms of algebraic $\overline{F}$-groups, from
$\overline{A}$ to $\overline{B}$. These are finite free $\mathbb{Z}$-modules.
We adopt the similar notation for endomorphisms ($\mathrm{End}_{gp}$) and
automorphisms ($\mathrm{Aut}_{gp}$). For an integer $n\geq 1$, we denote by
$A[n]$ the $n$-torsion of $A$, seen as a finite group scheme over $F$.

###  2.4. Barycentric operations.

Let $A$ be an abelian variety over $F$. Then $A$ comes naturally equipped with
barycentric operations with integer coefficients. More precisely, for a
positive integer $n$, denote by

$\mathbf{Z}^{n}_{1}\subset\mathbf{Z}^{n}$

the subset consisting of integers $\alpha=(\alpha_{1},\ldots,\alpha_{n})$,
with $\alpha_{1}+\ldots+\alpha_{n}=1$.
For $\alpha\in\mathbf{Z}^{n}_{1}$, there is a barycentric operation

$\mathcal{B}_{\alpha}:A^{n}\longrightarrow A,$
$(x_{1},\ldots,x_{n})\mapsto\alpha_{1}x_{1}+\ldots+\alpha_{n}x_{n}.$

Associativity of the group law of $A$, provides natural associativity
relations between the $\mathcal{B}_{\alpha}$’s, for various
$\alpha^{\prime}s$.
For instance, pick $\alpha=(\alpha_{1},\alpha_{2})\in\mathbf{Z}^{2}_{1}$ and
$\gamma=(\gamma_{1},\gamma_{2})\in\mathbf{Z}^{2}_{1}$, and set

$\delta:=(\alpha_{1}\gamma_{1},\alpha_{2}\gamma_{1},\gamma_{2})\in\mathbf{Z}^{3}_{1}.$

Then, we have the associativity rule

$\mathcal{B}_{\gamma}(\mathcal{B}_{\alpha}(x_{1},x_{2}),x_{3})=\mathcal{B}_{\delta}(x_{1},x_{2},x_{3}).$

######  Remark 2.1.

More generally, these barycentric operations exist for torsors under
commutative algebraic $F$-groups.

######  Definition 2.2.

Let $X\subset A$ be an $F$-subvariety. We say that $X$ is stable under all
barycentric operations, if the restriction

$(\mathcal{B}_{\alpha})_{|X^{n}}:X^{n}\to A$

factors through the closed immersion $X\hookrightarrow A$, for every $n\geq 2$
and every $\alpha\in\mathbf{Z}^{n}_{1}$.
In this case, we also say that $X$ is barycentric.

Note that $X$ is barycentric if and only if it is a translate of an algebraic
$F$-subgroup $\overrightarrow{X}\subset A$. Checking this fact is left as an
exercise for the reader. Of course, $X(F)$ might be empty. If $X$ is
geometrically reduced and geometrically connected, so is
$\overrightarrow{X}$\- hence $\overrightarrow{X}$ is an abelian subvariety of
$A$.
Let $A$ and $B$ be two abelian varieties over $F$. Recall the essential fact

$\mathrm{Hom}_{\overline{F}-var}(\overline{A},\overline{B})=B(\overline{F})\times\mathrm{Hom}_{gp}(\overline{A},\overline{B}).$

In particular, morphisms (of varieties) between abelian varieties commute with
the barycentric operations $\mathcal{B}_{\alpha}$.
If $X\subset A$ is a geometrically reduced closed $F$-subvariety, the smallest
geometrically reduced barycentric $F$-subvariety containing $X$ is called the
barycentric envelope of $X$. We denote it by $\mathcal{E}(X)$.
Assume now that $X$ is geometrically reduced and geometrically connected. Pick
$n\geq 1$ and $\alpha\in\mathbf{Z}^{n}_{1}$. Consider
$\mathcal{B}_{\alpha}(X^{n})\subset A$ as a geometrically reduced and
geometrically connected closed subvariety of $A$. Then, if $n$ and $\alpha$
are chosen so that $\mathcal{B}_{\alpha}(X^{n})$ is of maximal dimension, we
have $\mathcal{B}_{\alpha}(X^{n})=\mathcal{E}(X)$. Thus, $\mathcal{E}(X)$,
being geometrically connected and geometrically reduced, is a translate of an
abelian subvariety of $A$.

##  3\. Statement of the theorem.

######  Theorem 3.1.

Let $A$ be an Abelian variety, over a field $F$. The following are equivalent:
1) The group $G:={\mathrm{Aut}_{gp}}(\overline{A})$ is finite.
2) There exists a smooth projective $F$-variety $X$, such that $A$ is
isomorphic to $\mathbf{Aut}(X)$ (as algebraic groups over $F$).

Note that $2)\Rightarrow 1)$ can be checked over $\overline{F}$, which follows
from [1], Theorem A.
Our task in this paper is to prove the converse implication.

##  4\. Auxiliary results.

###  4.1. Blowups.

This section contains two elementary lemmas on automorphisms of blowups, which
we provide with short proofs. A good recent reference on this topic, also
containing more advanced material, is section 2 of [9].

######  Lemma 4.1.

Let $Y\hookrightarrow D$ be a closed immersion of smooth $F$-varieties, such
that all connected components of $Y$ have codimension $\geq 2$ in $D$.
Denote by $\beta:X:=\mathrm{Bl}_{Y}(D)\longrightarrow D$ the blowup of $Y$
inside $D$.
The $F$-variety $X$ is smooth.
Let $f$ be an automorphism of the $F$-variety $D$. Then, $f$ lifts via $\beta$
to an automorphism of $X$, if and only if $f(Y)=Y$.

Proof. If $f(Y)=Y$, then $f$ lifts to an automorphism of $X$ by the universal
property of the blowup.
Conversely, assume that $f$ lifts to an automorphism $\phi$ of $X$, so that we
have a commutative square

$\textstyle{X\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{\phi}$$\textstyle{X\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{D\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{f}$$\textstyle{D.}$

To check that $f(Y)=Y$, can assume that $F=\overline{F}$. It then suffices to
prove that $Y\subset D$ and $f(Y)\subset D$ have the same set of $F$-rational
points. This is clear, since the fiber of $\beta$ over a point $x\in D(F)$ is
either a point if $s\notin Y(F)$, or a projective space of dimension $\geq 1$
if $x\in Y(F)$. $\square$

Lemma 4.1 has an infinitesimal analogue, as follows.

######  Lemma 4.2.

Let $Y\hookrightarrow D$ be a closed immersion of smooth $F$-varieties, such
that all connected components of $Y$ have codimension $\geq 2$ in $D$.
Denote by $\beta:X:=\mathrm{Bl}_{Y}(D)\longrightarrow D$ the blowup of $Y$
inside $D$.
Let $s:D\longrightarrow TD$ be a vector field on $D$. Then, $s$ lifts to a
vector field on $X$, if and only if $s_{|Y}$ takes values in $TY$.

Proof. Denote by $i:E\hookrightarrow X$ the exceptional divisor. The
restriction

$\beta_{|X-E}:X-E\longrightarrow D-Y$

is an isomorphism.
We thus have a natural injective $F$-linear arrow

$\rho:H^{0}(X,TX)\longrightarrow H^{0}(D-Y,TD)=H^{0}(D,TD),$
$\sigma\mapsto\sigma_{|X-E}.$

Note that the equality $H^{0}(D-Y,TD)=H^{0}(D,TD)$ follows from the fact that
$Y\subset D$ has codimension $\geq 2$. On $E$, we have a natural extension of
vector bundles

$0\longrightarrow TE\longrightarrow i^{*}(TX)\longrightarrow
N_{E/X}\longrightarrow 0,$

where $N_{E/X}\simeq\mathcal{O}_{E}(-1)$ is the normal bundle of $E$ in $X$.
Since $Y$ has codimension $\geq 2$ in $D$, we have $H^{0}(E,O_{E}(-1))=0$.
This can be checked on the fibers of $\beta$ over geometric points of $Y$,
which are projective spaces of dimension $\geq 1$. Hence, $\sigma_{|E}$ takes
values in $TE$. Consequently, $\rho(\sigma)_{|Y}$ takes values in $TY$.
Conversely, let $s:D\longrightarrow TD$ be a vector field on $D$. Then $s$
corresponds to an automorphism $\psi$ of the $F[\epsilon]$-scheme
$D\times_{F}F[\epsilon]$, reducing to the identity at $\epsilon=0$. Assume
that $s_{|Y}$ takes values in $TY$. Then, $\psi$ restricts to an automorphism
of the closed subscheme $Z\times_{F}F[\epsilon]\subset
D\times_{F}F[\epsilon]$. By the universal property (and compatibility with
base change) of the blowup, $\psi$ lifts, via $\beta\times_{F}F[\epsilon]$, to
an automorphism of $X\times_{F}F[\epsilon]$. Equivalenty, $s$ lifts, via
$\beta$, to a vector field on $X$.

$\square$

###  4.2. Hypersections in projective space.

We could not find a reference in the literature for the following result, so
that we provide it with a proof.

######  Proposition 4.3.

Let $S$ be a geometrically irreductible smooth projective $F$-variety, of
dimension $\geq 2$. Let $m\geq 1$ be an integer. Then, $S$ contains a
geometrically irreductible smooth projective $F$-curve, of genus $g\geq m$.

Proof. Pick a projective embedding $S\subset\mathbb{P}^{n}$ (everything is
over $F$). Let $d\geq 1$ be an integer. Let $H\subset\mathbb{P}^{n}$ be a
degree $d$ hypersurface, given by $h\in H^{0}(\mathbb{P}^{n},\mathcal{O}(d))$.
By Bertini’s theorem, for $d$ large enough and $h$ general, $S\cap H$ is
smooth and geometrically irreductible, of dimension one less than $S$. This
version of Bertini’s theorem works over any $F$\- see [10] and [4] for the
delicate case where $F$ is finite. Proceeding by induction, we reduce to the
case where $S$ is a surface.
We then take $C:=S\cap H$, and show that $g(=h^{1}(C,\mathcal{O}_{C}))$ goes
to infinity with $d$. To do so, consider the exact sequence of coherent
$\mathcal{O}_{\mathbb{P}^{n}}$-modules

$0\to\mathcal{O}_{S}(-d)\xrightarrow{\times
h}\mathcal{O}_{S}\to\mathcal{O}_{C}\to 0.$

Taking Euler characteristics, we get

$g-1=-\chi(\mathcal{O}_{C})=\chi(\mathcal{O}_{S}(-d))-\chi(\mathcal{O}_{S}).$

We conclude using the following fact, applied to $X=S$.
For a closed $m$-dimensional $F$-subvariety $X\subset\mathbb{P}^{n}$, the
association

$d\mapsto\chi(\mathcal{O}_{X}(-d))$

is a degree $m$ polynomial function of $d$. A classical proof is by induction
on $m\geq 0$. $\square$

###  4.3. (Semi-)abelian varieties.

The next Lemma is borrowed from [2], Lemma 5.3. We provide here a different
proof. In practice, we will apply it to abelian varieties, in which case it is
due to Chow.

######  Lemma 4.4.

Assume that $F$ has characteristic $p>0$.
Let $A,B$ be semi-abelian varieties over $F$. Then, all elements of
${\mathrm{Hom}_{gp}(\overline{A},\overline{B})}$ are defined over the
separable closure $F_{s}\subset\overline{F}$.

Proof. We have to show the following. Let $E/F$ be a purely inseparable
algebraic extension. Let $g:A_{E}\longrightarrow B_{E}$ be a homomorphism of
algebraic groups over $E$. Then $g$ is defined over $F$. Without loss of
generality, we can assume that $E/F$ is finite. By induction, we reduce to the
case where $E=F(\sqrt[p]{a})/F$ is a primitive purely inseparable extension of
height one. Note that $\mathrm{Frob}:E\longrightarrow E$ takes values in $F$.
Hence, $g^{(1)}:A_{E}^{(1)}\longrightarrow B_{E}^{(1)}$ is defined over $F$.
The Frobenius homomorphism

$\mathrm{Frob}_{A}:A\longrightarrow A^{(1)}$

presents $A^{(1)}$ as a quotient of $A$, by a finite (characteristic)
sub-$F$-group $\mu_{A}\subset A$.
From the relation

$\mathrm{Ver}_{A}\circ\mathrm{Frob}_{A}=p\mathrm{Id}_{A},$

we deduce $\mu_{A}\subset A[p]$. Same holds for $B$.
Combining these facts, we get that the $E$-morphism

$A/\mu_{A}\longrightarrow B/\mu_{B}$

induced by $g$, is defined over $F$. Modding out further, we get that the
$E$-morphism

$A/A[p]\longrightarrow B/B[p],$

induced by $g$, is defined over $F$.
Via the iso

$A/A[p]\stackrel{{\scriptstyle\sim}}{{\longrightarrow}}A$ $\overline{a}\mapsto
pa,$

this isomorphism is actually $g$ itself. The Lemma is proved. $\square$

######  Lemma 4.5.

For each $n\geq 2$, there exists an (absolutely) simple $n$-dimensional
abelian variety $A$ over $F_{s}$.

Proof. Since $F_{s}$ is separably closed, ‘simple’ is the same as ‘absolutely
simple’, for abelian varieties over $F_{s}$ (use Lemma 4.4). Without loss of
generality, we assume that $F_{s}$ is the algebraic closure of its prime
subfield. Over $\overline{\mathbb{Q}}$, we can then use the existence of
abelian surfaces with a prescribed CM type. Over $\overline{\mathbb{F}}_{p}$,
we can use Honda-Tate theory. For concrete constructions, and more general
results, we refer to [9], Theorem 1 (where $F_{s}=\overline{\mathbb{Q}}$), and
[6], Theorem 2 (where $F_{s}=\overline{\mathbb{F}}_{p}$).

$\square$

######  Lemma 4.6.

Let $B$ be an abelian variety over $F$, whose simple factors (over
$\overline{F}$) are of dimensions $\geq 2$. (Equivalently: all
$\overline{F}$-homomorphisms from an elliptic curve to $\overline{B}$ are
constant.)
Then, there exists a smooth $F$-subvariety $Y\subset B$, which is a disjoint
union of smooth $F$-curves, and of a separable closed point, such that

$\mathbf{Stab}(Y)=\\{\mathrm{Id}\\}\subset{\mathbf{Aut}(B)}.$

Proof. Assume first that $B$ is $F$-simple, in the sense that it has no non-
trivial proper abelian $F$-subvariety. By Proposition 4.3, we can pick a
geometrically irreducible smooth $F$-curve $C\subset B$, of arbitrarily large
genus $g\geq 2$.
The group ${\mathrm{Aut}(\overline{C})}$ is finite. Indeed,
$\mathrm{Lie}(\mathbf{Aut}(C))$ is the space of vector fields on $C$, which
vanishes since $g\geq 2$.
Let us show that $\mathcal{E}(C)=B$. The barycentric envelope $\mathcal{E}(C)$
is a translate of an abelian subvariety $B^{\prime}\subset B$. Since $B$ is
$F$-simple, we get $B^{\prime}=B$, hence $\mathcal{E}(C)=B$.
Now, let
$g\in\mathbf{Aut}(B)(\overline{F}[\epsilon])=B(\overline{F}[\epsilon])\times\mathrm{Aut}_{gp}(\overline{B})$
be such that

$g_{|C\times_{F}\overline{F}[\epsilon]}=\mathrm{Id}_{|C\times_{F}\overline{F}[\epsilon]}.$

Because $g$ commutes to barycentric operations, $g$ acts as the identity on
the closed subscheme

$\mathcal{E}(C)\times_{F}\overline{F}[\epsilon]\subset
B\times_{F}\overline{F}[\epsilon].$

Since $\mathcal{E}(C)=B$, it follows that $g=\mathrm{Id}$. Thus, we get a
natural embedding of $F$-group schemes

$H:=\mathbf{Stab}_{{\mathbf{Aut}(B)}}(C)\hookrightarrow\mathbf{Aut}(C).$

In particular, $H$ is finite étale over $F$. Let $E/F$ be a finite separable
field extension, such that $H(E)=H(\overline{F})$. Denote by

$\Phi:=\bigcup_{h\in H(E),h\neq e}\overline{B}^{h}\subset\overline{B}$

be the (strict) closed subscheme, consisting of points fixed by at least one
non-trivial element $h\in H(E)$. It is defined over $F$ by Galois descent.
There exists a finite separable field extension $L/E$, and a point $b\neq 0\in
B(L)$, which does not lie in $\Phi(L)$, nor in $C(L)$. We then have a
separable zero-cycle $[b]$ in the $F$-variety $B$, of degree $[L:F]$. Define
$Y\subset B$ as the disjoint union of $[b]$ and $C$. We claim that $Y$ has the
required property. Indeed, let $f\in{\mathbf{Aut}}(B)(\overline{F}[\epsilon])$
be an automorphism stabilizing $Y$\- or more accurately,
$Y\times_{F}\overline{F}[\epsilon]\subset B\times_{F}\overline{F}[\epsilon]$.
Then, $f$ permutes the two connected components of the scheme
$Y\times_{F}\overline{F}[\epsilon]$. For dimension reasons, it preserves
$C\times_{F}\overline{F}[\epsilon]$ on the one hand, and
$[b]\times_{F}\overline{F}[\epsilon]$ on the other hand. From the first fact,
we know that $f$ belongs to $H(\overline{F})$; in particular, it is defined
over $E$, hence over $L$. From the latter fact, we get $f(b)=b$, hence
$f=\mathrm{Id}$. The Lemma is proved in this case.
Assume now that $B=B_{1}\times\ldots B_{n}$, where the $B_{i}$’s are
$F$-simple abelian varieties. We can then adapt the preceding proof, as
follows. For each $i$, let $C_{i}\subset B_{i}$, $L_{i}/E_{i}/F$ and $b_{i}\in
B(L_{i})$ be as in the first part of the proof. We can fulfill the extra
requirements that no $C_{i}$ passes through $0$, and that the $C_{i}$’s are of
different genus (using Proposition 4.3). In particular, when $i\neq j$,
$\overline{C}_{i}$ is not $\overline{F}$-isomorphic to $\overline{C}_{j}$. We
can also assume that $L_{i}=L$ and $E_{i}=E$ are independent of $i$. Set

$b:=(b_{1},\ldots,b_{n})\in B(L).$

Define $Y$ to be the disjoint union of $[b]$, and of the $n$ curves

$C_{i}\simeq\\{0\\}\times\ldots\times\\{0\\}\times
C_{i}\times\\{0\\}\times\ldots\times\\{0\\}\hookrightarrow B.$

It is not hard to see, that $Y$ enjoys the required property.
In general, write $B=(\prod_{1}^{r}B_{j})/\mu$, where $S_{1},\ldots,S_{r}$ are
$F$-simple abelian varieties, and where $\mu$ is a finite $F$-subgroup,
intersecting trivially each coordinate axis. We can choose

$Y\hookrightarrow B_{1}\times\ldots B_{n}$

as in the previous part of the proof, and such that the composite

$Y\hookrightarrow B_{1}\times\ldots B_{n}\stackrel{{\scriptstyle
can}}{{\longrightarrow}}(\prod_{1}^{r}B_{j})/\mu=B$

is a closed immersion, identifying $Y$ to a smooth closed subvariety of $B$.
An automorphism of $B$ stabilizing $Y\subset B$ then lifts, via the quotient
$can$, to an automorphism of $B_{1}\times\ldots B_{n}$ stabilizing $Y\subset
B_{1}\times\ldots B_{n}$. We conclude as before. $\square$

##  5\. Proof of the implication $1)\Rightarrow 2)$.

Let $A/F$ be an abelian variety, such that $G:=\mathrm{Aut}(\overline{A})$ is
finite. We give a construction of a smooth projective $F$-variety $X$, such
that $A=\mathbf{Aut}(X)$, in several steps.

###  5.1. Construction of $X$.

Denote by $g$ the dimension of $A$.
Let $n\geq 1$ be an integer, invertible in $F$, such that the action of $G$ on
$A[n](F_{s})\simeq(\mathbb{Z}/n)^{2g}$ is faithful. Such an $n$ exists: use
that $G$ is finite, and that torsion points of order prime to
$\mathrm{char}(F)$ in $A(\overline{F})$ are Zariski-dense in $A$.
Let $B_{s}$ be an abelian variety over $F_{s}$, of dimension $g^{\prime}\geq
g$, such that

${Hom}_{gp}(\overline{A},\overline{B})={Hom}_{gp}(\overline{B},\overline{A})=0.$

Since $\overline{A}$ has a finite number of simple components (up to isogeny),
which are all defined over $F_{s}$ by Lemma 4.4, the existence of $B_{s}$
follows from Lemma 4.5. For example, take for $B_{s}$ a product of simple
abelian varieties, of dimensions greater than that of the simple components of
$\overline{A}$.

Let $E/F$, be the finite Galois extension, with group $\Gamma$, which is
minimal w.r.t. the following properties.

  1. (1)

The extension $E/F$ splits the $F$-group of multiplicative type $A[n]$.
In other words, $A[n](E)\simeq(\mathbb{Z}/n)^{2g}$.

  2. (2)

The abelian variety $B_{s}$ is defined over $E$: there exists an abelian
$E$-variety $B_{E}$, such that $B_{E}\times_{E}F_{s}\simeq B_{s}$.

  3. (3)

Same as (1), for $B_{E}$: we have
$B_{E}[n](E)\simeq(\mathbb{Z}/n)^{2g^{\prime}}$.

Using (1), we view $A[n](E)$ as a $(\mathbb{Z}/n)[\Gamma]$-module.
Introduce the Weil restriction of scalars

$B_{1}:=R_{E/F}(B_{E}).$

Geometrically, we have $\overline{B}_{1}\simeq\overline{B}_{s}^{m}$, where $m$
is the cardinality of $\Gamma$.
We have

$B_{1}[n]=R_{E/F}((\mathbb{Z}/n)^{2g^{\prime}}),$

so that $E/F$ splits $B_{1}[n]$, and $B_{1}[n](E)$ is a free
$(\mathbb{Z}/n)[\Gamma]$-module of rank $2g^{\prime}$.

######  Lemma 5.1.

There exists an embedding of $(\mathbb{Z}/n\mathbb{Z})[\Gamma]$-modules

$A[n](E)\hookrightarrow B_{1}[n](E);$

that is to say, an embedding of finite étale $F$-group schemes

$\iota:A[n]\hookrightarrow B_{1}[n].$

Proof. We give two (seemingly) different proofs.
The first one uses the perfect duality

$(.)^{\vee}:=\mathrm{Hom}(.,\mathbb{Z}/n),$

in the category of $(\mathbb{Z}/n)[\Gamma]$-modules. Pick a generating set
$t_{1},\ldots,t_{2g^{\prime}}$ of the $\mathbb{Z}/n$-module $A[n](E)^{\vee}$\-
which is free of rank $2g\leq 2g^{\prime}$. Introduce the surjection of
$(\mathbb{Z}/n)[\Gamma]$-modules

$(\mathbb{Z}/n)[\Gamma]^{2g^{\prime}}\longrightarrow A[n](E)^{\vee},$
$e_{i}\mapsto t_{i},$

where $e_{i}$ denotes the $i$-th element of the canonical basis. Dualizing it
yields an injection of $(\mathbb{Z}/n)[\Gamma]$-modules

$\iota:A[n](E)\longrightarrow(\mathbb{Z}/n)[\Gamma]^{2g^{\prime}}\simeq
B_{1}[n],$

concluding the construction.
The second proof is more conceptual. Choose an embedding of constant $E$-group
schemes

$(\mathbb{Z}/n)^{2g}\simeq A_{E}[n]\hookrightarrow
B_{E}[n]\simeq(\mathbb{Z}/n)^{2g^{\prime}},$

which exists simply because $g\leq g^{\prime}$.
Applying $R_{E/F}$ yields an embedding of $F$-group schemes

$R_{E/F}(A_{E})[n]\hookrightarrow R_{E/F}(B_{E})[n]=B_{1}[n].$

Composing it with the natural embedding of $F$-groups

$A[n]\hookrightarrow R_{E/F}(A_{E})[n],$

arising by adjunction from the identity of $A_{E}[n]$, we get the desired
$\iota$. $\square$

Form the exact sequence of algebraic $F$-groups

$0\longrightarrow A[n]\stackrel{{\scriptstyle
a\mapsto(a,\iota(a))}}{{\longrightarrow}}A\times
B_{1}\stackrel{{\scriptstyle\pi}}{{\longrightarrow}}B_{2}\longrightarrow 0.$

Its cokernel $B_{2}$ is an abelian variety over $F$.
We have $F$-embeddings

$A\stackrel{{\scriptstyle a\mapsto(a,0)}}{{\hookrightarrow}}B_{2}$

and

$B_{1}\stackrel{{\scriptstyle
b_{1}\mapsto(0,b_{1})}}{{\hookrightarrow}}B_{2}.$

Introduce the quotient

$q:B_{2}\longrightarrow B_{3}:=B_{2}/A\simeq B_{1}/\iota(A[n]).$

Let $Y_{3}\subset B_{3}$ be a smooth $F$-subvariety, enjoying the properties
of Lemma 4.6, where we take $B$ to be our $B_{3}$, and set $Y_{3}:=Y$.
Put

$Y_{2}:=q^{-1}(Y_{3}).$

The restriction

$q_{|Y_{2}}:Y_{2}\longrightarrow Y_{3}$

is an $A$-torsor.
We now define

$X:=\mathrm{Bl}_{Y_{2}}(B_{2})$

to be the blowup of $Y_{2}$ in $B_{2}$.

###  5.2. Proof that $\mathbf{Aut}(X)\simeq A$.

Translating by elements of $A$ inside $B_{2}$ yields a natural arrow

$A\longrightarrow\mathbf{Aut}(B_{2}).$

Since $Y_{2}\subset B_{2}$ is stable by these translations, we get an induced
arrow of $F$-group schemes

$\tau:A\longrightarrow\mathbf{Aut}(X).$

It is clear that $\tau$ is an embedding. We are going to show that it is an
isomorphism.
Let us first check that it induces a bijection

$A(\overline{F})\stackrel{{\scriptstyle\sim}}{{\longrightarrow}}{\mathrm{Aut}}(\overline{X})=\mathbf{Aut}(X)(\overline{F}).$

Pick $\phi\in{\mathrm{Aut}}(\overline{X})$. It induces a birational
isomorphism $f_{2}$ of the $\overline{F}$-variety $\overline{B}_{2}$, which is
a regular isomorphism since $B_{2}$ is an abelian variety. Thus, we get a
commutative diagram

$\textstyle{\overline{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{\phi}$$\textstyle{\overline{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\overline{B}_{2}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{f_{2}}$$\textstyle{\overline{B}_{2},}$

where the vertical arrows are the structure morphism of the blowup.
Using Lemma 4.1, we get $f_{2}(\overline{Y}_{2})=\overline{Y}_{2}$. We know
that

$f_{2}(x)=g_{2}(x)+t_{2},$

where $g\in{\mathrm{Aut}}_{gp}(\overline{B}_{2})$, and $t_{2}\in
B_{2}(\overline{F})$. We have to show that $g_{2}=\mathrm{Id}$ and $t_{2}\in
A(\overline{F})$. To do so, we can assume without loss of generality that
$t_{2}\in B_{1}(\overline{F})$.
We then have to prove $g_{2}=\mathrm{Id}$ and

$t_{2}\in A(\overline{F})\cap B_{1}(\overline{F})=\iota(A[n])(\overline{F}).$

Geometrically, $\overline{B}_{1}\simeq\overline{B}_{s}^{m}$. Since
${Hom}_{gp}(\overline{A},\overline{B}_{s})={Hom}_{gp}(\overline{B}_{s},\overline{A})=0$,
we get

${Hom}_{gp}(\overline{A},\overline{B}_{1})={Hom}_{gp}(\overline{B}_{1},\overline{A})=0.$

Therefore $g_{2}$ leaves $\overline{A}\subset\overline{B}_{2}$ and
$\overline{B}_{1}\subset\overline{B}_{2}$ stable.
We infer that $g_{2}$ lifts, via $\overline{\pi}$, to a diagonal group
automorphism

$\delta=(h,g_{1})$

of $\overline{A}\times\overline{B}_{1}$, which automatically leaves the
diagonally embedded $\overline{A}[n]$ stable.
Consider the automorphism of $\overline{B}_{1}$ given by

$f_{1}(b_{1}):=g_{1}(b_{1})+t_{2},$

and the diagonal automorphism of $\overline{A}\times\overline{B}_{1}$ given by

$\Delta(a,b_{1}):=(h(a),f_{1}(b_{1})).$

Since $\delta$ leaves
$\overline{A}\times\iota(\overline{A}[n])\subset\overline{A}\times\overline{B}_{1}$
stable, there exists $f_{3}\in\mathrm{Aut}(\overline{B}_{3})$ such that the
diagram

$\textstyle{\overline{A}\times\overline{B}_{1}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{\Delta}$$\scriptstyle{\overline{\pi}}$$\textstyle{\overline{A}\times\overline{B}_{1}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{\overline{\pi}}$$\textstyle{\overline{B}_{2}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{f_{2}}$$\scriptstyle{\overline{q}}$$\textstyle{\overline{B}_{2}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{\overline{q}}$$\textstyle{\overline{B}_{3}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\scriptstyle{f_{3}}$$\textstyle{\overline{B}_{3}}$

commutes.

Because $f_{2}(\overline{Y}_{2})=\overline{Y}_{2}$, we get
$f_{3}(\overline{Y}_{3})=\overline{Y}_{3}$. By Lemma 4.6, we conclude that
$f_{3}=\mathrm{Id}$. Hence, we have $t_{2}\in\iota(A[n])(\overline{F})$ and
$g_{2}=\mathrm{Id}$. Since $\delta$ preserves the diagonally embedded
$\overline{A}[n]$, we get that $h$, restricted to
$\overline{A}[n]\subset\overline{A}$, is the identity. Since $G$ acts
faithfully on $A[n]$, we conclude that $h=\mathrm{Id}$. Hence,
$g_{2}=\mathrm{Id}$ as well, and our job is done.

We have proved that $\tau$ induces a bijection on $\overline{F}$-points. If
$F$ has characteristic zero, this is enough to conclude that $\tau$ is an
isomorphism of algebraic $F$-groups. In general, it remains to check that the
$F$-linear map on tangent spaces

$d_{e}(\tau):\mathrm{Lie}(A)\longrightarrow\mathrm{Lie}(\mathbf{Aut}(X))$

is bijective. Recall that $\mathrm{Lie}(\mathbf{Aut}(X)$ is the space of
vector fields on $X$; that is, global section of the tangent bundle
$TX\longrightarrow X$. Let

$s:X\longrightarrow TX$

be such a section. Restricting $s$ to the complement of the exceptional
divisor, we get a global section $\sigma^{\prime}$ of the tangent bundle of
$B_{2}-Y_{2}$. Since $B_{2}$ is an abelian variety, its tangent bundle is
trivial, so that $\sigma^{\prime}$ is given by an arrow of $F$-varieties

$\sigma^{\prime}:B_{2}-Y_{2}\longrightarrow\mathbb{A}(\mathrm{Lie}(B_{2})),$

with target an affine space of dimension $\dim(B_{2})$. Since $Z_{2}$ has
codimension $\geq 2$ in $B_{2}$, $\sigma^{\prime}$ extends to a morphism

$\sigma:B_{2}\longrightarrow\mathbb{A}(\mathrm{Lie}(B_{2})),$

which is constant because $B_{2}/F$ is proper. Write $\sigma=t$, with
$t\in\mathrm{Lie}(B_{2})$. To conclude, we have to show $t\in\mathrm{Lie}(A)$.
For $y\in B_{2}(\overline{F})$, denote by

$\alpha_{y}:\overline{B}_{2}\longrightarrow\overline{B}_{2}$

the $\overline{F}$-morphism given by

$x\mapsto x+y.$

Recall that the linear isomorphisms

$d_{y}\alpha_{-y}:T_{y}(\overline{B}_{2})\stackrel{{\scriptstyle\sim}}{{\longrightarrow}}\mathrm{Lie}(B_{2})\otimes_{F}\overline{F}$

are used to trivialize the tangent bundle of $B_{2}$.
Since $\sigma$ lifts to a section of the tangent bundle of the blowup
$\mathrm{Bl}_{Y_{2}}(B_{2})$, Lemma 4.2 implies, when $y\in
Y_{2}(\overline{F})$, that $t$ belongs to

$d_{y}\alpha_{-y}(T_{y}(\overline{Y}_{2}))\subset\mathrm{Lie}(B_{2})\otimes_{F}\overline{F}.$

Taking a $y$ lying above (via $\overline{q}$) an isolated separable point of
$\overline{Y}_{3}$, we conclude that $t\in\mathrm{Lie}(A)$, as desired.

##  6\. Acknowledgments.

We are grateful to the referee for meaningful comments, leading to an improved
exposition.
We thank Michel Brion for his careful reading, and for helpful suggestions
concerning blowups. We thank Frans Oort and Olivier Wittenberg for helping us
understand why Lemma 4.5 is true, and Daniel Bertrand for pointing out an
existing reference for its proof.

## Bibliography

  * [1] J. Blanc, M. Brion, Abelian varieties as automorphism groups of smooth projective varieties in arbitrary characteristics, preprint, http://www-fourier.univ-grenoble-alpes.fr/ mbrion/abelian.pdf

  * [2] M. Brion, Homomorphisms of algebraic groups: representability and rigidity, preprint, available at https://arxiv.org/abs/2101.12460

  * [3] M. Demazure, P. Gabriel, Groupes algébriques, 1970, Masson, Paris.

  * [4] F. Charles, B. Poonen, Bertini irreducibility theorems over finite fields, 2016, J. Amer. Math. Soc. 29 (1), 81-94.

  * [5] G. Martin, Infinitesimal automorphisms of algebraic varieties and vector fields on elliptic surfaces, available at https://arxiv.org/abs/2004.07227

  * [6] E. W. Howe, H. J. Zhu, On the Existence of Absolutely Simple Abelian Varieties of a Given Dimension over an Arbitrary Field, 2002, J. of Number Theory 92, 139–163.

  * [7] D. Lombardo, A. Maffei, Abelian varieties as automorphism groups of smooth projective varieties, 2020, IMRN (7), 1921–1932.

  * [8] H. Matsumura, F. Oort, representability of group functors, and automorphisms of algebraic schemes, 1967, Inv. Math. 4, 1-25.

  * [9] S. Mori,The endomorphism rings of some abelian varieties, 1977, Japan. J. Math 3, 105–109.

  * [10] B. Poonen, Bertini theorems over finite fields, 2004, Ann. of Math. 160 (3), 1099-1127.