Keywords: Calcul chimique, Table de hachage distribuée, Arbre d'exécution Contents

Vers l'exécution distribuée de programmes chimiques Résumé : Internet est devenu une plate-forme de calcul globale dans laquelle une myriade de services autonomes sont composés dynamiquement en fonction des besoins de millions d'utilisateurs simultanés. Face à ce nouveau changement des plates-formes de calcul, il est nécessaire de proposer de nouveaux modèles de programmation. Les modèles de programmation inspirés par la nature, et en particulier le modèle chimique montre des propriétés intéressantes pour modéliser de telles interactions. Dans ce modèle, les services (encapsulant par exemples des composants logiciels, des données, ou des capteurs) sont vus comme des molécules dont les interactions sont modélisés par des règles de réactions. Alors que beaucoup de travaux récents autour de ce paradigme ont mis en évidence l'intérêt de ce modèle, son exécution distribuée reste un problème largement ouvert. Dans ce rapport, nous proposons et implémentons un modéle d'exécution pour ce modèle. Nous nous appuyons sur une table de hachage distribuée à travers laquelle les molécules sont distribués, et au-dessus duquel un arbre d'exécution est construit.

Nous avons développé un prototype de notre approche et l'avons expérimenté sur la plate-forme Grid'5000, fournissant une preuve de concept et de sa viabilité à large échelle.

1 Introduction

Internet as we have used it over the last decade seems to come close to an end. Web surfing represents today a minor part of Internet's traffic. The Internet of Services has now emerged as a global computing platform, under the shape of a digital ecosystem where myriads of services are composed dynamically to satisfy billions of requests constantly sent by users at the edge of this global platform, through applications. A service can encapsulate various components such as sensor devices, storage space, computing power, or software, making them available through the network. They are dynamically combined into composite services (workflows) usually presenting a high degree of parallelism and distribution. To leverage such high level abstractions, new programming models are required, able to express autonomic coordination, parallelism and distribution. Nature-inspired models recently regained momentum in this context [START_REF] Viroli | A Biochemical Approach to Adaptive Service Ecosystems[END_REF]. In particular, the chemical programming paradigm, initially developed to naturally express parallel processing [START_REF] Banâtre | A Parallel Machine for Multiset Transformation and its Programming Style[END_REF], offers intuitive and simplified ways to express a wide range of coordination problems [START_REF] Banâtre | Chemical Programming of Future Service-oriented Architectures[END_REF]. Its expressiveness allows programmers to directly tackle an application's logic and behaviour, while abstracting out the details of inherent sequentiality of the target specific platform or language. Within this model, a computation is seen as a chemical solution where molecules of data react according to some rules (programs) to produce new data. Reactions take place in an implicitly autonomous, parallel and distributed fashion until the state of inertia, where no more reactions are possible. The solution then contains the result of the computation. Following this model, the Higher-Order Chemical Language (HOCL) goes further by providing the higher order [START_REF] Banâtre | Generalised Multisets for Chemical Programming[END_REF]: any digital entity can be represented as a molecule interacting with others. Services, data, and even users can interact this way. More importantly, rules can react with other rules, programs dynamically modifying programs.

While the expressiveness and versatility of the chemical paradigm have been established, the distributed execution of chemical programs is still a widely open problem, hindering the model to be actually leveraged.

The execution of a chemical program is comprised of three main phases: finding reactants, performing the reactions, and detecting the inertia. The few isolated attempts at tackling the problem over a distributed platform had limited impact, for they focused on some particular topologies or cases. Our goal is to address this problem with three main requirements in mind: (i) Parallelisation and Distribution Transparency. The runtime of a chemical program is implicitly parallel and distributed. Parallelisation and distribution should remain invisible to the programmer. (ii) Platform Independence. In the same vein, our objective is to build a distributed environment to be executed on top of any distributed platform, by abstracting out potential hardware or communication heterogeneities. (iii) Scalability. Finding reactants at large scale, and, similarly, detecting that no more reactants in the platform can react is a typically hard task, that, at large scale should be tackled through intensive parallelisation and distribution.

Contribution. The emergence of peer-to-peer technologies for information retrieval leads to unexplored ways to solve the problem. In this paper, we propose a scheme building an execution tree on top of a distributed hash table (DHT) [START_REF]Chord[END_REF][START_REF] Rowstron | Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems[END_REF] as a framework for the problem. We exhibit a distributed algorithm for inertia detection which we show optimal in terms of number of tests. We developed a distributed chemical machine prototype on top of the FreePastry [START_REF]Freepastry[END_REF] DHT implementation. Experimentations conducted on the Grid'5000 platform [3] establish its viability, and thus open doors for the actual adoption of such a model.

The next section presents the chemical model and the challenges of a distributed runtime. Section 3 details and analyses our architecture and algorithms. Section 4 discusses the prototype and its experimental results. Section 5 explores related works. Finally, Section 6 concludes and advocates future work.

Chemical Programming Model

The chemical model was initially proposed for a natural expression of parallel processing, by removing artificial structuring and serialisation of programs, focusing only on the problem logic. Following the chemical analogy, data are molecules floating in a solution. They are consumed according to some reaction rules, i.e., the program, producing new molecules, i.e., resulting data. These reactions take place in an implicitly parallel and autonomous way, until no more reactions are possible, a state referred to as inertia. This model was first formalised by GAMMA [START_REF] Banâtre | A Parallel Machine for Multiset Transformation and its Programming Style[END_REF], in which the solution is a multiset of molecules, and reactions are rewriting rules on this multiset. A rule replace P by M if V consumes a set of molecules N satisfying the pattern P and the condition V , and produces a set of molecules M . Let us consider the following example of a chemical program extracting the maximal value from a set of integers: replace x :: int, y :: int by x if x ≥ y in 2, 4, 5, 7, 9

RR n°7661

The rule specifies that any pair of integers inside the solution react, consuming them to create a new integer with the highest value of the two. Note that here, the condition holds for any pair of integers. While the result of the computation is deterministic, the order of its execution is not; GAMMA simply ensures the mutual exclusion of reactions by the atomic capture of the reactants. In our example, a possible execution is the following (2 and 7, as well as 4 and 5, react first, producing the intermediate state): Recently, the Higher-Order Chemical Language (HOCL) [START_REF] Banâtre | Generalised Multisets for Chemical Programming[END_REF] raised chemistry to the higher order. In HOCL, any entity taking part in the computation, (service or platform) can be represented as reactants. Reaction rules themselves react with other rules. In other words, programs can modify programs at runtime. These aspects confer on HOCL an uncommonly high expressiveness, able to deal with a wide variety of coordination on large scale platforms, as shown in [START_REF] Banâtre | Chemical Programming of Future Service-oriented Architectures[END_REF][START_REF] Banâtre | Towards Chemical Coordination for Grids[END_REF][START_REF] Caeiro | A Chemical Model for Dynamic Workflow Coordination[END_REF]. However, such a chemical coordination remained mostly conceptual until now.

Distributed Scenario. We here aim at providing a platform to execute any chemical specification. As an illustration, let us reconsider our max example. Our platform should be able, without any extra line of code, to execute it over a distributed platform, i.e., distribute the three phases mentioned in Section 1. A typically possible scenario is the following. First, the solution (multiset) is distributed over the nodes, each node receiving a part of the integers, constituting their local solutions. This triggers the second phase, during which each node searches for reactants within its own local solution. Reactions take place separately on each node. When a local solution becomes inert, it needs to be merged with others to continue further the computation. Imagine two inert solutions, each containing an integer. These two integers need to meet to react in their turn, thus producing a new inert solution that will merge with others, and so forth until one node contains the final inert solution, i.e., the maximal value of the initial multiset.

Distributed Chemical Platform

Our platform, illustrated by Figure 1, builds upon a distributed hash table (DHT) [START_REF]Chord[END_REF][START_REF] Rowstron | Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems[END_REF], thus securing independence from the underlying environment, and partially solving the scalability issue as nodes are able to communicate efficiently no matter of their number. The external application sending its program to the DHT can contact any of the DHT nodes, thus facilitating naturally load balancing. The platform completes the requirement by employing the locality philosophy: computation happens first where the data is located. In the following, Pastry [START_REF] Rowstron | Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems[END_REF] is used to implement this overlay layer. Note that any DHT could fill this role.

We first detail how molecules are distributed and the computation initiated. Then, we focus on the distributed mechanisms required to find reactants and detect the inertia. We show, by providing a first naïve algorithm that suboptimality in terms of number of reaction tests is easily encountered if the algorithm is not designed properly. The optimal algorithm we designed is then given. Its optimality is formally proven.

Data and Execution Distribution

To trigger its runtime, the holder of a chemical program contacts one node it knows in the Pastry overlay (referred to as the ring in the following) and transfers it the solution. That contact node is referred to as the source, since it represents the data's entry point in the ring. As we will see, the execution will also finish on the source node, which will finally deliver the inert solution, i.e., the result, to the requesting node. The source is the root of the execution tree whose construction we'll be now discussing.

Once the source node receives the data, it scatters the data molecules across the ring according to their hash values. (The cryptographic hash function of the underlying DHT guarantees uniform dispersion with high probability (w.h.p.).) Molecules are routed concurrently according to Pastry's routing scheme, in O(log n) hops [START_REF] Rowstron | Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems[END_REF]. In the course of the routing process, the path of each molecule is traced by intermediary nodes, called forwarders, from the source node to the molecule's destination node, referred to as the worker. By passing on molecules, forwarders maintain a local state (in addition to the Pastry's routing table) containing the set of nodes to which they forwarded a molecule. Note that forwarders, together with the source node, will be workers as well, w.h.p. Finally, the source node spreads one final message, mc, to nodes in its own local state, containing the rules to execute.

Upon the receipt of mc on a node p from a node s, p completes its state with s, referring to it as its parent (in the multicast tree being built). In case p has already received mc from another node, it just drops it, but sends another specific message back to s, which, upon receipt, deletes p from s' local state. This ensures that, combined, the local states form a tree. This tree, rooted at the source node, will be used later to make partial inert solutions move backwards to the source node. The tree thus created presents some similarities with the Scribe publish/subscribe system [START_REF] Castro | Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure[END_REF]. Note that the complexity of the local state is logarithmic to the number of nodes in the system, as nodes referenced in the local state of a node (except its parent) are necessary inside Pastry's routing table, itself logarithmic in size.

After receiving the last multicast, nodes start locally the computation. Every possible combination of molecules residing on a node is checked on this node against the rules, and, if possible, reactions take place. The combinations' cardinality is determined by the number of molecules local to the node and the number of a rule's arguments. When the part of the solution received by one node is inert, it must assiociate itself with other nodes to continue the computation.

Each of them sends its inert local solution to the respective parent. The parents then merge them with their own and continue the computation. Only when the parent has received all of its children's solutions and when its local solution is inert, the process continues with the parent transferring its local solution to its parent, and so forth until all of the inert local solutions reach the source node, which delivers the global solution after executing it until inertia.

Fault Tolerance. While failures can affect our scheme (failures or disconnections of nodes can lead to (i) routing problems, and (ii) loss of molecules), it is not our primary concern here. However, we give a few hints for its reliability. The sub-tree formerly rooted at a crashed node becomes unable to forward its results up in the tree. Inspired by the work in [START_REF] Castro | Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure[END_REF], a simple detection and reconnection protocol can be defined: when initiating the last broadcast message, the source can include its ID. Then, when a node is unable to reach its parent, it can dynamically find a new path to the root by launching a reconnection request in the DHT on the source ID, and thus rebuild a connected tree. Dealing with the loss of molecules, one can rely on replication [START_REF] Schneider | Implementing Fault-Tolerant Services Using the State Machine Approach: a Tutorial[END_REF]. Execution Example. Consider an eight-node ring, as shown on the left part of Figure 2. For the sake of simplicity, let node 0 be the source node and let the program contain eight molecules whose hash identifiers match exactly those of the nodes, and node 0's routing table contains nodes 1, 2, and 4. Node 0 will send molecules 1, 2 and 4 directly to their respective workers, adding their identifiers in its local state. It transmits the molecule 3 via node 2, which adds node 3 it in its local state, and so on until all molecules have reached their worker. Node 0 multicasts the rules to its local state (nodes 1, 2 and 4). Node 1 starts the execution, while nodes 2 and 4 forward the rules to their children before, completing the tree on the right part of Figure 2. When their local solutions become inert, the leaf nodes (1, 3, 5 and 7) send them to their parents. After merging the newly arrived local solution and executing the set, the inner nodes transfer their local solutions to their parent, and so on until the solution reaches the source node.

Reaction Condition Checking

We now focus on reaction condition checking and inertia detection. We developed two algorithms distributing the task of trying every possible combination of molecules. The first one is an intuitive but sub-optimal method, used to highlight the fact that, if one is careless, many unnecessary tests can be done, increasing again the complexity of an already hard task. The second one, referred to as BucketSolver is shown to be optimal in terms of number of combination tests.

A Naïve Algorithm. In a first intuitive approach, upon the receipt of molecules from one of its children, a node starts a computation cycle, during which every possible molecule combination of the local solution is tested, possible reactions performed, and thus local inertia reached. Provided a parent has got g children, there are exactly g + 1 such cycles: the first one occurs after the initial dissemination of molecules, while the other g cycles take place after the result of each child has been received. Note that, even though two or more children's results might be received simultaneously, this will not reduce the number of computation cycles in terms of number of tests. As will later reveal the analysis, the total number of tests performed by this algorithm depends on the number of nodes in the tree as well as its structure, and is considerably higher than the optimal number of combination tests.

BucketSolver Algorithm

The sub-optimality of the naïve algorithm comes from the conception of the reaction condition checking routine. Once a node receives or generates new molecules, it merges them in its unique local solution without keeping track of already checked combinations, leading to future unnecessary tests.

When a node transfers its local solution to its parent, the parent is sure that all of the combinations in the node's local solution have already been tried. The parent does not really need to know exactly which combinations have been checked, as long as it knows the set of molecules they derive from. Thus, we create buckets into which we put sets of molecules whose combinations have already been tried.

When a node originally receives molecules from the source, it puts them each in its own bucket. A computation cycle comprises checking only inter-bucket combinations -those whose elements belong to different buckets. For the sake of clarity, let us consider two buckets. Formally, when checking a combination of r arguments, j, 0 < j < r, elements are picked from bucket a, while r -j elements are picked from bucket b. If the combination is evaluated positively, the elements are removed from their respective buckets and once the reaction has been carried out, each resulting molecule is placed in a new, separate bucket.

Once two initial buckets' intersection combinations have been checked, they are fused -molecules from one bucket are put into the other and the now empty bucket is deleted. As shown later, the act of fusion guarantees all of the intra-and inter-bucket combinations will be examined. Following this logic, the solution, be it local or global, is declared to be inert once there is only one bucket left in the system. result from its child and creates a bucket b (Figure 3(I)). Now, it checks all of the combinations except those whose elements all reside in the same bucketall the combinations are tested but (a 1 , a 2 ) and (b 1 , b 2 ) (Figure 3(II)). Finally, presuming no reaction took place, the two buckets are merged into one containing all of the elements (Figure 3(III)). This algorithm is valid for r ≥ 2, since at least one element per bucket must be picked.

In presence of one-argument rules, condition checks only need to be performed on the molecules received at the time of the initial dissemination. The ones transmitted from children are only forwarded to parents, as they were already checked by their initial worker, located in the sub-tree.

BucketSolver provides inertia detection (all of the combinations will be examined) while being optimal (every combination will be checked only once). These assertions are proved in Section 3.2.2 and corroborated with experimental results in Section 4.

Analysis

We now present an analysis of the number of combinations examined to detect the inertia of both algorithms presented and establish the optimality of Bucket-Solver. Obviously, this analysis assumes the solution to be already inert, as we here detect inertia. Note that a complexity analysis of an unstable solution is not feasible since the number of reactions and nodes can vary according to the rules and molecules being checked.

The number of nodes is denoted by n. The program considered contains m molecules. Thus, after the initial dissemination detailed in Section 3.1, every node holds approximately m / n molecules. We assume, for the sake of simplicity, and without loss of generality, that the program considered now is composed of one commutative rule with r arguments. In other words, unordered combinations of r molecules are checked against the condition of this rule. Under these circumstances, the minimum number of combination to be checked is

N min = m r = m!
r!(m-r)! . To quantitatively compare the two approaches, we assume the execution tree is a full g-ary tree, where g ≥ 2. This allows us to analyse and differentiate the approaches clearly by taking advantage of the symmetry and recursion of full trees. Nevertheless, we prove that the proposed algorithm keeps its efficiency when applied to any type of tree, be it full or not.

Let us firstly analyse the naïve algorithm. On a given depth i, 0 ≤ i ≤ d, the total number of combinations checked by one node is:

Ni 1 = m n r + g k=1 kmci + m n r = g k=0 kmci + m n r (1)
where m ci is the number of molecules received from the child at depth i + 1 and is defined as:

mci = m n * 1 g -1 g d-i -1
Summing by depth all of the checks made, we get the total number of checks N = d i=0 g i * N i1 , which yields, after introducing Equation 1 and arranging the terms:

RR n°7661 N = m r + n m n r + d-1 i=0   g i+1 mci r + g i g-1 j=1 jmci + m n r   (2)
This establishes the sub-optimality of the naïve approach. Following is the analysis which shows the optimality of BucketSolver. Proof. Given that each of the buckets' combinations have already been checked, we have to prove their intersection is checked also, i.e.

N a∩b = ma + m b r - ma r - m b r (3)
The combinations expressed in Equation 3 are found by picking r elements from the set a∪b where j elements come from bucket a and r-j elements from bucket b (0 < j < r). When summing the number of combinations, we get the following:

r-1 j=1 ma j * m b r -j = ma + m b r - ma r - m b r
Following Lemma 1 we observe that the necessary and sufficient condition that all of the combinations have been checked is having exactly one bucket left, since when there is only one bucket present, there are no inter-bucket combinations to be examined, which, by definition, means all of the possible combinations in the bucket have been checked. Lemma 2. The number of combinations checked by BucketSolver in a full g-ary tree amounts to N = m r . Proof. In the first computational cycle, every combination will be checked:

N i1 = m n
r . Each time a node receives a result from one of its children, it checks N a∩b combinations, where bucket a represents the molecules already present on the node and bucket b represents the incoming result of a child. A node does so g times, and the number of combinations on it totals to:

Ni 1 = gmc i + m n r -g mc i r
which, when summed by depth yields N = Proof. The number of combinations checked by a node i is:

Ni = m n r + g i -1 k=0 m n + k+1 j=1 mj r - m n + k j=1 mj r - m k+1 r = mi r - g i j=1 mj r
where g i is the number of node i's children, m j is the number of molecules forwarded to it by its child j and m i is the final number of molecules which node i will send to its parent:

m i = m n + gi j=1 m j .
Naturally, m i will become one of node i's parent's m j , which means they will cancel out one another. Consequently, the total number of combinations checked by the algorithm is:

N = n i=1 N i = m r
This analysis shows that both algorithms insure the detection of inertia. It also shows that BucketSolver checks every combination only once, and is, thus, optimal. Section 4 experimentally confirms this statement.

Evaluation

We developed a prototype of our architecture and algorithms1 , described below. It was tested on a simple chemical program outlined in section 4.1. Experimental results are finally presented. The central role in the execution is played by the solver unit, which is the implementation of the inertia-detection algorithms, and has, thus, two different implementations. The implementation of the naïve algorithm reflects precisely its theoretical description, while that of BucketSolver carries a slight refinement -a multi-threaded version of the algorithm is implemented. confirm the architecture's viability, and considerable speedups are obtained: S basic ∈ [2, 3] for the naïve algorithm and S bucket ∈ [START_REF] Banâtre | Towards Chemical Coordination for Grids[END_REF][START_REF] Rowstron | Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems[END_REF] for BucketSolver. The tests expose a considerable impact of the structure of the tree on the basic algorithm's performance, visible in the high fluctuation in execution time. BucketSolver is more resilient to structural changes and exhibits better performance results. Finally, using threads decreases further the total execution time for an average of 20%. Experiment 2 (Inertia Detection). Next, we investigate the overhead of distributed inertia detection. The tests were conducted on an inert solution. The total execution time, depicted in Figure 6 suggests that the speedup for the basic algorithm stayed roughly the same (S basic ∈ [1.3, 3]), whereas the speedup of BucketSolver decreased (S bucket ∈ [5, 7.8]). This decline happens because there is no reaction distribution, only the condition checking is distributed. The total number of combinations checked, shown on Figure 7, reveals the rationale behind the difference in speedup of the two compared algorithms, and confirms BucketSolver's optimality. Due to the factorial complexity of the naïve algorithm's sub-optimality, as much as twice the minimal number of checks is done. Experiment 3 (Communication Overhead). Finally, we analyse the scalability related to communication, depicted in Figures 8 and9. The former represents the total number of bytes sent during execution, while the latter illustrates the average communication cost per node. Figure 8 shows that BucketSolver does not induce an increase in communication costs. Furthermore, the total amount of data sent grows linearly with the number of nodes at the rate of approximately 2.5 kB per node added. Figure 9 shows that the average local communication costs of each node decrease as nodes are added, asymptotically approaching 2.5 kB, confirming the system's scalability in terms of communications.

Related Works

Surprisingly, in spite of the fact that the model is implicitly parallel, not much work has been done on parallel execution of such programs. The pioneering work of Banâtre et al. [START_REF] Banâtre | A Parallel Machine for Multiset Transformation and its Programming Style[END_REF] provides two implementation methods, whose basic idea is a parallel machine. Each processor holds a molecule and compares it with the molecules of all the other processors. Two algorithms are proposed: (a) a synchronous one, where a centralised controller triggers each comparison step, and (b) an asynchronous one, in which the molecules travel along a vector of processors, either until they react, or until they have returned to their starting point. This last algorithm was implemented on top of an iPSC hypercube with 16 processors. In the work by Linpeng et al. [START_REF] Huang | Implementation of GAMMA on a Massively Parallel Computer[END_REF], a program is executed on MasPar MP1, a massively parallel machine, using the fold-over operation. The molecules are placed on a strip and folded over after each vertical comparison. At each step, the elements in the upper segment of the strip are compared in parallel to those in the lower segment. Recently, Lin et al. developed a parser of GAMMA programs for their execution on a cluster exploiting GPU computing power [START_REF] Lin | Computing Gamma Calculus on Computer Cluster[END_REF]. Although these works present significant speedups, the targeted platforms are quite limited. On our side, we envisage a hardware independent open platform.

Conclusion

Chemistry-inspired models were recently highlighted as an alternative model for the Internet of Services. However, its distributed runtime remains an open issue.

This paper proposes a distributed execution platform for chemical programs. One contribution here is its generality in the sense that (a) any chemical program is automatically distributed and executed on it, and (b) it is platformindependent. Detecting inertia in a distributed context poses certain algorithmic challenges. Our contribution here is an optimal distributed approach to it. The proposal is experimentally validated on a real-world test-bed, establishing its viability.

Future work will be focused on facing high workloads. A tree reorganisation scheme is being formulated, that will allow the system to control the tree structure and, thus, precisely balance the workload.

2, 4 , 5 , 7 , 9 →

 4579 * 5, 7, 9 → * 9

Figure 1 :

 1 Figure 1: The platform.

Figure 2 :

 2 Figure 2: The original ring and the dissemination tree.

Figure 3 :

 3 Figure 3: The checking buckets process.Consider the example illustrated in Figure3. Imagine a node checked two molecules, a 1 and a 2 , which now reside in bucket a. The node then receives a

Lemma 1 .

 1 When fusing two buckets, a and b, the number of combinations totals to N ab = ma+m b r where m a and m b represent the number of molecules contained in each of the two buckets.

d i=0 g i N i1 = m r . Lemma 3 .Corollary 1 .Theorem 1 .

 311 The number of combinations examined by the modified one-ruleargument BucketSolver algorithm is N = m 1 = m. Proof. Only one computation cycle takes place upon the initial molecules dissemination. The number of combinations processed by each node is N i1 = m n 1 = m n . Provided there are no more computation cycles, the number of combinations tested amounts to m.Following Lemmas 2 and 3 we have: BucketSolver checks every combination only once. Lemma 2 holds true also for non-regular trees.

Figure 4 :

 4 Figure 4: The prototype's logical concept. The logical concept of the prototype is depicted in Figure 4. The central and flow unit represent the implementation of the architecture laid out in Section 3.1. The central unit is in charge of communicating with external applications and sending and receiving molecules, while the flow unit builds a node's local state.The central role in the execution is played by the solver unit, which is the implementation of the inertia-detection algorithms, and has, thus, two different implementations. The implementation of the naïve algorithm reflects precisely its theoretical description, while that of BucketSolver carries a slight refinement -a multi-threaded version of the algorithm is implemented.

Figure 6 :

 6 Figure 6: Execution time on an inert solution.

Figure 7 :

 7 Figure 7: Number of checks done on an inert solution.

Figure 8 :

 8 Figure 8: Cumulative communication cost.

Figure 9 :

 9 Figure 9: Communication cost per node.

  Data and Execution Distribution . . . . . . . . . . . . . . . . . . 6 3.2 Reaction Condition Checking . . . . . . . . . . . . . . . . . . . . 7 3.2.1 BucketSolver Algorithm . . . . . . . . . . . . . . . . . . . 8 3.2.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Test Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . 12

	1 Introduction	3
	2 Chemical Programming Model	4
	3 Distributed Chemical Platform	5
	3.1 4 Evaluation	11
	4.1 5 Related Works	15
	6 Conclusion	15

RR n°7661

Sources are available in the branches/devel-distrib directory of the svn repository located at http://gforge.inria.fr/scm/?group_id=2125.RR n°7661

Test Program

The evaluation of the proposed architecture and algorithms was conducted using a simple chemical program containing one multiset of 5000 molecules composed of two integer numbers -an index and a value associated with it, and a single rule, sort, operating on them: let sort = replace {x.i, x.v}, {y.i, y.v} by {x.i, y.v}, {y.i, x.v}

The rule consumes two molecules if they are not already sorted in ascending order. Two new molecules are then created, holding the same indices as the original ones, but with swapped values. Although remarkably simple, this program exhibits a few pertinent properties. Firstly, it keeps the number of molecules in the solution, as well as the complexity of the program, constant, which means that, at the end of the computation, the multiset to be processed by the source node is important, constituting the potential scalability limit of our approach. Then, if our system can deal with such a program, it will a fortiori be able to run programs whose multiset's size decrases over time.

Experimental Results

Preliminary experiments were carried out on the prototype with the simple program presented above. The experiments were conducted on the nation wide Grid'5000 [3] platform, on machines equipped with two quad-core Intel Xeon E5520 processors, 24 GB of RAM and an InfiniBand 40G Ethernet card. In each experiment, the number of participating nodes varies from 1 to 500. Each processor core executes one logical node. Experiment 1 (Execution Time). Firstly, we examine the viability of our approach. Figure 5 shows the execution time of the test program. The flat uniprocessor line represents the execution time of the original HOCL compiler, artificially pulled all along the x-axis for the sake of comparison. The tests RR n°7661


Ulrich Eismann
email: eismann@ens.fr

Fabrice Gerbier

Carlota Canalias

Andrius Zukauskas

Gérard Trénec

Jacques Vigué

Frédéric Chevy

Christophe Salomon

An all-solid-state laser source at 671 nm for cold atom experiments with lithium

Keywords: Laser cooling of atoms, Lithium atoms, Diode-pumped solid state lasers, Frequency doubling PACS 37.10.De, 42.55.Xi, 42.60.By, 42.60.Pk, 42.62.Fi, 42.65.Ky, 42.72.Ai, 42.72.Bj

des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

The lithium atomic species is of great interest for cold atom experiments and the study of quantum degenerate gases. As a member of the alkali group it offers strong coupling to electromagnetic fields and a simple level structure including cycling transitions, thus making it suitable for laser cooling. The significant natural abundance of fermionic ( 6 Li) as well as bosonic ( 7 Li) isotopes allows exploration of both sorts of quantum statistics. The interaction parameter at ultracold temperatures, the s-wave scattering length, is easily tunable for both species by applying a DC magnetic field in the vicinity of a Feshbach resonance [1]. The large width of these resonances, in addition to the light mass, adds up to the favourable properties of lithium for ultracold atom experiments.

To produce large samples of quantum degenerate gases, one needs large numbers of pre-laser-cooled atoms in a magneto-optical trap (MOT). This first step is mandatory before proceeding to the evaporative cooling phase that leads to quantum degeneracy by reducing the atom number in favor of phase-space density. To optimize the MOT capture process, one usually fixes the laser intensity around a saturation intensity and uses the available output power to maximize the beam diameter. Thus, more laser power leads to a better capture efficiency and larger atom numbers. Another important requirement is the quality of the spatial mode needed to efficiently couple the laser light to single mode (SM) optical fibers.

The wavelength of the lithium D-line resonances (670.8 nm in air) currently restricts the choice of light sources to two different kinds of lasers: dye lasers and external cavity diode lasers (ECDLs). Dye lasers typically deliver watt-level output of monochromatic light in a diffraction limited beam [2]. The drawbacks of this technology are an important maintenance effort, high intrinsic phase noise, and the requirement of an expensive pump laser. ECDLs are typically limited to 50 mW output with limited spatial mode quality, hence further amplification by injection-locked slave lasers or tapered amplifiers is needed to run a cold-atom experiment.

It is thus desirable to develop suitable single-frequency lasers with watt-level output power. Further applications of such sources include atom interferometry experiments [3], pumping of Cr:LiSAF lasers [4] and lithium isotope separation [5].

Light sources emitting at 671 nm based on frequencydoubling of 1342 nm Nd:YVO 4 or Nd:GdVO 4 lasers have been realized previously [6][7][8][9][10][11][12][13][14][START_REF] Lenhardt | Conference on Lasers and Electro-Optics[END_REF], reaching up to 9.5 W of cw multi-mode output [START_REF] Lenhardt | Conference on Lasers and Electro-Optics[END_REF]. A solid state single-frequency laser source delivering 920 mW at around 657 nm has been presented in [START_REF] Sarrouf | [END_REF].

Here we report on the construction and characterization of an all-solid-state laser source with 670 mW output power in a TEM 00 mode operating at 671 nm. This is made possible by frequency doubling a homemade 1.3 W Nd:YVO 4 1342 nm single mode ring laser in an external cavity. The advantages of our source are: watt-level output power in a single longitudinal and transverse mode with excellent beam quality, narrow linewidth (< 1 MHz), and long-term frequency stabilization onto the lithium resonance lines. Furthermore, multi-mode diode laser pumping at 808 nm is inexpensive and only low-maintenance efforts are required for establishing reliable day-to-day operation.

The paper is organized as follows: in Section 2 we describe the infrared single-frequency laser design and results. Section 3 focuses on the frequency doubling of the infrared radiation, whereas Section 4 treats the spectroscopy and frequency-locking systems. In Section 5 the red laser emission is characterized in terms of relative intensity noise, linewidth and longterm stability. In Section 6 we describe a second setup in progress using intra-cavity doubling that has the potential to deliver similar output power at 671 nm while offering higher simplicity of the laser source design.

Infrared laser

Laser setup

To realize a single-longitudinal-mode (SLM) laser it is favorable to use a design avoiding standing waves and thus the resulting spatial hole-burning in the active medium [START_REF] Siegman | Lasers[END_REF]. Thus we have chosen a ring cavity with proper intra-cavity etalons as frequency-selective elements.

The setup is presented in Fig. 1. The pump source is a commercial fiber-coupled Coherent FAP-400 diode stack emitting up to 42.6 W at 808 nm (90% energy width: 4 nm). Its metal housing is temperature stabilized to optimize the spectral overlap between pump emission and the gain medium absorption. The fiber output (core radius: 200 µm, numerical aperture NA = 0.22) is imaged in the gain medium using two lenses (f 1 = 75 mm and f 2 = 200 mm) to a top-hat spot of radius w pump = 530 µm. The Nd:YVO 4 crystal of dimensions 3 × 3 × 10 mm 3 is 0.2 at.%-doped, a-cut and anti-reflective (AR) coated at 808 nm and 1342 nm. It is wrapped in indium foil and fixed in a solid water-cooled copper mount to efficiently remove heat. Care needs to be taken to avoid acoustic excitations of the mount due to turbulent water flow, thus only a small continuous flux of tap water was applied to prevent frequency fluctuations of the laser output.

The four mirrors M 1-4 (highly reflective at 1342 nm except the output coupler M 2 , transmitting at 808 nm) form a folded ring or bow-tie cavity. The two concave mirrors M 3 and M 4 have a radius of curvature of R cc = 100 mm. Thermal design is crucial for the laser: even at moderate pump powers, strong thermal lensing occurs because of the large quantum defect between pump and lasing photon energies and excited state absorption to higher levels [START_REF] Fornasiero | [END_REF][19][20]. Optimum spatial overlap of the pump fiber image in the laser crystal (top-hat profile of radius w pump ) and laser mode (1/e 2 radius w laser ) is established by fine-tuning the distance between M 3 and M 4 . The choice of the mode-size ratio ρ = w laser /w pump ≃ 1 allowed for a stable TEM 00 operation at optimum output power1 . The cavity design remains stable in presence of a thermal focal length down to f th = 170 mm in the Nd:YVO 4 crystal. Care was taken to design the cavity as short as possible to increase the laser's mechanical stability and the cavity free spectral range (FSR), facilitating SLM behavior.

Unidirectional oscillation is ensured by a combination of a Faraday rotator and a wave plate. The Faraday rotator is custom built by the LCAR group according to the original design presented in [22]. As a medium displaying the Faraday effect, a cylindrical AR-coated Terbium Gallium Garnet (TGG) crystal is chosen. To minimize absorption, the length of the TGG crystal is limited to l TGG = 6 mm, and its diameter is 5 mm. The ensemble of NdFeB ring magnets delivers a magnetic field integral of I B = lTGG 0 B(z) dz = 8 T.mm along the TGG axis. Single-pass measurements resulted in a rotation angle of ϕ rot = -(9.3 ± 0.1) • and thus in a Verdet Table 1 Frequency scales in the setup. Typical frequencies are free spectral ranges ν FSR as described in the text and FWHM for the gain profile from [19]. Reflectivities R are given for the output and input coupling mirrors in case of the two cavities and for the two etalon surfaces, respectively. The finesses F and Q-factors of the laser cavity and E

constant of V = ϕ rot /I B = -(20.3 ± 0.2) rad.T -1 .m -1
for the given crystal at 1342 nm. Back rotation and stable unidirectional operation at high intra-cavity powers is established by an AR-coated zero-order λ/2-wave plate, which is preferred to multi-order wave plates because of instabilities related to thermal effects [23]. The polarizing intra-cavity element is the Nd:YVO 4 crystal which provides higher gain in the c-direction as well as birefringence. The oscillation direction is chosen as indicated in Fig. 1 to spatially separate residual pump light from the output beam. Stable SLM behavior could not be established using a single intra-cavity etalon. Thus, two infrared fused silica etalons E 1,2 of free spectral range ν FSR,1 = 210 GHz and ν FSR,2 = 26 GHz are installed, where ν FSR = c/nL rt , c is the speed of light in vacuum, n the refractive index and L rt the round-trip length. An overview of the typical frequency scales of the setup is given in Table 1. E 1 is non-coated, offering a modulation of the cavity transmission due to its Fresnel reflectivity of R = 3.3% per surface, whereas E 2 is single-layer coated, yielding R = 28%.

A second role of the etalons is coarse frequency tuning of the output radiation. However, angular tuning yields walk-off losses and thus reduces the available output power. By applying the method of [24] to ring lasers, the minimum walk-off loss2 can be estimated to L wo = 0.02% for E 2 . It can be neglected for E 1 , for which even an angular tuning of an entire free spectral range only yields L wo = 0.03% additional loss. To avoid the higher tilt loss of E 2 (L wo = 2.8% for angular tuning over one free spectral range of ν FSR = 26 GHz), we chose to keep it still at the minimum angle and to change its temperature to tune the laser. For that purpose, it is enclosed in a temperature-stabilized copper mount.

Fine tuning of the laser frequency is established by mounting mirrors M 3 and M 4 on piezoelectric transducers (PZTs): a slow PZT (M 4 ) displaying large displacement of around 2 µm at maximum voltage of 150 V and a fast PZT (M 3 ) with a displacement of around ±50 nm limited by the ±15 V driver.

The laser was mounted on a 50 mm-thick breadboard. A combined aluminum-acrylic-glass housing was provided to isolate from acoustic perturbations and for keeping the setup continuously under a dried air atmosphere to prevent dust and moisture from having detrimental effects on stable long-term operation.

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • 10

Laser operation and characteristics

We now present a detailed description of the laser's operational characteristics. Pump light absorption in the gain medium depends on the wavelength of the radiation [25], hence on the pump diode stack temperature.

Setting the chiller temperature to 24 • C at maximum pump current resulted in highest output power.

By choosing a coupling mirror transmission value T oc = 3.5%, a maximum single-mode output power P out of 1.3 W was obtained, see Fig. 2. The lasing threshold was found at an absorbed pump power P abs = 9.8 W. The power rises linearly above threshold with a slope efficiency of η sl = dP out /dP abs = 37%. Between P abs = 11 W and 12 W the output power departs from a linear behavior, and becomes unstable. We attribute this to intracavity-power-induced heating of etalon E 2 and the related change of its resonance frequency, thereby leaving the optimum operation range. Above P abs = 12 W we recover the initial slope with stable operation. At P abs (P out ) = 12.9 W (1.17 W) the slope efficiency drops to η sl = 12%, indicating the presence of detrimental thermal effects. This behavior was qualitatively found before, see for instance ref. [26]. Since no degradation of the laser parameters was observed for highest output powers, the laser was always pumped at maximum current for all further measurements. Removal of the etalons yields a rise in output power of ∼ 20%. This can be partly attributed to detuning of the laser frequency ω of ≃ 25 GHz from the emission peak when lasing at half the lithium resonance frequency.

The temperature derivative of the frequency of maximum etalon transmission ν max yields dν

max dT = ν max ν FSR dν FSR dT = -ν max 1 n dn dT + 1 L r dL r dT , (1)
where T is the etalon temperature. Putting in the values for IR fused silica from [START_REF] Leviton | Proc. SPIE[END_REF] yields dν max /dT = -1.42 GHz.K -1 . The emission wavelength was measured by single-pass frequency doubling the laser light, as described in the next section. This resulted in a second-harmonic (SH) output power in the 1-mW range, sufficient to drive a CCD-based wavelength meter (High Finesse WS-6). The measured temperature dependence of the laser emission frequency ν is dν/dT = (-1.45 ± 0.01) GHz.K -1 . Tunability of ≃ 50 GHz is achieved, yielding ≃ 100 GHz of tunability for the SH output. To operate the laser at a given frequency without mode hops caused by etalon temperature drifts, the temperature of the etalon T set needs to be stabilized to an interval T set ± δT , where δT can be estimated to

δT < ν FSR,laser 2 |dν/dT | ≃ 0.1 • C . (2)
This is accomplished using a homemade temperature controller, offering stability well below this requirement. Continuous scanning of the laser frequency is achieved by sweeping the voltage applied to the slow PZT (M 4 ). For the dynamic range of 0...150 V this results in more than three times the full mode-hop-free scan range of ν FSR,laser = 360 MHz. By applying simultaneous (linear) scanning of the PZT and angle-tuning of etalon E 2 , mode-hop free continuous frequency tuning of the laser over 1.1 GHz could be demonstrated, with a resulting maximum output power drop of ≃ 10% due to etalon walk-off loss.

The beam coupled out of M 2 has a 1/e 2 waist radius of 640 µm (820 µm) and a divergence angle of 0.8 mrad (0.9 mrad) in the horizontal (vertical) plane. The astigmatism results from the cavity design and non-isotropic thermal lensing in the Nd:YVO 4 crystal. By employing only spherical lenses, and thus imperfect mode matching, a coupling efficiency to a SM optical fiber of 75% was obtained. Stable output power and beam parameters over weeks of daily operation were demonstrated.

3 Second-harmonic generation

General considerations

Frequency-doubled light is generated using a second order process in a nonlinear medium. In the limit of weak conversion this yields a second harmonic (SH) output power P 2ω in the form with P ω the pump beam power of frequency ω and η the conversion efficiency. In [START_REF] Boyd | [END_REF], Boyd and Kleinman derived the following expression for η, assuming Gaussian beams:

P 2ω = ηP 2 ω , (3)
BD ppKTP PD L PM M ref M sep (a) (b) • • • • • • • • • • • • • • • • • • • • • • • • • •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• • • • • • •• • • • • • •• • • • • • • • • •• • • • • •• •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 20
η = 2ω 3 d 2 ij L πε 0 c 4 n ω,i n 2ω,j h(α, β) , (4)
where d ij is the effective nonlinear coefficient of the material with i(j) the polarization of the fundamental (SH) wave, n ω(2ω),i(j) the corresponding refractive indices of the material, L the nonlinear material length, ε 0 the vacuum permittivity and c the speed of light in vacuum. The function h(α, β) is given as

h(α, β) = 1 4α α -α e iβ(T )τ 1 + iτ dτ 2 , (5)
with the focusing parameter α = L/2z R , where z R is the Gaussian beam Rayleigh length assumed here equal for both waves, yielding a smaller waist for the SH light. The phase-matching parameter

β = 4πz R λ (n ω,i (T ) -n 2ω,j (T )) (6)
is temperature-and polarization-dependent in the case of birefringent media. The derivation assumes no depletion of the fundamental wave and absence of losses. The integral in eq. ( 5) needs to be calculated numerically except for limiting cases, yielding a global maximum of h max (2.84, 0.573) = 1.068. Putting in values for the usual nonlinear media, this results in a doubling efficiency η in the %/W range at best. Thus for the available cw laser power, single pass doubling is not an option and one has to resort to resonantly enhanced intracavity doubling. Quasi-phase matching in periodically-poled materials is favorable in the intracavity case because of the excellent beam quality achievable without beam walkoff [29,[START_REF] Boyd | Nonlinear Optics[END_REF]. The accessibility of the much greater diagonal elements d ii of the nonlinear tensor allows for higher single-pass efficiencies (eq. ( 4)) while keeping the phase matching condition of optimum β. Compared to the bulk case, the same equations ( 3)-( 6) hold, by performing the following replacements:

β → β -2πz R /Λ
where Λ is the poling period and

d ij → d eff = 2d ii /π.
As a nonlinear medium, periodically-poled Potassium Titanyl Phosphate (ppKTP) was chosen because of its high transparency from 350-4300 nm, its high nonlinear coefficient d 33 = 16.9 pm/V [START_REF] Peltz | [END_REF] and its high damage threshold.

Single pass measurements

We first describe the characterization of the nonlinear crystal using a single-pass method. The completely automatized measurement setup is represented in Fig. 3. The spatial mode-cleaning fiber output power was ≃ 500 mW, resulting in a maximum of P 2ω ≃ 2 mW of red light output, the two beams being separated using mirror M sep . The fundamental power was monitored using a Ge photodiode (PD) exploiting the finite transmission through mirror M ref . The signal was calibrated against the IR power P ω hitting the crystal. The finite transmittance of M ref at 671 nm was taken care of, and the SH power measured using a commercial power meter (Thorlabs S130A). The response of the power meter's Si photodiode at 1342 nm is negligible, and so is the corresponding transmission of M sep . The shutter, driven at 1 Hz with a 50% duty cycle allowed for the determination of dark current offset drifts for both power measurements, which is of highest importance for low conversion efficiencies. The crystal is mounted on a transverse (xy-) translation stage and temperature controlled to ∼ 10 mK using a Peltier element and a homemade temperature controller. A set temperature ramp was applied to the controller, scanning the full 55 • C range in about 30 minutes. The slow ramp allowed for adiabatic behavior of the temperature measurement, permitting independent determination of the temperature of the crystal measured by a LM35 sensor attached to the crystal mount.

The ppKTP crystal used in the experiments was fabricated in-house at the Royal Institute of Technology by electric field poling at room temperature [32]. Its length is 19.2 mm, featuring an optical aperture of 6 × 1 mm 2 . The length of the periodically-poled region is 17.25 mm. The poling period was chosen to be Λ = 17.61 µm, resulting in expected plane-wave phase matching at 23.5 • C using the temperature-dependent Sellmeier equations from [33,34]. Both surfaces are AR coated at 1342 nm and 671 nm.

Experimental results are presented in Fig. 3. A weighted numerical fit to the eq. ( 4) well describes the measured data. The temperature dependence of the phase matching parameter β was taken into account up to quadratic order. The full 99%-width of the peak of 0.7 • C allows the use of standard temperature controllers. However, the optimum phase-matching temperature of 33.2 • C differs from the theoretical value. This can be explained by a small difference to the Sellmeier equations as presented in [34] and a non-perfect alignment between pump beam and crystal axis. The maximum measured single pass efficiency of 1.13%/W represents 74% of the theoretical maximum of 1.53%/W from formula (4) with the parameters α as fitted and d 33 for KTP from [START_REF] Peltz | [END_REF]. This can be explained by imperfections of the domain grating, most probably deviations from the 50% duty cycle. We thus derive an effective nonlinear coefficient of d eff = 9.2 pm/V for our crystal.

Doubling cavity

The doubling cavity setup is similar to the one presented in [35] and depicted in Fig. 4. As for the laser, a four-mirror folded ring-cavity is used, building up a powerful traveling fundamental wave. The pump light is coupled through the plane mirror M ′ 1 for which several reflectivity values R c are available to account for impedance matching. All other mirrors are highly reflective at 1342 nm and transmitting at 671 nm. M ′ 3 and M ′ 4 are concave with a radius of curvature of 75 mm. M ′ 2 (M ′ 3 ) was glued on the same type of fast (slow) PZT as used in the laser cavity (Section 2.1), allowing to act on the cavity length in the 50 nm (2µm) range. The nonlinear crystal is inserted in the cavity's smaller waist of w 0 ≃ 55 µm. The weaker-than-optimal focusing leads to a slightly reduced h(α = 1.22, 0.818) = 0.865, or a fraction h/h max = 81% of the optimum value, yielding η = 0.92%/W. This choice represents a trade-off between maximum single-pass doubling efficiency and intensity-related detrimental effects such as nonlinear and SH-induced absorption [36] and gray-tracking [37]. The cavity length was minimized and the geometry chosen to be shifted with respect to the stability range center. It also avoids frequency degeneracy of higher-order transverse cavity eigenmodes and the TEM 00 mode. It also accounts for a circular beam in the crystal and thus for a circular SH output. Mode matching between the laser output and the cavity was accomplished using a set of spherical lenses. The crystal mount is identical to the one described in Sect. 3.2. The frequency doubled light is transmitted through M ′ 4 and collimated using a f ′ 3 = 150 mm lens to a 1/e 2 beam radius of 0.9 mm. The doubling cavity is kept in a housing equaling the laser housing in design and function.

For low intra-cavity powers of up to ∼ 500 mW and the crystal temperature tuned far from the optimum phase matching value, nonlinear conversion can be neglected. While scanning the cavity length by ∆L, one measures a power signal leaking through M ′ 2 , proportional to the intra-cavity power

P (δL) = lm P lm 1 + F sin 2 (ϕ lm + ω∆L/c) , (7)
where F is a fit parameter. P lm are the contributions from the TEM lm modes, displaying a constant cavity round-trip phase of ϕ lm , and c is the speed of light in vacuum. The mode matching efficiency is defined as η mo = P 00 / P lm . It was maximized to η mo = 92%. The linear cavity round-trip losses L emp/tot can be quantified from the fit parameter F , where emp(tot) means the empty cavity (cavity including ppKTP crystal). The results are presented in Table 2. Inserting the crystal rises the losses by L c ≃ 1%. This can be accounted for by residual absorption and scattering in the ppKTP crystal and imperfections of its AR coatings. Taking into account nonlinear conversion, the fundamental mode intracavity power P 00 = P ω at TEM 00 resonance (referred to as cavity resonance) is a solution of

P ω = (1 -R c -L 1 )η c P p 1 -R c (1 -L pa )(1 -ηP ω ) 2 , (8)
which can be calculated numerically, where P p is the fundamental pump power, L 1 is the coupling mirror (M ′ 1 ) transmission loss and L pa is the total cavity passive loss excluding the coupler transmission. The singlepass doubling efficiency η is calculated according to eq. ( 4) with d 33 as measured in Section 3.2. Setting L pa = L c and L 1 = 0 the solution of eq. ( 8) yields a maximum SH power of 710 mW at the maximum available pump power of P p = 860 mW. This is accomplished for an optimized coupling mirror reflectivity of R c = 92%, yielding a power conversion efficiency of η conv = P 2ω /P p = 84%.

After locking the cavity to the laser, as will be described in Section 4.1, the SH power P 2ω versus P ω was measured for R c = 95%, see Fig. 5. For low powers, the conversion shows quadratic behavior as stated in eq. (3). A fit yields a single-pass efficiency of η = 0.78%/W, slightly lower than predicted. However, starting from the threshold value P ω (P 2ω ) = 9.0 W (640 mW), only a slow linear rise in SH power with intra-cavity power is obtained, reaching its maximum at P ω (P 2ω ) = 10.7 W (670 mW). We attribute this behavior to fast intensity-dependent detrimental effects. This is confirmed by the lock error signal, which becomes very noisy above threshold. In contrast to [38,39] the cavity remains locked for all power levels. When changing the pump power, the SH output follows without observable hysteresis. Long-term degradation is not observed, indicating the absence of gray-tracking. However, for further characterization the setup is operated just below threshold to avoid the related rise in intensity noise. A maximum doubling efficiency of η conv = 86% is obtained just below threshold, compatible with the theoretical predictions.

Lock and saturation spectroscopy

Frequency locking of the laser system to the lithium D-line transitions requires frequency doubled light to perform spectroscopy on atomic lithium vapor. Thus, first the doubling cavity needs to be frequency-locked to the free-running laser. In a second step, the laser is stabilized to half the required frequency using lithium saturated absorption phase modulation spectroscopy. The setup is presented in Fig. 6.

Cavity lock

To frequency-lock the doubling cavity to the laser frequency, an error signal needs to be generated. We use a modulation technique: An electro-optical modulator (EOM 1 in Fig. 6) phase-modulates the infrared pump light at a modulation frequency of ν 1 = 1 MHz. In the doubling process, this results in a phase modulation of the frequency-doubled light, which is detected and demodulated using a homemade synchronous detection circuit. It allows to produce an error signal with a 3 dBbandwidth of 100 kHz, which is fed into a lock circuit.

The lock circuit combines a proportional-integrating (PI) stage and splits the resulting lock signal in two frequency ranges: 0 Hz to ν 3 dB,slow = 72 Hz for the slow PZT and 72 Hz to ν 3 dB,fast = 34 kHz. The amplitude of

Laser Doubling

Li saturated absorption spectroscopy to exp.

Lock-in detection, PI control 2

Lock-in detection, PI control 1

ν off ν 1 ν 2 PD 1 PD 2 EOM 1 AOM EOM 2
Fig. 6 (Color online) Locking scheme. Straight lines depict light paths, dashed lines electronic signals. First the doubling cavity is locked to the free-running laser using control circuit components indexed 1. A part of the SH light is used for lithium spectroscopy. In a second step this reference serves to lock the laser frequency with respect to half of one of the lithium resonance frequencies with a tunable offset, using control circuit 2. The frequency offset is determined by the double pass AOM driving frequency ν off .

the slow PZT signal is further amplified by a commercial high-voltage amplifier (Falco Systems WMA-280). The upper frequency limits were chosen to avoid oscillation of the loop at resonances attributable to the PZTs. When scanning the laser frequency via the slow PZT (M 4 ), the ramp signal (modified by an adjustable gain) is fed-forward to the lock signal, thus minimizing lock deviations and stabilizing output power. The implementation of the re-locking scheme of ref. [40] renders the doubling cavity lock significantly more stable to external disturbances.

Saturation spectroscopy and laser lock

A small fraction of the frequency-doubled light is sent through a 200 MHz acousto-optic modulator (AOM) double-pass setup to frequency-shift the light used for spectroscopy by 2ν mod . It is employed to perform saturated absorption spectroscopy in an atomic lithium vapor cell. The required vapor pressure is obtained by heating a metallic lithium sample of natural isotope composition (8% 6 Li, 92% 7 Li) up to 330 • C under vacuum. We use a 50 cm long CF-40 tube with broadband AR-coated windows. The final sections of the tube are water-cooled to prevent from too high temperatures at the CF-40 flanges and windows. Nickel gaskets are employed because of their chemical inertness to lithium vapor. A small amount of argon buffer gas is used to force lithium atoms by collision to stick to the side walls before arriving at the window surfaces. The argon pressure is kept low enough to not cause significant colli- sional broadening of the saturated spectroscopy lines. A metallic mesh put inside the tube covers the tube walls to regain condensed lithium from the colder parts exploiting the temperature-dependent surface tension.

The spectroscopy beam 1/e 2 -radius is ≃ 1 mm, the pump power is of the order of 10 mW, of which typically 50% are transmitted through the lithium cell on atomic resonance. The beam then passes through a ND filter and an EOM 2 , which serves to phase-modulate the light at ν 2 = 20 MHz. A quarter-wave plate and a mirror retro-reflect the beam with a polarization rotated by 90 • , thus creating the probe beam of ∼ 200 µW power. Around 100 µW of probe light are detected on a fast photodiode (Newport 1801). Lock-in detection using a commercial amplifier (Toptica PD110) allows to generate a dispersive error signal. A typical example of a ≃ 600 MHz-scan over a part of the lithium lines is shown in Fig. 7. The hyperfine structure of both lithium isotopes is clearly resolved and error signals of SNR ≥ 100 in a 1-MHz bandwidth are detected. The saturated spectroscopy transmission signal can serve as the auto re-lock reference. This requires a well pronounced peak or dip structure as satisfied for some of the lines.

To lock the laser frequency with respect to one of the resonances, a two-way PI circuit similar to the one used for locking of the doubling cavity is employed. The AOM frequency and thus the lock offset frequency can be changed by a few MHz while the laser remains locked.

Laser characterization

We now present further characterizations of the light source in terms of intensity noise and linewidth. The excellent beam quality of the SH light is confirmed by a SM fiber coupling efficiency of 83%.

Relative intensity noise

The relative intensity noise spectral density S RIN (ν) of the SH output was measured by shining a beam of ∼ 120 µW on a low-noise photodiode (Newport 1801, 125-MHz bandwidth) and recording the signal using a digital oscilloscope (Pico Technology PicoScope 4424) in AC mode, yielding the relative power fluctuations ε(t) after normalization, where I(t)/ I T = 1 + ε(t) with I(t) the intensity and I T its temporal average. The definition of S RIN (ν) is

S RIN (ν) = lim tm→∞ 1 t m tm 0 ε(t)e i2πνt dt 2 (9)
with the measurement time t m and ... denoting temporal averaging. It was realized employing a time-discrete Fourier transformation method and averaging over 100 spectra. The result is shown in Fig. 8. The broad peak at ≃ 100 kHz can be attributed to the laser relaxation oscillations. The structure in the 10 kHz region can be attributed to the locking system. Above 300 kHz S RIN drops to the photon shot-noise level, as indicated by the spectrum of a noncoherent source producing an equivalent photocurrent (spectrum B in Fig. 8). The narrow peaks at 1 MHz and harmonics stem from the phase modulation of the pump light, see Section 4.1. The square root of the integral of S RIN (ν) from 1 kHz to 5 MHz (1 kHz to 0.9 MHz) yields a RMS relative intensity noise of 1.1 × 10 -3 (0.8 × 10 -3 ).

Absorption spectroscopy of ultracold atoms

The laser setup was used as an absorption imaging light source for our lithium quantum gas experiment described elsewhere [41]. A sample of around 1.2 × 10 5 7 Li Fig. 9 (Color online) In-situ absorption imaging of ultracold atoms in an optical dipole trap. The laser was detuned by δ from the atomic resonance using the offset lock described in Section 4.2, varying the detected atom number (circles). A Lorentzian of width Γ Fit = 2π × (6.1 ± 0.4) MHz is fitted to the data (solid line).

atoms above Bose-Einstein condensation threshold was prepared in an elongated optical dipole trap. Putting a 700 G magnetic offset field, the internal electronic states of the atoms are to be described in the Paschen-Back regime. The corresponding lift of degeneracy for the F = 2 → F ′ = 3 transition frequencies results in a cycling transition, rendering this method insensitive to constant homogeneous stray fields. By applying a laser frequency detuning δ with respect to atomic resonance using the offset lock as described in section 4.2, one detects a different atom number N (δ) while assuming constant trap conditions according to

N (δ) N (0) = 1 + 2δ Γ 2 -1 , ( 10
)
where Γ is the measured linewidth of the transition and N (0) the atom number detected at resonance. The results are presented in Fig. 9. A least-squares fit according to eq. ( 10) results in a linewidth of Γ fit = 2π ×(6.1± 0.4) MHz, a value compatible with the natural linewidth of 2π × (5.872 ± 0.002) MHz of [42]. Within our experimental resolution we infer that the laser linewidth is much smaller than the natural linewidth of the atomic transition. Assuming a Lorentzian lineshape for the laser, the linewidth can be given as 200 +400 -200 kHz, compatible with zero.

Long-term stability

Fig. 10 shows a long-term stability plot of the laser system under laboratory conditions. The system remained locked during the measurement time of 8.5 hours. The SH output power drops by 7% and shows small modulations of a period of ≃ 15 min. This is attributable to slight angular tilts when the cavity's slow PZT (M 4 /M ′ 3 ) is driven. This effect, changing the alignments, is confirmed by monitoring the laser output power, which drops by 5% in the same time interval and displays the same modulations.

Intra-cavity doubling

We also implemented the more direct approach of intracavity doubling a 1342-nm laser. This concept simplifies the optical design since only one cavity is needed. It was achieved by using a setup similar to the one presented in Fig. 1. All cavity mirrors are highly reflective at 1342 nm and mirror M 3 is also transmitting at 671 nm. A nonlinear crystal is put in the waist between mirrors M 3 and M 4 .

For the Faraday rotator, we have tried various arrangements, using either Gadolinium Gallium Garnet (GGG) or TGG as the Faraday material and we have used either a rotatory power plate (made either of TeO 2 or of crystalline quartz) or a half-wave plate to compensate the Faraday rotation. Although theory [43] favors the use of a rotatory power with respect to a half-wave plate, we have found that the wave plate was more convenient, with a slightly larger output power.

Infrared power

In a setup involving intra-cavity frequency doubling, it is essential to have very low parasitic losses L par [44]. We start by evaluating these losses by measuring the emitted infrared laser power as a function of the output mirror transmission T oc for a fixed absorbed pump 2.0 Fig. 11 Output power P out of the laser emitting at 1342 nm as a function of the mirror transmission T oc . The data points are experimental while the curve is the best fit using eq. ( 11).

power P abs = 13 W for which thermal effects in the Nd:YVO 4 crystal remain small. The data is presented in Fig. 11. Accurate values of the transmission coefficient of the various output mirrors have been obtained with an absolute uncertainty near 0.03% by measuring successively the direct and transmitted power of a laser beam in an auxiliary experiment. According to [21,[45][46][47][48], the output power P out is given by

P out = P sat T oc G 0 T oc + L par -1 , (11)
where P sat is the gain medium saturation power and G 0 the laser gain. We performed a nonlinear curve fit yielding L par = (0.0101 ± 0.0006), P sat = (26.3 ± 2.0) W and G 0 = (0.150 ± 0.006). The measured losses L par of ∼ 1% are in accordance with expectations for a cavity made of four mirrors (three high reflection mirrors plus the output mirror), three AR-coated crystals and a Brewster plate. In Annex A we relate the values measured for P sat and G 0 to the parameters of the lasing crystal and the laser cavity. We find good agreement with literature values.

Doubling and frequency behavior

Several Nd:YVO 4 lasers emitting at 671 nm have been built based on intra-cavity frequency doubling using a LBO (lithium triborate, LiB 3 O 5 ) crystal [6][7][8][9][10][11][12][13][14]. The largest achieved power was 5.5 W but none of these lasers have run in SLM operation. We have tried frequency doubling with both LBO and BIBO (bismuth triborate, BiB 3 O 6 ) crystals installed in the small waist of the laser cavity (see Fig. 1). The BIBO crystal gave slightly more power but with a substantially more astigmatic laser mode. Therefore we use a LBO crystal of 15 mm length and 3 × 3 mm 2 cross-section. We apply type I SH generation, with critical phase matching at θ = 86.1 • and φ = 0 • . The crystal is AR coated with a specified residual reflection equal to 0.15% at 1342 nm and 0.5% at 671 nm. The non-linear optical coefficient of LBO is d eff = 0.817 pm.V -1 . Using the expressions given in ref. [49] and the SNLO software [START_REF]SNLO software[END_REF] to evaluate the crystal properties, we have calculated the expected optimum conversion coefficient η for this crystal.

We get η = 7.3 × 10 -5 W -1 with an optimum waist in the crystal equal to w 0 = 29 µm. We use a slightly larger laser waist of ≃ 45 µm for which theory predicts η = 4.9 × 10 -5 W -1 . We have measured η by running the laser with a weakly IR-transmitting mirror M 2 , with a coupling transmission value T oc = (0.55±0.03)%, and by measuring simultaneously the emitted power at both 1342 nm and 671 nm. We have found η = (4.7 ± 0.5) × 10 -5 W -1 , in excellent agreement with the theoretical value.

Finally by replacing the IR-transmitting mirror M 2 by a highly reflective one, we have extracted the SH output through mirror M 3 which has a transmission near 95% at 671 nm. When the laser operates at the peak of its gain curve, corresponding to a visible emission near 671.1 nm, we get up to 1 W of SH light. At the lithium resonance wavelength 670.8 nm and with an intra-cavity 500-µm-thick etalon made of fused silica and with a reflectivity of R ≃ 30%, the current output power reaches ∼ 600 mW. Progress towards frequency-stabilization as described in Section 4.2 is ongoing. With this simpler optical system we expect performances comparable to those obtained with external cavity frequency doubling presented in Section 3.3.

Conclusion

We have presented a frequency-stabilized laser source to address the D-line transitions in atomic lithium. Up to 670 mW single mode output power has been generated, currently limited by intensity-dependent effects in the doubling crystal. Tunability, narrow-band spectral quality and stable long-term locked operation were demonstrated. This proves the suitability of the system as a laser source for experiments involving cooling and trapping of lithium species. We also presented first results of a simpler alternative setup featuring intracavity doubling. Higher output powers could be achieved by optimizing the doubling cavity design for less intensity in the ppKTP crystal by enlarging the waist or using less thermally sensitive doubling nonlinear materials. Further increase of the laser power at 1342 nm is feasible using a pump source at 888 nm [25], reducing the quantum defect and thus the detrimental thermal effects.

A Additional materials

The theoretical values of P sat and G 0 are given by

G 0 = η Q η 0 λ p λ l × P abs P sat , (12)
P sat = η 0 I sat V eff L med , (13)
where η 0 is the overlap efficiency of the pump and laser cavity mode in the gain medium, η Q the quantum efficiency of emission, V eff the gain medium effective volume and L med its length, λ p and λ l the pump and laser wavelength respectively and P p the pump laser power. In [21,[45][46][47][48] the length L med is multiplied by 2 because the calculation concerns standingwave cavities and this factor is suppressed in the case of a ring cavity. Ref. [47] gives the general expressions of V eff /L med and of η 0 as a function of the laser mode waist w l and pump mode waist w p . In our experiment, the pump mode is obtained by expanding the mode emitted by a 200-µm diameter optical fiber of NA = 0.22 by a factor of 5. After expansion, the pump mode divergence is small and it is a reasonably good approximation to assume that the pump mode waist is constant over the crystal volume. We get

η 0 = w 2 l w 2 l + 2w 2 p w 2 l + w 2 p 2 = 0.63, (14)
V eff L med = π 2 w 2 l + 2w 2 p = 6.4 × 10 -3 cm 2 , ( 15
)
where we have used for the laser mode waist the value w l = 400 µm calculated at the position of the Nd:YVO 4 crystal. This calculation assumes that the thermal focal length of this crystal is 100 mm but the mode parameters are not very sensitive to this focal length, because its position is close to the the large waist of the laser cavity. The pump mode waist w p = 500 µm is deduced from the fiber diameter and the expansion ratio. By combining G 0 and P sat , we get η 0 = 0.50 ± 0.06, reasonably close to our theoretical value. To get the value of V eff /L med , we need to know the saturation intensity I sat = hν l /στ e where σ is the stimulated emission cross-section, τ e the excited state lifetime and ν l = c/λ l . The maximum value of σ for stimulated emission near λ l = 1342 nm is σ = 17 × 10 -20 cm 2 : this value was measured with a spectral resolution near 2.5 nm [START_REF] Fornasiero | [END_REF] and the same value has been found in an unpublished study [19]. The excited state lifetime increases when the Neodymium ion concentration decreases [20,[START_REF] Tucker | [END_REF]. We have used the largest literature value τ e = 1.1 × 10 -4 s corresponding to a 0.4% Nd concentration. We thus get I sat = 7.9 ± 0.8 kW/cm 2 , with an estimated 10% error bar. The quantum yield η Q depends on the Neodymium ion concentration [52] and practically η Q = 1 for 0.2 at.%doped crystals. By combining our measured values of G 0 and P sat , we deduce V eff /L med = (6.6 ± 0.9) × 10 -3 cm 2 in good agreement with eq. ( 15). This gives confidence in our determination of the 1% loss of our cavity without second harmonic generation.

Fig. 1 (

 1 Fig. 1 (Color online) The laser setup, consisting of the fiber coupled pump source FP, two pump focusing lenses f 1,2 , the cavity mirrors M 1-4 and the Nd:YVO 4 active medium. The λ/2 wave plate and the TGG Faraday crystal in a magnet ensemble impose unidirectional oscillation whereas two etalons E 1,2 establish single-mode operation. The optical path of the laser beam is depicted in green. For some mechanical components we show a sectional view to improve visibility of the beam path. The distance between M 1 and M 2 is 295 mm.

Fig. 3 (

 3 Fig. 3 (Color online) (a) Setup of the single pass efficiency measurements. The IR laser output (depicted in green) is modecleaned by a polarization-maintaining SM fiber (F). The power leaking through mirror M ref is referenced on a photodiode (PD), and the beam is then focused into the ppKTP crystal by a lens (L). Mirror M sep separates SH (red) from fundamental light, which is sent in a beam dump (BD), whereas the converted light power is measured with a power meter (PM). For referencing to the dark-current values, a shutter periodically switches on and off the IR light. (b) Temperature-dependent single-pass doubling efficiency. Measured data (circles), fit to eq. (5) (solid line).

Fig. 4 (

 4 Fig. 4 (Color online) The doubling cavity setup consisting of the four mirrors M ′ 1-4 and the ppKTP nonlinear crystal. The light is coupled to the cavity eigenmode using lenses L ′ 1,2 , whereas L ′ 3 collimates the SH output. Some mechanical components are sectioned to improve visibility of the laser (SH) beam, depicted in green (red). The distance M ′ 3 -M ′ 4 is 95 mm, the dimensions of the coupling light paths are not to scale.

Fig. 5 (

 5 Fig.5(Color online) Intra-cavity conversion for the cavity locked to the laser, as described in Section 4.1. Measured data (circles) versus parabolic fit (solid line). At P 2ω = 640 mW the conversion becomes less efficient (dashed line).

Fig. 7 (

 7 Fig. 7 (Color online) (a) Lock-in saturated absorption spectroscopy of lithium vapor, and corresponding transitions (b). The transitions are 2 2 S 1/2 → 2 2 P 3/2 for 6 Li (D2) and 2 2 S 1/2 → 2 2 P 1/2 for 7 Li (D1). Not all levels are shown, and the hyperfine structure of the 6 Li excited state remains unresolved. Double indexes mark crossover lines.

Fig. 8 (

 8 Fig. 8 (Color online) The SH relative intensity noise spectrum (A), noise for an equivalent photocurrent from a noncoherent source (B) and noise of the detection circuit with no photocurrent (C).

Fig. 10 (

 10 Fig.10(Color online) Long-term stability of the SH output power, experiencing a drop of 7% over the measurement time.The system remained offset-locked to the lithium resonance.

  1 are calculated from the R-values as stated, neglecting further losses. F and Q were measured for the doubling cavity, see Section 3.3.

		Typ. freq. Typ. R	F /Q-factor
	Gain profile width	300 GHz
	Laser cavity 81 cm	360 MHz	96.5% 110 / 6 × 10 7
	Doub. cavity 41 cm	730 MHz	93.6%	86 / 3 × 10 7
	Etalon E 1 , 0.5 mm	210 GHz	3.3%	-/-
	Etalon E 2 , 4 mm	26 GHz	28%	2 / 2000

Table 2

 2 Passive losses in the doubling cavity measured from cavity transmission spectra at low power and conversion efficiency. (1 -R c ) is the specified coupler power transmission, L emp are the measured empty-cavity round trip power losses, L tot are losses including the ppKTP crystal, and L c are the inferred crystal insertion losses according to L c = 1-(1-L tot )/(1-L emp ).

	1 -R c	L emp	L tot	L c
	5%	6.4%	7.1% 0.7%
	10% 10.4% 11.2% 0.9%
	17% 17.9% 19.0% 1.3%

Ref.[21] suggests a ratio ρ = 0.8 for which we observe reduced output power as well as higher-order transversal mode oscillation.

The loss estimate of ref.[24] yields zero for perpendicular incidence. However, one needs to account for a minimum angle on the order of the Gaussian beam divergence angle to circumvent multi-cavity behavior, causing instability of laser operation.

Acknowledgements We would like to thank Y. Louyer, P. Juncar and F. Balembois for their help in starting this development, J.L. Doualan, R. Moncorgé and P. Camy for a new measurement of the stimulated cross section of Nd:YVO 4 , E. Mimoun for providing his design of the lock circuitry, N. Navon for his help in conducting the linewidth measurements, F. Lenhardt, P. Zimmermann and J.J. Zondy for fruitful discussions and R. Stein and A. Grier for careful reading of the manuscript. The LKB team acknowledges financial support from ERC (FerLoDim project), EuroQUAM (Fer-Mix), IFRAF, IUF, ESF, ANR, SCALA and DARPA (OLE project) and the LCAR team acknowledges financial support from CNRS INP, BNM (grant 04-3-004), ANR (grant ANR-05-BLAN-0094) and Région Midi-Pyrénées.