#  Existence and regularity of positive solutions for Schrödinger-Maxwell
system with singularity

Abdelaaziz Sbai, Youssef El hadfi and Mounim El Ouardy
Laboratory LIPIM
National School of Applied Sciences Khouribga
Sultan Moulay Slimane University, Morocco
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>

###### Abstract

In this paper we are going to prove existence for positive solutions of the
following Schrödinger–Maxwell system of singular elliptic equations:

$\left\\{\begin{array}[]{l}u\in
W_{0}^{1,2}(\Omega):-\operatorname{div}\left(a(x)\nabla
u\right)+\psi|u|^{r-2}u=\frac{f(x)}{u^{\theta}},\\\ \psi\in
W_{0}^{1,2}(\Omega):-\operatorname{div}(M(x)\nabla\psi)=|u|^{r}\end{array}\right.$
(0.1)

where $\Omega$ is a bounded open set of $\mathbb{R}^{N},N>2,$ $r>,1,$ $u>0,$
$\psi>0,$ $0<\theta<1$ and $f$ belongs to a suitable Lebesgue space. In
particular, we take advantage of the coupling between the two equations of the
system by demonstrating how the structure of the system gives rise to a
regularizing effect on the summability of the solutions.

_K_ eywords Singular non linearity $\cdot$ Schrödinger–Maxwell equations
$\cdot$ Sobolev spaces.

##  1 Introduction

In this paper, we consider the following Schrödinger-Maxwell system with
singular term:

$\left\\{\begin{array}[]{l}u\in
W_{0}^{1,2}(\Omega),u>0\,:-\operatorname{div}\left(a(x)\nabla
u\right)+\psi|u|^{r-2}u=\frac{f(x)}{u^{\theta}},\\\ \psi\in
W_{0}^{1,2}(\Omega),\psi>0\,:-\operatorname{div}(M(x)\nabla\psi)=|u|^{r}\end{array}\right.$
(1.1)

We will suppose that $\Omega$ is a bounded open set of $\mathbb{R}^{N},N>2,$
that $r>1$ and that $f$ belongs to $L^{m}(\Omega),$ for some $m>1$,
$0<\theta<1$. Furthermore, the function $a:\Omega\rightarrow\mathbb{R}$ will
be a measurable function, such that there exist $0<\alpha\leq\beta$ such that:

$0<\alpha\leq a(x)\leq\beta\,\,\,\,\mbox{almost everywhere in}\,\,\,\Omega,$
(1.2)

while $M:\Omega\rightarrow\mathbb{R}^{N^{2}}$ will be a measurable matrix,
such that:

$M(x)\xi\cdot\xi\geq\alpha|\xi|^{2},\quad|M(x)|\leq\beta,$ (1.3)

for almost every $x$ in $\Omega,$ and for every $\xi$ in $\mathbb{R}^{N}$. Let
us briefly recall the mathematical framework concerning problem (1.1).
In the last few decades, the existence and regularity of positive solutions to
the singular elliptic equation with singular term $s^{-\theta},$
$(\theta\in(0,1))$ a have been widely investigated by many researchers, and it
seems almost impossible for us to give a complete list of references. We refer
the readers to Refs.[8, 11, 16, 17].
In the case $\theta=0$ many works have appeared concerning the existence and
regularity of elliptic systems. Boccardo in [4] has been studied the existence
and regularity results of of elliptic systems problem;

$\left\\{\begin{array}[]{ll}-\Delta u+A\varphi|u|^{r-2}u=f,&u\in
W_{0}^{1,2}(\Omega),\\\ -\Delta\varphi=|u|^{r},&\varphi\in
W_{0}^{1,2}(\Omega),\end{array}\right.$ (1.4)

where $\Omega$ is an open bounded subset of $\mathbb{R}^{N}$ with $N>2,A>0$
and $r>1$. As for the (1.4), the authors studied the existence of a weak
solution $(u,\varphi)$ in $W_{0}^{1,2}(\Omega)\times W_{0}^{1,2}(\Omega)$ is
proved if $f$ belongs to $L^{m}(\Omega)$, with
$m\geq\frac{2N}{N+2}=\left(2^{*}\right)^{\prime}$, where $2^{*}$ is the
Sobolev exponent, using once again that $(u,\varphi)$ is a critical point of a
suitable functional. The author proves that if
$\left(2^{*}\right)^{\prime}\leq m<\frac{2Nr}{N+2+4r}$, with $r>2^{*}-1$, the
second equation of (1.4) admits finite energy solutions even if the datum
$|u|^{r}$ does not belong to the dual space $L^{\frac{2N}{N+2}}(\Omega)$.
As for system (1.4), the solutions $u$ and $\varphi$ given by [4] can be seen,
if $m\geq\frac{2N}{N+2}$, as a critical point of saddle type for the
indefinite functional:

$J(u,\varphi)=\frac{1}{2}\int_{\Omega}M(x)\nabla u\nabla
v-\frac{A}{2r}\int_{\Omega}M(x)\nabla\varphi\nabla\varphi+\frac{A}{r}\int_{\Omega}\varphi^{+}|u|^{r}-\int_{\Omega}fu,$

defined for those functions $u$ and $\varphi$ in $W_{0}^{1,2}(\Omega)$, such
that $\varphi^{+}|u|^{r}$ belongs to $L^{1}(\Omega)$ (and $+\infty$
otherwise). On the other hand, the authors proved in [4] the existence of
solutions for the following nonlinear elliptic system that generalizes (1.4)

$\left\\{\begin{array}[]{ll}-\operatorname{div}\left(|\nabla u|^{p-2}\nabla
u\right)+A\varphi|u|^{r-2}u=f,&u\in W_{0}^{1,p}(\Omega)\\\
-\operatorname{div}\left(|\nabla\varphi|^{p-2}\nabla\varphi\right)=|u|^{r},&\varphi\in
W_{0}^{1,p}(\Omega)\end{array}\right.$ (1.5)

where $\Omega$ is an open bounded subset of $\mathbb{R}^{N}$ with $N\geq
2,1<p<N,A>0,r>1.$
Inspired by the above articles, the main novelty in the present work is to
show that the term $\frac{1}{u^{\theta}}$ has a "regularzing effect" in the
sense that the problem (1.1) has a distributional solution for all $f\in
L^{m}(\Omega)$ with $m>1.$ This term provokes some mathematical difficulties,
which make the study of system (1.1) particularly interesting. To our
knowledge, the Schrödinger–Maxwell system with singular term has not been
studied.
The plan of the paper is as follows: in the next section we will study a
problem approximating (1.1), proving existence of solutions. Once again by
using the approximation scheme we prove estimates that allow us to pass to the
limit in the approximate equations and to prove the existence of a weak
solution of (1.1).
In the last part of this Section, we prove the existence of a saddle point
$(u,\varphi)$ of the following functional

$J(u,\varphi)=\left\\{\begin{aligned} \frac{1}{2}\int_{\Omega}a(x)|\nabla
u|^{2}-\frac{1}{2r}\int_{\Omega}M(x)\nabla\varphi\nabla\varphi&\text{ if
}\varphi^{+}|u|^{r}\in L^{1}(\Omega),\\\
+\frac{1}{r}\int_{\Omega}\varphi^{+}|u|^{r}-\frac{1}{1-\theta}\int_{\Omega}f(u^{+})^{1-\theta},&\\\
+\infty,&\text{ otherwise. }\end{aligned}\right.$ (1.6)

defined on $W_{0}^{1,2}(\Omega)\times W_{0}^{1,2}(\Omega).$ Finally, in the
Appendix, we give the proof of an existence result for the first equation of
approximating system and some results allowing to prove the existence of
system (1.1).
Notations. For a given function $v$ we denote by $v^{+}=\max(v,0)$ and by
$v^{-}=-\min(v,0).$ For a fixed $k>0,$ we define the truncation functions
$T_{k}:\mathbb{R}\rightarrow\mathbb{R}$ and
$G_{k}:\mathbb{R}\rightarrow\mathbb{R}$ as follows

$\begin{array}[]{l}T_{k}(s):=\max(-k,\min(s,k))\\\
G_{k}(s):=(|s|-k)^{+}\operatorname{sign}(s)\end{array}$

we will also make use of the notation

$\int_{\Omega}f(x)dx=\int_{\Omega}f$

If no otherwise specified, we will denote by C serval constants whose value
may change from line to line and, sometimes, on the same line. These values
will only depend on the data (for instance C can depend on
$\Omega$,$\theta$,N,k,…) but the will never depend on the indexes of the
sequences we will often introduce.

##  2  A priori estimates and main results

In this section we are interesting to prove regularity of u solution of (1.1)
when the datum f belong to $L^{m}(\Omega),$ with $m>1$

######  Theorem 2.1.

Let $0<\theta<1$ and let a and $M$ be such that (1.2) and (1.3) hold. Let
$r>1$ and let $f$ in $L^{m}(\Omega).$ We have the following:
(i) if $r\geq\frac{2N}{\theta(N-2)+N+2}$, and if
$m\geq\big{(}\frac{r+1}{1-\theta}\big{)}^{\prime}$, there exist $u$ and $\psi$
in $W_{0}^{1,2}(\Omega)$, solutions of (1.1); furthermore,
(a) if $m>\frac{N}{2}$, then u belongs to $L^{\infty}(\Omega)$;
(b) if $\big{(}\frac{r+1}{1-\theta}\big{)}^{\prime}\leq m<\frac{N}{2}$, then
$u$ belongs to $L^{\sigma}(\Omega)$, with $\sigma=$
$\max\left((1+\theta)m^{**},\frac{m(2r+1+\theta)}{m+1}\right)$, where
$m^{**}=\frac{Nm}{N-2m}.$
(ii) if $1<r<\frac{2N}{\theta(N-2)+N+2}$, and if
$m\geq\frac{2N}{\theta(N-2)+N+2}$, there exist $u$ and $\psi$ in
$W_{0}^{1,2}(\Omega)$, solutions of (1.1) ;
furthermore:
(a) if $m>\frac{N}{2}$, then $u$ belongs to $L^{\infty}(\Omega)$;
(b) if $\frac{2N}{\theta(N-2)+N+2}\leq m<\frac{N}{2}$, then $u$ belongs to
$L^{(1+\theta)m^{**}}(\Omega)$, where $m^{**}=\frac{Nm}{N-2m}$.

###  2.1 The Approximated Problem

Let $n$ in $\mathbb{N},$ and let $f_{n}=T_{n}(f),$ so that
$\left\\{f_{n}\right\\}$ is a sequence of $L^{\infty}(\Omega)$ functions,
which strongly converges to $f$ in $L^{m}(\Omega),$ and satisfies the
inequality $\left|f_{n}\right|\leq|f|.$ Thanks to Theorem 4.1 (see the
Appendix), for every $n$ in $\mathbb{N},$ there exist weak solutions $u_{n}$
and $\psi_{n}$ in $W_{0}^{1,2}(\Omega)\cap L^{\infty}(\Omega)$, with
$\psi_{n}\geq 0,$ of the approximate system:

$\left\\{\begin{array}[]{l}u_{n}\in
W_{0}^{1,2}(\Omega):-\operatorname{div}\left(a(x)\nabla
u_{n}\right)+\psi_{n}\left|u_{n}\right|^{r-2}u_{n}=\frac{f_{n}}{(\frac{1}{n}+u_{n})^{\theta}},\,\,\,\,\,\,(I)\\\
\psi_{n}\in
W_{0}^{1,2}(\Omega):-\operatorname{div}\left(M(x)\nabla\psi_{n}\right)=\left|u_{n}\right|^{r},\,\,\,\,(II).\end{array}\right.$
(2.1)

###  2.2 A Priori Estimates

We are now going to prove some a priori estimates on the sequence of
approximated solutions $u_{n}.$

######  Lemma 2.1.

Let $k>0$ be fixed. The sequence $\left\\{T_{k}\left(u_{n}\right)\right\\},$
where $u_{n}$ is a solution to (I) of $\eqref{eq1},$ is bounded in
$W_{0}^{1,2}(\Omega).$

Proof. It is sufficient to take $T_{k}\left(u_{n}\right)$ as a test function
in (I) of problems (2.1). $\square$

######  Lemma 2.2.

Let $0\leq\theta<1,$ and let $f$ belong to $L^{m}(\Omega),$
$m\geq\max\left(\big{(}\frac{r+1}{1-\theta}\big{)}^{\prime},\frac{2N}{\theta(N-2)+N+2}\right)$
and $r>1,$ we have that:
$\bullet$ the sequences $\left\\{u_{n}\right\\}$ and
$\left\\{\psi_{n}\right\\}$ are bounded in $W_{0}^{1,2}(\Omega).$
$\bullet$ the sequence $\left\\{u_{n}\right\\}$ is bounded in
$L^{\sigma}(\Omega),$ with
$\sigma=\max\left((1+\theta)m^{**},\frac{m(2r+1+\theta)}{m+1}\right)$ if
$m<\frac{N}{2},$ and $\sigma=+\infty$ if $m>\frac{N}{2}.$

Proof. $L^{\infty}(\Omega)$ estimate:  Suppose that $m>\frac{N}{2}$, let $k>1$
and define $G_{k}(s)=(s-k)^{+}$. Choosing $G_{k}\left(u_{n}\right)$ as test
function in (2.1), we obtain, recalling (1.2),

$\displaystyle\alpha\int_{\Omega}\left|\nabla
G_{k}\left(u_{n}\right)\right|^{2}$ $\displaystyle\leq\int_{\Omega}M(x)\nabla
G_{k}\left(u_{n}\right)\times\nabla G_{k}\left(u_{n}\right)$
$=\int_{\Omega}\frac{f_{n}G_{k}\left(u_{n}\right)}{(u_{n}+\frac{1}{n})^{\theta}}\leq\int_{\Omega}fG_{k}\left(u_{n}\right),$
(2.2)

where in the last passage we have used that $u_{n}+\frac{1}{n}\geq k\geq 1,$
on the set $\left\\{u_{n}\geq k\right\\}$ where $G_{k}\left(u_{n}\right)\neq
0.$ Starting from inequality (2.2) and arguing as in [18], Théorème 4.2, we
have that there exists a constant $C$ (independent on $n$ ), such that

$\left\|u_{n}\right\|_{L^{\infty}(\Omega)}\leq C\|f\|_{L^{m}(\Omega)}.$

Since $u_{n}$ is bounded in $L^{\infty}(\Omega),$ as well.$\square$
Estimates which use the lower order term In this step, we will suppose that
$m\geq\big{(}\frac{r+1}{1-\theta}\big{)}^{\prime}.$ Taking $u_{n}$ as test
function in the first equation of (2.1), using (1.2) and dropping a positive
term, we obtain

$\alpha\int_{\Omega}\left|\nabla
u_{n}\right|^{2}+\int_{\Omega}\psi_{n}\left|u_{n}\right|^{r}\leq\int_{\Omega}f_{n}u_{n}^{1-\theta},$

while using $\psi_{n}$ as test function in (II) and (1.3), we can see that

$\alpha\int_{\Omega}\left|\nabla\psi_{n}\right|^{2}\leq\int_{\Omega}\psi_{n}\left|u_{n}\right|^{r}.$

Thus we have, once again, that

$\alpha\int_{\Omega}\left|\nabla
u_{n}\right|^{2}+\alpha\int_{\Omega}\left|\nabla\psi_{n}\right|^{2}\leq\int_{\Omega}\left|f_{n}\|u_{n}\right|^{1-\theta}.$
(2.3)

We now follow [12], let $\gamma\geq 1$ to be determined later, and choose
$\left|u_{n}\right|^{2\gamma-2}u_{n}$ as test function in the first equation
of (2.1); using (1.2), and dropping two positive terms, we obtain, since
$\left|f_{n}\right|\leq|f|$

$\alpha(2\gamma-1)\int_{\Omega}\left|\nabla
u_{n}\right|^{2}\left|u_{n}\right|^{2\gamma-2}\leq\int_{\Omega}\left|f_{n}\right|\left|u_{n}\right|^{2\gamma-1-\theta}\leq\int_{\Omega}\left|f\|u_{n}\right|^{2\gamma-1-\theta}.$
(2.4)

On the other hand, taking $\left|u_{n}\right|^{\gamma}$ as a test function in
(II), by estimate (1.3) and using Young inequality, we obtain that

$\displaystyle\int_{\Omega}\left|u_{n}\right|^{r+\gamma}$
$\displaystyle=\gamma\int_{\Omega}M(x)\nabla\psi_{n}\nabla
u_{n}\left|u_{n}\right|^{\gamma-1}$
$\displaystyle\leq\beta\gamma\int_{\Omega}\left|\nabla\psi_{n}\left\|\nabla
u_{n}\right\|u_{n}\right|^{\gamma-1}$ $\displaystyle\leq
C\int_{\Omega}\left|\nabla\psi_{n}\right|^{2}+C\int_{\Omega}\left|\nabla
u_{n}\right|^{2}\left|u_{n}\right|^{2\gamma-2}.$

Using (2.3) and (2.4) with this inequality, we deduce that

$\int_{\Omega}|u_{n}|^{r+\gamma}\leq
C\int_{\Omega}|f||u_{n}|^{1-\theta}+C\int_{\Omega}|f||u_{n}|^{2\gamma-1-\theta},$

so that we have

$\int_{\Omega}\left|u_{n}\right|^{r+\gamma}\leq
C\int_{\Omega}|f||u_{n}|^{1-\theta}+C\int_{\Omega}|f||u_{n}|^{2\gamma-1-\theta},$
(2.5)

where in the last passage, we have used that $2\gamma-1-\theta\geq 1-\theta,$
since $\gamma\geq 1$. We now choose $\gamma=\frac{r(m-1)+m(\theta+1)}{m+1},$
so that $\gamma\geq 1$ since
$m\geq\frac{r+1}{r+\theta}=(\frac{r+1}{1-\theta})^{\prime}.$ With this choice
of $\gamma,$ we obtain
$r+\gamma=\frac{m(2r+1+\theta)}{m+1}=(2\gamma-1-\theta)m^{\prime},$ so by
Hölder inequality, we deduce from (2.5) that

$\int_{\Omega}\left|u_{n}\right|^{\frac{m(2r+1+\theta)}{m+1}}\leq
C\|f\|_{L^{m}(\Omega)}\left[\int_{\Omega}\left|u_{n}\right|^{\frac{m(1-\theta)}{m-1}}\right]^{\frac{1}{m^{\prime}}}+C\|f\|_{L^{m}(\Omega)}\left[\int_{\Omega}\left|u_{n}\right|^{\frac{m(2r+1+\theta)}{m+1}}\right]^{\frac{1}{m^{\prime}}}.$

Thanks to the fact that $m>1,$ we, therefore, obtain (after simplifying equal
terms) that:

$\left[\int_{\Omega}\left|u_{n}\right|^{\frac{m(2r+1+\theta)}{m+1}}\right]^{\frac{1}{m}}\leq
C\|f\|_{L^{m}(\Omega)},$

that is, the sequence $\left\\{u_{n}\right\\}$ is bounded in $L^{s}(\Omega),$
with $s=\frac{m(2r+1+\theta)}{m+1}.$ As a consequence of this estimate, and of
the fact that $s\geq m^{\prime},$ we have that

$\int_{\Omega}|f|\left|u_{n}\right|^{1-\theta}\leq C,$

so that from (2.3), it follows that the sequences $\left\\{u_{n}\right\\}$ and
$\left\\{\psi_{n}\right\\}$ are bounded in $W_{0}^{1,2}(\Omega).$ $\square$
Estimates not using the lower order term in this step, we will suppose that
$m\geq\frac{2N}{\theta(N-2)+N+2}.$ Let $u_{n}$ and $\psi_{n}$ be solutions of
(2.1), let $\gamma\geq 1,$ and take $\left|u_{n}\right|^{2\gamma-2}u_{n}$ as
test function in (I) of (2.1), we have, dropping two positive terms, and using
(1.2),

$\alpha(2\gamma-1)\int_{\Omega}\left|\nabla
u_{n}\right|^{2}\left|u_{n}\right|^{2\gamma-2}\leq\int_{\Omega}f_{n}\left|u_{n}\right|^{2\gamma-2}u_{n}^{1-\theta}.$

By exploiting Sobolev and Hölder inequalities, and since
$\left|f_{n}\right|\leq|f|,$ we deduce

$\displaystyle\frac{\alpha\mathcal{S}(2\gamma-1)}{\gamma^{2}}\left[\int_{\Omega}\left|u_{n}\right|^{2^{*}\gamma}\right]^{\frac{2}{2^{*}}}$
$\displaystyle\leq\alpha(2\gamma-1)\int_{\Omega}\left|\nabla
u_{n}\right|^{2}u_{n}^{2\gamma-2}$
$\displaystyle\leq\int_{\Omega}f_{n}\left|u_{n}\right|^{2\gamma-2}u_{n}^{1-\theta}$
$\displaystyle\leq\|f\|_{L^{m}(\Omega)}\left[\int_{\Omega}\left|u_{n}\right|^{(2\gamma-1-\theta)m^{\prime}}\right]^{\frac{1}{m^{\prime}}}.$

Imposing $2^{*}\gamma=(1+\theta)m^{**},$ we have
$\gamma=\frac{(1+\theta)m^{**}}{2^{*}},$ so that $\gamma\geq 1\left(\right.$
since $\left.(1+\theta)m^{**}\geq 2^{*}\right)$ and
$(2\gamma-1-\theta)m^{\prime}=(1+\theta)m^{**}=:s,$ we have

$\left[\int_{\Omega}\left|u_{n}\right|^{s}\right]^{\frac{2}{2^{*}}}\leq
C\|f\|_{L^{m}(\Omega)}\left[\int_{\Omega}\left|u_{n}\right|^{s}\right]^{\frac{1}{m^{\prime}}},$

so that

$\left[\int_{\Omega}\left|u_{n}\right|^{s}\right]^{\frac{1}{s}}\leq
C\|f\|_{L^{m}(\Omega)}.$

Thus, the sequence $\left\\{u_{n}\right\\}$ is bounded in $L^{s}(\Omega),$
being $m\geq\frac{2N}{N+2+\theta(N-2)},$ we have that the sequence
$\left\\{f_{n}u_{n}^{1-\theta}\right\\}$ is bounded in $L^{1}(\Omega).$
Taking, $u_{n}$ as test function in the equation (I) of (2.1), to obtain,
after using (1.2) and dropping a positive term,

$\alpha\int_{\Omega}\left|\nabla
u_{n}\right|^{2}+\int_{\Omega}\psi_{n}\left|u_{n}\right|^{r}\leq\int_{\Omega}f_{n}u_{n}^{1-\theta}\leq
C,$

so that , the sequence $\left\\{u_{n}\right\\}$ is bounded in
$W_{0}^{1,2}(\Omega),$ and the sequence
$\left\\{\psi_{n}\left|u_{n}\right|^{r}\right\\}$ is bounded in
$L^{1}(\Omega).$ Choosing $\psi_{n}$ as test function in (II) of (2.1), and
using (1.3), we thus have:

$\alpha\int_{\Omega}\left|\nabla\psi_{n}\right|^{2}\leq\int_{\Omega}\psi_{n}\left|u_{n}\right|^{r}\leq
C,$

so that also the sequence $\left\\{\psi_{n}\right\\}$ is bounded in
$W_{0}^{1,2}(\Omega).$ $\square$

###  2.3  Proof of Theorem 2.1

In virtue of the Lemma 2.2, the sequence of approximated solutions $u_{n}$ is
bounded in $W_{0}^{1,2}(\Omega)\cap L^{\sigma}(\Omega)$. Therefore, there
exists a function $u$ belongs to $W_{0}^{1,2}(\Omega)\cap L^{\sigma}(\Omega)$
such that, up to subsequences, $u_{n}$ converges, weakly in
$W_{0}^{1,2}(\Omega),$ weakly in $L^{\sigma}(\Omega),$ and almost everywhere
in $\Omega,$ to some function $u,$ while $\psi_{n}$ converges, weakly in
$W_{0}^{1,2}(\Omega)$ and almost everywhere in $\Omega,$ to some function
$\psi$. Since the sequence $\left\\{\left|u_{n}\right|^{r}\right\\}$ is
bounded in $L^{\rho}(\Omega),$ with $\rho=\frac{\sigma}{r}>1,$ it is weakly
convergent in the same space to $|u|^{r}$. Therefore, one can pass to the
limit in the identities

$\int_{\Omega}M(x)\nabla\psi_{n}\nabla
w=\int_{\Omega}\left|u_{n}\right|^{r}w,\quad\forall w\in C_{c}^{1}(\Omega),$

to have that $\psi$ and $u$ are such that:

$\int_{\Omega}M(x)\nabla\psi\nabla w=\int_{\Omega}|u|^{r}w,\quad\forall w\in
C_{c}^{1}(\Omega).$

Choosing $w=T_{k}(v),$ with $v\geq 0$ in $C_{c}^{1}(\Omega),$ we arrive at

$\int_{\Omega}M(x)\nabla\psi\nabla
T_{k}(v)=\int_{\Omega}|u|^{r}T_{k}(v),\quad\forall k>0.$

Letting $k$ tend to infinity, using Lebesgue theorem in the left-hand side
(recall that $\psi$ belongs to $\left.W_{0}^{1,2}(\Omega)\right),$ and Beppo
Levi theorem in the right-hand side, we deduce that

$\int_{\Omega}M(x)\nabla\psi\nabla v=\int_{\Omega}|u|^{r}v,\quad\forall v\in
C_{c}^{1}(\Omega),v\geq 0.$

If $v$ belongs to $C_{c}^{1}(\Omega),$ writing $v=v^{+}-v^{-},$ and
subtracting the above identities written for $v^{+}$ and $v^{-}$ (not that
both terms are finite, because the left-hand side is finite), we have that

$\int_{\Omega}M(x)\nabla\psi\nabla v=\int_{\Omega}|u|^{r}v,\quad\forall v\in
C_{c}^{1}(\Omega),$

that is, $\psi$ is a weak solution of the second equation. We study now the
first equation: We want to prove that $\psi_{n}\left|u_{n}\right|^{r-1}$
strongly converges to $\psi|u|^{r-1}$ in $L^{1}(\Omega).$ First of all, let
$\varepsilon>0,k>0,$ and choose
$\frac{1}{\varepsilon}u_{n}^{+}T_{\varepsilon}\left(G_{k}\left(u_{n}\right)\right)$
as test function in the first equation of the system. Dropping two positive
terms (those coming from the differential part of the equation), and using
that $\left|f_{n}\right|\leq|f|,$ we obtain

$\displaystyle\frac{1}{\varepsilon}\int_{\left\\{u_{n}\geq
k\right\\}}\quad\psi_{n}\left[u_{n}^{+}\right]^{r}T_{\varepsilon}\left(G_{k}\left(u_{n}\right)\right)\leq\frac{1}{\varepsilon}\int_{\left\\{u_{n}\geq
k\right\\}}|f_{n}||u_{n}|^{1-\theta}T_{\varepsilon}\left(G_{k}\left(u_{n}\right)\right)$
$\displaystyle\quad\leq\frac{1}{\varepsilon}\int_{\left\\{u_{n}\geq
k\right\\}}|f||u_{n}|^{1-\theta}T_{\varepsilon}\left(G_{k}\left(u_{n}\right)\right).$

Letting $\varepsilon$ tend to zero, using Fatou lemma on the left-hand side,
and Lebesgue theorem on the right-hand one (recall that every $u_{n}$ is a
function in $\left.L^{\infty}(\Omega)\right)$, we have that

$\displaystyle\int_{\left\\{u_{n}\geq
k\right\\}}\psi_{n}\left[u_{n}^{+}\right]^{r}$
$\displaystyle\leq\int_{\left\\{u_{n}\geq
k\right\\}}|f|u_{n}\leq\left[\int_{\left\\{u_{n}\geq
k\right\\}}|f|^{m}\right]^{\frac{1}{m}}||u_{n}^{1-\theta}||_{L^{m^{\prime}}(\Omega)}.$
$\displaystyle\leq C\left[\int_{\left\\{u_{n}\geq
k\right\\}}|f|^{m}\right]^{\frac{1}{m}},$

since the sequence $\left\\{u_{n}\right\\}$ is bounded in
$L^{m^{\prime}}(\Omega)$ being $\sigma\geq(1-\theta)m^{\prime}.$ Then

$\int_{\left\\{u_{n}\geq k\right\\}}\psi_{n}\left|u_{n}\right|^{r}\leq
C\left[\int_{\left\\{u_{n}\geq k\right\\}}|f|^{m}\right]^{\frac{1}{m}}.$

Let now $E$ be a measurable subset of $\Omega$. So that

$\displaystyle\int_{E}\psi_{n}u_{n}^{r}$
$\displaystyle=\int_{E\cap\left\\{u_{n}\leq
k\right\\}}\psi_{n}\left|u_{n}\right|^{r}+\int_{E\cap\left\\{u_{n}\geq
k\right\\}}\psi_{n}u_{n}^{r}$ $\displaystyle\leq
k^{r}\int_{E}\psi_{n}+C\left[\int_{\left\\{u_{n}\geq
k\right\\}}|f|^{m}\right]^{\frac{1}{m}}.$

Now we choose $\varepsilon>0$, and let $k$ large enough,we obtain

$C\left[\int_{\left\\{u_{n}\geq
k\right\\}}|f|^{m}\right]^{\frac{1}{m}}\leq\varepsilon,\quad\forall
n\in\mathbb{N}.$

Such a choice of $k$ is possible, since the measure of $\left\\{u_{n}\geq
k\right\\}$ tends to zero as $k$ tends to infinity, uniformly in $n,$ as a
consequence of the boundedness of $\left\\{u_{n}\right\\}$ in (for example)
$L^{1}(\Omega),$ and since $|f|^{m}$ belongs to $L^{1}(\Omega).$ Once $k$ has
been chosen, let $\delta>0$ be such that meas $(E)\leq\delta$ implies that:

$k^{r}\int_{E}\psi_{n}\leq\varepsilon,\quad\forall n\in\mathbb{N}.$

Such a choice of $\delta$ is possible thanks to Vitali theorem, since the
sequence $\left\\{\psi_{n}\right\\}$ is strongly convergent in (at least)
$L^{1}(\Omega)$ being bounded in $W_{0}^{1,2}(\Omega).$ Thus, the sequence
$\left\\{\psi_{n}\left|u_{n}\right|^{r}\right\\}$ is uniformly equi-
integrable. Since it is almost everywhere convergent, Vitali theorem implies
that:

$\psi_{n}\left|u_{n}\right|^{r}\mbox{ strongly converges
to}\,\,\psi|u|^{r}\,\,\mbox{in}\,\,L^{1}(\Omega).$

With the same technique, one can prove that the sequence
$\left\\{\psi_{n}\left|u_{n}\right|^{r-1}\right\\}$ is uniformly equi-
integrable, so that $\psi_{n}\left|u_{n}\right|^{r-1}$ strongly converges to
$\psi|u|^{r-1}$ in $L^{1}(\Omega).$ We want to pass to the limit in (I) of
(2.1). For the limit of the right hand of (I) in (2.1). Let $w=\\{\varphi\neq
0\\}$ then by Lemma 4.2 (see the appendix ), one has, for $\varphi$ in
$C_{c}^{1}(\Omega),$ we have that

$0\leq\left|\frac{f_{n}\varphi}{(u_{n}+\frac{1}{n})^{\theta}}\right|\leq\frac{\|\varphi\|_{L^{\infty}(\Omega)}}{c_{\omega}^{\theta}}f.$

Therefore, by Lebesgue convergence Theorem, we obtain

$\lim_{n\rightarrow+\infty}\int_{\Omega}\frac{f_{n}\varphi}{(u_{n}+\frac{1}{n})^{\theta}}=\int_{\Omega}\frac{f\varphi}{u^{\theta}}.$

On other hand, by Lemma 2.1, we deduce $T_{k}(u_{n})\rightharpoonup T_{k}(u)$
weakly in $W_{0}^{1,2}(\Omega).$ Then by Proposition 4.1 in [6] and Theorem
2.3 in [10], we obtain $\nabla u_{n}$ converges to $\nabla u$ almost
everywhere in $\Omega.$ Now, we can pass to the limit in the identities:

$\int_{\Omega}a(x)\nabla
u_{n}\nabla\eta+\int_{\Omega}\psi_{n}\left|u_{n}\right|^{r-2}u_{n}\eta=\int_{\Omega}\frac{f_{n}}{(\frac{1}{n}+u_{n})^{\theta}}\eta,\quad\forall\eta\in
C_{c}^{1}(\Omega),$

to have that

$\int_{\Omega}a(x)\nabla
u\nabla\eta+\int_{\Omega}\psi|u|^{r-2}u\eta=\int_{\Omega}\frac{f}{u^{\theta}}\eta,\quad\forall\eta\in
C_{c}^{1}(\Omega),$

as desired.

##  3 Saddle points

In this section, we can prove that the solution $(u,\psi)$ of system (1.1)
given by Theorem 2.1 can be seen (under some assumptions on $r$ and $f)$ as a
saddle point of a suitable functional.

######  Remark 3.1.

If $1<r\leq\frac{N+2+(N-2)\theta}{N-2},$ and $f$ belongs to $L^{m}(\Omega),$
with $m\geq(\frac{2^{*}}{1-\theta})^{{}^{\prime}},$ then not only $\psi$ but
also $u$ is a weak solution of the first equation of $\eqref{eq1}.$ Indeed,
since both $u$ and $\psi$ belong to $L^{2^{*}}(\Omega)$ (being
$W_{0}^{1,2}(\Omega)$ functions), we have that:

$\psi|u|^{r-2}u\in L^{\rho}(\Omega),\quad\rho=\frac{2^{*}}{r}$

since, by the assumptions on $r$

$\frac{2^{*}}{r}\geq\frac{2N}{N-2}\frac{N-2}{N+2+(N-2)\theta}=(\frac{2^{*}}{1-\theta})^{{}^{\prime}},$

the function $\psi|u|^{r-2}u$ belongs to the dual of $W_{0}^{1,2}(\Omega);$
therefore, one has (by density of $W_{0}^{1,2}(\Omega)\cap L^{\infty}(\Omega)$
in $\left.W_{0}^{1,2}(\Omega)\right)$

$\int_{\Omega}a(x)\nabla
u\nabla\varphi+\int_{\Omega}\psi|u|^{r-2}u\varphi=\int_{\Omega}\frac{f}{u^{\theta}}\varphi,\quad\forall\varphi\in
C_{c}^{1}(\Omega),$

as desired.

Thanks to this remark, we have the following theorem:

######  Theorem 3.1.

Suppose that a and $M$ satisfy (1.2) and $\eqref{135},$ and that $M$ is
symmetric. Let $1<r\leq\frac{2N}{N+2+(N-2)\theta}$ and let $f$ in
$L^{m}(\Omega),$ with $m\geq(\frac{2^{*}}{1-\theta})^{{}^{\prime}}.$ Then, the
solution $(u,\psi)$ of system (1.1) given by Theorem 2.1 is a saddle point of
the functional $J$ defined in (1.6); that is

$J(u,\varphi)\leq J(u,\psi)\leq J(v,\psi),\quad\forall v,\varphi\in
W_{0}^{1,2}(\Omega)\text{ such that }\psi|v|^{r}\in L^{1}(\Omega).$ (3.1)

Proof. We begin with the second equation of (1.1); by Theorem
$\ref{th21},\psi$ is a weak solution of the second equation of $\eqref{133}.$
Choosing $\frac{\psi-\varphi^{+}}{r},$ with $\varphi$ in
$W_{0}^{1,2}(\Omega),$ as test function, we get

$\frac{1}{r}\int_{\Omega}M(x)\nabla\psi\nabla\left(\psi-\varphi^{+}\right)=\frac{1}{r}\int_{\Omega}|u|^{r}\left(\psi-\varphi^{+}\right).$

Adding and subtracting the term

$\frac{1}{2r}\int_{\Omega}M(x)\nabla\varphi^{+}\nabla\varphi^{+},$

we have, after straightforward passages

$\displaystyle\frac{1}{2r}\int_{\Omega}M(x)\nabla\left(\psi-\varphi^{+}\right)\nabla\left(\psi-\varphi^{+}\right)+\frac{1}{2r}\int_{\Omega}M(x)\nabla\psi\nabla\psi-\frac{1}{r}\int_{\Omega}\psi|u|^{r}$
$\displaystyle\quad=\frac{1}{2r}\int_{\Omega}M(x)\nabla\varphi^{+}\nabla\varphi^{+}-\frac{1}{r}\int_{\Omega}\varphi^{+}|u|^{r}$

since the first term is positive, we, therefore, have that (recall that
$\psi\geq 0,$ so that $\left.\psi=\psi^{+}\right)$

$\frac{1}{2r}\int_{\Omega}M(x)\nabla\psi\nabla\psi-\frac{1}{r}\int_{\Omega}\psi^{+}|u|^{r}\leq\frac{1}{2r}\int_{\Omega}M(x)\nabla\varphi^{+}\nabla\varphi^{+}-\frac{1}{r}\int_{\Omega}\varphi^{+}|u|^{r},$

for every $\varphi$ in $W_{0}^{1,2}(\Omega).$ Changing sign to this identity,
and adding to both sides the (finite, thanks to the assumptions on $f$ and to
the fact that $u$ belongs to $\left.W_{0}^{1,2}(\Omega)\right)$ term

$\frac{1}{2}\int_{\Omega}a(x)|\nabla
u|^{2}-\frac{1}{1-\theta}\int_{\Omega}fu^{1-\theta},$

we arrive

$J(u,\varphi)\leq J(u,\psi),\quad\forall\varphi\in W_{0}^{1,2}(\Omega),$

which is the first half of $\eqref{2100}.$ As for the second, by Remark 3.1,
we obtain that $u$ is a weak solution of the first equation of $\eqref{133}.$
Fix $\psi\in W_{0}^{1,2}(\Omega)$ and let $I$ be the functional defined on
$W_{0}^{1,2}(\Omega)$ as $I(v):=J(v,\psi)$. If the matrix $M(x)$ and a(x) is
symmetric, and if $f$ belongs to $L^{m}(\Omega),$ with
$m>\left(\frac{2^{*}}{1-\theta}\right)^{\prime}$ the solution of (1.1) given
by Theorem 2.1 is the minimum of the functional

$I(v)=\frac{1}{2}\int_{\Omega}a(x)\nabla v\times\nabla
v-\frac{1}{2r}\int_{\Omega}M(x)\nabla\psi\nabla\psi$
$+\frac{1}{r}\int_{\Omega}\psi^{+}|v|^{r}-\frac{1}{1-\theta}\int_{\Omega}fv^{1-\theta},\quad
v\in W_{0}^{1,2}(\Omega)$

which is well defined since $\theta<1$. Indeed, if we consider the functional

$I_{n}(v)=\frac{1}{2}\int_{\Omega}a(x)\nabla v\times\nabla
v-\int_{\Omega}M(x)\nabla\psi\nabla\psi$
$+\frac{1}{r}\int_{\Omega}\psi^{+}|v|^{r}-\frac{1}{1-\theta}\int_{\Omega}f_{n}\left(v^{+}+\frac{1}{n}\right)^{1-\theta},\quad
v\in W_{0}^{1,2}(\Omega)$

with $f_{n}=\min(f(x),n),$ then there exists a minimum $u_{n}$ of $I_{n}.$
From the inequality $I_{n}\left(u_{n}\right)\leq$
$I_{n}\left(u_{n}^{+}\right)$ one can prove that $u_{n}\geq 0,$ so that
$u_{n}$ is a solution of the Euler equation for $I_{n},$ i.e., of (1.1).
Therefore, by Lemma 4.2 and Remark 4.1$,u_{n}$ is unique and increasing in
$n,$ satisfies (4.5) and, from the inequality $I\left(u_{n}\right)\leq
I_{n}(0)\leq C,$ it is bounded in $W_{0}^{1,2}(\Omega)$ (with the same proof
of Lemma 2.2 ). If $u$ is the limit of $u_{n}$, letting $n$ tend to infinity
in the inequalities $I_{n}\left(u_{n}\right)\leq I_{n}(v),$ one finds that
$I(u)\leq I(v),$ so that $u$ is a minimum of $I,$ and $u$ is a solution of
(1.1) (by Theorem 2.1 ). Since $u$ satisfies $\eqref{223},$ Eq. (1.1) can be
seen as the Euler equation for $I;$ note that $I$ is not differentiable on
$W_{0}^{1,2}(\Omega).$ We obtain that:

$J(u,\psi)\leq J(v,\psi),\quad\forall v\in W_{0}^{1,2}(\Omega)\text{ such that
}\psi|v|^{r}\in L^{1}(\Omega),$

which is the second part of (3.1).

##  4 Appendix: Basic Results and Existence for Bounded Data

In this Appendix, we will prove some results concerning the first equation of
system (1.1), and the whole system in the case of bounded data.
Now we prove the existence of a solution to the following approximating
problems:

$\left\\{\begin{array}[]{ll}-\operatorname{div}(a(x)u_{n})+g(x)\left|u_{n}\right|^{r-2}u_{n}=\frac{f_{n}(x)}{\left(\left|u_{n}\right|+\frac{1}{n}\right)^{\theta}}&\text{
in }\Omega\\\ u_{n}>0&\text{ in }\Omega\\\ u_{n}=0&\text{ on
}\partial\Omega\end{array}\right.$ (4.1)

where $\Omega$ is a bounded open subset of $\mathbb{R}^{N},N\geq 2,f$ is a
positive (that is $f(x)\geq 0$ and not zero a.e.) function in $L^{m}(\Omega),$
with $m\geq 1,$ $0<\theta<1$ and $g(x)\in L^{1}(\Omega),$ with

$0<\lambda\leq g(x).$ (4.2)

Due to the nature of the approximation, the sequence un will be increasing
with n, so that the (strict) positivity of the limit will be derived from the
(strict) positivity of any of the un (which in turn will follow by the
standard maximum principle for elliptic equations).

######  Lemma 4.1.

Problem (4.1) has a nonnegative solution $u_{n}$ in $W_{0}^{1,2}(\Omega)\cap
L^{\infty}(\Omega)$.

In order to prove Lemma 4.1 , we will work by approximation, namely by
introducing the following

$\left\\{\begin{array}[]{ll}-\operatorname{div}(a(x)u_{n,k})+g(x)T_{k}\left(\left|u_{n,k}\right|^{r-2}u_{n,k}\right)=\frac{f_{n}(x)}{\left(\left|u_{n,k}\right|+\frac{1}{n}\right)^{\theta}}&\text{
in }\Omega\\\ u_{n,k}=0&\text{ on }\Omega\end{array}\right.$ (4.3)

where $n,k\in\mathbb{N},0\leq f_{n}(x):=T_{n}(f(x))\in
L^{\infty}(\Omega),0<\theta<1$ and $r\geq 1$. Thanks to [[14] $,Thoerem\,2]$,
we know that there exists $u_{n,k}\in W_{0}^{1,2}(\Omega)$ weak solution to
(4.3) for each $n,k\in\mathbb{N}$ fixed. Moreover $u_{n,k}\in
L^{\infty}(\Omega)$ for all $n,k\in\mathbb{N}$ since, if $m\geq 1$ is fixed,
taking $G_{m}\left(u_{n,k}\right)\in W_{0}^{1,2}(\Omega)$ as test function in
(4.3) and using that $G_{m}\left(u_{n,k}\right)$ and
$T_{k}\left(\left|u_{n,k}\right|^{r-2}u_{n,k}\right)$ have the same sign of
$u_{n,k}$, we immediately find that

$\alpha\int_{\Omega}\left|\nabla
G_{m}\left(u_{n,k}\right)\right|^{2}\leq\int_{\Omega}f_{n}G_{m}\left(u_{n,k}\right)$

and so we can proceed as in [19] to end up with $u_{n,k}\in
L^{\infty}(\Omega).$ Moreover the previous $L^{\infty}$ estimate is
independent from $k\in\mathbb{N}$. Now taking $u_{n,k}$ as a test function in
the weak formulation of (4.3), we find that $u_{n,k}$ is bounded in
$W_{0}^{1,2}(\Omega)$ with respect to $k$ for $n\in\mathbb{N}$ fixed. Since
$u_{n,k}$ is bounded in $L^{\infty}(\Omega)$ independently on $k$, for each
$n\in\mathbb{N}$ fixed we choose $k_{n}$ large enough to obtain the following
scheme of approximation

$\left\\{\begin{array}[]{ll}-\operatorname{div}(a(x)u_{n})+g(x)\left|u_{n}\right|^{r-2}u_{n}=\frac{f_{n}(x)}{\left(\left|u_{n}\right|+\frac{1}{n}\right)^{\theta}}&\text{
in }\Omega\\\ u_{n}=0&\text{ on }\partial\Omega\end{array}\right.$ (4.4)

where $u_{n}\in W_{0}^{1,2}(\Omega)\cap L^{\infty}(\Omega)$ is given by
$u_{n,k_{n}}$. As concerns the sign of $u_{n}$, taking
$u_{n}^{-}:=\min\left(u_{n},0\right)\in W_{0}^{1,2}(\Omega)\cap
L^{\infty}(\Omega)$ as test function in (4.4), we find

$\int_{\Omega}a(x)\left|\nabla
u_{n}^{-}\right|^{2}+\int_{\Omega}g(x)\left|u_{n}\right|^{r-2}\left(u_{n}^{-}\right)^{2}=\int_{\Omega}\frac{f_{n}}{\left(\left|u_{n}\right|+\frac{1}{n}\right)^{\theta}}u_{n}^{-}\leq
0$

and so that $u_{n}\geq 0$ almost everywhere in $\Omega$.

######  Lemma 4.2.

The sequence $u_{n}$ is increasing with respect to $n,u_{n}>0$ in $\Omega$,
and for every $\omega\subset\subset\Omega$ there exists $c_{\omega}>0$
(independent on $n$ ) such that

$u_{n}(x)\geq c_{\omega}>0\quad\mbox{ for every }\,\,x\,\,\mbox{
in}\,\,\omega,\mbox{ for every}\,\,n\,\,\mbox{in}\,\,\mathbb{N}.$ (4.5)

Moreover there exists the pointwise limit $u\geq c_{\omega}$ of the sequence
$u_{n}.$

Proof. Since $0\leq f_{n}\leq f_{n+1}$ and $\theta>0$, one has
(distributionally)

$-\operatorname{div}\left(a(x)\nabla
u_{n}\right)+g(x)\left|u_{n}\right|^{r-2}u_{n}=\frac{f_{n}}{\left(u_{n}+\frac{1}{n}\right)^{\theta}}\leq\frac{f_{n+1}}{\left(u_{n}+\frac{1}{n+1}\right)^{\theta}},$

so that

$\begin{array}[]{l}-\operatorname{div}\left(a(x)\left(\nabla u_{n}-\nabla
u_{n+1}\right)\right)+g(x)\left(\left|u_{n}\right|^{r-2}u_{n}-\left|u_{n+1}\right|^{r-2}u_{n+1}\right)\\\
\quad\leq
f_{n+1}\frac{\left(u_{n+1}+\frac{1}{n+1}\right)^{\theta}-\left(u_{n}+\frac{1}{n+1}\right)^{\theta}}{\left(u_{n}+\frac{1}{n+1}\right)^{\theta}\left(u_{n+1}+\frac{1}{n+1}\right)^{\theta}}.\end{array}$

We now choose $\left(u_{n}-u_{n+1}\right)^{+}$ as test function and taking
into account the monotonicity of the function $t\rightarrow|t|^{r-2}t.$ For
the right hand side we observe that

$\left[\left(u_{n+1}+\frac{1}{n+1}\right)^{\theta}-\left(u_{n}+\frac{1}{n+1}\right)^{\theta}\right]\left(u_{n}-u_{n+1}\right)^{+}\leq
0,$

recalling that $f_{n+1}\geq 0$, we obtain

$0\leq\alpha\int_{\Omega}\left|\nabla\left(u_{n}-u_{n+1}\right)^{+}\right|^{2}\leq
0.$

Therefore $\left(u_{n}-u_{n+1}\right)^{+}=0$ almost everywhere in $\Omega$,
which implies $u_{n}\leq u_{n+1}$. Since $u_{1}$ belongs to
$L^{\infty}(\Omega)$, and there exists a constant (only depending on $\Omega$
and $N$ ) such that

$\left\|u_{1}\right\|_{L^{\infty}(\Omega)}\leq
C\left\|f_{1}\right\|_{L^{\infty}(\Omega)}\leq C$

one has

$\begin{array}[]{l}-\operatorname{div}\left(a(x)\nabla
u_{1}\right)+g(x)\left|u_{1}\right|^{r-2}u_{1}\\\
\quad=\frac{f_{1}}{\left(u_{1}+1\right)^{\theta}}\geq\frac{f_{1}}{\left(\left\|u_{1}\right\|_{L^{\infty}(\Omega)}+1\right)^{\theta}}\geq\frac{f_{1}}{(C+1)^{\theta}}.\end{array}$

Since $\frac{f_{1}}{(C+1)^{\theta}}$ is not identically zero, the strong
maximum principle implies that $u_{1}>0$ in $\Omega$ (see [15]; observe that
$u_{1}$ is differentiable by Chapter 4 of [13] , and that (4.5) holds for
$u_{1}$ (with $c_{\omega}$ only depending on $\omega,N,f_{1}$ and $\theta$ ).
Since $u_{n}\geq u_{1}$ for every $n$ in $\mathbb{N},$(4.5) holds for $u_{n}$
(with the same constant $c_{\omega}$ which is then independent on $n$ ).

######  Remark 4.1.

If $u_{n}$ and $v_{n}$ are two solutions of (4.4), repeating the argument of
the first part of the proof of Lemma 4.2 shows that $u_{n}\leq v_{n}.$ By
symmetry, this implies that the solution of (4.4) is unique.

######  Theorem 4.1.

Let $n\in\mathbb{N},$ $f$ be a function in $L^{\infty}(\Omega),$ and let
$r>1.$ Then, there exist $u$ and $\varphi,$ weak solutions of the system

$\left\\{\begin{array}[]{l}u_{n}\in
W_{0}^{1,2}(\Omega):-\operatorname{div}\left(a(x)\nabla
u_{n}\right)+\varphi_{n}|u_{n}|^{r-2}u_{n}=\frac{f}{(\frac{1}{n}+u_{n})^{\theta}},\\\
\varphi_{n}\in
W_{0}^{1,2}(\Omega):-\operatorname{div}(M(x)\nabla\varphi_{n})=|u_{n}|^{r}\end{array}\right.$
(4.6)

Furthermore, $u_{n}$ and $\varphi_{n}$ belong to $L^{\infty}(\Omega),$
$\varphi_{n}>0,$ $u_{n}>0$ and $0<\theta<1.$

Proof. Fix $\psi_{n}\in W_{0}^{1,2}(\Omega),$ let $n\in\mathbf{N}$ and we
define $S:W_{0}^{1,2}(\Omega)\rightarrow W_{0}^{1,2}(\Omega)$ as the operator
such that $v_{n}=S(\psi_{n})$. By the maximum principle, $\psi_{n}>0$, taking
account Lemma 4.1 and Remark 4.1, there, exists a unique solution $v_{n}$ of:

$-\operatorname{div}\left(a(x)\nabla
v_{n}\right)+\psi_{n}|v_{n}|^{r-2}v=\frac{f}{(\frac{1}{n}+v_{n})^{\theta}}.$
(4.7)

Since, by Lemma 4.1, one has

$\|v_{n}\|_{W_{0}^{1,2}(\Omega)}\leq
C_{1}\|f\|_{L^{\infty}(\Omega)},\quad\|v_{n}\|_{L^{\infty}(\Omega)}\leq
C_{1}\|f\|_{L^{\infty}(\Omega)}.$ (4.8)

Now we define $T:W_{0}^{1,2}(\Omega)\rightarrow W_{0}^{1,2}(\Omega)$ as the
operator such that $\zeta_{n}=T(v_{n})=T(S(\psi_{n}))$. Thanks to the results
in [9], $\zeta_{n}$ is the unique weak solution of the Euler-Lagrange equation

$-\operatorname{div}\left(M(x)|\nabla\zeta_{n}|\right)=|v_{n}|^{r},\quad\zeta_{n}\in
W_{0}^{1,2}(\Omega)$ (4.9)

Following [2], we thus have

$\|\zeta_{n}\|_{W_{0}^{1,2}(\Omega)}+\|\zeta_{n}\|_{L^{\infty}(\Omega)}\leq
C_{2}\|v_{n}\|_{L^{\infty}(\Omega)}^{r},$

using (4.8), we deduce that,

$\|\zeta_{n}\|_{W_{0}^{1,2}(\Omega)}+\|\zeta_{n}\|_{L^{\infty}(\Omega)}\leq
C\|f\|_{L^{\infty}(\Omega)}=:R$ (4.10)

where $C_{1}$ and $C_{2}$ are positive constants not depending on $v_{n}.$

We want to prove that $T\circ S$ has a fixed point by Schauder’s fixed point
theorem. By (4.10) we have that $\overline{B_{R}(0)}\subset
W_{0}^{1,2}(\Omega)$ is invariant for $T\circ S.$ Let
$\psi_{k}=:(\psi_{n,k})_{k}\subset W_{0}^{1,2}(\Omega)$ be a sequence weakly
convergent to some $\psi$ and let
$v_{k}=:(v_{n,k})_{k}=S\left(\psi_{k}\right).$ As a consequence of (4.8),
there exists a subsequence indexed by $v_{k}$ such that

$v_{k}\rightarrow v\,\,\,\mbox{weakly
in}\,\,W_{0}^{1,2}(\Omega),\,\,\,\mbox{and a.e. in}\,\,\Omega$ (4.11)
$v_{k}\rightarrow v\text{ weakly-* in }L^{\infty}(\Omega).$

Moreover, we have

$-\operatorname{div}\left(a(x)\nabla
v_{k}\right)=\frac{f}{(\frac{1}{n}+v_{k})^{\theta}}-\left(\psi_{k}^{+}\right)\left|v_{k}\right|^{r-2}v_{k}=:g_{k}$

and, using Hölder’s inequality, the Poincaré inequality and (4.8), we obtain

$\left\|g_{k}\right\|_{L^{1}(\Omega)}\leq
C\|f\|_{L^{\infty}(\Omega)}+\left\|v_{k}\right\|_{L^{\infty}(\Omega)}^{r-1}\left\|\psi_{k}\right\|_{L^{1}(\Omega)}$
$\leq
C\|f\|_{L^{\infty}(\Omega)}+C_{1}\|f\|_{L^{\infty}(\Omega)}^{r-1}\left\|\psi_{k}\right\|_{W_{0}^{1,2}(\Omega)}\leq
C.$

Then, by Theorem 2.1 in [1], we obtain that $\nabla v_{k}$ converges to
$\nabla v_{n}$ almost everywhere in $\Omega$. Since

$\left\|\nabla
v_{k}\right\|_{\left(L^{2}(\Omega)\right)^{N}}=\left\|v_{k}\right\|_{W_{0}^{1,2}(\Omega)}\leq
C_{1}\|f\|_{L^{m}(\Omega)},$

thus, we conclude that

$\nabla v_{k}\rightarrow\nabla v_{n}\text{ weakly in
}\left(L^{2}(\Omega)\right)^{N}\text{ . }$ (4.12)

We recall that $v_{k}$ satisfies

$\int_{\Omega}a(x)\nabla v_{k}\cdot\nabla
w+\int_{\Omega}\psi_{k}\left|v_{k}\right|^{r-2}v_{k}w=\int_{\Omega}\frac{f}{(\frac{1}{n}+v_{k})^{\theta}}w,\quad\forall
w\in C_{c}^{1}(\Omega).$

Letting $k$ tend to infinity, by (4.11),(4.12) and Vitali’s theorem, we have
that

$\int_{\Omega}|\nabla v_{n}\cdot\nabla
w+\int_{\Omega}\psi_{n}|v_{n}|^{r-2}v_{n}w=\int_{\Omega}\frac{f}{(\frac{1}{n}+v_{n})^{\theta}}w,\quad\forall
w\in C_{c}^{1}(\Omega),$

so that $v$ is the unique weak solution of (4.7) and it does not depend on the
subsequence. Hence $v_{k}=S\left(\psi_{k}\right)$ converges to
$v_{n}=S(\psi_{n})$ weakly in $W_{0}^{1,2}(\Omega)$ and weakly-* in
$L^{\infty}(\Omega).$ Then

$\left|v_{k}\right|^{r}\rightarrow|v_{n}|^{r}\text{ strongly in
}L^{q}(\Omega)\,\,\,\forall q<+\infty\text{ and
}\left\|\left|v_{k}\right|^{r}\right\|_{L^{1}(\Omega)}\leq C$ (4.13)

Thanks to (4.10),(4.13) and proceeding in the same way, we get

$\zeta_{k}:=\zeta_{n,k}=T\left(v_{k}\right)\rightarrow\zeta_{n}=T(v_{n})\,\,\mbox{
weakly in }\,W_{0}^{1,2}(\Omega),\,\,\mbox{and weakly-* in
}\,L^{\infty}(\Omega)$ (4.14)
$\left|\nabla\zeta_{k}\right|\nabla\zeta_{k}\rightarrow|\nabla\zeta_{n}|\nabla\zeta_{n}\text{
weakly in }\left(L^{2}(\Omega)\right)^{N}.$

and $\zeta$ is the unique weak solution of (4.9) . Now we want to prove that
$\zeta_{k}$ converges to $\zeta$ strongly in $W_{0}^{1,2}(\Omega).$ In order
to obtain this, by Lemma 5 in [3] , it is sufficient to prove the following

$\lim_{k\rightarrow\infty}\int_{\Omega}|\nabla\left(\zeta_{k}-\zeta_{n}\right)|^{2}=0.$
(4.15)

We have that

$\displaystyle\int_{\Omega}\left(\left|\nabla\zeta_{k}\right|-|\nabla\zeta_{n}|\right)\cdot\nabla\left(\zeta_{k}-\zeta_{n}\right)$
$\displaystyle=\int_{\Omega}\left|\nabla\zeta_{k}\right|^{2}-\int_{\Omega}|\nabla\zeta_{n}|\cdot\nabla\zeta_{k}$
(4.16)
$\displaystyle-\int_{\Omega}\left|\nabla\zeta_{k}\right|\cdot\nabla\zeta_{n}+\|\zeta_{n}\|_{W_{0}^{1,2}(\Omega)}^{2}$

The second and the third term on the right hand side of (4.16) converge, by
(4.14), to $\|\zeta_{n}\|_{W_{0}^{1,2}(\Omega)}^{2}.$ Then it is sufficient to
prove that

$\lim_{k\rightarrow\infty}\left\|\zeta_{k}\right\|_{W_{0}^{1,2}(\Omega)}^{2}=\|\zeta_{n}\|_{W_{0}^{1,2}(\Omega)}^{2}.$
(4.17)

Since $\zeta_{k}$ is equal to $T\left(v_{k}\right)\geq 0$, we deduce that

$\int_{\Omega}\left|\nabla\zeta_{k}\right|^{2}=\int_{\Omega}\left|v_{k}\right|^{r}\zeta_{k}.$

Using Vitali’s Theorem and (4.13), we have that

$\lim_{k\rightarrow\infty}\int_{\Omega}\left|v_{k}\right|^{r}\zeta_{k}=\int_{\Omega}|v_{n}|^{r}\zeta=\|\zeta_{n}\|_{W_{0}^{1,2}(\Omega)}^{2},$

so that (4.17) is true and (4.15) is proved. Hence we have proved that if
$\psi_{k}$ converges to $\psi_{n}$ weakly in $W_{0}^{1,2}(\Omega)$ then
$\zeta_{k}=T\left(S\left(\psi_{k}\right)\right)$ converges to
$\zeta_{n}=T(S(\psi_{n}))$ strongly in $W_{0}^{1,2}(\Omega).$ As a consequence
we have that $T\circ S$ is a continuous operator and that
$T\left(S\left(\overline{B_{R}(0)}\right)\right)\subset W_{0}^{1,2}(\Omega)$
is a compact subset. Then there exists, by Schauder’s fixed point Theorem, a
function $\varphi_{n}$ in $W_{0}^{1,2}(\Omega)$ such that
$\varphi_{n}=T(S(\varphi_{n}))$ and, since $T(v_{n})\geq 0$ for every $v_{n}$
in $W_{0}^{1,2}(\Omega),\varphi_{n}$ is nonnegative. Moreover let
$u_{n}=S(\varphi_{n})$, we have that $u_{n}$ is a weak solution of (4.6) .

## References

  * [1] L. Boccardo, F. Murat, Almost everywhere convergence of the gradients of solutions to elliptic and parabolic equations, Nonlinear Anal. 19 (1992) 581–597.
  * [2] L. Boccardo, L. Orsina, Sublinear elliptic equations in Ls, Houston Math. J. 20 (1994) 99–114.
  * [3] L.Boccardo F. Murat, J.P. Puel, Existence of bounded solutions for nonlinear unilateral problems, Ann. Mat. Pura Appl.152 (1988) 183–196.
  * [4] Boccardo, L., Orsina, L.: Regularizing effect for a system of Schrodinger–Maxwell equations. Adv. Calc. Var. 11, 75–87 (2018).
  * [5] Boccardo, L. Elliptic systems of Schrodinger type in the spirit of BenciFortunato. Adv. Nonlinear Stud. 15, 321–331 (2015).
  * [6] Boccardo Lucio, Croce Gisella: The impact of a lower order term in a Dirichlet problem with a singular nonlinearity. Port. Math. 76 (2019), 407-415.
  * [7] L. Boccardo and T. Gallouet, Nonlinear Elliptic Equations with Right Hand Side Measures, Comm. Partial Differential Equations, 17 (1992), pp. 641-655.
  * [8] L. Boccardo and L. Orsina, Semilinear elliptic equations with singular nonlinearities, Calc. Var. Partial Differential Equations 37 (2009), 363–380.
  * [9] H. Brezis, L. Oswald, Remarks on sublinear elliptic equations, Nonlinear Anal. 10 (1986) 55–64.
  * [10] L. De Cave, Nonlinear elliptic equation with singular nonlinearities. Asymptotic Analysis 84 (2013), 181-195.
  * [11] L. M. De Cave, Nonlinear elliptic equations with singular nonlinearities, Asymptotic Analysis 84 (2013) 181-195.
  * [12] Durastanti, R. Regularizing effect for some p-Laplacian systems. Nonlinear Anal. 188, 425–438 (2019).
  * [13] O. A. Ladyzhhenskaya, N. N. Uraltseva, Linear and Quasilinear Elliptic Equations. Academic Press, New York, 1968 (transl. from the Russian edition, 1964).
  * [14] J. Leray and J.-L. Lions, Quelques résultats de Visik sur les problemes elliptiques non linéaires par les méthodes de Minty-Browder, Bull. Soc. Math. France, 93 (1965), pp. 97-107.
  * [15] J. L. Vazquez, A strong maximum principle for some quasilinear elliptic equations.Appl. Math. Optim. 12 (1984), 191–202.
  * [16] A. Sbai and Y. El hadfi, Regularizing effect of absorption terms in singular and degenerate elliptic problems.arXiv preprint arXiv:2008.03597 (2020).
  * [17] A. Sbai and Y. El hadfi, Degenerate elliptic problem with a singular nonlinearity. arXiv e-prints (2020): arXiv-2005.
  * [18] G. Stampacchia, Le probleme de Dirichlet pour les equations elliptiques du seconde ordre a coefcientes discontinus, Ann. Inst. Fourier (Grenoble) 15 (1965) 189–258.
  * [19] G. Stampacchia, Equations elliptiques du second ordre a coefficients discontinus, Les Presses de l’Universite de Montreal (1966).


# MemPool: A Shared-L1 Memory Many-Core Cluster with a Low-Latency
Interconnect

Matheus Cavalcante  ETH Zürich
Zürich, Switzerland
matheusd _at_ iis.ee.ethz.ch  Samuel Riedel  ETH Zürich
Zürich, Switzerland
sriedel _at_ iis.ee.ethz.ch  Antonio Pullini  GreenWaves Technologies
Grenoble, France
pullinia _at_ iis.ee.ethz.ch  Luca Benini  ETH Zürich
Zürich, Switzerland
Università di Bologna
Bologna, Italy
lbenini _at_ iis.ee.ethz.ch

###### Abstract

A key challenge in scaling shared-L1 multi-core clusters towards many-core
(more than 16 cores) configurations is to ensure low-latency and efficient
access to the L1 memory. In this work we demonstrate that it is possible to
scale up the shared-L1 architecture: We present MemPool, a
$32\text{\,}\mathrm{bit}$ many-core system with $256$ fast RV32IMA “Snitch”
cores featuring application-tunable execution units, running at
$700\text{\,}\mathrm{MHz}$ in typical conditions
(TT/$0.80\text{\,}\mathrm{V}$/$25\text{\,}\mathrm{\SIUnitSymbolCelsius}$).
MemPool is easy to program, with all the cores sharing a global view of a
large L1 scratchpad memory pool, accessible within at most $5$ cycles. In
MemPool’s physical-aware design, we emphasized the exploration, design, and
optimization of the low-latency processor-to-L1-memory interconnect. We
compare three candidate topologies, analyzing them in terms of latency,
throughput, and back-end feasibility. The chosen topology keeps the average
latency at fewer than $6$ cycles, even for a heavy injected load of
$0.33\text{\,}\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$. We
also propose a lightweight addressing scheme that maps each core private data
to a memory bank accessible within one cycle, which leads to performance gains
of up to $20\text{\,}\mathrm{\char 37\relax}$ in real-world signal processing
benchmarks. The addressing scheme is also highly efficient in terms of energy
consumption since requests to local banks consume only half of the energy
required to access remote banks. Our design achieves competitive performance
with respect to an ideal, non-implementable full-crossbar baseline.

###### Index Terms:

Many-core; MIMD; Networks-on-Chips.

##  I Introduction

The failure of Dennard scaling [1] has implied a power wall for computing,
limiting processor frequencies [2]. To achieve high performance under a
limited power budget, core count scaling has been used instead. Multi-core
architectures are the norm today, allowing for high performance and efficient
computing on a wide range of applications.

There are many flavors of multi-core architectures. Some consist of a few
general-purpose high-performance cores sharing a large cache, such as Arm’s
Cortex-A77 [3] and Intel’s Core-i9 processors [4]. Others are highly
specialized processor arrays, usually with a specialized interconnection
network adapted to the intended application domain [5], such as Google’s Pixel
Visual Core [6], an Image Processing Unit (IPU) with a 2D mesh network of
$256$ computing units that communicate with near-neighbor fixed-size messages.

We focus on a common architectural pattern for building multi-core
architectures, namely a cluster of simple cores sharing L1 memory through a
low-latency interconnect [7]. We can find instances of this architectural
pattern across many different domains, from the streaming processors of
Graphics Processing Units (GPUs) [8], to the ultra-low-power domain with
GreenWaves’ GAP8 processor [9], to high-performance embedded signal processing
with the Kalray processor clusters [10], to aerospace applications with the
Ramon Chips’ RC64 system [11]. However, as we will detail in Section II, these
clusters only scale to low tens of cores and suffer from long memory access
latency due to the topology of their interconnects.

In this paper, we set out to design and optimize the first scaled-up _many-
core_ system with shared low-latency L1 memory. To this end, we propose
MemPool, a $32\text{\,}\mathrm{bit}$ RISC-V-based system, with $256$ small
cores sharing a large pool of Scratchpad Memory (SPM). In the absence of
contention, all the SPM banks are accessible within $5$ cycles. The
contributions of this paper are:

  * •

The physical-aware design of MemPool’s architecture, with particular emphasis
on the exploration, design, and optimization of a low-latency processor-
to-L1-memory interconnection network (Section III);

  * •

The creation of a lightweight and transparent memory addressing scheme that
keeps the memory region most often accessed by a core—e.g., the stack—in a
memory bank close by, with minimal access latency (Section IV);

  * •

The complete physical implementation and performance, power, and area analysis
of a large cluster in an advanced GlobalFoundries 22FDX Fully Depleted Silicon
on Insulator (FD-SOI) technology node (Sections V and VI).

MemPool runs at $700\text{\,}\mathrm{MHz}$ in typical conditions
($480\text{\,}\mathrm{MHz}$ in worst-case conditions). The critical path of
the design is dominated by wire delay ($37\text{\,}\mathrm{\char 37\relax}$),
with $27$ out of its $36$ gates being either buffers or inverter pairs. Its
processor-to-L1 interconnect has an average latency of fewer than $6$ cycles,
even for a heavy injected load of
$0.33\text{\,}\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$.
Our addressing scheme helps to keep the memory requests in local banks
accessible within one cycle, which leads to performance gains up to
$20\text{\,}\mathrm{\char 37\relax}$ in real-world benchmarks. This scheme is
also highly effective in terms of energy consumption since local memory
requests consume only half of the energy required for remote memory accesses.
In a nutshell, we demonstrate in this paper that we can scale the core count
of an L1-shared cluster to ten times more cores than what was previously
considered achievable, with cycle counts on various benchmarks that are
comparable with an ideal, non-implementable full-crossbar baseline.

##  II Related Work

In this work, we focus on architectures that feature a cluster of simple cores
sharing low-latency L1 memory [7], which is a very common architectural
pattern. The latest Nvidia Ampere GPUs, for example, have “streaming
multiprocessors” with $32$ double-precision floating-point cores each, sharing
$192\text{\,}\mathrm{KiB}$ of L1 memory [12]. Similar architectural patterns
can also be found in the embedded and ultra-low-power domain. GreenWaves’ GAP8
[9] is an Internet-of-Things (IoT) application-class processor with eight
cores sharing $128\text{\,}\mathrm{KiB}$ of L1 memory. The Snitch cluster [13]
features a cluster of eight RV32IMA cores sharing $128\text{\,}\mathrm{KiB}$
of private SPM accessible within $2$ cycles.

It is commonly believed that the number of cores in a single L1-shared cluster
is bound to the low-tens limit. To scale the core count of many-core systems
into the hundreds, memory sharing is usually done at some high-latency
hierarchy level. Moving to multiple clusters creates challenges in terms of
programmability [10]: tile-based systems are usually connected by meshes that
have long access latency and usually require non-uniform memory access (NUMA)
models of computation.

An example of multi-cluster design is Kalray’s MPPA-256. It integrates $256$
user cores into $16$ clusters. Each MPPA-256 cluster has its own private
address space [10], with the clusters connected by specialized Network-on-
Chips (NoCs). Memory sharing is done at the level of main memory. This design
achieves high efficiency by compromising on memory sharing between clusters,
thus circumventing the need for low-level cache coherence protocols. Tilera’s
TILE-Gx series, on the other hand, equips each tile processor with an L2
cache, and inter-tile and main memory communication are provided by five 2D
mesh networks [14]. Ramon Chips’ RC64 system brings this design pattern to the
harsh aerospace conditions [11]. Its $64$ cores have private SPMs, and share
access to $4\text{\,}\mathrm{MiB}$ of on-chip memory, accessible through a
logarithmic network.

Clearly, there is a push toward high core-count many-core architectures to
tackle embarrassingly parallel problems, such as image processing and machine
learning. Google’s Pixel Visual Core [6], for example, is an IPU with
specialized stencil processors interconnected with a ring network. Within each
stencil processor, an array of $256$ lanes communicate through a rigid read-
neighbor network. This design is highly specialized for systolic algorithms,
which can take advantage of data sharing between neighbors. The rigidity of
memory allocation and the long access latency reduce the applicability of this
highly efficient design to other non-systolic algorithms.

The main novelty of our work is to demonstrate we can scale up the shared-L1
processor cluster in a region that was considered to be completely infeasible
by all previous related works, namely hundreds of cores, with extremely
competitive performance and efficiency.

##  III Architecture

MemPool has a large multi-banked pool of L1 memory, shared among all the
cores. A fully connected non-blocking logarithmic interconnect between the
$256$ cores would be infeasible due to routing congestion and area scaling
[15]. In this work, we show this can be overcome through a hierarchical
approach at the topological and physical level, placing the cores and memory
banks in a regular array connected by low-diameter networks. The following
sections go bottom-up over the main hierarchical modules that compose MemPool.

###  III-A Interconnect architecture

MemPool has two parallel interconnects, one routing the cores’ requests to the
SPM banks, and one routing read responses back. The basic element of both
interconnects is a single-stage $m\times n$ crossbar switch, connecting $m$
masters to $n$ slaves. An optional elastic buffer can be inserted at each
output of the switch, after address decoding and round-robin arbitration, to
break any combinational paths crossing the switch [16].

With the access latency constraint in mind, the interconnect building blocks
are kept as streamlined as possible. They do not provide transaction ordering,
with this task offloaded to the cores. Moreover, since they are used to
transmit single-word-requests from the cores, the network does not use virtual
channels. We use oblivious routing since there is a single path for each
master/slave pair. In terms of network topology, two-dimensional mesh networks
were discarded due to their bad latency scaling. We also avoided Ogras and
Marculescu’s approach [17], which optimizes the latency of a mesh network by
iteratively adding long-ranging links to the topology, but requires an
advanced routing algorithm. MemPool uses a combination of fully-connected
crossbars and minimal radix-$4$ butterfly networks, whose topology can be seen
in Figure 1.

Figure 1: Topology of a $16\text{\times}16$ radix-$4$ butterfly. The boxes
represent the base routing element, a $4\text{\times}4$ logarithmic crossbar
switch.

###  III-B Tile

At the base of MemPool’s hierarchy, we have tiles, whose architecture can be
seen in Figure 2. The tiles are based on Snitch, a $21\text{\,}\mathrm{kGE}$
single-issue single-stage RISC-V-based RV32IMA core [13], whose small area
allows for massive replication. Snitch supports a configurable number of
outstanding load instructions, which is useful to hide the SPM access latency.

Figure 2: Architecture of MemPool tiles, with $K$ request ports and $K$
response ports to remote tiles.

The tile contains $16$ memory banks, and each core has a dedicated port to
access them with one cycle latency. The cores share $K$ master ports to access
remote tiles. An address decoder at the output of the cores statically decides
where to send the cores’ requests. Each tile has $K$ slave request ports,
receiving memory requests from remote tiles. There is a register boundary at
the master request and response ports. Both request and response interconnects
are realized as fully-connected crossbars. Requests hold metadata to route
them back to the correct core and ensure their proper ordering by the Reorder
Buffer (ROB).

Inside each tile, we have a $4$-way L1 instruction cache. The cache has a
$32\text{\,}\mathrm{bit}$ Advanced eXtensible Interface (AXI) refill port.
These ports can be connected to a low-overhead refill-network (e.g., a ring),
which is noncritical, and hence it is not further discussed in this work.

###  III-C MemPool cluster

We evaluated three network topologies for the global interconnection network
between tiles.

####  III-C1 Top${}_{\text{1}}$ – single $64\text{\times}64$ radix-$4$
butterfly

In this configuration, each tile has a single remote port for communication
with remote tiles, i.e., $K=1$. A single $64\text{\times}64$ radix-$4$
butterfly network, with a single pipeline stage midway through its
$\log_{4}(64)=3$ layers, connects the tiles. Therefore, data in any remote
memory bank can be accessed within $5$ cycles. Inside the tile, two
$4\text{\times}1$ crossbars arbitrate the core requests and the memory
responses. This design creates a bottleneck at the tile boundary, since the
traffic of $4$ cores is concentrated through a single port.

####  III-C2 Top${}_{\text{4}}$ – four parallel $64\text{\times}64$ radix-$4$
butterflies

To reduce the traffic bottleneck at the tile boundary, we evaluated a system
that replicates the global $64\text{\times}64$ butterfly interconnect four
times. That is, each tile has four master request and response ports, each
associated with their own $64\text{\times}64$ interconnect. Each master
request port is dedicated to a core, i.e., the remote request interconnect is
effectively a point-to-point connection.

####  III-C3 Top${}_{\text{H}}$ – hierarchical approach

Both Top${}_{\text{1}}$ and Top${}_{\text{4}}$ have a uniform access pattern,
with a $5$ cycle access latency between any two tiles. Hence, requests between
two tiles need to cross the whole interconnect, regardless of how physically
close they are. This leads to decreased efficiency and increased routing
congestion due to longer paths towards the center of the design. We introduce
a new level of hierarchy to maintain the bandwidth of Top${}_{\text{4}}$,
while avoiding long detours between neighboring tiles. Figure 3 shows a _local
group_ of $16$ tiles. Cores access remote memory banks in the same local group
within $3$ cycles thanks to the local interconnect, a $16\text{\times}16$
fully-connected crossbar.

(a) Local group.

(b) Cluster.

Figure 3: MemPool’s Top${}_{\text{H}}$ architecture. Dashed lines indicate a
register boundary.

The MemPool cluster is composed of four local groups, as shown in Figure 3.
Inside each local group, the _north_ (N), _northeast_ (NE), and _east_ (E)
$16\text{\times}16$ radix-$4$ butterfly networks are responsible for
communication between local groups. Each tile has corresponding N, NE, and E
ports, and a _local_ (L) port to access tiles within the same local group. A
$4\text{\times}4$ crossbar inside each tile routes the requests to the correct
port. There is a register boundary at the local groups’ master interfaces,
increasing the zero-load access latency of a memory bank in a remote local
group to $5$ cycles.

##  IV Hybrid Addressing Scheme

MemPool has a sequentially interleaved memory mapping across all memory banks
in order to minimize banking conflicts. However, this also implies that most
memory requests target remote tiles. Optimally, all cores’ requests would
remain in the local tile, which would lower the latency and power consumption.
With the scrambling logic, visualized in Figure 4, we transform an interleaved
memory map into a _hybrid_ one, by adding _sequential regions_ in which
contiguous addresses target a single tile. The top half shows the classical
fully interleaved memory scheme. The address and memory map at the bottom is a
hybrid memory map created by swapping the address bits.

Figure 4: Hybrid addressing scheme via the scrambling logic. The upper and
lower parts show the fully interleaved and the hybrid memory map,
respectively. The outer bars visualize the memory map, with the shades
representing different tiles to which the addresses are mapped. The inner bars
are the addresses, with the scrambling in between leading from one scheme to
the other.

With an interleaved memory addressing scheme, the addresses are interpreted as
follows. The first two bits are the byte offset, after which $b$ bits identify
one of the $2^{b}$ banks of each tile. The next $t$ bits distinguish between
the $2^{t}$ tiles. The remaining address bits are interpreted as the row
offset within each bank.

Consider each tile with a sequential memory region of $2^{S}$ bytes, or
$2^{s}$ rows in the tile’s banks. Since the banks inside the same tile are
still accessed interleaved, we leave the byte and bank offsets untouched. The
next $s$ bits represent part of the tile offset, but we need them to represent
the banks’ next row within the same tile. Therefore, we shift them $t$ bits to
the left—where the row offset starts—and fill them with the $t$ bits we
replaced. This creates $2^{t}$ sequential regions, one for each tile. In
total, we dedicate the first $2^{S+t}$ bytes to sequential regions. We leave
the subsequent bytes interleaved by conditionally applying the scrambling to
addresses inside the sequential memory region.

The hybrid addressing scheme’s key benefit is giving the programmer the
additional capability to store private data, such as a core’s stack, in the
same tile. It reduces the number of transactions between tiles,making better
use of the tiles’ fully-connected, high-throughput crossbar. Sequential memory
regions are prone to banking conflicts. However, by only mapping private data
to the sequential region, the cores’ accesses remain distributed across all
banks. In contrast to aliasing or completely private memories, we do not
complicate programmability but, by applying the same address transformation
for all cores, give all cores the same memory view and keep the L1 memory
region contiguous and shared. The beneficiary of the sequential region are
programs that make heavy use of the stack or work mainly on local data. The
scrambling logic can be efficiently implemented in hardware with a wire
crossing and a multiplexer.

##  V Performance analysis

###  V-A Interconnect architecture

In this section, we analyze the three proposed network topologies in terms of
average latency and throughput, as a function of the injected load $\lambda$
(measured in requests per core per cycle). The results were extracted using an
extensive cycle-accurate Register Transfer Level (RTL) simulation. Each core
is replaced by a synthetic traffic generator, which generates new requests
following a Poisson process of rate $\lambda$. The requests have a random
uniformly distributed destination memory bank.

Figure 5 shows the different topologies’ throughput, with an increasing load.
At a load of
$0.10\text{\,}\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$,
Top${}_{\text{1}}$ becomes congested, while Top${}_{\text{4}}$ and
Top${}_{\text{H}}$ support almost four times that load, about
$0.38\text{\,}\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$.
Top${}_{\text{H}}$’s throughput is slightly higher than Top${}_{\text{4}}$’s,
due to its smaller diameter.

$0$$0.1$$0.2$$0.3$$0.4$$0.5$$0$$0.1$$0.2$$0.3$$0.4$$0.5$Injected load
($\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$)Throughput
($\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$)Top${}_{\text{1}}$Top${}_{\text{4}}$Top${}_{\text{H}}$

(a) Throughput.

$0$$0.1$$0.2$$0.3$$0.4$$0.5$$0$$4$$8$$12$$16$$20$Injected load
($\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$)Average latency
($\mathrm{cycle}$)

(b) Average latency.

Figure 5: Network analysis of the three proposed network topologies, in terms
of throughput and average round-trip latency, as a function of the injected
load.

As a counterpart to Figure 5, Figure 5 shows the average round-trip latency of
the requests for an increasing load. It elevates the point where the
topologies become congested by showing the explosion of the average latency.
The average latency of Top${}_{\text{H}}$ only reaches $6$ cycles at a network
load of
$0.33\text{\,}\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$.
Due to Top${}_{\text{H}}$’s three-cycle latency to a local group, it achieves
a smaller average latency than Top${}_{\text{4}}$. Both results imply that the
Top${}_{\text{1}}$’s traffic concentration at the tiles’ ports leads to
unacceptable performance degradation.

###  V-B Hybrid addressing scheme

To evaluate the performance impact of the hybrid addressing scheme, we analyze
Top${}_{\text{H}}$ taking the hybrid addressing scheme into account. The
traffic generator creates uniformly-distributed requests to the local tile’s
sequential region with probability $p_{\text{local}}$, and outside of this
region with probability $1-p_{\text{local}}$.

Figure 6 shows the throughput of Top${}_{\text{H}}$ for different
$p_{\text{local}}$. It shows a clear trend of an increased throughput for a
larger $p_{\text{local}}$. The scrambling logic, or using local memory in
general, can vastly improve the system’s throughput by preventing the
congestion in the global interconnect, besides lowering the overall average
access latency as seen in Figure 6. An application making
$25\text{\,}\mathrm{\char 37\relax}$ of its accesses to the stack, mapped at
the sequential region, can gain up to $50\text{\,}\mathrm{\char 37\relax}$ in
performance by using the scrambling logic, without changing the code.

$0$$0.2$$0.4$$0.6$$0.8$$1$$0$$0.2$$0.4$$0.6$$0.8$$1$Injected load
($\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$)Throughput
($\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$)

(a) Throughput.

$0$$0.2$$0.4$$0.6$$0.8$$1$$0$$4$$8$$12$$16$$20$Injected load
($\mathrm{request}\text{/}\mathrm{core}\text{/}\mathrm{cycle}$)Average latency
($\mathrm{cycle}$)$0\text{\,}\mathrm{\char 37\relax}$$25\text{\,}\mathrm{\char
37\relax}$$50\text{\,}\mathrm{\char 37\relax}$$100\text{\,}\mathrm{\char
37\relax}$

(b) Average latency.

Figure 6: Network analysis of Top${}_{\text{H}}$ with our hybrid addressing
scheme, as a function of the injected load, for different probabilities of
requesting data in the local tile’s sequential region $p_{\text{local}}$.

###  V-C Benchmarks

In this section, we benchmark MemPool with three real-world highly-
parallelizable signal processing benchmarks’ runtime:

fnum@@desciitemmatmul:

a matrix multiplication of two $64\text{\times}64$ matrices, for which
accesses are predominantly remote;

fnum@@desciitem2dconv:

a 2D discrete convolution with a $3\text{\times}3$ kernel, for which all
accesses are local, except for cores working on windows that require data from
two tiles;

fnum@@desciitemdct:

a 2D discrete cosine transform (DCT) operating on $8\text{\times}8$ blocks
residing in local memory. It uses the stack to store intermediate results,
i.e., all accesses are local, given the stack is mapped to local banks.

We derive our baseline systems from a Snitch cluster [13], which we ideally
scale up to a cluster of $256$ cores connected to $1024$ banks through a
fully-connected crossbar. The systems assume an idealized interconnect with no
routing conflicts that allows all banks to be accessed within one cycle. This
idealized network is physically infeasible due to high routing congestion with
reasonable clock rates. We use two baseline systems, with
(Top${}_{\text{XS}}$) and without (Top${}_{\text{X}}$) scrambling logic, to
compare to the respective Top${}_{\text{$\blacklozenge$S}}$ and
Top${}_{\text{$\blacklozenge$}}$ MemPool systems (where
Top${}_{\text{$\blacklozenge$}}$ stands for any of the topologies defined in
Section III-C).

Figure 7 shows the benchmarks’ performance, normalized by the performance
achieved on the baseline architectures. Top${}_{\text{H}}$ generally beats
Top${}_{\text{4}}$, and they both outperform Top${}_{\text{1}}$ by a factor of
three in the extreme cases. A big performance difference is visible in
_matmul_ , which has many remote accesses. For _dct_ , the three topologies
with the scrambling logic perform equally well, as they all operate on data
mapped to local banks. Without the scrambling logic, the stacks become spread
over all tiles, leading to a significant performance penalty, especially for
Top${}_{\text{1}}$.

Top${}_{\text{H}}$ performs very close to the baseline for all benchmarks,
with a performance penalty of at most $20\text{\,}\mathrm{\char 37\relax}$ for
_matmul_ due to its non-local access pattern. The hybrid memory map increases
the locality of the data accesses, improving overall performance. With _dct_ ,
we match the baseline since we only do local accesses.

_matmul_ _2dconv_ _dct_ $0.0$$0.2$$0.4$$0.6$$0.8$$1.0$Relative
performanceTop${}_{\text{1}}$Top${}_{\text{4}}$Top${}_{\text{H}}$Top${}_{\text{X}}$Top${}_{\text{1S}}$Top${}_{\text{4S}}$Top${}_{\text{HS}}$Top${}_{\text{XS}}$

Figure 7: Performance of the three benchmarks on all topologies, relative to
the baselines.Top${}_{\text{$\blacklozenge$S}}$ represents the
Top${}_{\text{$\blacklozenge$}}$ with scrambling logic.

##  VI Physical implementation

In this section, we analyze the feasibility of MemPool using the
Top${}_{\text{1}}$, Top${}_{\text{4}}$, and Top${}_{\text{H}}$ topologies. We
also analyze them in terms of power, performance, and area results.

###  VI-A Methodology

MemPool was synthesized for GlobalFoundries 22FDX FD-SOI technology using
Synopsys Design Compiler Graphical 2019.12. We used floorplanning information
during synthesis to improve timing correlation with the back-end design. Each
tile has $2\text{\,}\mathrm{KiB}$ of instruction cache, and
$16\text{\,}\mathrm{KiB}$ of SPM—i.e., the MemPool cluster has
$1\text{\,}\mathrm{MiB}$ of L1 SPM. The back-end flow was carried out with
Synopsys IC Compiler II 2019.12, targeting $500\text{\,}\mathrm{MHz}$ at
worst-case conditions
(SS/$0.72\text{\,}\mathrm{V}$/$125\text{\,}\mathrm{\SIUnitSymbolCelsius}$).
MemPool’s power results were extracted with switching activities obtained by
simulating the benchmarks on a netlist back-annotated with post-place-and-
route delay information. We used Synopsys PrimeTime 2019.12 to carry out the
sign-off timing extraction at worst-case conditions and power analysis at
typical conditions
(TT/$0.80\text{\,}\mathrm{V}$/$25\text{\,}\mathrm{\SIUnitSymbolCelsius}$).

###  VI-B Tile implementation

Due to the size and the regularity of MemPool’s design, we used a hierarchical
implementation flow. The tile was implemented as a square
$425\text{\times}425\text{\,}\mathrm{\SIUnitSymbolMicro m}$ macro
($908\text{\,}\mathrm{kGE}$). The most complex tile—i.e., Top${}_{\text{H}}$’s
tile—is shown in Figure 8.

SPMI$C0C1C2C3C3Interconnect

Figure 8: Placed and routed Top${}_{\text{H}}$ tile, as a
$425\text{\times}425\text{\,}\mathrm{\SIUnitSymbolMicro m}$ macro.

The tile’s critical path ($53$ gates long) starts at a register after the
instruction cache, passing through the 2 Snitch core and the request
interconnect, before arriving at a SPM bank. The tile achieves a utilization
of $72.8\text{\,}\mathrm{\char 37\relax}$, the area is dominated by the
instruction cache ($23.6\text{\,}\mathrm{\char 37\relax}$) and by the L1 SPM
($40.2\text{\,}\mathrm{\char 37\relax}$).

###  VI-C MemPool cluster implementation

The MemPool cluster is implemented as a
$4.6\text{\times}4.6\text{\,}\mathrm{mm}$ macro, i.e.,
$55\text{\,}\mathrm{\char 37\relax}$ of the design area is covered by the
tiles. The area overhead was driven by congestion, which is the main
constraint of the design, particularly at the center of the design.

Figure 9 shows the placed-and-routed Top${}_{\text{1}}$ macro. With its
$64\text{\times}64$ radix-$4$ butterfly topology, the connection between any
two remote tiles needs to cross the whole network, regardless of the physical
distance between the tiles. Therefore, all wiring and cells are drawn towards
the center of the design, which is heavily congested. Top${}_{\text{4}}$ is
four times more congested than Top${}_{\text{1}}$, which is enough to make it
physically infeasible with reasonable clock rates. The placed-and-routed
Top${}_{\text{H}}$ macro can be see in Figure 9. Similarly to
Top${}_{\text{1}}$, there is a high cell and wiring density at the center of
the design, due to the connection between the two diagonally placed groups
(Figure 3). However, unlike Top${}_{\text{1/4}}$, Top${}_{\text{H}}$
distributes the cells and the wiring throughout the cluster, through the use
of the directional local group interconnects.

(a) Top${}_{\text{1}}$.

(b) Top${}_{\text{H}}$.

Figure 9: Placed and routed Top${}_{\text{1}}$ and Top${}_{\text{H}}$ MemPool
clusters, implemented as $4.6\text{\times}4.6\text{\,}\mathrm{mm}$ macros. The
dark blue regions are devoid of standard cells.

Top${}_{\text{4}}$ and Top${}_{\text{H}}$ achieve much better performance
results (in terms of latency and throughput) than Top${}_{\text{1}}$. However,
out of these two high-performance topologies, only Top${}_{\text{H}}$ is
physically feasible. The Top${}_{\text{H}}$ MemPool cluster runs at
$700\text{\,}\mathrm{MHz}$ at typical conditions ($480\text{\,}\mathrm{MHz}$
at worst-case conditions). The critical path of this design starts at the
boundary of one local group, passes through the center of the cluster and
another local group until reaching the ROB of a Snitch core. Wire propagation
delay accounts for $37\text{\,}\mathrm{\char 37\relax}$ of the timing of the
critical path, and $27$ out of the $36$ gates in this path are either buffers
or inverter pairs.

###  VI-D Power analysis

In this section, we analyze the power and energy consumption of the
Top${}_{\text{H}}$ MemPool cluster, while running the _matmul_ kernel at
$500\text{\,}\mathrm{MHz}$, in typical operating conditions
(TT/$0.80\text{\,}\mathrm{V}$/$25\text{\,}\mathrm{\SIUnitSymbolCelsius}$).
Each tile consumes, on average, $20.9\text{\,}\mathrm{mW}$. The main culprits
are the instruction cache, at $8.3\text{\,}\mathrm{mW}$
($39.5\text{\,}\mathrm{\char 37\relax}$ of the tile’s total power
consumption), the Snitch cores, at $5.6\text{\,}\mathrm{mW}$
($26.6\text{\,}\mathrm{\char 37\relax}$), and the SPM banks, at
$2.6\text{\,}\mathrm{mW}$ ($12.6\text{\,}\mathrm{\char 37\relax}$). The
request and response interconnects only consume $1.7\text{\,}\mathrm{mW}$,
less than $10\text{\,}\mathrm{\char 37\relax}$ of the tile’s total power
consumption. At the top level, MemPool consumes $1.55\text{\,}\mathrm{W}$,
$86\text{\,}\mathrm{\char 37\relax}$ of which being consumed within the tiles.

Figure 10 summarizes the energy consumption per instruction of the
Top${}_{\text{H}}$ tile, for different instructions. Each local load uses
$8.4\text{\,}\mathrm{pJ}$. About half of this energy consumption,
$4.5\text{\,}\mathrm{pJ}$, is spent at the local interconnect. Remote loads
use the global interconnect, which raises their energy consumption to
$16.9\text{\,}\mathrm{pJ}$. In this case, the interconnects consume
$13.0\text{\,}\mathrm{pJ}$, or $$2.9$\times$ the energy consumed at the
interconnects for a local load.

remote loadlocal
loadmuladd$1.8\text{\,}\mathrm{pJ}$$1.8\text{\,}\mathrm{pJ}$$4.5\text{\,}\mathrm{pJ}$$13.0\text{\,}\mathrm{pJ}$$3.7\text{\,}\mathrm{pJ}$$7.0\text{\,}\mathrm{pJ}$$2.1\text{\,}\mathrm{pJ}$$2.1\text{\,}\mathrm{pJ}$CoreInterconnectMemory
banks Figure 10: Breakdown of Top${}_{\text{H}}$’s energy consumption per
instruction.

As a comparison with arithmetic instructions, a local load uses about as much
energy as a complex instruction such as mul, or $2.3\times$ the energy
consumed by a simple add. Remote loads have the highest energy requirements,
but even then that is only $4.5\times$ the energy of an add. This result
confirms that MemPool is a balanced design that is not severely interconnect-
dominated.

##  VII Conclusion

In this paper, we presented MemPool, a $32\text{\,}\mathrm{bit}$ system with
$256$ ultra-small RV32IMA Snitch cores sharing $1\text{\,}\mathrm{MiB}$ of L1
SPM. MemPool was implemented in GlobalFoundries 22FDX FD-SOI technology,
achieving $700\text{\,}\mathrm{MHz}$ in typical conditions. MemPool’s
architecture was driven by a physical-aware analysis of three different low-
latency processor-to-L1-memory interconnect topologies. We chose the one that
leads to the best performance results in terms of throughput and average
latency, while also being physically feasible. In the absence of contention,
all SPM banks are accessible within $5$ cycles.

We compared MemPool’s performance with a baseline system that has an idealized
crossbar switch. Our system achieves at least $80\text{\,}\mathrm{\char
37\relax}$ of the baseline’s performance on real-world signal processing
benchmarks. Our hybrid addressing scheme helps keep the memory requests in
local banks accessible in one cycle, leading to performance gains up to
$20\text{\,}\mathrm{\char 37\relax}$ in such benchmarks.

Similarly to tile-based systems (which use 2D mesh NoCs), this scheme provides
low-latency access to a memory range. However, our scheme has two advantages:
(a) no aliasing, so that we can use this local range with more flexibility,
and (b) much lower latency and higher bandwidth for all the global accesses,
which enables us to run “non-systolic” algorithms effectively. The addressing
scheme is also highly efficient in terms of energy consumption since local
memory requests consume only half of the energy required for remote accesses.

## References

  * [1] R. H. Dennard, F. H. Gaensslen, V. L. Rideout, E. Bassous, and A. R. LeBlanc, “Design of ion-implanted MOSFET’s with very small physical dimensions,” _IEEE Journal of Solid-State Circuits_ , vol. 9, no. 5, pp. 256–268, Oct. 1974.
  * [2] H. Esmaeilzadeh, E. Blem, R. S. Amant, K. Sankaralingam, and D. Burger, “Dark silicon and the end of multicore scaling,” in _2011 38th Annual International Symposium on Computer Architecture (ISCA)_ , Sep. 2011, pp. 365–376.
  * [3] Arm Corp., _Arm Cortex-A77 Core_ , Cambridge, UK, Oct. 2019, revision r1p1.
  * [4] Intel Corp., “Intel Core i9-10900X X-Series processor,” Oct. 2019. [Online]. Available: https://www.intel.com/content/www/us/en/products/processors/core/x-series/i9-10900x.html
  * [5] G. Blake, R. G. Dreslinski, and T. Mudge, “A survey of multicore processors,” _IEEE Signal Processing Magazine_ , vol. 26, no. 6, 2009.
  * [6] J. Redgrave, A. Meixner, N. Goulding-Hotta, A. Vasilyev, and O. Shacham, “Pixel Visual Core: Google’s fully programmable image, vision and AI processor for mobile devices,” in _2018 IEEE Hot Chips 30 Symposium (HC30)_. Cupertino, US: IEEE Technical Committee on Microprocessors and Microcomputers, Aug. 2018.
  * [7] H. Ayed, J. Ermont, J.-L. Scharbarg, and C. Fraboul, “Towards a unified approach for worst-case analysis of Tilera-like and KalRay-like NoC architectures,” in _2016 IEEE World Conference on Factory Communication Systems (WFCS)_ , May 2016.
  * [8] E. Lindholm, J. Nickolls, S. Oberman, and J. Montrym, “NVIDIA Tesla: A unified graphics and computing architecture,” _IEEE Micro_ , vol. 28, no. 2, pp. 39–55, Mar. 2008.
  * [9] GreenWaves Technologies Corp., _GAP8 Hardware Reference Manual_ , Grenoble, FR, Jan. 2019, version 1.5.5. [Online]. Available: https://gwt-website-files.s3.amazonaws.com/gap8_datasheet.pdf
  * [10] B. D. de Dinechin, P. G. de Massas, G. Lager, C. Léger, B. Orgogozo, J. Reybert, and T. Strudel, “A distributed run-time environment for the Kalray MPPA-256 integrated manycore processor,” _Procedia Computer Science_ , vol. 18, pp. 1654 – 1663, 2013, 2013 International Conference on Computational Science.
  * [11] R. Ginosar, P. Aviely, T. Israeli, and H. Meirov, “RC64: High performance rad-hard manycore,” in _2016 IEEE Aerospace Conference_ , Mar. 2016.
  * [12] Nvidia Corp., _Nvidia A100 Tensor Core GPU Architecture_ , 1st ed., 2020\. [Online]. Available: https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/nvidia-ampere-architecture-whitepaper.pdf
  * [13] F. Zaruba, F. Schuiki, T. Hoefler, and L. Benini. (2020, Feb.) Snitch: A 10 kGE pseudo dual-issue processor for area and energy efficient execution of floating-point intensive workloads. arXiv:2002.10143v1 [cs.AR].
  * [14] D. Wentzlaff, P. Griffin, H. Hoffmann, L. Bao, B. Edwards, C. Ramey, M. Mattina, C. Miao, J. F. Brown III, and A. Agarwal, “On-chip interconnection architecture of the Tile processor,” _IEEE Micro_ , vol. 27, no. 5, pp. 15–31, Nov. 2007.
  * [15] G. Michelogiannakis, J. Balfour, and W. J. Dally, “Elastic-buffer flow control for on-chip networks,” in _2009 IEEE 15th International Symposium on High Performance Computer Architecture_ , Feb. 2009, pp. 151–162.
  * [16] G. Dimitrakopoulos, A. Psarras, and I. Seitanidis, _Microarchitecture of Network-on-Chip Routers: A Designer’s Perspective_. Springer Publishing Company, 2014.
  * [17] U. Y. Ogras and R. Marculescu, “‘It’s a small world after all’: NoC performance optimization via long-range link insertion,” _IEEE Transactions on Very Large Scale Integration (VLSI) Systems_ , vol. 14, no. 7, pp. 693–706, Jul. 2006.