Michele Ancona
email: michi.ancona@gmail.com

Yohann Le Floch
email: ylefloch@unistra.fr

Berezin-Toeplitz operators, Kodaira maps, and random sections

Keywords: 2020 Mathematics Subject Classification. 81S10, 81Q20, 53D50, 32L05, 32Q15, 33C05, 60G15 Random sections, Berezin-Toeplitz operators, Currents of integration, Fubini-Study forms

We study the zeros of sections of the form T k s k of a large power L ⊗k → M of a holomorphic positive Hermitian line bundle over a compact Kähler manifold M , where s k is a random holomorphic section of L ⊗k and T k is a Berezin-Toeplitz operator, in the limit k → +∞. In particular, we compute the second order approximation of the expectation of the distribution of these zeros. In a ball of radius of order k -1 2 around x ∈ M , assuming that the principal symbol f of T k is real-valued and vanishes transversally, we show that this expectation exhibits two drastically different behaviors depending on whether f (x) = 0 or f (x) = 0. These different regimes are related to a similar phenomenon about the convergence of the normalized Fubini-Study forms associated with T k : they converge to the Kähler form in the sense of currents as k → +∞, but not as differential forms (even pointwise). This contrasts with the standard case f = 1, in which the convergence is in the C ∞ -topology. From this, we are able to recover the zero set of f from the zeros of T k s k .

Introduction

The motivation for this paper stems from the following inverse problem: given the action of a quantum observable on random quantum states, can one recover properties of the underlying classical observable?

This question is part of the broader goal to study quantum footprints of classical observables, which has been the object of intense research in the last decades. Here we are specifically interested in the following inverse problem: if f ∈ C ∞ (M ) is a classical observable on a phase space M and T : H → H is a quantum observable quantizing f acting on a Hilbert space H, which properties of f can be derived from the study of T ? This type of inverse problems is often seen from a spectral point of view, as in the seminal article by Kac [START_REF] Kac | Can one hear the shape of a drum?[END_REF] dealing with the spectrum of the Laplacian on a planar domain, and the numerous works that it inspired (see for instance the surveys [START_REF] Datchev | Inverse problems in spectral geometry[END_REF][START_REF] Zelditch | Survey on the inverse spectral problem[END_REF]). Here we work in a semiclassical context, which means that the Hilbert spaces and quantum observables depend on a small parameter , and we are interested in the limit → 0. Inverse spectral problems in this setting have been intensively studied by various authors, see for instance the recent review [START_REF] San | Quantum footprints of Liouville integrable systems[END_REF] and the references therein.

Here we propose another approach, based on the observation of the action of T on quantum states obtained as random combinations of pure states: from the observation of this action for a large number of realizations of the random state, can one infer some properties of f ?

In this paper we answer this last question positively. More precisely, we are able to recover all the regular levels of f from the zeros of certain random holomorphic sections of (a large power of) a holomorphic line bundle over M .

Framework

We work in the context of geometric quantization [START_REF] Souriau | Quantification géométrique[END_REF][START_REF] Kostant | Quantization and unitary representations[END_REF] and Berezin-Toeplitz operators [START_REF] Berezin | General concept of quantization[END_REF][START_REF] Boutet De Monvel | The spectral theory of Toeplitz operators[END_REF][START_REF] Bordemann | Toeplitz quantization of Kähler manifolds and gl(N ), N → ∞ limits[END_REF][START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF][START_REF] Ma | Toeplitz operators on symplectic manifolds[END_REF]. This means that the phase space M is a compact Kähler manifold and that the quantum observables are operators acting on spaces of holomorphic sections H 0 (M, L ⊗k ), where L → M is a positive line bundle and k is an integer; the semiclassical limit is k → +∞ (in this setting the small parameter corresponds to k -1 ). For each k, the space H 0 (M, L ⊗k ) is finite-dimensional and carries a natural L 2 Hermitian product •, • L 2 induced by the choice of a positively curved Hermitian metric h on L. This Hermitian product is defined as

σ, τ L 2 = x∈M h k x (σ(x), τ (x)) ω n n!
for any σ, τ ∈ H 0 (M, L ⊗k ), where ω = ic 1 (L, h).

Berezin-Toeplitz operators. To any classical observable f ∈ C ∞ (M ), one can naturally associate a sequence of operators T k (f ) : H 0 (M, L ⊗k ) → H 0 (M, L ⊗k ) as follows. Let L 2 (M, L ⊗k ) be the Hilbert space obtained as the closure of C ∞ (M, L ⊗k ) with respect to •, • L 2 , and let Π k : L 2 (M, L ⊗k ) → H 0 (M, L ⊗k ) be the orthogonal projector from this space to the space of holomorphic sections. Then

T k (f ) : s ∈ H 0 (M, L ⊗k ) → Π k (f s) ∈ H 0 (M, L ⊗k ).
This is an instance of Berezin-Toeplitz operator with principal symbol f . More generally, Berezin-Toeplitz operators are operators of the form

T k = Π k f (•, k) + R k : H 0 (M, L ⊗k ) → H 0 (M, L ⊗k )
where (f (•, k)) k∈N is a sequence of elements of C ∞ (M ) with an asymptotic expansion of the form

f (•, k) = f 0 + k -1 f 1 + k -2 f 2 + . . .
for the C ∞ topology, and the operator norm of R k is a O(k -N ) for every N ∈ N. The first term f 0 in the asymptotic expansion of f (•, k) is called the principal symbol of T k .

Random sections and Kodaira maps. Given a Berezin-Toeplitz operator T k , we study the zeros of T k s k where s k is a random holomorphic section of L ⊗k of the form

s k = N k =1 α e , α ∼ N C (0, 1) i.i.d. ( 1
)
where N k = dim H 0 (M, L ⊗k ) and (e ) 1≤ ≤N k is any orthonormal basis of H 0 (M, L ⊗k ). Such random zeros are related to the properties of some Kodaira maps associated with T k . Before defining those, we recall some facts about the standard Kodaira maps. Let e 1 , . . . , e N k be any orthonormal basis of H 0 (M, L ⊗k ). By the Kodaira Embedding Theorem we have that, for k large enough, the base locus ∩ s∈H 0 (M,L ⊗k ) {s = 0} is empty and the Kodaira map

Φ k : x ∈ M → [e 1 (x) : • • • : e N k (x)] ∈ CP N k -1
is an embedding. The pull-back Φ * k ω F S of the Fubini-Study form does not depend on the choice of the orthonormal basis and its cohomology class [Φ * k ω F S ] equals k [ω]. It is then natural to compare the forms 1 k Φ * k ω F S and ω with each other. Tian's asymptotic isometry theorem [START_REF] Bouche | Convergence de la métrique de Fubini-Study d'un fibré linéaire positif[END_REF][START_REF] Tian | On a set of polarized Kähler metrics on algebraic manifolds[END_REF][START_REF] Zelditch | Szegö kernels and a theorem of Tian[END_REF] says that the former converges to the latter in the C ∞ topology, as k → +∞. More precisely, for any m ∈ N, we have

1 k Φ * k ω F S -ω C m = O(k -1 ).
Using this result, Shiffman and Zelditch [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF] proved that the expected normalized current of integration Z s of a random section s ∈ H 0 (M, L ⊗k ) converges weakly in the sense of currents to the Kähler form. In this paper, we will give similar results about Kodaira maps and zeros of random sections twisted by Berezin-Toeplitz operators.

Main results

(Non)-convergence of the Fubini-Study forms

Let e 1 , . . . , e N k be any orthonormal basis of H 0 (M, L ⊗k ), and let T k be a Berezin-Toeplitz operator with principal symbol f ∈ C ∞ (M, R). We consider the following "twisted" Kodaira map:

Φ T k : M CP N k -1 , x → [(T k e 1 )(x) : • • • : (T k e N k )(x)], (2)
which is well-defined outside the locus s∈H 0 (M,L ⊗k ) {T k s = 0}. The first goal of the paper is to give a natural sufficient condition on f for which the map Φ T k is everywhere well-defined.

Theorem 1.1. Assume that the principal symbol f of T k is a smooth, real-valued function which vanishes transversally. Then, for k large enough, the map Φ T k is welldefined on the whole M , that is s∈H 0 (M,L ⊗k ) {T k s = 0} = ∅.

As a consequence of Theorem 1.1 we have that the pull-back of the Fubini-Study form ω F S is a smooth form defined on the whole M (rather than just a current). The pull-backed forms Φ * T k ω F S are usually also called Fubini-Study forms. The cohomology class of Φ * T k ω F S equals k[ω]; it is then natural to ask about the convergence of the sequence of smooth forms 1 k Φ * T k ω F S k∈N . The following theorem deals with the weak convergence of the normalized Fubini-Study forms.

Theorem 1.2. Assume that the principal symbol f ∈ C ∞ (M, R) of T k is a smooth function vanishing transversally. The sequence of smooth forms 1 k Φ * T k ω F S converges to ω weakly in the sense of currents.

The next result estimates the error term

1 k Φ * T k ω F S -ω, which explicitly involves f . Theorem 1.3. Let f ∈ C ∞ (M,
R) be a smooth function vanishing transversally, and let T k be a Berezin-Toeplitz operator with principal symbol f . Then log f 2 is locally integrable and

Φ * T k ω F S -kω -→ k→+∞ i∂ ∂ log f 2
in the sense of currents.

The following theorem shows that we cannot expect better than the convergence in the sense of currents as soon as f -1 (0) = ∅. This shows a striking difference with the Fubini-Study forms associated with the standard Kodaira maps. As recalled in Section 2.1, the Kähler form ω induces a Riemannian metric on M , which by duality induces a metric on T * M , that we denote by | • | ω .

Theorem 1.4. Let f ∈ C ∞ (M, R) be a smooth function vanishing transversally, and let T k be a Berezin-Toeplitz operator with principal symbol f . Then the sequence

1 k Φ * T k ω F S converges to ω locally uniformly on M \ f -1 (0) in the C ∞ norm. How- ever, 1 k Φ * T k ω F S
does not converge to ω in the C 0 -topology (and even pointwise) on f -1 (0). More precisely,

1 k Φ * T k ω F S x -ω x -→ k→+∞    0 if f (x) = 0, 4i(∂f ∧ ∂f )x |df (x)| 2 ω if f (x) = 0.

Fubini-Study forms at Planck scale

Theorem 1.4 shows that the zero locus of f plays a fundamental role in the nonconvergence of the Fubini-Study forms 1 k Φ * T k ω F S to ω as differential forms. Indeed the difference 1 k Φ * T k ω F S x -ω x exhibits two very different behaviors on and outside f -1 (0). In order to further study these two regimes, a natural idea is to work on a smaller scale which allows us to localize around any given point. We show that the scale k -1 2 (that we call Planck scale in the rest of the paper) is well-adapted to this problem. Remark that the Planck scale k -1 2 is natural in both quantum mechanics and Kähler geometry (it is the scale at which the Bergman kernel displays its universality [START_REF] Bleher | Universality and scaling of correlations between zeros on complex manifolds[END_REF][START_REF] Dai | On the asymptotic expansion of Bergman kernel[END_REF][START_REF] Ma | Holomorphic Morse inequalities and Bergman kernels[END_REF]). At this scale, we are able to produce precise asymptotics for the difference 1 k Φ * T k ω F S -ω in the sense of currents. This is the content of Theorem 1.5 (for the behavior on f -1 (0)) and Theorem 1.7 (for the behavior outside f -1 (0)). Let n = dim C M . Theorem 1.5. Let f ∈ C ∞ (M, R) be a smooth function vanishing transversally, and let T k be a Berezin-Toeplitz operator with principal symbol f . Let ϕ be a smooth (n -1, n -1)-form on M . Then, for any x ∈ f -1 (0) we have

B(x, R √ k ) Φ * T k ω F S -kω ∧ ϕ = k -n+1 2F ϕ (x) |df (x)| 2 ω C n (R) + O(k -n+ 1 2 ).
Here

B(x, R √ k ) is the geodesic ball of radius R √ k around x, F ϕ is the function defined as i∂f ∧ ∂f ∧ ϕ = F ϕ ω n n!
and C n (R) is a positive (and explicit) universal constant, only depending on R and n.

The constant C n (R) in this statement is computed in Proposition 4.4 and equals

C n (R) = 2 n π n (n -1)! (2n -2)! n-1 =0 n -3 2 2 R 2 -(1 + 2R 2 ) n-3 2 (3)
with α = α(α-1)...(α-+1) ! for α ∈ R, ∈ N >0 and α 0 = 1. In particular, C 1 (R) = 2π 1 - 1 √ 1 + 2R 2 .
As can be seen in the course of the proof of Proposition 4.4, the constant C n (R) can also be expressed in terms of hypergeometric functions. This seems to reflect some arithmetic flavor that is a priori surprising (at least for the authors).

Note that when ϕ = ω n-1 (n-1)! the first order term in the expansion of Theorem 1.5 is universal (it depends neither on f nor on X, but only on n and R). More precisely: Corollary 1.6. Let f ∈ C ∞ (M, R) be a smooth function vanishing transversally, and let T k be a Berezin-Toeplitz operator with principal symbol f . Then, for any x ∈ f -1 (0) we have

B(x, R √ k ) Φ * T k ω F S -kω ∧ ω n-1 (n -1)! = k -n+1 C n (R) + O(k -n+ 1 2 )
where C n (R) is as in Equation (3).

The next theorem is the analogue of Theorem 1.5 in the case where the point x is not a zero of f . Theorem 1.7. Let f ∈ C ∞ (M, R) be a smooth function vanishing transversally, and let T k be a Berezin-Toeplitz operator with principal symbol f . Let ϕ be a smooth (n -1, n -1)-form on M . For any x / ∈ f -1 (0) we have

B(x, R √ k ) Φ * T k ω F S -kω ∧ ϕ = k -n R 2n L ϕ (x)Vol(B R 2n (0, 1)) + O(k -n-1 2 ).
Here B(x, R √ k ) is the geodesic ball of radius R √ k centered at x, and L ϕ is the function defined as

i∂ ∂ log f 2 ∧ ϕ = L ϕ ω n n!
It is worth noting the two different behaviors of Theorems 1.5 and 1.7. Indeed, if x ∈ f -1 (0), the order of magnitude of

B(x, R √ k ) Φ * T k ω F S -kω ∧ϕ is O(k -n+1 ), whereas if x / ∈ f -1 (0) this order is O(k -n ).
This should be compared to Theorem 1.4, in which the differential forms 1 k Φ * T k ω F S did not converge exactly on the zero locus of f . Remark 1.8. If T k is a Berezin-Toeplitz operator with principal symbol f , then the operator T k -λId is a Berezin-Toeplitz operator with principal symbol f -λ. So up to replacing f by f -λ, we can replace f -1 (0) by any regular level of f in the above statements and discussions.

Applications to random zeros

In this section we study how the action of a Berezin-Toeplitz operator affects the zeros of random sections s ∈ H 0 (M, L ⊗k ). Here, "random" is with respect to the natural Gaussian measure µ k on H 0 (M, L ⊗k ) given by dµ k (s) = 1 π N k e -s 2 L 2 ds, where ds is the Lebesgue measure on (H 0 (M, L ⊗k ), •, • L 2 ) and N k = dim H 0 (M, L ⊗k ). Choosing a random element with respect to this probability measure amounts to considering a random linear combination as in Equation [START_REF] Berezin | General concept of quantization[END_REF]. Such random holomorphic sections were introduced in [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF] and have been intensively studied since (see for example [START_REF] Bleher | Universality and scaling of correlations between zeros on complex manifolds[END_REF][START_REF] Shiffman | Number variance of random zeros on complex manifolds[END_REF][START_REF] Dinh | Distribution des valeurs de transformations méromorphes et applications[END_REF][START_REF] Coman | Equidistribution results for singular metrics on line bundles[END_REF]). This can be seen as a natural geometric generalization of the more classical orthogonal polynomials.

Given a holomorphic section s ∈ H 0 (M, L ⊗k ), we denote by Z s the current of integration on {s = 0}. This is defined by its action on smooth (n -1, n -1)-forms ϕ as Z s , ϕ = {s=0} ϕ.

Given a Berezin-Toeplitz operator T k , we will be interested in the current-valued random variable s ∈ H 0 (M, L ⊗k ) → Z T k s . Recall that the expected value E[Z T k s ] of Z T k s is defined by the formula

E[ Z T k s , ϕ ] = s∈H 0 (M,L ⊗k ) {T k s=0} ϕ dµ k (s)
for any smooth (n -1, n -1)-form ϕ. For the basic case f = 1 (which corresponds to T k = Id), such an expected current of integration has been studied in [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF], where it is shown that

1 k E Z s , ϕ → 1 2π M ω ∧ ϕ.
Note that the factor 2π does not appear in [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF] due to a different convention (the volume of a complex projective line equals 1 in [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF] and 2π in the present paper). The following result is a generalization of [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF] when the random section is perturbated by a Berezin-Toeplitz operator.

Theorem 1.9. Let f ∈ C ∞ (M, R) be a smooth function vanishing transversally and let T k be a Berezin-Toeplitz operator with principal symbol f . Then

1 k E[Z T k s ] -→ k→+∞ ω 2π
weakly in the sense of currents. Moreover, we have

E[Z T k s ] - kω 2π -→ k→+∞ i 2π ∂ ∂ log f 2
weakly in the sense of currents.

As in Section 1.2.2, if we look at the Planck scale k -1 2 we can obtain much more precise asymptotics.

Theorem 1.10. Let f ∈ C ∞ (M, R) be a smooth function vanishing transversally, and let T k be a Berezin-Toeplitz operator with principal symbol f . Let x ∈ M . Let ϕ be a smooth (n -1, n -1)-form on M . For every R > 0,

B(x, R √ k ) E[Z T k s ] - k 2π ω ∧ϕ =    k -n+1 Fϕ(x) π|df (x)| 2 ω C n (R) + O(k -n+ 1 2 ) if x ∈ f -1 (0), k -n R 2n Lϕ(x)Vol(B R 2n (0,1)) 2π + O(k -n-1 2 ) if x / ∈ f -1 (0).
Here B(x, R √ k ), F ϕ , L ϕ and C n (R) are as in Theorems 1.5 and 1.7. Theorem 1.9 and Theorem 1.10 follow from Theorems 1.2, 1.3, 1.5 and 1.7 after the remark that E[Z T k s ] and 1 2π Φ * T k ω F S are equal as currents, see Lemma 5.1. As for Theorems 1.5 and 1.7, it is worth noting the two different behaviors of

B(x, R √ k ) E[Z T k s ] -k 2π ω ∧ ϕ for the cases f (x) = 0 and f (x) = 0. Indeed, in the first case, this is of order O(k -n+1 ) whereas if f (x) = 0 this is of order O(k -n ).
This suggests that the locus of zeros of T k s k tends to concentrate a little more on f -1 (0). This is confirmed by numerical simulations that we will show in Section 5.2.

Remark 1.11. Note that if we replace T k with principal symbol f by S k = λT k for some λ ∈ R \ {0}, the principal symbol of S k is g = λf . So the zero sets of f and g coincide, and if s is a holomorphic section of L ⊗k , the zeros of T k s and S k s agree. So the quantities that appear in all our results should be invariant by this scaling; one readily checks that they indeed are.

Organization of the paper

The paper is organized as follows. In Section 2 we recall the context and some useful properties of Berezin-Toeplitz operators; this also serves to introduce our notation and conventions. In Section 3 we prove Theorems 1.1, 1.2, 1.3 and 1.4. In Section 4 we prove Theorems 1.5 and 1.7. In Section 5 we explain why the previous theorems imply Theorems 1.9 and 1.10, and check the validity of our results by performing some numerical simulations. In Appendix A we give a proof of Theorem 2.1.

Acknowledgments

The research leading to this manuscript was mainly performed while the first author was a postdoctoral fellow of the Labex IRMIA. Both authors thank the Labex and the Institut de Recherche Mathématique Avancée for the opportunity to work in these excellent conditions.

Background

In this section we recall some necessary background in Kähler geometry and Berezin-Toeplitz operators. For more details about the latter, see for instance [START_REF] Schlichenmaier | Berezin-Toeplitz quantization for compact Kähler manifolds. A review of results[END_REF][START_REF] Yohann | A brief introduction to Berezin-Toeplitz operators on compact Kähler manifolds[END_REF] and the references therein. The main result that we state in this section is the positivity of the Schwartz kernel of T * k T k on the diagonal when the principal symbol f of T k vanishes transversally; this will be a key ingredient in the proof of our main results.

Framework

Let (M, ω) be a n-dimensional compact Kähler manifold such that [ ω 2π ] ∈ H 2 (M, Z) and let (L, h) be a Hermitian line bundle whose Chern curvature c 1 (L, h) equals -iω. We recall that this curvature is locally defined by -∂ ∂ log h(e L , e L ), where e L is any local non-vanishing holomorphic section of L.

Induced metrics. Let j be the complex structure on T M and let G = ω(•, j•) be the Riemannian metric induced by ω and j on T M ; by extending it by sesquilinearity, we obtain an Hermitian metric on T M ⊗ C, which in turn induces an Hermitian metric on T * M ⊗ C by duality. We still denote by G these metrics, and, when the context is clear, we use | • | ω for the pointwise norm associated with G.

If α ∈ (T 1,0 M ) * and β ∈ (T 0,1 M ) * , then G(α, β) = 0. In local holomorphic coordinates z 1 = x 1 + iy 1 , . . ., z n = x n + iy n , we have ω = i 2 n ,m=1 G ,m dz ∧ dz m and ∀ , m ∈ {1, . . . , n} G (dz , dz m ) = 2G ,m , G(dx , dx m ) = G(dy , dy m ) = G ,m (4)
where

∀ , m ∈ {1, . . . , n} n p=1 G ,p G m,p = δ ,m .
Using this expression, one readily checks that

∀α, β ∈ T * M ⊗ C G(ᾱ, β) = G(α, β).
To avoid confusion, we denote by | • | ω the norm induced by this metric. Moreover, we consider the holomorphic Laplacian on M , which reads in these local coordinates

∆ = 2 n ,m=1 G ,m ∂ z ∂ zm .
L 2 -Hermitian products. For any positive k ∈ N, we denote by h k the Hermitian metric on L k := L ⊗k induced by the metric h on L. Remark that for this induced metric we have c

1 (L k , h k ) = kc 1 (L, h).
For any positive k ∈ N, the space of global holomorphic sections

H 0 (M, L k ) is naturally equipped with the L 2 -Hermitian product •, • L 2 defined by σ, τ L 2 = x∈M h k x (σ(x), τ (x)) ω n n! for any σ, τ ∈ H 0 (M, L k ). It is standard that the space H 0 (M, L k ) is finite-dimensional, with dimension N k = k 2π n Vol(M ) + O(k n-1 )
where n = dim C M and Vol(M ) is the volume of M computed with respect to the volume form dVol = ω n n! induced by ω.

Berezin-Toeplitz operators

For k ∈ N, let L 2 (M, L k ) be the Hilbert space obtained as the closure of C ∞ (M, L k ) with respect to •, • L 2 , and let Π k : L 2 (M, L k ) → H 0 (M, L k ) be the orthogonal projector from this space to the space of holomorphic sections. For any smooth function f ∈ C ∞ (M ), the Berezin-Toeplitz operator associated with f is the endomorphism

T k (f ) = Π k f : H 0 (M, L k ) → H 0 (M, L k ).
More generally, Berezin-Toeplitz operators are operators of the form

T k = Π k f (•, k) + R k : H 0 (M, L k ) → H 0 (M, L k ) where (f (•, k)) k∈N is a sequence of elements of C ∞ (M ) with an asymptotic expansion of the form f (•, k) = f 0 + k -1 f 1 + k -2 f 2 + . . .
for the C ∞ topology, and the operator norm of

R k is a O(k -N ) for every N ∈ N.
The first term f 0 in the asymptotic expansion of f (•, k) is called the principal symbol of T k . Similarly, we will call f 1 the subprincipal symbol of T k (it is the contravariant subprincipal symbol, see for instance [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF]). Recall that any Berezin-Toeplitz operator T k has a Schwartz kernel, which is a holomorphic section of L k Lk → M × M that we still denote by T k . This means that for any s ∈ H 0 (M, L k ) and for any x ∈ M ,

(T k s)(x) = M T k (x, y)s(y) dVol(y).
Recall that if e 1 , . . . , e N k is any orthonormal basis of

H 0 (M, L k ), then ∀x, y ∈ M T k (x, y) = N k =1 (T k e )(x) ⊗ e (y). (5)
In order to prove our main results described in Section 1.2, we will need to compute the subprincipal term in the asymptotic expansion of the Schwartz kernel of the product of two Berezin-Toeplitz operators. This is the content of Theorem 2.1. This is nowadays a standard result and can be found for example in [17, Formula (0.16)] or derived from [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF]. Since our notation differs from both these references, for the sake of completeness, we will give a proof of this result following [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF] in Appendix A .

Theorem 2.1. Let T k , S k be Berezin-Toeplitz operators with respective real-valued principal symbols f 0 , g 0 ∈ C ∞ (M, R) and subprincipal symbols f 1 , g 1 ∈ C ∞ (M ). Then the on-diagonal expansion of the Schwartz kernel of the Berezin-Toeplitz operator

B k = T k S k reads B k (x, x) = k 2π n b 0 (x) + k -1 b 1 (x) + O(k -2 )
where the O(k -2 ) is uniform on M , with b 0 = f 0 g 0 and

b 1 = f 0 g 1 + f 1 g 0 + f 0 ∆g 0 + g 0 ∆f 0 + r 2 f 0 g 0 + G(∂g 0 , ∂f 0 ).
Here, r denotes the scalar curvature of M and G is the metric on T * M defined in Section 2.1.

Lemma 2.2. Let f ∈ C ∞ (M ). Then |df | 2 ω = 2|∂f | 2 ω . Proof. Since df = ∂f + ∂f , we have that |df | 2 ω = |∂f | 2 ω + 2Re G(∂f, ∂f ) + | ∂f | 2 ω = |∂f | 2 ω + | ∂f | 2 ω since ∂f ∈ Ω (1,0) (M ) and ∂f ∈ Ω (0,1) (M ). Moreover, | ∂f | 2 ω = G( ∂f, ∂f ) = G(∂f, ∂f ) = G(∂f, ∂f ) = |∂f | 2 ω .
Corollary 2.3. Let T k be a Berezin-Toeplitz operator with real-valued principal symbol f ∈ C ∞ (M, R) and subprincipal symbol g ∈ C ∞ (M ). Then the on-diagonal expansion of the Schwartz kernel of the Berezin-Toeplitz operator

B k = T * k T k equals k 2π n f 2 + k -1 b 1 + O(k -2 )
where the remainder O(k -2 ) is uniform on M and

b 1 = 2f Re (g) + 2f ∆f + r 2 f 2 + 1 2 |df | 2 ω .
Proof. The principal symbol of T * k is f , and its subprincipal symbol is ḡ.

So Theorem 2.1 yields b 1 = 2f Re (g) + 2f ∆f + r 2 f 2 + |∂f | 2 ω
and Lemma 2.2 gives the result.

The previous result implies the following crucial fact that will be key in the proof of all our main results: if f vanishes transversally, the kernel of B k on the diagonal is always strictly positive. More precisely: Corollary 2.4. Let T k be a Berezin-Toeplitz operator with real-valued principal symbol f and let B k = T * k T k . If f vanishes transversally, there exists c > 0 such that, for k large enough and for any x ∈ M , we have B k (x, x) > ck n-1 . Proof. By Corollary 2.3 we have the following uniform asymptotics:

B k (x, x) = k 2π n (b 0 (x) + k -1 b 1 (x) + O(k -2 )) where b 0 (x) = |f (x)| 2 and b 1 = 2f Re (g) + 2f ∆f + r 2 f 2 + 1 2 |df | 2 ω
with g the subprincipal symbol of T k . Since f vanishes transversally, we have that

b 1 (x) = 1 2 |df (x)| 2 ω > 0 for x ∈ f -1 (0), so b 1 is strictly positive in a neighborhood U of f -1 (0). Let c be the minimum of b 1 on U and C be the minimum of |f | 2 on M \ U . We then have B k (x, x) ≥ Ck n + O(k n-1 ) outside U and B k (x, x) ≥ ck n-1 + O(k n-2 ) on U . Hence the result.
The next corollary is equivalent to the previous one. However, we prefer to put a separate statement because we will use it repeatedly throughout the paper.

2 + k -1 b 1 > ck -1 and |f | 2 + k -1 2 |df | 2 ω > ck -1 .
3 Kodaira maps and Fubini-Study forms

The goal of this section is to study the Kodaira map associated with T k . First we prove that it is well-defined for k large enough; this is Theorem 1.1. Then we prove Theorems 1.2 and 1.3 which deal with the convergence in the sense of currents of the associated Fubini-Study form. Finally, we show the non-convergence of this form in the sense of differential forms, that is Theorem 1.4. We follow the notation introduced in Section 2.

The Kodaira map is well-defined

In this section we prove that the Kodaira map Φ T k defined in Equation ( 2) is welldefined everywhere on M for k large enough (see Theorem 1.1). This follows from the combination of the the positivity result for the Schwartz kernel of T * k T k (see Corollary 2.4) and the next lemma. Lemma 3.1. Let A ∈ End H 0 (M, L k ) and e 1 , . . . , e N k be any orthonormal basis of H 0 (M, L k ). Then, for any x, y ∈ M we have the equality

N k =1 (Ae )(x) ⊗ (Ae )(y) = N k =1 (A * Ae )(x) ⊗ e (y).
Proof. For any , p ∈ {1, N k }, let A ,p = Ae , e p . Then

N k =1 (Ae )(x) ⊗ (Ae )(y) = N k =1 N k p=1 A ,p e p (x) ⊗ N k q=1 A ,q e q (y) = N k =1 N k p=1 N k q=1 A ,p A ,q e p (x) ⊗ e q (y) = N k =1 N k p=1 N k q=1 A ,p A * q, e p (x) ⊗ e q (y) = N k p=1 N k q=1 (A * A) q,p e p (x) ⊗ e q (y) = N k q=1 (A * Ae q )(x) ⊗ e q (y).
Proof of Theorem 1.1. The map Φ T k is well-defined everywhere on M if and only if

N k i=1 {T k s i = 0} = ∅.
In order to prove this we will show that there exists an integer k 0 such that, for any x ∈ M and any k ≥ k 0 , the quantity

N k =1 |(T k e )(x)| 2
k is strictly positive. By Equation ( 5) and Lemma 3.1,

N k =1 |(T k e )(x)| 2 k equals the value on the diagonal of the Schwartz kernel B k of T * k T k , that is N k =1 |(T k e )(x)| 2 k = B k (x, x)
. By Corollary 2.4, for k large enough, B k (x, x) is strictly positive, hence the result.

(Non)-convergence of the Fubini-Study forms

In this section, we prove Theorem 1.2, which deals with the convergence of the normalized Fubini-Study forms 1 k Φ * T k ω F S in the sense of currents, and Theorem 1.4, which instead says that such forms do not converge in the sense of differential forms. Throughout this section, T k is a Berezin-Toeplitz operator with real-valued principal symbol f and subprincipal symbol g. As above, the on-diagonal expansion of the Schwartz kernel of

B k = T * k T k is denoted by B k (x, x) = k 2π n (b 0 (x) + k -1 b 1 (x) + O(k -2 ))
where b 0 and b 1 are given by Corollary 2. [START_REF] Bordemann | Toeplitz quantization of Kähler manifolds and gl(N ), N → ∞ limits[END_REF]. In what follows we will use the slightly abusive notation B k for the restriction of B k to the diagonal; we will never need to evaluate this kernel away from the diagonal.

Proof of Theorem 1.2. The following equality of smooth forms is standard:

i∂ ∂ log B k = Φ * T k ω F S -kω (6)
so that, in order to prove the theorem, we have to show that 1 k ∂ ∂ log B k goes to 0 in the sense of currents as k → +∞.

Remark that we have the equality

∂ ∂ log B k = ∂ ∂ log (2 max |f | 2 k 2π n ) -1 B k .
Moreover, for k large enough, we have

ck -1 < 2 max |f | 2 k 2π n -1 B k < 1,
where the left-hand inequality follows from Corollary 2.4 and the right-hand one from Corollary 2.3.

For any (n -1, n -1) smooth form ϕ on M , let us denote by f ϕ the function given by the equality ∂ ∂ϕ = f ϕ ω n n! and by ∂ ∂ϕ ∞ the sup-norm of f ϕ . We then have

M ∂ ∂ log B k ∧ ϕ = M ∂ ∂ log (2 max |f | 2 k n ) -1 B k ∧ ϕ ≤ M ∂ ∂ log (2 max |f | 2 k n ) -1 B k ∧ ϕ ≤ M log ck -1 ∂ ∂ϕ = M log ck -1 f ϕ ω n n! = ∂ ∂ϕ ∞ O(log k).
This implies that, for any (n-1, n-1) smooth form ϕ, the quantity M 1 k log B k ∂ ∂ϕ goes to 0 as k → +∞, which exactly means that 1 k ∂ ∂ log B k goes to 0 in the sense of currents as k → +∞. Hence the result.

Proof of Theorem 1.4. We start by proving that the sequence 1 k Φ * T k ω F S converges to ω locally uniformly on M \ f -1 (0) in the C ∞ norm. Remark that the equality [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF] implies that this is equivalent to showing that for any relatively compact open set U ⊂ M \ f -1 (0) and for any m ∈ N, we have

∂ ∂ log B k C m ,U = O(1). Now, we know that B k (x) = k 2π n (f 2 + O(k -1
)) uniformly, so that we have

∂ ∂ log B k = ∂ ∂ log f 2 + O(k -1 )
uniformly. The result follows from the fact that there exists two positive constants c U and 1), which was our goal.

C U such that c U ≤ f 2 ≤ C U on U , so that ∂ ∂ log f 2 + O(k -1 ) = ∂ ∂ log f 2 (1 + O(k -1 )) = ∂ ∂ log f 2 + O(k -1 ) on U . This shows that ∂ ∂ log B k C m ,U = O(
Let us now prove that the smooth form 1 k ∂ ∂ log B k does not tend to 0 on f -1 (0) as k → +∞. We have

∂ ∂ log B k = ∂ ∂ log f 2 + k -1 b 1 + O(k -2 ) = ∂ 2f ∂f + k -1 ∂b 1 + O(k -2 ) f 2 + k -1 b 1 = (2∂f ∧ ∂f + 2f ∂ ∂f + k -1 ∂ ∂b 1 ) f 2 + k -1 b 1 - (2f ∂f + k -1 ∂b 1 ) ∧ (2f ∂f + ∂k -1 b 1 ) + O(k -2 ) (f 2 + k -1 b 1 ) 2 . (7)
If we evaluate this form at a point x where f vanishes we obtain

∂ ∂ log B k x = (2(∂f ∧ ∂f ) x + k -1 (∂ ∂b 1 ) x )k -1 b 1 (x) -k -2 ( ∂b 1 ∧ ∂b 1 ) x + O(k -2 ) b 1 (x) 2 k -2 = 2k(∂f ∧ ∂f ) x b 1 (x) + O(1) = 4k(∂f ∧ ∂f ) x |df (x)| 2 ω + O(1).
At a point where f vanishes we then have that

1 k ∂ ∂ log B k tends to 4∂f ∧ ∂f |df | 2 ω
which is non zero as f vanishes transversally. Moreover, at a point where f does not vanish, Equation [START_REF] Coman | Equidistribution results for singular metrics on line bundles[END_REF] shows that ∂ ∂ log

B k = O(1), so 1 k ∂ ∂ log B k goes to zero as k → +∞.

Convergence of the error term

In this section, we prove Theorem 1.3, which estimates (in the sense of currents) the error term 1 k Φ * T k ω F S -ω. We start with a lemma, which is actually part of the statement of Theorem 1.3. Lemma 3.2. Let f : M → R be a smooth function vanishing transversally. Then log f 2 is (locally) integrable, so ∂ ∂ log f 2 is a well-defined current.

Proof. As M is compact, it is enough to show that log f 2 is locally integrable. Locally around a point x where f (x) = 0 there is nothing to prove since log f 2 is locally bounded there.

Let us consider a point x ∈ f -1 (0). By Hadamard's lemma, we can find a small neighborhood U of x and local (real) coordinates x 1 , . . . , x 2n , in which f -1 (0) becomes {x 1 = 0}, such that f (x 1 , . . . , x 2n ) = x 1 g(x 1 , . . . , x 2n ) + h(x 1 , . . . , x 2n ), where the function g is smooth with g(0) = 0 and h(x 1 , . . . , x 2n ) = O(x 2 1 + . . . + x 2 2n ). Up to replacing U with a smaller neighborhood, we can assume that U is of the form (-, ) 2n . We then have log f 2 = log x 2 1 + log g 2 + O(1), so that

U log f 2 = (-, ) 2n log x 2 1 dx 1 • • • dx 2n + (-, ) 2n log g 2 dx 1 • • • dx 2n + O(1).
The integral (-, ) 2n log g 2 dx 1 • • • dx 2n is bounded as g 2 is bounded from below by a positive constant. The integral

(-, ) 2n log x 2 1 dx 1 • • • dx 2n equals (2 ) 2n-1 (-, ) log x 2 1 dx 1 , which is also finite as log x 2
1 is integrable around 0. Hence the result. Proof of Theorem 1.3. Recall that, as currents,

Φ * T k ω F S -kω = i∂ ∂ log B k . For any smooth (n -1, n -1)-form ϕ we then get M Φ * T k ω F S -kω ∧ ϕ = i M log B k ∂ ∂ϕ
so that we have to prove the following convergence

M log B k ∂ ∂ϕ -→ k→+∞ M log f 2 ∂ ∂ϕ. (8)
Recall that by Corollary 2.3, we have log

B k = log k 2π n +log(f 2 + k -1 b 1 + O(k -2 )), so that M log B k ∂ ∂ϕ = M log f 2 + k -1 b 1 + O(k -2 ) ∂ ∂ϕ. (9)
By Corollary 2.5, we get

log f 2 + k -1 b 1 + O(k -2 ) = log (f 2 +k -1 b 1 )(1+O(k -1 )) = log f 2 + k -1 b 1 +O(k -1 ) so that M log f 2 + k -1 b 1 + O(k -2 ) ∂ ∂ϕ = M log f 2 + k -1 b 1 ∂ ∂ϕ + O(k -1 ). (10)
In order to prove (8), we then have to show that

M log f 2 + k -1 b 1 ∂ ∂ϕ -→ k→+∞ M log f 2 ∂ ∂ϕ. (11)
For this, we will partition M into two subsets. For this, remark that since b 1 =

1 2 |df | 2 ω > 0 on Σ := f -1 (0)
, we can find a positive such that b 1 is strictly positive on an -tubular neighborhood Σ of Σ. We can then write

M log f 2 + k -1 b 1 ∂ ∂ϕ = M \Σ log f 2 + k -1 b 1 ∂ ∂ϕ + Σ log f 2 + k -1 b 1 ∂ ∂ϕ (12)
For the first integral in the right-hand side of [START_REF] Kac | Can one hear the shape of a drum?[END_REF], remark that log(f 2 + k -1 b 1 ) converges to log f 2 uniformly on M \ Σ and then

M \Σ log f 2 + k -1 b 1 ∂ ∂ϕ ----→ k→+∞ M \Σ log f 2 ∂ ∂ϕ. (13)
It remains to prove that

Σ log f 2 + k -1 b 1 ∂ ∂ϕ ----→ k→+∞ Σ log f 2 ∂ ∂ϕ. (14)
By the choice of , the function f 2 + k -1 b 1 is strictly positive on Σ . Moreover, up to taking a smaller , we can suppose that f 2 + k -1 b 1 < 1 on Σ , for k large enough. Let us write ∂ ∂ϕ = ψω n , for ψ a smooth function on M . We have the pointwise convergence log(f 2 + k -1 b 1 )ψ → log(f 2 )ψ. Moreover, for k large enough, we have

log f 2 + k -1 b 1 ψ ≤ log f 2 sup |ψ|.
By Lemma 3.2, the function log(f 2 ) is integrable, so by Lebesgue's dominated convergence theorem, we obtain the convergence [START_REF] Yohann | A brief introduction to Berezin-Toeplitz operators on compact Kähler manifolds[END_REF]. Hence the result.

Estimates at Planck scale

This section is organized as follows. In Section 4.1 we prove Theorem 1.5 and Corollary 1.6 and in Section 4.2 we prove Theorem 1.7. We will need the following notation and lemma in both Sections 4.1 and 4.2. For any (n -1, n -1)-form ϕ, any R > 0, any k ∈ N and any point x ∈ M , we denote by ϕ x,R,k the (n -1, n -1)-form

χ B(x, R √ k ) ϕ, where χ B(x, R √ k
) is the characteristic function of the geodesic ball B(x, R √ k ). For a smooth (1, 1)-form ψ, we denote by ψ, ϕ x,R,k the natural pairing B(x, R √ k

) ψ ∧ ϕ.

Lemma 4.1. Let ϕ be a smooth (n -1, n -1)-form and let R > 0. Then, for any x ∈ M , we have

∂ ∂ log B k , ϕ x,R,k = ∂ ∂ log f 2 + k -1 b 1 , ϕ x,R,k + O(k -n-1 ) as k → +∞. Proof. Recall that B k = k 2π n (f 2 + k -1 b 1 + O(k -2 )) (see Corollary 2.3), so that ∂ ∂ log B k = ∂ ∂ log k 2π n (f 2 + k -1 b 1 + O(k -2 )) = ∂ ∂ log f 2 + k -1 b 1 + O(k -2 ) .
Now, by Corollary 2.5, we can write

f 2 + k -1 b 1 + O(k -2 ) = (f 2 + k -1 b 1 )(1 + O(k -1
)), so that we obtain

∂ ∂ log f 2 + k -1 b 1 + O(k -2 ) , ϕ x,R,k = ∂ ∂ log (f 2 + k -1 b 1 )(1 + O(k -1 ) , ϕ x,R,k .
The latter equals

∂ ∂ log f 2 + k -1 b 1 , ϕ x,R,k + ∂ ∂ log 1 + O(k -1 ) , ϕ x,R,k .
We obtain the result by remarking that

∂ ∂ log(1 + O(k -1 )) = O(k -1 ) and that ϕ x,R,k satisfies Vol(Supp ϕ x,R,k ) = O(k -n ).

Estimates on the zero set

In this section, we prove Theorem 1.5 and Corollary 1.6. We also compute the universal constant C n (R) appearing in these results; this is done in Proposition 4.4 Lemma 4.2. Let ϕ be a smooth (n -1, n -1)-form and let R > 0. Then, for any x ∈ f -1 (0), we have

∂ ∂ log f 2 + k -1 b 1 , ϕ x,R,k = 4 B(x, R √ k ) k -1 |df | 2 ω -2f 2 (2f 2 + k -1 |df | 2 ω ) 2 ∂f ∧ ∂f ∧ ϕ + O(k -n+ 1 2 )
as k → +∞.

Proof. We start by developing ∂ ∂ log(f 2 + k -1 b 1 ) and obtain

∂ ∂ log f 2 + k -1 b 1 = (f 2 + k -1 b 1 )∂ ∂(f 2 + k -1 b 1 ) -∂(f 2 + k -1 b 1 ) ∧ ∂(f 2 + k -1 b 1 ) (f 2 + k -1 b 1 ) 2 .
We now use that

f 2 ∂ ∂f 2 -∂f 2 ∧ ∂f 2 = -2f 2 ∂f ∧ ∂f + 2f 3 ∂ ∂f, that |f | = O(k -1/2 ) and that b 1 = 1 2 |df | 2 ω + O(k -1 ) on B(x, R √ k ) (see Corollary 2.
3) to obtain, after expanding and collecting the lower order terms, that on

B(x, R √ k ) ∂ ∂ log f 2 + k -1 b 1 = (k -1 |df | 2 ω -2f 2 ) f 2 + k -1 2 (|df | 2 ω + O(k -1 )) 2 ∂f ∧ ∂f + O(k 1 2 ). (15)
By Corollary 2.5, we have that

f 2 + k -1 2 (|df | 2 ω + O(k -1 )) = (f 2 + k -1 2 |df | 2 ω )(1 + O(k -1 )),
hence Equation ( 15) yields

∂ ∂ log f 2 + k -1 b 1 = 4(k -1 |df | 2 ω -2f 2 ) 2f 2 + k -1 |df | 2 ω 2 ∂f ∧ ∂f + O(k 1 2 ) on B(x, R √ k ), whose volume is a O(k -n ), hence the result. Lemma 4.3. Let ϕ be a smooth (n -1, n -1)-form and let R > 0. Then, for any x ∈ f -1 (0), we have i B(x, R √ k ) k -1 |df | 2 ω -2f 2 (2f 2 + k -1 |df | 2 ω ) 2 ∂f ∧ ∂f ∧ϕ = k -n+1 F ϕ(x) |df (x)| 2 ω B R 2n (0,R) 1 -2t 2 1 (1 + 2t 2 1 ) 2 dλ(t)+O(k -n+ 1 2 ) as k → +∞, where F ϕ is such that i∂f ∧ ∂f ∧ ϕ = F ϕ ω n
n! and dλ = dt 1 . . . dt 2n . Proof. Let x ∈ f -1 (0) and let

I k = i B(x, R √ k ) k -1 |df | 2 ω -2f 2 (2f 2 + k -1 |df | 2 ω ) 2 ∂f ∧ ∂f ∧ ϕ ( 16
)
be the integral that we want to estimate. Let z 1 = x 1 + iy 1 , . . . , z n = x n + iy n be normal holomorphic coordinates at x, defined on some open set U (and, thus, on the ball B(x, R √ k ) for any k large enough). Recall that these normal holomorphic coordinates at x have the property that

ω = i 2 n ,m=1
G ,m dz ∧ dz m [START_REF] Ma | Berezin-Toeplitz quantization on Kähler manifolds[END_REF] with (G ,m ) 1≤ ,m≤n = Id + O(|z| 2 ). Since a unitary linear map sends normal holomorphic coordinates to normal holomorphic coordinates, we may assume that ∂f ∂x 1 (0) = 0 and that the kernel of df (x) is Span(∂ y 1 , ∂ x 2 , . . . , ∂ yn ). By Hadamard's lemma, this implies that there exists smooth functions g 1 , . . . , g 2n such that

f (x 1 , y 1 , . . . , x n , y n ) = n =1 (x g (x 1 , y 1 , . . . , x n , y n ) + y g n+ (x 1 , y 1 , . . . , x n , y n ))
for every z = (x 1 , y 1 , . . . , x n , y n ) and g 2 (0) = . . . = g 2n (0

) = 0. Hence, on B(x, R √ k ) we have f (x 1 , y 1 , . . . , x n , y n ) = x 1 g 1 (x 1 , y 1 , . . . , x n , y n ) + O(|z| 2 ). ( 18
)
On the ball B(x, R √ k ), we also have the estimate

|df (z)| 2 ω = ∂f ∂x 1 (z) 2 + O(|z| 2 ) (19)
because of the definition of | • | ω (see Equation ( 4)) and Equation [START_REF] Ma | Berezin-Toeplitz quantization on Kähler manifolds[END_REF]. Using Equation [START_REF] Schlichenmaier | Berezin-Toeplitz quantization for compact Kähler manifolds. A review of results[END_REF] we then obtain that

k -1 |df | 2 ω -2f 2 (2f 2 + k -1 |df | 2 ω ) 2 = k -1 ∂f ∂x 1 2 -2f 2 2f 2 + k -1 ∂f ∂x 1 2 2 + O(k|z| 2 ),
where, in the denominator, we have used that

2f 2 + k -1 ∂f ∂x 1 2 2
≥ ck -2 , see Corollary 2.5. So we obtain that the integral ( 16) that we want to estimate is equal to

I k = i B k k -1 ∂f ∂x 1 2 -2f 2 2f 2 + k -1 ∂f ∂x 1 2 2 ∂f ∧ ∂f ∧ ϕ + i B k O(k|z| 2 )∂f ∧ ∂f ∧ ϕ ( 20
)
where B k denotes the ball B(x, R √ k ) in the coordinates z 1 , . . . , z n . Since in these coordinates, the Riemannian metric is the standard metric up to O(|z| 2 ), there exists

c > 0 such that B R 2n (0, R √ k (1 -c √ k )) ⊂ B k ⊂ B R 2n (0, R √ k (1 + c √ k )).
The second integral on the right-hand side of Equation ( 20) can then be estimated as

i B k O(k|z| 2 )∂f ∧ ∂f ∧ ϕ = O(1)vol B R 2n (0, R √ k ) = O(k -n )
and moreover for the first integral on the right-hand side of Equation ( 20) we have

J k (-c) ≤ i B k k -1 ∂f ∂x 1 2 -2f 2 2f 2 + k -1 ∂f ∂x 1 2 2 ∂f ∧ ∂f ∧ ϕ ≤ J k (c) (21)
with

J k (±c) = i B R 2n (0, R √ k (1± c √ k )) k -1 ∂f ∂x 1 2 -2f 2 2f 2 + k -1 ∂f ∂x 1 2 2 ∂f ∧ ∂f ∧ ϕ. ( 22
)
Now on U , thanks to Equation ( 17), we have the estimate

i∂f ∧ ∂f ∧ ϕ = F ϕ ω n n! = F ϕ dx 1 ∧ dy 1 . . . dx n ∧ dy n 1 + O(|z| 2 ) ,
which, put into Equation ( 22), gives us

J k (c) = B R 2n (0, R √ k (1+ c √ k )) k -1 ∂f ∂x 1 (z) 2 -2f (z) 2 2f (z) 2 + k -1 ∂f ∂x 1 (z) 2 2 F ϕ (z) 1 + O(|z| 2 ) dλ(z)
with dλ = dx 1 dy 1 . . . dx n dy n . The change of variables w = z √ k yields

J k (c) = k -n D k k -1 ∂f ∂x 1 (k -1 2 w) 2 -2f (k 1 2 w) 2 2f (k -1 2 w) 2 + k -1 ∂f ∂x 1 (k -1 2 w) 2 2 F ϕ (k -1 2 w) 1 + O(k -1 |w| 2 ) dλ(w),
where D k denotes the Euclidian ball B R 2n (0, R(1

+ c √ k )). Since by Equation (18), f (k -1 2 w) 2 = k -1 t 2 1 g 1 (k -1 2 w) 2 + O(k -3 2 |w| 2 )
this gives

J k (c) = k -n+1 D k ∂f ∂x 1 (k -1 2 w) 2 -2t 2 1 g 1 (k -1 2 w) 2 2t 2 1 g 1 (k -1 2 w) 2 + ∂f ∂x 1 (k -1 2 w) 2 2 F ϕ (k -1 2 w) 1 + O(k -1 2 |w| 2 ) dλ(w). (23)
We now treat the function inside the integral appearing in Equation [START_REF] Tian | On a set of polarized Kähler metrics on algebraic manifolds[END_REF]. By Taylor's formula, we have

∂f ∂x 1 (k -1 2 w) 2 -2t 2 1 g 1 (k -1 2 w) 2 2t 2 1 g 1 (k -1 2 w) 2 + ∂f ∂x 1 (k -1 2 w) 2 2 F ϕ (k -1 2 w) = ∂f ∂x 1 (0) 2 -2t 2 1 g 1 (0) 2 2t 2 1 g 1 (0) 2 + ∂f ∂x 1 (0)
Putting the latter in [START_REF] Tian | On a set of polarized Kähler metrics on algebraic manifolds[END_REF], using the fact that Vol(

D k \ B R 2n (0, R)) = O(k -1 2
), the equality ∂f ∂x 1 (0) = g 1 (0) and Equation ( 19), we finally obtain that

J k (c) = k -n+1 F ϕ (0) |df (0)| 2 ω B R 2n (0,R) 1 -2t 2 1 (1 + 2t 2 1 ) 2 dt 1 . . . dt 2n + O(k -n+ 1 2 ).
Since the same holds for J k (-c) (by the same reasoning), we conclude thanks to Equation [START_REF] Shiffman | Number variance of random zeros on complex manifolds[END_REF].

To conclude the proof of Theorem 1.5, we need to compute explicitly the integral in the above lemma. Proposition 4.4. For every R ≥ 0,

B R 2n (0,R) 1 -2t 2 1 (1 + 2t 2 1 ) 2 dt 1 . . . dt 2n = 2 n-1 π n (n -1)! (2n -2)! P n (2R 2 ) -(1 + 2R 2 ) n-3 2
where P n is the Taylor polynomial of order n -1 of

g n : x → (1 + x) n-3 2 at x = 0. More explicitly, P n (X) = n-1 =0 n -3 2 X , α = α(α -1) . . . (α -+ 1) ! for ∈ N >0 , α 0 = 1.
Moreover, for every R > 0,

B R 2n (0,R) 1 -2t 2 1 (1 + 2t 2 1 ) 2 dt 1 . . . dt 2n > 0.
Proof. The change of variables u = t √ 2 yields that the integral that we want to compute equals 2 -n I n (R √ 2) with

I n (R) = B R 2n (0,R) 1 -u 2 1 (1 + u 2 1 ) 2 du 1 . . . du 2n
Using spherical coordinates (in principle we need to assume that n ≥ 2 for the rest of the proof, but for the case n = 1 everything works in a similar way), we write

I n (R) = D 1 -r 2 cos 2 θ 1 (1 + r 2 cos 2 θ 1 ) 2 r 2n-1 sin 2n-2 θ 1 sin 2n-3 θ 2 . . . sin θ 2n-2 dr dθ 1 . . . dθ 2n-1 .
where D = [0, R]×]0, π[ 2n-2 ×]0, 2π[. Hence we obtain that

I n (R) = 2 2n-1 J n (R) 2n-3 =0 W = 2 2n-1 J n (R) π n-1 (n -1)! (2n -2)! (24)
with W the -th Wallis integral and

J n (R) = R 0 π 0 1 -r 2 cos 2 θ (1 + r 2 cos 2 θ) 2 r 2n-1 sin 2n-2 θ dr dθ.
So we are left with computing J n . The change of variables r = Ru yields

J n (R) = R 2n 1 0 π 0 1 -R 2 u 2 cos 2 θ (1 + R 2 u 2 cos 2 θ) 2 r 2n-1 sin 2n-2 θ du dθ.
But, if D is the quarter of the unit disc in R 2 contained in the upper-right quadrant, then

1 0 π 0 1 -R 2 u 2 cos 2 θ (1 + R 2 u 2 cos 2 θ) 2 u 2n-2 sin 2n-2 θ u du dθ = 2 D 1 -R 2 t 2 1 (1 + R 2 t 2 1 ) 2 t 2n-2 2 dt 1 dt 2
so we obtain by writing

D = {(t 1 , t 2 ) | 0 ≤ t 1 ≤ 1, 0 ≤ t 2 ≤ 1 -t 2 1 }
and by integrating with respect to t 2 that

J n (R) = 2R 2n 2n -1 1 0 1 -R 2 t 2 1 (1 + R 2 t 2 1 ) 2 (1 -t 2 1 ) 2n-1 2 dt 1 .
The change of variables u = t 2 1 yields

J n (R) = R 2n 2n -1 1 0 (1 -R 2 u)u -1 2 (1 -u) 2n-1 2 (1 + R 2 u) 2 du = R 2n 2n -1 1 0 u -1 2 (1 -u) 2n-1 2 (1 + R 2 u) 2 du -R 2 1 0 u 1 2 (1 -u) 2n-1 2 (1 + R 2 u) 2 du .
Using Equations (15.6.1) and (15.1.2) in [START_REF] Frank | NIST handbook of mathematical functions[END_REF], we can rewrite these integrals in terms of the hypergeometric function F = 2 F 1 :

J n (R) = R 2n Γ(n + 1 2 ) 2n -1 Γ( 1 2 ) n! F 2, 1 2 ; n + 1; -R 2 - Γ( 3 2 )R 2 (n + 1)! F 2, 3 2 ; n + 2; -R 2
and with the standard explicit expressions for Γ at half-integers we obtain that

J n (R) = R 2n (2n -2)!π 2 2n-1 n!(n -1)! K n (R) (25)
where

K n (R) = F 2, 1 2 ; n + 1; -R 2 - R 2 2(n + 1) F 2, 3 2 ; n + 2; -R 2 . (26)
Now, Equation (15.5.15) in [START_REF] Frank | NIST handbook of mathematical functions[END_REF]

with a = 1, b = 3 2 , c = n + 2 and z = -R 2 yields F 2, 3 2 ; n + 2; -R 2 = (n + 1)F 1, 3 2 ; n + 1; -R 2 -nF 1, 3 2 ; n + 2; -R 2
and Equation (15.5.16) in [START_REF] Frank | NIST handbook of mathematical functions[END_REF] (together with the fact that F is symmetric with respect to a and b)

with a = 1, b = 3 2 , c = n + 1 and z = -R 2 gives nR 2 F 1, 3 2 ; n + 2; -R 2 = (n+1) (1 + R 2 )F 1, 3 2 ; n + 1; -R 2 -F 1, 1 2 ; n + 1; -R 2 .
Proof of Theorem 1.5. Recall that, as currents,

Φ * T k ω F S -kω = i∂ ∂ log B k , so we have Φ * T k ω F S -kω , ϕ x,R,k = i ∂ ∂ log B k , ϕ x,R,k . (29)
By Lemma 4.1 and by (29) we have that

Φ * T k ω F S -kω , ϕ x,R,k = i ∂ ∂ log f 2 + k -1 b 1 , ϕ x,R,k + O(k -n-1 ). (30)
The result then follows from Equation (30), Lemma 4.2 and Lemma 4.3.

Proof of Corollary 1.6. In view of the statement, we need to prove that when ϕ =

ω n-1 (n-1)! , the function F ϕ defined as i∂f ∧ ∂f ∧ ϕ = F ϕ ω n n! satisfies F ϕ = 1 2 |df | 2 ω .
As this is a pointwise property, we may assume that (M, ω)

= (C n , ω C n ) with ω C n = i 2 n =1 dz ∧ dz . Then one readily checks that i∂f ∧ ∂f ∧ ω n-1 (n -1)! = i n 2 n-1 n =1 ∂f ∂z ∂f ∂ z dz 1 ∧ dz 1 ∧ . . . ∧ dz n ∧ dz n and that ω n n! = i n 2 n dz 1 ∧ dz 1 ∧ . . . ∧

Estimates outside the zero set

In this section, we prove Theorem 1.7. We keep the notation introduced at the beginning of Section 4. Lemma 4.5. Let ϕ be a smooth (n -1, n -1)-form and let R > 0. Then, for any x / ∈ f -1 (0), we have

∂ ∂ log f 2 + k -1 b 1 , ϕ x,R,k = B(x, R √ k ) ∂ ∂ log f 2 ∧ ϕ + O(k -n-1 )
as k → +∞.

Proof. The result follows directly from the uniform estimate

∂ ∂ log f 2 + k -1 b 1 = ∂ ∂ log f 2 + O(k -1 ) on B(x, R √ k
) and from the volume estimate Vol(Supp

ϕ x,R,k ) = O(k -n ).
Lemma 4.6. Let ϕ be a smooth (n -1, n -1)-form and let R > 0. Then, for any x / ∈ f -1 (0), we have

i B(x, R √ k ) ∂ ∂ log f 2 ∧ ϕ = R 2n k -n Vol B R 2n (0, 1) L ϕ (x) + O(k -n-1 2 )
as k → +∞, where L ϕ is the function defined by the equality i∂ ∂ log

f 2 ∧ ϕ = L ϕ ω n n! . Proof. For any z ∈ B(x, R √ k ), we have L ϕ (z) = L ϕ (x) + O(|z -x|) = L ϕ (x) + O(k -1 2 ) so that i B(x, R √ k ) ∂ ∂ log f 2 ∧ ϕ = L ϕ (x) + O(k -1 2 ) B(x, R √ k ) ω n n! = Vol B x, R √ k L ϕ (x) + O(k -n-1 2 ).
Now, we use the same argument as in the proof of Lemma 4.3 to prove that

Vol B x, R √ k = R 2n k -n Vol B R 2n (0, 1) + O(k -n-1 2 ).
Hence the result.

Proof of Theorem 1.7. The proof follows the lines of the proof of Theorem 1.5, using Lemmas 4.5 and 4.6 instead of Lemmas 4.2 and 4.3.

5 Distribution of zeros of random sections and numerical simultations

Random sections of line bundles

In this section we recall the setting of random algebraic geometry introduced in [START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF]. We follow the notation of Section 2. In particular let (L, h) be a holomorphic line bundle with positive curvature ω = ic 1 (L, h) over a Kähler manifold (M, ω) and let f be a smooth function on M . The L 2 Hermitian product constructed in Section 2.1 induces a Gaussian measure µ k on H 0 (M, L k ) given by dµ k (s) = 1 π N k e -s 2 L 2 ds. Here ds is the Lebesgue measure on H 0 (M, L k ), •, • L 2 and N k = dim H 0 (M, L k ). This Gaussian measure allows us to study the distribution-valued random variable

s ∈ H 0 (M, L k ) → Z T k s ∈ D 1,1 (M ).
The expected value of this random variable is then defined by

E Z T k s , ϕ = s∈H 0 (M,L k ) T k s=0 ϕ dµ k (s). (31)
for any smooth (n -1, n -1)-form ϕ. In the case of f = 1, Shiffman and Zelditch proved that

1 k E Z s , ϕ = 1 2π M ω ∧ ϕ + O(k -1 ). (32)
We will obtain a similar result for E Z T k s by combining Theorem 1.2 and the following standard result.

Lemma 5.1. Let T k be a Berezin-Toeplitz operator with principal symbol f . For any k ∈ N, we have the following equality of currents:

E Z T k s = 1 2π Φ * T k ω F S .
Proof On this open set U we then have the equality T k e i = f i e k L , for some holomorphic function f i defined on U . Thus, locally on U , the Kodaira map Φ T k can be read as x ∈ U → (f 1 (x), . . . , f N k (x)) and the pull-back of the Fubini-Study form on U equals

Φ * T k ω F S | U = i∂ ∂ log N k i=1 |f i | 2 . ( 33
)
On the other hand, by the Poincaré-Lelong formula [11, p. 388], we have that the current defined by integration along the zero locus of a section s

= N k i=1 a i T k s is (locally on U ) equal to i π ∂ ∂ log N k i=1 a i f i .
We then have to prove that, for any smooth test (n -1, n -1)-form ϕ with compact support in U , we have the following equality:

i π a∈C N k M ∂ ∂ log N k i=1 a i f i ∧ ϕdµ k = i 2π M ∂ ∂ log N k i=1 |f i | 2 ∧ ϕdµ k . (34)
In order to prove this equality, let us denote by |f | 2 the quantity

N k i=1 |f i | 2 1 2
, so that

N k i=1 a i f i equals |f | 2 N k i=1 a i u i , with N k i=1 |u i | 2 = 1. The left-hand side of (34) is then equal to i π a∈C N k M ∂ ∂ log N k i=1 a i u i ∧ ϕdµ k + i π a∈C N k M ∂ ∂ log N k i=1 |f i | 2 1 2 ∧ ϕdµ k . ( 35
)
The function inside the integral in the second term of the sum (35) does not depend on a ∈ C N k , so that

i π a∈C N k M ∂ ∂ log N k i=1 |f i | 2 1 2 ∧ ϕ dµ k = i π M ∂ ∂ log N k i=1 |f i | 2 1 2
∧ ϕ which is the right-hand side of (34). In order to prove the equality (34), we then have to prove that the first term of the sum (35) is zero. In order to prove this, we use polar coordinates a = rθ, for r ∈ R + and θ = (θ 1 , . . . , θ N k ) ∈ S N k -1 and obtain

i π a∈C N k M ∂ ∂ log N k i=1 a i u i ∧ ϕ dµ k = i π θ∈S N k -1 M ∂ ∂ log N k i=1 θ i u i ∧ ϕ dµ k dθ = i π M ∂ ∂ θ∈S N k -1 log N k i=1 θ i u i dθ ∧ ϕ dµ k = 0 since the quantity θ∈S N k -1 log N k
i=1 θ i u i dθ does not depend on u for |u| = 1. Hence the result.

As said in Section 1.2.3, Theorem 1.9 and Theorem 1.10 follow from Lemma 5.1 and from Theorems 1.2, 1.3, 1.5 and 1.7.

Numerics

We conclude by illustrating Theorem 1.10 numerically. In order to do so, we investigate examples on the Riemann sphere; let us briefly recall the constructions in this context. For more details, see for instance [14, Example 5.2.4, Example 7.2.5] and the references therein.

Notation. We endow (M, ω) = (CP 1 , ω FS ) with the line bundle L = O(1), equipped with the Hermitian metric h which is dual to the metric on O(-1) coming from the standard Hermitian metric on C 2 . The curvature of (O(1), h) equals -iω FS with ω FS the Fubini-Study form, normalized so that Vol(CP 1 , ω FS ) = 2π. It is standard that for every k ∈ N, there is a canonical isomorphism

H 0 (CP 1 , O(k)) C hom k [z 0 , z 1 ]
between the space of holomorphic sections of O(k) → CP 1 and the space of homogeneous polynomials of degree k in two complex variables. An orthonormal basis for the L 2 -Hermitian product obtained from this isomorphism is

e ,k = (k + 1) k 2π z 0 z k- 1 , 0 ≤ ≤ k.
So a random holomorphic section of O(k) will be of the form

s k = k =0 α ,k e ,k , α ,k ∼ N C (0, 1) i.i.d. ( 36
)
By considering the affine chart {[z 0 : z 1 ], z 1 = 0} of CP 1 and the corresponding trivialization of O(1), we will work in the space C k [z] of polynomials of degree at most k in one complex variable, and our Berezin-Toeplitz operators will be differential operators with respect to z. Moreover, by symplectically identifying (CP 1 , ω FS ) with (S 2 , -1 2 ω S 2 ) where ω S 2 is the usual symplectic form given by

(ω S 2 ) u (v, w) = u, v ∧ w R 3 , u ∈ S 2 , v, w ∈ T u S 2 ,
we work with symbols in C ∞ (S 2 , R).

Sample mean. In our simulations, we will consider N independent random holomorphic sections s

k , . . . , s

(N ) k ∈ H 0 (CP 1 , O(k))
and compute the difference between the sample mean of the number of zeros of T k s k contained in the geodesic ball

B(x, R √ k ) and k 2π Vol(B(x, R √ k ), around a point x ∈ S 2 : E(x, R, k, N ) = 1 N N m=1 # Z T k s (m) k ∩ B(x, R √ k ) -k 1 - 1 1 + tan 2 ( R √ k ) . ( 37
)
Here we have used that

Vol B x, R √ k = 2π 1 - 1 1 + tan 2 ( R √ k ) . For a fixed value of k, the random variable # Z T k s (m) k ∩ B(x, R √ k ) is bounded, so by the law of large numbers E(x, R, k, N ) converges almost surely towards E # Z T k s k ∩ B(x, R √ k ) -k 1 - 1 1 + tan 2 ( R √ k ) as N → +∞. Recall that Theorem 1.10 applied to ϕ = 1 states that as k → +∞, E # Z T k s k ∩ B(x, R √ k ) -k 1 - 1 1 + tan 2 ( R √ k ) = C 1 (R) 2π + O(k -1 2 ) (38) if f (x) = 0 and E # Z T k s k ∩ B(x, R √ k ) -k 1 - 1 1 + tan 2 ( R √ k ) = k -1 R 2 L 1 (x) 2 + O(k -3 2 ) (39) if f (x) = 0, where L 1 is such that i∂ ∂ log f 2 = L 1 ω FS . So for a fixed but large k, E(x, R, k, N ) should be close, for large N , either to C 1 (R) 2π if f (x) = 0 or to k -1 R 2 L 1 (x) 2 if f (x) = 0.
First example. Firstly, we consider the height function f = x 3 on S 2 ⊂ R 3 , with (x 1 , x 2 , x 3 ) the Cartesian coordinates in R 3 . The operator

T k = 1 k + 2 2z d dz -kId acting on C k [z]
is a Berezin-Toeplitz operator with principal symbol f . Let s k be a random polynomial in C k [z] as in Equation (36). Since T k e ,k = -2k k+2 e ,k for any ∈ {0, . . . , k}, the zeros of T k s k are the zeros of the random polynomial

T k s k = k =0 -2k k + 2 α ,k e ,k (40)
and can be computed numerically. So we can locate them and compute E as in Equation (37). We compare this quantity to the theoretical limits displayed in Equation (38) and Equation (39).

Since n = 1, the universal constant appearing in Equation ( 38) is

C 1 (R) 2π = 1 - 1 √ 1 + 2R 2 . ( 41
)
This equality is confirmed numerically in Figure 1 by computing E(x, R, k, N ) for some x ∈ f -1 (0).

We also look at what happens outside f -1 (0). Hence we need to compute the term L 1 appearing in the right-hand side of Equation (39). For this, note that the height function

f = x 3 reads f (z) = |z| 2 -1 |z| 2 +1 in the affine holomorphic coordinate z, so that if z / ∈ f -1 (0), then (∂ ∂ log f 2 ) z = - 4(1 + |z| 4 ) (|z| 2 -1) 2 (|z| 2 + 1) 2 dz ∧ dz.
This implies, using that ω FS = idz∧dz (1+|z| 2 ) 2 , that Equation (39) becomes in this case

E # Z T k s (m) k ∩ B(π -1 N (z), R √ k ) -k 1 - 1 1 + tan 2 ( R √ k ) = - 2k -1 R 2 (1 + |z| 4 ) (|z| 2 -1) 2 +O(k -3 2 ).
(42) This is checked in Figure 2. where µ p,q,k = p(p -1)(k -q)(k -q -1) if p, q ∈ {2, . . . , k -2} and µ p,q,k = 0 otherwise. So if s k is a random holomorphic section as in Equation (36), then we compute T k s k by applying this matrix and locate its zeros numerically. In Figure 3, we show how our results allow us to recover the set f -1 λ (0) by computing the quantity E(x, R, k, N ) as in Equation (37) for a large number of values of x; indeed, recall (see Equations ( 38) and (39) and the discussion after them) that for N sufficiently large, this quantity is close to C 1 (R) 2π > 0 when f λ (x) = 0 and is close to a O(k -1 ) otherwise. A Appendix: a proof of Theorem 2.1

In this appendix, we show how to derive Theorem 2.1 from [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF]. Once again, we stress that Theorem 2.1 already exists in the literature (see for instance [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF][START_REF] Ma | Berezin-Toeplitz quantization on Kähler manifolds[END_REF]). Our goal here is to write a proof with our notation and conventions (which differ from those of [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF] and [START_REF] Ma | Berezin-Toeplitz quantization on Kähler manifolds[END_REF]) as the explicit values of the constants appearing in the statement have been intensively used throughout the paper.

Proof of Theorem 2.1. Since T k -k -1 T k (f 1 ) and S k -k -1 T k (g 1 ) are Berezin-Toeplitz operators with respective principal symbols f and g and vanishing subprincipal symbols, it suffices to consider the case f 1 = 0 = g 1 . Moreover the terms of order k -, ≥ 2 in the symbols of T k and S k do not contribute to b 1 , so we may assume that T k = T k (f 0 ) and S k = T k (g 0 ). We write the asymptotic expansion of the kernel of B k on the diagonal as

B k (x, x) = ≥0 k -b (f 0 , g 0 )(x) + O(k -∞ ).
We want to compute the term b 1 in the symbol

σ(B k ) = ≥0 b (f 0 , g 0 ).
Recall from [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF] that the covariant and contravariant symbols of T k are defined as

σ cov (T k ) = σ(T k )σ(Π k ) -1 , σ cont (T k (f )) = f.
The associated star-products, , cov and cont are σ(ST ) = σ(S) σ(T ), σ cov (ST ) = σ cov (S) cov σ cov (T ), σ cont (ST ) = σ cont (S) cont σ cont (T ).

So by definition,

σ(T k (f 0 )T k (g 0 )) = σ cov (T k (f 0 )T k (g 0 ))σ(Π k ). 29

Let Ψ be the isomorphism sending σ cont to σ cov , so that σ(T k (f 0 )T k (g 0 )) = Ψ(σ cont (T k (f 0 )T k (g 0 )))σ(Π k ) = Ψ(f 0 cont g 0 )σ(Π k ).

We know from [6, Proposition 4] that Ψ(f ) = f + ∆f + O( 2 ) and that

f 0 cont g 0 = f 0 g 0 -2 n ,m=1
G ,m ∂f 0 ∂z

∂g 0 ∂ zm + O( 2 )
(note the different conventions for G ,m between [START_REF] Charles | Berezin-Toeplitz operators, a semi-classical approach[END_REF] and the present paper). Furthermore, it is stated in [6, Corollary 2] that

σ(Π k ) = 1 + r 2 + O( 2 )
where r is the scalar curvature of M . Consequently,

σ(T k (f 0 )T k (g 0 )) = (f 0 cont g 0 + ∆(f 0 cont g 0 )) 1 + r 2 + O( 2 ) = f 0 g 0 -2 n ,m=1
G ,m ∂f 0 ∂z

∂g 0 ∂ zm + ∆(f 0 g 0 ) + O( 2 ) 1 + r 2 + O( 2 ) = f 0 g 0 + ∆(f 0 g 0 ) -2 n ,m=1
G ,m ∂f 0 ∂z

∂g 0 ∂ zm + rf 0 g 0 2 + O( 2 ).
But one readily checks that ∆(f g) = f 0 ∆g 0 + g 0 ∆f 0 + 2 G ,m ∂g 0 ∂z ∂f 0 ∂ zm .

Consequently, we finally obtain that σ(T k (f 0 )T k (g 0 )) = f 0 g 0 + f 0 ∆g 0 + g 0 ∆f 0 + rf 0 g 0 2 + 2 n ,m=1

G ,m ∂g 0 ∂z

∂f 0 ∂ zm + O( 2 ).
But, in view of Equation ( 4) and since f 0 and g 0 are real-valued,

2 n ,m=1
G ,m ∂g 0 ∂z ∂f 0 ∂ zm = G(∂g 0 , ∂f 0 ).

Corollary 2 . 5 .

 25 Let T k be a Berezin-Toeplitz operator with real-valued principal symbol f and let B k = T * k T k . If f vanishes transversally, then there exists c > 0 such that, for any k large enough we have |f |

.

  The proof follows the lines of[START_REF] Shiffman | Distribution of zeros of random and quantum chaotic sections of positive line bundles[END_REF] Lemma 3.1], but we give it for the sake of completeness. Let us fix an orthonormal basis e 1 , . . . , e N k of H 0 (M, L k ) and a local non-vanishing holomorphic section e L of L defined on some open set U ⊂ M .

Figure 1 :

 1 Figure 1: The blue diamonds are the numerical values of E(x, R, k, N ) (see Equation (37)) for x = (1, 0, 0), k = 400, N = 1000 and various values of R. The solid red line is the graph of C 1 2π , see Equation (41).

Figure 2 :

 2 Figure 2: The blue diamonds are the numerical values of E(x, R, k, N ) (see Equation (37)) for z = 0, k = 100, N = 100000 and various values of R. The solid red line is the graph of R → -2k -1 R 2 (1+|z| 4 ) (|z| 2 -1) 2

Figure 3 : 1 √ 2 ,

 312 Figure 3: Reconstruction of the set f -1 λ (0) for f λ = x 1 x 2 -λ on S 2 , with λ = 1 3 , after stereographic projection. On the left we display the values of E(z, R, k, N ) (see Equation (37)) for R = 1 √ 2 , k = 100, N = 1000, and z taken on a 200 × 200 grid discretizing the square {|Re (z)|, |Im (z)| ≤ 2}. On the right we show the level set f -1 λ (0) for λ = 1 3 .

  dz n ∧ dz n . Then the result follows from the equality

	n =1	∂f ∂z	∂f ∂ z	=	1 2	|∂f | 2 ω =	1 4	|df | 2 ω
	see Equation (4) and Lemma 2.2.

2 F ϕ (0)+O(k -1 2 |w|).

After injecting these two equations in [START_REF] Zelditch | Survey on the inverse spectral problem[END_REF] and simplifying, we get

which reduces, using Equation (15.5.12) in [START_REF] Frank | NIST handbook of mathematical functions[END_REF] with

Substituting this in Equation ( 25), we finally obtain that

We claim that this gives the desired result. In order to prove this, we use the integral expression for the remainder in Taylor's formula to write

But one readily checks that

so the above equation becomes

Using once again Equations (15.6.1) and (15.1.2) in [START_REF] Frank | NIST handbook of mathematical functions[END_REF], we see after simplification that

Comparing this with Equation (27) gives

and we conclude using Equation ( 24) that

1 ) 2 dt 1 . . . dt 2n is positive for every R > 0 is clear from the expression given in Equation (28).

We are now able to prove Theorem 1.5 and Corollary 1.6.


Rafael Garibotti
email: garibotti@lirmm.fr

Luciano Ost
email: ost@lirmm.fr

Remi Busseuil
email: busseuil@lirmm.fr

Mamady Kourouma
email: kourouma@lirmm.fr

Chris Adeniyi-Jones
email: chris.adeniyi-jones@arm.com

Gilles Sassatelli
email: sassatelli@lirmm.fr

Michel Robert
email: robert@lirmm.fr

Simultaneous multithreading support in embedded distributed memory MPSoCs

Keywords: B.7.1 [Integrated Circuits]: Types and Design Styles -advanced technologies, VLSI (very large scale integration) Design, Experimentation, Performance, Verification Programmability, Multithreading, Distributed memory organization, NoC-based MPSoCs

come

INTRODUCTION

MPSoC have become the de-facto platform template in many application domains ranging from consumer market products such as smart phones to hard real-time systems. In most cases, high performance allied to low power consumption [START_REF] Marculescu | Outstanding Research Problems in NoC Design: System, Microarchitecture, and Circuit Perspectives[END_REF] is required. Due to the increasing complexity of both platform architecture and application software, programming such multiprocessor systems is a challenge and demands for better programming model facilities [START_REF] Marongiu | An OpenMP Compiler for Efficient Use of Distributed Scratchpad Memory in MPSoCs[END_REF]. Parallel programming models for embedded systems have long been explored and some used in high-performance computing (HPC) have been ported and adapted to embedded systems, such as the Message Passing Interface (MPI). The use of such APIs allows software designers to model explicit parallelism and synchronization between tasks/processor nodes at a reasonable level of abstraction while allowing better utilization of hardware resources [START_REF] Ceng | MAPS: An Integrated Framework for MPSoC Application Parallelization[END_REF].

The objective of this paper is exploring the opportunity of developing a POSIX-like threads API (Pthreads) [START_REF]The POSIX threads standard[END_REF], very popular in general-purpose and high-performance computing, onto a distributed private memory NoC-based MPSoC. This API commonly used for simultaneous multithreading (SMT) on symmetric multiprocessing (SMP) systems assumes a coherent shared memory architecture that each processor may access at any time. As the target architecture is of distributed private memory type, the proposed approach relies on additional hardware that makes it possible to expose a logically shared memory architecture based on physically distributed memories. Different from ccNUMA architectures (cache-coherent Non-Uniform Memory Machines) that use complex cache-coherence protocols for enforcing strict memory consistency, our approach targets embedded devices and therefore aims at minimizing additional hardware through a software-oriented approach. Since the resulting architecture retains its purely distributed nature, clusters operating in this distributed shared memory mode (referred to as vSMP for Virtual Symmetric Multiprocessing) are of arbitrary size and geometry, and can be decided at run-time for better suiting application needs.

The contributions of this paper may be summarized as follows: (i) providing multithreading capability onto a RTL distributed private memory NoC-based MPSoC, (ii) implementation of a hardware module that enables vSMP clusters definition at run-time, along with a software-based memory consistency approach. These contributions allow us to evaluate the resulting system, demonstrating its efficiency in terms of scalability of platform and application, as well as better throughput for several application/benchmarks scenarios. This paper is organized as follow: Section 2 presents related work in MPSoCs programmability. Section 3 describes the basic concepts inherent to the adopted NoC-based MPSoC along with proposed API and hardware. Section 4 describes the experimental setup. Section 5 gives results in term of performance scalability and analyzes the overhead created. Finally, Section concludes and points out future work directions.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. DAC'13, May 29 -June 07, 2013, Austin, TX, USA.

RELATED WORK

Several studies have been aimed at improving MPSoCs programmability by including/extending different APIs primitives, as well as proposing tools that can help designers to program parallel embedded applications. For instance, Ceng et al. [START_REF] Ceng | MAPS: An Integrated Framework for MPSoC Application Parallelization[END_REF] propose the MAPS framework that can be employed to guide application designers during the parallelization process. A similar framework that allows to explore different parallelization alternatives at high-level is described in [START_REF] Baert | Exploring Parallelizations of Applications for MPSoC platforms using MPA[END_REF]. Both approaches generate a parallel version of a sequential C code, which is validated on the top of a shared-memory system. In turn, Marongiu et al. [START_REF] Marongiu | An OpenMP Compiler for Efficient Use of Distributed Scratchpad Memory in MPSoCs[END_REF] extended the OpenMP API, allowing allocating array data over multiple distributed scratchpad memories (SPMs) based on profile information to optimize data allocation. Two MPSoC models were implemented in a SystemC full-system simulator in order to validate the proposed OpenMP API (e.g. primitives, compiler). The proposed approach differs from Marongiu's in four main aspects: (i) processors are interconnected by a cross-bar, while a mesh NoC is employed in the present work, which makes our system more scalable while consuming less energy and area when compared to a cross-bar; (ii) no OS/library support for thread creation and management is available in Marangiu's approach, (iii) only benchmarks that fit entirely in cache memories were used in [START_REF] Marongiu | An OpenMP Compiler for Efficient Use of Distributed Scratchpad Memory in MPSoCs[END_REF] since no cache coherence protocol is supported in his work, while our system implements cache coherence protocol, allowing to execute applications that deal with larger memory footprint (e.g. MJPEG) and (iv) the proposed Pthreads approach was evaluated in a real NoC-based MPSoC that has already been prototyped in different FPGAs and also ported to ASIC to evaluate the area overhead, while Marangiu's approach uses a simulator to validate his idea. Ophelders [START_REF] Ophelders | A Tuneable Software Cache Coherence Protocol for Heterogeneous MPSoCs[END_REF] proposes a software cache coherence protocol that was validated on a dual-core ARM9 architecture using the SPLASH2 benchmark. Ophelders work differs from ours in two aspects. First it considers a system with MMU, and a 4-set associative cache, allowing high-level memory management; while our approach relies on compact scalar MMU-less processor architecture with direct mapped caches, which impacts on less memory utilization. Second, our approach to memory coherence is software-based and relies on flushes and invalidations, not allowing remote execution that implies in less memory access.

To the best of our knowledge this work presents the first purely distributed memory NoC-based MPSoC that supports multithreading through POSIX thread API while dealing with cache/memory coherence at OS level. The proposed approach improves the system programmability; while better scalability and performance can be achieved once high visibility permits improving cache coherence and management.

MULTITHREADING PLATFORM

Platform Description

OpenScale1 is a homogeneous message-passing NoC-based MPSoC with distributed private memories. Each node comprises a 32 bit pipelined CPU with configurable instruction and data caches. This core implements the Microblaze ISA architecture and features a timer, an interrupt controller, a RAM and optionally an UART [START_REF] Busseuil | Open-scale: A scalable, open-source noc-based for design space exploration[END_REF], as illustrated in Figure 1. The platform RTOS is a pre-emptive priority-based micro-kernel. Each processing element (PE) runs its RTOS independently, and communications and synchronizations are made through a light implementation of the MPI message-passing library. Applications are represented through Khan Process Network, a standard representation in such a message-passing oriented system. Examples of services supported in the RTOS are: (i) run-time dynamic applications loading, (ii) preemptive round-robin scheduler based on thread credits, (iii) system-monitoring mechanisms (e.g. processor workload) and (iv) API with drivers support (e.g. UART). The platform supports a number of features such as task-migration and distributed decision-making capabilities [START_REF] Busseuil | Open-scale: A scalable, open-source noc-based for design space exploration[END_REF].

Multithreading hardware support

In order to enable simultaneous multithreading (SMT) on any multiprocessor architecture, a logically shared memory space must be exposed to the software. Moreover, as the chosen architecture is organized into a distributed private memory, the hardware must also be modified to enable access to remote memories from any node participating to the vSMP cluster (Virtual Symmetric Multiprocessing). Figure 1 shows an example of vSMP clusters that may be defined at run-time using arbitrary size and geometry. They may communicate with each other using message passing, but be careful with the placement, because as shown in Figure 1, perhaps the PE between clusters may incur a communication performance penalty, depending if this PE is using the NoC to communicate with another PE or not.

The proposed module that serves this purpose, called remote memory access (RMA), is composed of an RMA-Send and an RMA-Reply, which together enable remote memory access through the NoC, more two asynchronous FIFOs are used for communication between both modules and the NoC. The RMA module contains a cache miss handling protocol that comprises three main steps: (i) whenever a cache miss occurs, the CPU issues a cache line request routed through the NoC, (ii) the host RMA reads the desired cache line (i.e. instruction/data), which is sent back to the remote CPU that resumes thread execution as soon as cache line is received (iii), as illustrated in Figure 2.

The remote memory access protocol has a latency of 182 clock cycles at zero NoC load, from the cache line request to the remote thread execution, which is depicted in details in Figure 3, remembering that this latency only occurs when trying to access the shared memory and not accessing the local memory during a cache miss. The protocol and its implementation have been optimized for latency and not throughput, as cache miss traffic is rather more latency-sensitive. Low to moderate latencies are ensured up to an end-to-end bandwidth of 90MB/s at 500MHz. Note that the host RMA is kept busy during 64 cycles: since there is one input fifo and output fifo, a new request can be serviced before the cache line write to NoC (64 cycles), which corresponds to cache line request acquisition (15 cycles) and local memory read (14+35 cycles), as shown in Figure 3. This results in a maximum theoretical bandwidth of 250MB/s when several requests are aliased.

Multithreading software support

The in-house RTOS described in 3.1 was modified to support a configurable processor memory mapping that permits specifying the ratio of local private data versus local shared data, made visible to all processors in the cluster as shown in the Figure 4. Moreover, a subset of the widely used POSIX multithreading API has been ported into the microkernel, as shown in Table 1. The implementation of this API was focused on three categories: thread creation, mutexes and barriers for thread mutual exclusions and synchronizations. The memory consistency model relies only on the memory coherence guaranteed at each API function call: which corresponds to a relaxed memory consistency model, i.e. having a coherent memory whenever synchronization is made. The protocol operates as follows:

• During a thread creation, data caches are flushed on the caller side and invalidated on the executer side.

• During a mutex lock, cache lines that possibly contain shared data that can be accessed between the locking and unlocking are invalidated.

• During a mutex unlock, those same lines are flushed.

• During the barrier calls, the shared memory is also flushed and invalidated.

EXPERIMENTAL SETUP

Application kernels

Three application kernels often employed in multithreaded architectures benchmarking were selected: Smith Waterman (DNA sequence-alignment matching application), MJPEG encoder and FFT (Fast Fourier Transform). A pthread implementation was developed for each, in which threads granularity is sound. MJPEG threads process entire images, whereas Smith-Waterman implementation relies on worker threads that run sequence alignment algorithm on different data sets. FFT is made of a number of threads, each of which performs a number of butterfly operations for minimizing data transfers. Table 2 gives benchmark-specific figures expressed in terms of single-thread processing time (using 16kB of cache), computation to data ratio and code size. Due to the different natures of those applications, execution time varies greatly and ranges from less than 2 million clock cycles (4ms at 500MHz) to more than 13 million clock cycles (26ms at 500MHz). The second important factor provided by this table is the computation to data ratio. This number is the ratio between the number of actual compute instructions (e.g. add, mul, jump, etc.) Private data

RTOS

Node n

Private data RTOS over the number of memory instruction (load / store) executed by a thread, which gives an overview of the importance of instruction loading in regards of data loading. Hence, an application having a high computation to data loading ratio would be instruction accesses dominated, with therefore proportionally less data accesses. Note that Smith Waterman has the highest computation data, when compared to the others. Fourth column in Table 2 shows the thread code size of each application. A thread with large code size would potentially lead to more instruction cache misses, because a smaller fraction of it would fit in the cache.

Reference Platforms

GEM5 Simulator [START_REF] Binkert | The gem5 simulator[END_REF] was used to produce the reference platforms.

It was chosen because its good tradeoff between simulation speed and accuracy, besides modeling a real Realview Platform Baseboard Explore for Cortex-A9 (ARMv7 A-profile ISA) [START_REF] Arm | RealView Platform Baseboard Explore for Cortex-A9 User Guide, DUI0440B[END_REF].

To create the desired ARM system, the CPU model and Linux bootloader have been modified to enable configurations with more than 4 cores and different interconnection network topologies were evaluated: (a) bus-based and (b) mesh. The reference platforms are configured as follows: (i) up to 8 ARM Cortex-A9, (ii) CPU running at 500MHz, (iii) Linux Kernel 2.6.38, (iv) 16kB private L1 data and instruction caches, (v) 32bits channel width, (vi) DDR physical memory running at 400MHz and (vii) 256MB unified L2 cache (only for mesh network) where the MOESI Hammer [START_REF] Amd | AMD Opteron Shared Memory MP Systems[END_REF] is the cache coherence protocol used in these topologies. It is noteworthy that to avoid any traffic with DDR physical memory during benchmark execution was selected this huge L2 cache size.

Platform Setup

The platform is configured as follows: (i) 3x3 processor array, NoC with 4 position input buffers and 32 bits channel width, (ii) processor cache size was set to 4kB, 8kB and 16kB, 8 words per lines, direct mapped caches, (iii) 500MHz frequency for both processor nodes and NoC routers and (iv) CPU with hardware multiplier, divider and barrel shifter. Figure 5 shows the thread mapping used for the experiments. In those, shared data reside in the top-left processor node, and are accessed by the threads running in other nodes (one per node). These mappings incur higher cache miss latencies as all traffic converges and flows through south and east ports of the top-left processor node. Results have however shown that mapping influence on performance remains below 5% in our setup, because of the NoC link bandwidth (1GB/s) corresponding to less than 20% bandwidth usage in all used configurations. All results were gathered on a synthesizable RTL VHDL description of the architecture. Note that all features inherent to prototype (e.g. runtime vSMP cluster definition) were also evaluated in FPGA (i.e. simplistic scenarios due to the memory limitation).

RESULTS

Speedup

The first experiment evaluates the platform scalability considering all applications as shown in Figure 7. Architecture scalability was evaluated and compared to different interconnection network topologies made from 1 to 8 ARMv7 CPU cores with cache sizes matching those of our MPSoC. In order to maximize speedup, one thread per node was used in all experiments, thereby avoiding performance penalties resulting from context switching. Figure 7a shows near-perfect linear speedup for the Smith-Waterman application, for all platforms. As being very compute oriented (as shown in the third column of Table 2), few data communication occur and thread code fit in the local caches for all tested configurations (as shown in the fourth column of Table 2), resulting in limited cache miss rate, but even under these conditions, our proposed MPSoC has a better performance compared to the mesh reference platform in which reached his maximum speed up of 6.3. In turn, b shows a similar speedup for cache sizes of 8kB and 16kB in the MJPEG, this can be easily explained by observing the behavior of the application shown in Figure 6, where it looks totally scalable, since the barriers would be found only at the end of each processing frame. But even though a scalable application, the shared-bus platform reaches a plateau from 5 cores, while the mesh platform reaches a plateau from 6 cores, they are due to the bus saturation. The same behavior is also observed with the proposed accelerator when using cache sizes of 4kB, but this will be explained in details in Section 5.2. Figure 7c shows the performance scalability of FFT, regarding the adopted scenario (Figure 5). Due to the sequential synchronizations, the parallelization capability of FFT is low. Thus, with a 16kB cache configuration, the application can only achieve a speedup of 4.6. However, such results show a better performance when compared to other systems, which no one overcomes a speed up of 2.8. Different from the previous benchmarks, the FFT application was employed to explore synchronization primitives (e.g. Mutexes and Barrier) when multiple threads issue concurrent accesses to same data/variables (e.g. during a read/write operation). In this situation, Mutexes are used to allow exclusive Pthread data access and Barrier are used to coordinate the parallel execution of threads during their synchronization.

T T T T T T T T Shared Memory

Frames stored in the shared between accessed by processing threads Another example to demonstrate this synchronization is shown in Figure 8, where the Mutex primitive is used to identify each thread (Thread_id) before starting their execution by using a single variable (shared_var) into the Host shared memory (i.e. instructions / data). This part of the application is inherently sequential due to the time of creation and identification of threads.

Each thread decodes the same number of frames

RMA and NoC Throughput

Figure 9 shows the average bandwidth during MJPEG execution for the two used NoC links at the host level (south and east) as well as the RMA, which is the aggregated bandwidth of those. Thread mapping plays an important role in the NoC usage, as explained in Section 4.3.

Figure 9 -Average bandwidth for the MJPEG application.

It can be observed that south link is unused for 1 and 2 threads, because of the decided mapping. But as the number of threads grows, the south link begins to be massively used (XY routing) causing most of the host data flows through this south NoC link.

Although overall the bandwidth grows linearly versus the number of threads for 16kB cache sizes, which is similar to 8kB. Using 4kB cache sizes results in a significant bump in bandwidth usage, mostly because of much increased instruction cache miss rate. A plateau is observed from 4 threads at around 200MB/s, which is about 80% of the maximum theoretical bandwidth of the RMA module (250MB/s). This explains the plateau observed in speedup in Figure 7b, because of the RMA saturation.

Figure 10 shows the average bandwidth for the FFT application. Similar to 4kB MJPEG scenario, saturation threshold around 200MB/s is achieved when more than 4 threads are executed considering 4kB cache configuration (similar to 8kB cache). This explains the plateau observed for speedup illustrated in Figure 7c. However, the average bandwidth of the 16kB scenario does not reach the saturation threshold, which infers that the maximum speed up of 4.6 (Figure 7c) is not related to the communication, but rather to the application behavior explained in Section 5.1 and shown in Figure 6.

Miss Rate and Cache Miss Latency

Figure 11 shows both the average instruction and data cache miss latencies for MJPEG. Excellent scalability is observed for 2 cache configurations (8kB and 16kB), whereas 4kB configuration shows a steep latency increase due to the RMA saturation (Section 5.2). The average cache miss latencies for (a) instructions and (b) data for the FFT application for 4kB, 8kB and 16kB cache configuration is illustrated in Figure 12.

Communication Overhead

As pointed out during the introduction, the placement of the desired cluster may interfere in the system performance. To demonstrate this situation the following scenarios are proposed: (i) 3 different clusters are defined at run-time by running the same FFT application without any communication between them, (ii) the application running in the first and third clusters has been modified to exchange results between them, while the second cluster will not run, and (iii) is a mix between the first two experiments, as shown in the Figure 13. Table 3 shows that the communication overhead is 9.82%, and when the second cluster is running the first and third clusters are affected by the system and the execution time increases more 19.32%, showing qualitatively as interference can impact on the system.

Placement Overhead

Another experiment which shows the placement overhead is demonstrated in Figure 14, where three scenarios are proposed varying the host position: (i) default scenario, where two threads will communicate through a port while all other threads will communicate using another, (ii) similar to previous, this scenario will decrease NPU-Host distance from 4 to 3 hops and (iii) the best scenario, where NPU-Host distance is balanced and in the worst case is just 2 hops away. As displayed in Table 4, the best gain using cache size of 8kB or 16kB is about 3% by changing only the host position, this can be explained by the fact that the MJPEG application is scalable and the NoC was not saturated in these scenarios. But when the NoC is saturated (4kB cache size), the placement can be very weighty, showing a gain of almost 10% using the best configuration.

Area Overhead

To evaluate the area overhead of the proposed idea, two approaches were used: (i) ASIC and (ii) FPGA.

In these results, the processor architecture was shifted to a floating-point capable low power embedded processor [START_REF] Arm | Cortex-M4 Technical Reference Manual[END_REF]. Moreover, the synthesizable version has no optional IO (e.g. no UART). Table 5 shows that this contribution adds an area overhead between 5,72% and 15,59%, using respectively 256kB and 64kB of RAM in a 40nm CMOS Technology.

An additional analysis was performed using a Xilinx Spartan-3 FPGA (XC3S1000), where system with the RMA module incurs an area overhead ranging from 7% to 15% also depending on the memory size.

CONCLUSION

This paper presents a multithreading approach for a distributed memory NoC-based MPSoC. The proposed solution was validated on FPGA and ASIC and incurs a limited area overhead (around 10%), because it relies on a relaxed memory consistency model that permits avoiding complex cache coherence protocols. This combined to the intrinsically low latencies of on chip NoC communications results in a promising solution that shows good performance scalability and enables facilitated programming through the use of POSIX thread API.

Future explorations will aim at investigating power efficiency and scalability with hundreds of processor nodes, besides also evaluate qualitatively our approach against NUMA systems. Some enhancements of this design are also envisioned, such as aliasing of both data and instruction spread over several processor nodes so as to better balance memory accesses, avoid code replication (such as microkernel) and achieve higher performance.

Figure 1 -

 1 Figure 1 -Adopted NoC-based MPSoC architecture.

Figure 2 -

 2 Figure 2 -Cache miss RMA protocol.

Figure 3 -

 3 Figure 3 -Cache miss RMA protocol in a READ transaction.

Figure 4 -

 4 Figure 4 -DSM node memory organization.

Figure 5 -

 5 Figure 5 -Adopted scenario.

Figure 6 -

 6 Figure 6 -Behavior of MJPEG Pthread implementation.

Figure 7 -

 7 Figure 7 -Architecture scalability, considering different applications and varying the cache memory size in 4kB, 8kB and 16 kB.

Figure 8 -

 8 Figure 8 -Example of Mutex variable implementation.

Figure 10 -

 10 Figure 10 -Average bandwidth for the FFT application.

Figure 11 -

 11 Figure 11 -Average instructions and data cache miss latencies for MJPEG.Note that the saturation factor is related to the instruction cache miss latency. For instance, for the 4kB and 8kB scenarios the instruction cache miss latency increases almost linearly from 4 to 8 threads. In turn, due to the small number of data cache miss the latency does not have the same behavior.

Figure 12 -

 12 Figure 12 -Average instructions and data cache miss latencies for FFT.

Figure 13 -

 13 Figure 13 -Scenarios used to explore communication interference.

Figure 14 -

 14 Figure 14 -Scenarios used to explore host position.

Table 1 -Implemented Pthread primitives.

 1

	Pthread primitives	Description
	pthread_create()	Creates a new thread in the calling process
	pthread_exit()	Terminates the calling thread
	pthread_join()	Waits for the specified thread to terminate
	pthread_mutex_init()	Initializes the specified mutex
	pthread_mutex_destroy() Destroys the specified mutex
	pthread_mutex_lock()	Locks the mutex object
	pthread_mutex_unlock() Unlocks the mutex object
	pthread_barrier_init()	Initialize a barrier object
	pthread_barrier_wait()	Synchronizes participating threads at the barrier pointed to by the barrier argument

This is the smallest protocol that ensures cache coherency hardware and software support: the invalidation and flush operations of any cache line are performed only if the cache line tag corresponds to the address specified by the instruction. This condition avoids unnecessary cache flushes / invalidations of cache lines containing unrelated data.

Table 2 -Performance information of adopted applications.

 2

	Application	Single thread	Computation	Instruction size
	name	execution time	to Data Ratio	of a thread
	MJPEG	5.3 Mega cycles	5.34	52kB
	Smith Waterman 13.2 Mega cycles	7.08	3.8kB
	FFT	1.9 Mega cycles	4.18	5kB

Table 3 -Execution time considering scenarios with and without communication interference between clusters.

 3

	Scenarios	Execution Time (Clock cycles)	Interference
	i	2356281	------
	ii	2578409	9.42 %
	iii	3076780	19.32 %

Table 4 -Larger differences exploring the host position.

 4

	Cache Size	Host_00	Performance best case Host_10	Host_11
	4 kB	100%	98.81%	90.51%
	8 kB	100%	97.10%	96.84%
	16 kB	100%	98.62%	96.90%

Table 5 -PE area evaluated at 40nm CMOS Technology.

 5

	Memory Size	Low-Power core with FP	Low-Power core with FP + RMA	Area Overhead
	64 kB	0.2803 !! !	0.3240 !! !	15.59 %
	128 kB	0.4392 !! !	0.4829 !! !	9.94 %
	256 kB	0.7650 !! !	0.8088 !! !	5.72 %

Available for download at: www.lirmm.fr/ADAC

ACKNOWLEDGEMENT

The research leading to these results has received fund-ing from the European Communitys Seventh Frame-work Programme (FP7/2007-2013) under the Mont-Blanc Project: http://www.montblanc-project.eu, grant agree-ment no 288777.