## Section: Research Program

### Distributed Computing

The distributed computing community can be viewed as a union of two
sub-communities. This is also true in our team. Although they have interactions, they are disjoint enough not to leverage each other's
results. At a high level, one is mostly interested in timing issues (clock
drifts, link delays, crashes, etc.) while the other one is mostly interested in
spatial issues (network structure, memory requirements, etc.). Indeed, one
sub-community is mostly focusing on the combined impact of asynchronism and
faults on distributed computation, while the other addresses the impact of
network structural properties on distributed computation. Both communities
address various forms of computational complexity, through the analysis of
different concepts. This includes, e.g., failure detectors and wait-free
hierarchy for the former community and compact labeling schemes, and computing
with advice for the latter community. We have an ambitious project to achieve
the reconciliation between the two communities by focusing on the same class of
problems, the yes/no-problems, and establishing the scientific foundations for
building up a consistent theory of computability and complexity for distributed
computing. The main question addressed is therefore: is the absence of globally
coherent computational complexity theories covering more than fragments of
distributed computing, inherent to the field? One issue is obviously the types
of problems located at the core of distributed computing. Tasks like consensus,
leader election, and broadcasting are of very different nature. They are not
*yes-no* problems, neither are they minimization problems. Coloring and
Minimal Spanning Tree are optimization problems but we are often more interested
in constructing an optimal solution than in verifying the correctness of a given
solution. Still, it makes full sense to analyze the *yes-no* problems
corresponding to checking the validity of the output of tasks. Another issue is
the power of individual computation. The FLP impossibility result as well as
Linial's lower bound hold independently of the individual computational power
of the involved computing entities. For instance, the individual power of
solving NP-hard problems in constant time would not help overcoming these limits,
which are inherent to the fact that computation is distributed. A third issue
is the abundance of models for distributed computing frameworks, from shared
memory to message passing, spanning all kinds of specific network structures
(complete graphs, unit-disk graphs, etc.) and/or timing constraints (from
complete synchronism to full asynchronism). There are however models, typically
the wait-free model and the LOCAL model, which, though they do not claim to
reflect accurately real distributed computing systems, enable focusing on some
core issues. Our ongoing research program is to carry many important notions of
Distributed Computing into a *standard* computational complexity.