Simon Bouget
email: simon.bouget@irisa.fr

Yérom-David Bromberg
email: david.bromberg@irisa.fr

Adrien Luxey
email: adrien.luxey@irisa.fr

François Taiani
email: francois.taiani@irisa.fr

Pleiades: Distributed Structural Invariants at Scale

Modern large scale distributed systems increasingly espouse sophisticated distributed architectures characterized by complex distributed structural invariants. Unfortunately, maintaining these structural invariants at scale is time consuming and error prone, as developers must take into account asynchronous failures, loosely coordinated sub-systems and network delays.

To address this problem, we propose PLEIADES, a new framework to construct and enforce large-scale distributed structural invariants under aggressive conditions. PLEIADES combines the resilience of self-organizing overlays, with the expressiveness of an assembly-based design strategy. The result is a highly survivable framework that is able to dynamically maintain arbitrary complex distributed structures under aggressive crash failures. Our evaluation shows in particular that PLEIADES is able to restore the overall structure of a 25,600 node system in less than 11 asynchronous rounds after half of the nodes have crashed.

• We present an extensive evaluation of our framework that demonstrates its benefits in terms of expressiveness, efficiency, low overhead, robustness and dynamic reconfiguation. We show for instance how a system with 25,600 nodes organized in a ring of rings is able to reform its overall structure after 50% of the nodes have crashed in 11 rounds, while consuming less than 2kB of communication per node and per round. The remainder of the paper is organized as follows: we first motivate our work and present some background information (Section II). We then present the design and workings of PLEIADES (Section III), before moving on to its evaluation (Section IV). We discuss related work (Section V) and conclude (Section VI).

I. INTRODUCTION

Modern distributed architectures are becoming increasing large and complex. They typically bring together independently developed sub-systems (e.g. for storage, batch processing, streaming, application logic, logging, caching) into large, geo-distributed and heterogeneous architectures [START_REF] Huang | An analysis of facebook photo caching[END_REF]. These complex architectures often require structural invariants to be maintained in order to ensure the correct functioning of the overall system, i.e. regarding the number of nodes, their connections, and the system's overall topology.

For instance, MongoDB [START_REF]MongoDB Manual (version 3.2) / Sharded Cluster Query Routing[END_REF], a popular document-oriented no-sql database, must maintain a star topology between sets of nodes organized in cliques (Figure 1a). Similarly the crossdatacenter replication feature of Riak [START_REF] Technologies | Riak KV Usage Reference / V3 Multi-Datacenter Replication Reference: Architecture[END_REF], a productionlevel key-value datastore, requires multiple rings to maintain connections across geo-distributed datacenters (Figure 1b). Another example are large scale distributed systems such as for example Ceph [START_REF] Weil | Crush: Controlled, scalable, decentralized placement of replicated data[END_REF] or Glusterfs1 that rely on a hierarchical cluster of nodes to provide reliable data distribution.

These systems only provide a single service (storage), and must be combined with other sub-systems to construct actual applications. Complete distributed applications thus present even more complex architectures which may for instance combine peer-to-peer elements and edge-servers, with datacenterhosted machines in a wide range of topologies [START_REF] Deng | CorePeer: A P2P Mechanism for Hybrid CDN-P2P Architecture[END_REF], [START_REF] Huang | An analysis of facebook photo caching[END_REF], [START_REF] Yin | LiveSky: Enhancing CDN with P2P[END_REF]. This trend is compounded by the fact that, in the wake of Netflix, a growing number of applications are today adopting a microservice architecture. Such applications involve thou-Figure 1: Modern distributed systems must maintain increasingly complex structural invariants sands of services interconnected to form complex intertwining structures (Figure 1c).

Maintaining such structural invariants at scale is particularly challenging as it requires maintaining systemic properties in spite of continuous asynchronous failures, loosely coordinated sub-systems, and network delays. As a result, current distributed management frameworks such as Borg [START_REF] Verma | Large-scale cluster management at Google with Borg[END_REF], Mesos [START_REF] Hindman | Mesos: A Platform for Finegrained Resource Sharing in the Data Center[END_REF] or Kubernetes [START_REF] Burns | Omega, and Kubernetes[END_REF] have so far limited themselves to basic structural properties mainly based on cardinality (e.g. maintaining X instances of the same container, or same group of containers). This is problematic for developers who must increasingly enforce sophisticated invariants as distributed systems continue to grow in scope and size.

In this paper we propose PLEIADES, a new framework to construct and enforce large-scale distributed structural invariants in a way that is autonomous and resilient. Our approach leverages the power of self-stabilizing overlays [START_REF] Bertier | The gossple anonymous social network[END_REF], [START_REF] Voulgaris | Vicinity: A pinch of randomness brings out the structure[END_REF], [START_REF] Voulgaris | Epidemic-style management of semantic overlays for content-based searching[END_REF] for resilience, and assembly-based modularity [START_REF] Bruneton | The FRACTAL component model and its support in Java[END_REF], [START_REF] Taiani | GossipKit: A Unified Component Framework for Gossip[END_REF] for expressiveness into a seamless framework. The result is a framework that can maintain at runtime an arbitrary number of distributed structures under aggressive conditions, including catastrophic failures.

More precisely, we make the following contributions:

• We introduce PLEIADES, an assembly-based topology programming framework that harnesses the autonomous properties of self-organizing overlays to provide structural distributed invariants that are both scalable and highly resilient. • Through the design of PLEIADES, we demonstrate how multiple self-stabilizing protocols can be combined to produce a sophisticated self-organizing behavior that is both modular and scalable.

II. PROBLEM, VISION, & BACKGROUND

A. Problem and vision

A growing number of distributed systems rely on complex deployment topologies to provide their services. At the level of individual services, Scatter [START_REF] Glendenning | Scalable consistency in Scatter[END_REF] for instance constructs a ring of cliques in which each individual clique executes a Paxos instance, resulting in a scalable and resilient keyvalue store with a high level of consistency. In the same vein, MongoDB-a popular document oriented no-sql databasemaintains several replica sets, a clique of nodes using a leaderelection algorithm to implement a master-slave replication scheme, which communicate with app servers following a star topology [START_REF]MongoDB Manual (version 3.2) / Sharded Cluster Query Routing[END_REF]. Riak, a production level key-value datastore derived from Amazon Dynamo, offers a cross-datacenter replication service that connects several sink clusters around a source cluster in a star topology. Each Riak cluster is deployed in a ring topology, and the source cluster uses special nodes, known as fullsync coordinators to handle the replication to each sink [START_REF] Technologies | Riak KV Usage Reference / V3 Multi-Datacenter Replication Reference: Architecture[END_REF]. The above systems only provide individual services, and must be combined with other sub-systems to provide a full-fledged application, leading to increasingly complex distributed architectures. This trend has been popularized with the massive adoption of microservices these last years as witnessed by industry leaders like Netflix, Amazon, Twitter, Airbnb, etc.. From their loosely couple nature, thousands of microservices can be composed and structured [START_REF] Thones | [END_REF], [START_REF] Merkel | Docker: lightweight linux containers for consistent development and deployment[END_REF]. However, if the maintenance of each individual microservice has been simplified, it is not the case of the overall microservices ecosystem that becomes more complex.

Maintaining a complex distributed architecture in a largescale system is particularly challenging. Such architectures typically rely on systemic invariants that degrade rapidly in the face of failures and delays and must be monitored and repaired continuously. Unfortunately, their maintenance requires coordination and distributed knowledge sharing, which are difficult to implement by practitioners without appropriate support.

In small systems, practitioners often overcome this challenge by intervening manually to keep systems running. As systems grow, however, their developers must increasingly rely on ad hoc mechanisms, developed specifically for particular uses cases, which typically leverage simpler coordination mechanisms such as ZooKeeper or Etcd and elaborate on them to maintain more complex invariants. This approach is highly problematic, as it delegates a core aspect a system's correctness to costly, cumbersome, and error-prone practices.

Preliminary solutions to address the structural maintenance of large-scale systems can be found in modern deployment automation tools such as Borg [START_REF] Verma | Large-scale cluster management at Google with Borg[END_REF], Kubernetes [START_REF] Burns | Omega, and Kubernetes[END_REF], Aurora2 or Mesos [START_REF] Hindman | Mesos: A Platform for Finegrained Resource Sharing in the Data Center[END_REF], and in self-organizing overlays. Unfortunately both types of solution fall short of the resilience needs of large-scale structural invariants. Deployment automation tools have so far only focused on basic cardinality invariants (e.g. in Kubernetes keeping the number of "pods"-a container groupings-that are instantiated in a replica set at a given level), while self-configuring overlays are optimized for simple topologies, that are only suitable for very basic deployments (e.g. a ring, a tree, a star).

B. Self-organizing overlays

Self-organizing overlays [START_REF] Jelasity | T-Man: Gossip-based fast overlay topology construction[END_REF], [START_REF] Voulgaris | Vicinity: A pinch of randomness brings out the structure[END_REF] are a family of decentralized protocols that are able to autonomously organize a large number of nodes into a predefined topology (e.g. a torus, a ring). Self-organizing overlays are self-healing, and can with appropriate extension, conserve their overall shape even in the face of catastrophic failures [START_REF] Bouget | Polystyrene: The decentralized data shape that never dies[END_REF]. The scalability and robustness of these solutions have made them particularly well adapted to large scale self-organizing systems such as decentralized social networks [START_REF] Mega | Efficient dissemination in decentralized social networks[END_REF], [START_REF] Bertier | The gossple anonymous social network[END_REF], news recommendation engines [START_REF] Baraglia | A peer-topeer recommender system for self-emerging user communities based on gossip overlays[END_REF], and peer-to-peer storage systems [START_REF] Clarke | Freenet: A distributed anonymous information storage and retrieval system[END_REF].

Self-organizing overlays such as T-Man [START_REF] Jelasity | T-Man: Gossip-based fast overlay topology construction[END_REF] or Vicinity [START_REF] Voulgaris | Vicinity: A pinch of randomness brings out the structure[END_REF] are unfortunately monolithic in the sense that they rely on a single user-defined distance function to connect nodes into a target structure. Simple topologies such as ring or torus are easy to realize in this model, but more complex combinations, such as a star of cliques, are more problematic. Self-organizing overlays lack in particular the ability to incrementally describe complex structures, and do not lend themselves as a result to the enforcement of complex structural invariants.

C. Key challenges and roadmap

In this paper, we take a somewhat extreme stance, and argue that distributed structural invariants in modern largescale distributed systems should be enforced through a generic, systematic and survivable framework (i.e. that is able to withstand catastrophic failures). More precisely, we propose PLEIADES, a framework in which complex structural invariants can be expressed as an assemblage of simple shapes, and autonomously maintained at runtime in spite of failures, including catastrophic events. PLEIADES harnesses the expressiveness of assembly-based modularity and the resilience of basic self-organizing overlays to provide self-healing capability for complex distributed systems at scale.

To avoid any single point of failure, we rely on a fully decentralized design. Decentralization brings a number of crucial benefits in terms of fault-tolerance and survivability, but also important challenges in terms of coordination: the lack of any central coordination point makes it hard to enforce systemwide properties, while the scale which we target (several thousands of nodes) renders typical deterministic agreement protocols difficult to implement efficiently.

In our model, a structural invariant is expressed as a combination of invididual basic shapes (ring, grid, stars) which are then connected together to describe the constraints the overall system must obey. The creation and maintenance of basic shapes, of their connecting points, and of their connection are maintained through a number of continuous self-stabilizing protocols. These individual protocols interact with one-another to deliver the system's overall survivability.

The protocols making up PLEIADES must resolve a number of key challenges in a fully decentralized manner: (i) they must allocate nodes to "system-level" shapes, (ii) construct individual basic shapes, (iii) bootstrap identification and communications between these shapes, (iv) and realize and maintain the dynamic bindings that connect individual shapes according to the developer's intent. In the remaining of this paper, we present these different mechanisms and how they are combined to form PLEIADES.

III. THE PLEIADES FRAMEWORK A. System model and overall organization

We assume that the target system executes on N nodes that communicate through message passing (e.g. using the TCP/IP stack). The overall organization of a node executing PLEIADES is shown in Figure 2. Each node possesses a copy of the system's overall configuration file (shown on the right side of the figure) which describes (i) which basic shapes should be instantiated, and (ii) how these shapes should be connected. For brevity's sake, we do not discuss how this configuration file is disseminated to every nodes: this step could rely on a gossip broadcast [START_REF] Kermarrec | Probabilistic reliable dissemination in large-scale systems[END_REF], or, in a cloud infrastructure, each node could retrieve the configuration from its original VM image. Because PLEIADES is self-stabilizing, nodes may receive this configuration at different points in time without impacting the system's eventual convergence.

Starting from this configuration file, PLEIADES constructs and enforces the corresponding structural invariant (in Figure 2, two rings connected through two links) thanks to six self-stabilizing and fully decentralized protocols (shown as rectangles in the figure). These six protocols fall in three categories: the three bottom protocols (Global RPS, Same Shape, and Remote Shapes) are membership protocols (denoted by the symbol ), i.e. helper protocols dedicated to locate and sample nodes and shapes. The Shape Building protocol (symbol ) in the middle of the figure constructs individual shapes, while the top two protocols (Port Selection, and Port Connection) realize the connection between individual shapes (shown with the symbol ).

These six protocols execute in a fully decentralized manner, without resorting to any centralized entities, a key property regarding the scalability and resilience of our approach. Each of these protocols also produces a self-stabilizing overlay. As such, each node maintains for each protocol a small set or array of other nodes in the system (called a view) that evolves in order to respect specific properties. The view maintained on a given node by each individual protocol is shown close to each rectangle (e.g. V local for the Same shape protocol, and towards_port[ ] for the Port selection protocol). These protocols build on one another: higher protocols in Figure 2 use the view constructed by lower protocols to construct their own view.

In order to describe how these protocols collaborate to deliver PLEIADES, we must start by describing how individual shapes are described in our framework (in Section III-B), and how new nodes join individual shapes (Section III-C), before discussing first the membership and shape construction protocols (Section III-D), and finally turning to the Port Selection and Port Connection protocols (Section III-E).

B. Describing individual shapes

A shape s is a subset N s ⊆ N of nodes organized in a particular elementary topology. Each shape follows a particular template, a reusable description of a shape's properties, that may be instantiated several times in a configuration file. (In Figure 2 for instance, the two rings of the configuration file would be two instances of the same template.) The structure enforced by a shape template tplate is captured by four pieces of information, that are used by the Shape Building protocol to realize the shape's elementary topology:

• the definition of a position space E tplate ; • a projection function f tplate : N s → E tplate that assigns a position in E tplate to each node selected to be part of an instance of tplate;

• a ranking function 3 d tplate : E tplate × E tplate → R;
• a number of neighbors (or shape fanout) per node, k tplate . This information is sufficient for the Shape Building protocol to connect each node in N s to its k tplate closest neighbors according to the ranking function d tplate ().

For instance, a naive version of a self-stabilizing ring can be defined as follows (Figure 3):

E ring = [0, 1[; f ring (n) = rand ([0, 1[); d ring (x, y) = min(|x -y|, 1 -|x -y|); k ring = 2.
This setting places nodes from N tplate randomly on a circular identifier space, and selects the two closest instances of each node as its neighbors. (In practice, self-stabilizing rings typically seek to select k tplate /2 predecessors and k tplate /2 successors as neighbors of each node, to prevent clustering. See [START_REF] Jelasity | T-Man: Gossip-based fast overlay topology construction[END_REF], [START_REF] Montresor | Chord on demand[END_REF], [START_REF] Stoica | Chord: A scalable peer-to-peer lookup protocol for Internet applications[END_REF].)

In addition to its internal structure, a shape template also defines a set of ports to which other shapes may connect. In PLEIADES, a port is simply defined as a position in E tplate , labeled with a name. Returning to the ring example of Figure 3, we may define two ports, named left and right, by associating them with the positions 0.25 and 0.75 within the identifier space [0, 1[.

C. Node joining procedure

When a node joins a running instance of PLEIADES, it decides which shape to contribute to based on the information of the configuration file. This joining mechanism may exploit a wide range of strategies, depending on uses cases: nodes in a particular location may be constrained to only join certain shapes, or nodes with certain properties may be forbidden to join certain shape templates. For simplicity, the version of PLEIADES we present in this paper uses a basic joining procedure, in which a new node randomly selects with equal probability one of the shapes of the configuration file. In Figure 2 for instance, this means half of the nodes on average would select the top ring, and the other half the bottom ring.

After it has selected its shape, a node populates the configuration variables shown in Table I, using the configuration file and the shape template definition. For instance, in the two-ring example of Figure 2, a node contributing to the top ring would pick a random id in [0, 1[, initialize the shape. * variables from the ring template definition, and the k. * variables regarding port connection from the configuration file. Here we would have for instance left.remote_shape.template = ring and

D. The Membership and Shape Building protocols

Just after joining a shape, a node possesses no information about which other nodes belong to the same shape, or how to contact other nodes in other shapes. This information is provided by PLEIADES's three membership protocols. The Global Random Peer-Sampling (RPS) protocol [START_REF] Jelasity | Gossip-based peer sampling[END_REF] maintains, on each node, a continuously changing sample V RPS of other nodes' descriptors. A node descriptor allows its complete identification on the system. It contains its network address, the ID of the shape it resides on, and its position on this shape.

This global peer sampling is then used to maintain two additional membership protocols: the Same Shape Protocol (SSP), and the Remote Shapes Protocol (RSP).

These two protocols, along with the list of neighbors returned by the Shape Building protocol, are used in turn by the Port Selection and Port Connection protocols (discussed in Section III-E), to create and maintain the links between the shapes according to the specification coded in the PLEIADES configuration file.

The notations of the views maintained by each node to implement the three membership protocols (Global RPS, Same Shape Protocol, and Remote Shapes Protocol) and the Shape Building protocol are summarized in Table II. We discuss each mechanism in turn in more detail in what follows. We take interest in a node n, that belongs to a shape s.

1) Global Random Peer Sampling (RPS): We assume that a RPS service is available for every node, and we simply emulate it in our experiments. Decentralized and efficient solutions exist, such as proposed by Jelasity et al. [START_REF] Jelasity | Gossip-based peer sampling[END_REF]. RPS protocols

3 if cand = ∅ then 4 q ← 1 random node ∈ cand Remote request to q 5 cand ← cand ∪ q.V local 6 end Truncation 7 n.V local ← up to s random nodes ∈ cand
converge towards a constantly changing overlay that is close to a fixed-degree random graph. This graph shows a short diameter, which is useful to propagate or build distributed knowledge. This graph also remains connected with high probability, even under catastrophic failures, a particularly interesting property for our framework.

2) Same Shape Protocol (SSP): This overlay provides a node n with a view V local of neighbors in the same shape s. The sub-procedure managing this overlay is shown in Algorithm 1. Upon bootstrap, V local is empty. Each round, n takes candidate neighbors from the Global RPS overlay, keeping only nodes from its shape (line 1) in cand. It goes on merging its current V local with the candidate set on line 2. If cand is not empty (line 3), n selects a random neighbor q from cand (line 4) and fetches q's local view, to add it to cand (line 5). To limit memory consumption, the size of the local view V local is bound to s elements (line 7).

If we assume the global peer-sampling overlay provides a uniformly distributed view of the complete system, we can calculate the average number of rounds to get at least s neighbors in function of the total number of nodes and shapes: the time to find the first neighbor is inversely proportional to the number of shapes, and the number of known neighbors then grows exponentially. In practice, simulations show that the size s needed for our framework is reached in a few rounds (Section IV) which allows the system to converge and reach a stable state quickly and efficiently.

3) Remote Shapes Protocol (RSP): This overlay is used to initiate inter-shape contacts. Upon bootstrap, V remote is empty. During each round, the candidate set cand is first filled with the previous content in the remote view V remote and the global peer sampling view V RPS on line 1. Then, n randomly picks a node q in cand (line 3), fetches its remote view q.V remote , and adds it to its candidate set (line 4).

Lines 7 to 11 use the candidate set cand to fill n.V remote with one single descriptor per remote shape. To limit the memory consumption if the topology features many shapes, we propose Algorithm 2: RSP: Remote Shapes Protocol on n Output: n.V remote converges to a view of one node per "close" shape.

Bootstrap using the global peer sampling

1 cand ← n.V remote ∪ n.V RPS Exploit other nodes' knowledge 2 if cand = ∅ then 3 q ← 1 random node ∈ cand Remote request to q 4 cand ← cand ∪ q.V remote 5 end
Keep one node per "close" shape

6 foreach close shape s = s do 7 cand s ← {n ∈ cand | n .shape.id = s } 8 if cand s = ∅ then 9 n.V remote [s ] ← 1 random node ∈ cand s 10 end 11 end
to trim each node's remote view by keeping only descriptors from shapes that are considered close to s. This closeness metric is left to future work, but could be computed from the overall target topology or the shape's ID.

In detail, for each "close" shape s , line 7 filters candidate nodes from shape s into cand s , and lines 8-9 take a random node from cand s (if not empty) to fill n.V remote [s ] (that is, the remote view's descriptor slot for shape s ).

4) Shape Building Protocol: We use a variant of Vicinity [START_REF] Voulgaris | Vicinity: A pinch of randomness brings out the structure[END_REF] to organize the nodes that have joined a shape s into the basic topology prescribed by the shape's template tplate. (The pseudo-code is not shown for space reasons.) Vicinity uses a greedy push-pull procedure to populate each node n's view V shape with close neighbors, according to the ranking function d tplate (), and then connects n to its k tplate closest neighbors. Note that V shape 's size must be at least k tplate , but in practice V shape is usually larger, and we can bound its maximum size if we want to limit memory consumption. Vicinity exploits the transitivity of most ranking functions: if n is ranked close to o, and o is ranked close to p, then n is likely to be ranked close to p. However, whereas Vicinity uses a system-wide peer sampling protocol to find potential new neighbors, we restrict our Shape Building Protocol to the view V local constructed by the Same Shape Protocol. This restriction to V local insures the isolation and co-existence of multiple shapes in the same system.

E. The Port Selection and Connection protocols

The Port Selection procedure is executed between nodes within the same shape in order to determine which nodes are in charge of shape s's ports (these nodes are dubbed port nodes) while the Port Connection procedure is executed by port nodes to locate the remote port of the linked shape, and to establish III.

1) GETCLOSEST(cand,k, tplate): This function is used by both the Port Selection and Port Connection routines to find the closest node to a port. Given a set of nodes cand and a port k, that all belong to the same shape s of template tplate, GETCLOSEST uses the shape template's rank function, d tplate (see Section III-A), to measure the "distance" of each node in cand to the port k. The function returns the node whose distance to port k is minimal.

2) Port Selection: We want each node n to know the port node of each of its shape's ports. The Port Selection routine maintains two variables for that purpose: for each port k of shape s, towards_port[k] contains the address of the presumed port node for k, and the is_port[k] flag is set when n believes it is in charge of k (in that case, is_port[k] points to n itself).

The variable shape.ports contains the whole set of shape s's ports, given by the configuration. To fill is_port[k] and towards_port[k], n iterates over each port k in shape.ports (line 1). By calling GETCLOSEST, n then checks which node is closest to the port k among all local nodes it knows of (lines 2-3). Candidates are taken from the local view V local computed by SSP, from the Shape Building protocol's view V shape , in addition to n itself and the previous towards_port [ 3) Port Connection: When a node n believes it is in charge of a port k 1 , it needs to find the other end of the topological link: the port node for k 2 in the remote shape (called s 2 ). The goal of the Port Connection routine, when n is in charge of a port k 1 , is to maintain the connected_to[k 1 ] variable to the address of k 2 's port node.

From lines 1 to 5, we iterate over each port k 1 in shape.ports, check that n is in charge of k 1 , and create several variables: shape_id contains the ID of the linked shape s 2 , shape_template is s 2 's shape template, k 2 represents the remote port of k 1 's link. n then picks the closest node to k 2 among two potential candidates (line 6): V remote [k 1 ] (the random node from s 2 provided by RSP), and connected_to[k 1 ] (n's previous estimation of k 2 's port node). It then calls the GETCLOSEST function on line 7, that will use the remote shape's ranking function to find the closest node to k 2 among the candidate set. Finally, on line 8, n requests closest for its towards_port[k 2 ] (leveraging the Port Selection procedure) to fill n.connected_to[k 1 ]. This implementation again allows connected_to[k 1 ] to converge towards k 2 's real port node in a greedy fashion.

IV. EVALUATION

In this section, we first discuss our evaluation set-up (Section IV-A) before briefly illustrating how PLEIADES can be used to create a range of advanced distributed structures (Section IV-B). We then evaluate the performance of PLEIADES without reconfiguration or failures, in terms of convergence speed, scalability, and communication overhead (Section IV-C). Finally we test the reactions of PLEIADES under important perturbations, such as when a large portion of the system crashes, or an on-the-fly reconfiguration occurs (Section IV-D).

A. Evaluation set-up and methodology

We implemented the protocols that make up PLEIADES on top of PeerSim [START_REF] Montresor | PeerSim: A scalable P2P simulator[END_REF], except for the Global RPS protocol, which we emulated directly through PeerSim's API. We set the maximum size of V local to 10, that of V remote to the number of shapes in the systems, and we did not bound V shape , as in the original Vicinity protocol [START_REF] Voulgaris | Vicinity: A pinch of randomness brings out the structure[END_REF]. In order to demonstrate the capabilities of PLEIADES we created several shape templates (ring, star, clique) to serve as building blocks for more complex structural invariants. All experiments were averaged over 25 runs, to smooth the noise due to the probabilistic nature of gossip algorithms. We computed 90% confidence intervals but did not display them on the figures because they were too small to be readable. 4 and with different colors in Figure 5). The resulting toplogies can be found in real-world applications, such as database sharding (Figure 5a), distributed key value stores (Figure 5b) or partially decentralized services using super-peers (Figure 5c).

B. Examples

These three examples illustrate PLEIADES's simplicity of use and expressiveness: a few basic shapes suffice to create an infinite number of variations that can be tailored to an application's needs.

C. Performances

PLEIADES targets very large systems using decentralized protocols. Decentralization, because it avoids any central point of coordination, and carries the risk of a degraded performance and/or high overhead. In the following we evaluate PLEIADES's performances in terms of convergence speed (Section IV-C1), scalability (Section IV-C2), and communication overhead (Section IV-C3).

1) Convergence:

We evaluate PLEIADES's convergence on a scenario comprising three rings connected into a ring of rings, whose configuration is represented in Figure 7. Figure 6 shows the execution of PLEIADES with this configuration on 100 nodes at three stages of the execution: after initialization (Fig. 6a), while the system is converging (Fig. 6b) and once converged (Fig. 6c). The overall system converges to the structure prescribed by its configuration in only 6 rounds. A round's duration is highly dependent on an application's needs, but setting for instance a round to 5s (a realistic assumption in light of PLEIADES's low communication costs as we will see in Section IV-C3), 6 rounds would correspond to a convergence time of 30s to organize 100 nodes from an arbitrary starting state. This time is comparable to the boot up time of a virtual machine on a public cloud.

Figure 8 shows the progress of the various sub-protocols that constitute PLEIADES on a ring of rings with a larger systems of 25,600 nodes, and a larger configuration comprising 10 rings. The figure charts over time the proportion of nodes in the correct state for a given protocol, from the point of view of a global omniscient observer. Except for the Port Connection Protocol, all protocols experience a rapid phase shift once they start converging, as is common in decentralized greedy protocols [START_REF] Jelasity | T-Man: Gossip-based fast overlay topology construction[END_REF], [START_REF] Voulgaris | Vicinity: A pinch of randomness brings out the structure[END_REF]. The sequence of convergence roughly follows the dependencies between the protocols illustrated in Figure 2: the membership protocols Remote Shapes (RSP) and Same Shape (SSP) are the first to converge, followed by the Shape Building protocol (which depends on SSP), and the Port Selection protocol (which depends on Shape Building and on SSP).

The Port Connection protocol shows a less regular progression. The peak around round 4 is due to a few nodes that briefly believe they are ports (because Port Selection has not converged yet), and erroneously connect to remote shapes, thus falsely increasing our metric. In other words, Port Connection briefly converges to a local maximum but quickly escapes it when Port Selection starts to converge. Note however how ports get successfully connected even though the routing information provided by the Port Selection protocol is not fully converged yet: after 10 rounds, both the individual rings (Shape Building) and their connections (Port Connection) are in place to about 90%.

2) Scalability: PLEIADES scales well when the number of nodes and shapes in the system augments. We measured the convergence time of the system in rounds for a large variety of configurations, according to the following convergence criteria:

• Same Shape Protocol (SSP): at least 90% of the nodes have found 10 neighbours in the same shape; • Remote Shapes Protocol (RSP): at least 90% of the nodes have found a node in each shape; • Shape Building Protocol: at least 90% of the nodes have found their 2 closest neighbours in the ring; • Port Selection Protocol: at least 90% of the ports are assigned to the correct node (and only this one); Figure 7: The PLEIADES configuration used in Figure 6.

• Port Connection Protocol: at least 90% of the ports found their related port in the remote shape.

In Figure 10, a configuration with 20 rings linked together sequentially is deployed for different number of nodes. All protocols converge in a few rounds, even for large number of nodes. Most importantly, they converge as fast or faster than the Shape Building protocol. Hence, the target complex topology is achieved sensibly at the same time as the local basic shapes.

It is interesting to note that the Remote Shape protocol (RSP) converges in constant time as the number of nodes augments. This is due to the fact that the ratio nodes/shapes is constant, so independently the total number of nodes in the system, it is as likely to find a node in a given shape. The abnormally high point for the Shape Building protocol (SSP) at 200 nodes is due to the fact that there are exactly 10 nodes per shape; so the convergence criterion used means that a node must have found all other nodes in the shape. But in practice, finding 6 or 7 of them is enough and does not hinder the convergence of the other protocols, as depicted on the graph. For larger numbers of nodes per shape, the convergence time is roughly constant, for the same reason as for RSP.

The other two protocols scale logarithmically with the number of nodes, similar to the Shape Building protocol.

In Figure 11, various configurations are deployed on a system of 25,600 nodes. Convergence time increases slowly with the number of shapes involved in the system, and even a complex system with 20 shapes converges in less than 15 rounds.

3) Communication overhead: Compared to an ad-hoc approach optimized for a given problem, PLEIADES incurs some overhead. This is the price to pay for a simpler and more systematic way to design topologies. In the following, we make the (very generous) assumption that an ad-hoc approach would not cost anything more than the resources needed to create the basic shapes, and we use the costs from the Shape Building protocol as our baseline.

For these measures, we considered that: (i) a node ID would use 16 bytes (IPV6 address); (ii) a node "position" would use 8 bytes (64-bit double); (iii) a shape ID would use 8 bytes (64-bit integer).

First, Figure 12 shows that the bandwidth consumption pattern over time is similar for the baseline and the overhead. Both rapidly reach a state where their bandwidth consumption per round and per node is stable. The actual values are also pretty low. For 25,600 nodes and 20 shapes, the bandwidth consumption per round is around 1,800 bytes, all combined.

The overhead is, of course, dependent on the complexity of the target topology. The more shapes and ports there are, the more messages are used to find and connect them. But even with large numbers of shapes, the overhead remains of a magnitude similar to the baseline. Figure 13 shows the ratio between baseline and overhead for different numbers of shapes on a system of 25,600 nodes in its stable state. This is measured once the system has converged because it is when nodes have discovered all their neighbors that the messages exchanged are heavier and the bandwidth consumption is the highest. It increases linearly with the number of shapes. As depicted in Figure 13 for 50 shapes, the bandwidth ratio is around 2, which in absolute value represents 1900 bytes, so it represents a very negligible amount.

D. Resilience

In the previous section, we showed that PLEIADES performs well under normal circumstances. In this section, we now consider how it reacts when heavily stressed. We used two scenarii: firstly, a dramatic crash where about half the nodes shut down (paragraph IV-D1); secondly, an on-the-fly reconfiguration of the target topology, changing the number of basic shapes in the system (paragraph IV-D2).

1) Dramatic crash: PLEIADES is extremely resilient, even in presence of catastrophic failures. To analyze this, a configuration with 4 shapes is deployed over different numbers of nodes, and stressed with various dramatic events, as illustrated in Figure 15.

At first, we let the system converge as in the previous experiments. Then, we make each node crash with a probability p = 0.5, resulting in half the nodes crashing simultaneously on average and a totally broken topology (15a), and we let the system converge towards the new resulting target topology (15b). Finally, we simultaneously inject as many nodes as crashed earlier (15c) and we let the system converge back to the original target topology (15d). We consider two modes of reparation, either restoring crashed nodes to their last known state with a back-up, or providing new blank nodes initialized with random neighbors.

At each step, we measure the convergence time in rounds. For this experiment, we consider the system as a whole is converged when all the criteria in subsection IV-C2 are satisfied. Figure 14 plots the results: as shown previously, the initial convergence is quite fast and grows logarithmically with the number of nodes in the system: around 10 rounds even for very large systems of 20,000+ nodes.

More importantly, both the self-repair after crash and the return to the original target are faster than the initial convergence, even with such a dramatic rate of failure as we chose: they converge 2 to 5 rounds faster. Indeed, the nodes that are still online don't start with the same blank state as for the initial convergence, and this additional information more than compensates the stress caused by the crashes or re-injection, which enables the system to converge extremely fast.

2) Dynamic Reconfiguration: We argued that PLEIADES would help composing complex systems-of-systems and promote re-using previous works. But that means PLEIADES will need to be deployed to real systems that do not start in a random state.

We tried to dynamically reconfigure a system that was already deployed and converged to a stable state. For that, we need to define a reconfiguration policy that maps the relation between previous and current shape assignment. We shifted from a system with 3 shapes to 4 shapes, so we randomly assigned 1/3 of the nodes in each shape to the new shape. Many other policies may be envisioned, but due to space constraints we will only consider this one. At a given round (Figure 9b), the new is sent to all the nodes, and some of them are allocated to the new shape. Only 2 rounds later (Figure 9c), the nodes in the new shape already found each others, and the previous shapes restored their stable state almost perfectly, despite losing some neighbors. A new stable state is rapidly reached (Figure 9d). All measurements presented in Section IV-C1 revealed that performances are at least as good for a dynamic reconfiguration from a converged state than for a system deployed from a random initial state. As with the crash scenario, this is due to some nodesthose not affected by the reconfiguration-starting with more information than with a random start. To conclude, PLEIADES is extremely resilient, even in dramatic scenarii where a large proportion of the network is affected (up to 50%). The most difficult case is actually the initial cold start, because nodes start with very little information. In all other scenarii we tested, at least some nodes keep their knowledge of the network, which is enough to speed up the process.

V. RELATED WORK

Wireless Sensor Networks (WSN) have been a fertile ground for holistic programming frameworks aiming to simplify the programming of a very large number of distributed entities, as PLEIADES seeks to achieve.

Among them, approaches such as Kairos [START_REF] Gummadi | Macro-programming wireless sensor networks using kairos[END_REF] and Regiment [START_REF] Newton | The regiment macroprogramming system[END_REF] draw their inspiration from existing distributed programming models. They provide means to quantify over multiple nodes, and hide the details of inter-node communication and coordination. Adopting a different stance, acquisitional query processors (e.g. TinyDB, Cougar, MauveDB) completely hide individual nodes, and provide a usually declarative approach to express which kind of data to sense, when, where and how often to sense and to aggregate it [START_REF] Deshpande | Mauvedb: supporting model-based user views in database systems[END_REF], [START_REF] Madden | Tinydb: an acquisitional query processing system for sensor networks[END_REF], [START_REF] Bonnet | Towards sensor database systems[END_REF]. Sensing queries are then transparently mapped onto the WSN, taking into account various constraints such as energy consumption and reliability. Both node-dependent macro-programming approaches and acquisitional query processors move away from individual nodes and towards holistic programming abstractions. None of them however is able to maintain the distributed structural invariants supported by PLEIADES.

Originally proposed in the context of fixed networks [START_REF] Gelernter | Generative communication in linda[END_REF], tuple-spaces provide a shared memory data abstraction to distributed systems in which tuples can be written to, read from, and queried by individual nodes. The model has been ported to more dynamic systems with TineeLime [START_REF] Costa | Programming wireless sensor networks with the TeenyLime middleware[END_REF], and TOTA (Tuple On The Air) [START_REF] Mamei | Programming pervasive and mobile computing applications: the tota approach[END_REF]. Tuple-spaces are however more a high-level coordination model than a mean of organizing a large number of pre-existing entities as we do. Neighborhood primitives such as Hood [START_REF] Whitehouse | Hood: a neighborhood abstraction for sensor networks[END_REF], Abstract Regions [START_REF] Welsh | Programming sensor networks using abstract regions[END_REF], and Logical Neighborhoods [START_REF] Mottola | Programming wireless sensor networks with logical neighborhoods[END_REF] are complementary to tuple-spaces. They provide scoping mechanisms that limit communication to sets of nodes (regions, or neighborhoods) selected according to a wide range of criteria. They are largely orthogonal to our approach, and could be exploited for instance to refine the shape joining mechanism of PLEIADES.

PLEIADES bears some similarity to Fragmented Objects [START_REF] Kapitza | Formi: Integrating adaptive fragmented objects into java rmi[END_REF], [START_REF] Makpangou | Fragmented objects for distributed abstractions[END_REF], in which a component's state is distributed (fragmented) among a number of distributed nodes in a manner that is fully transparent to its users. Fragmentation distributes a component's locus of computation, allowing for components to thus execute concurrently in a fully distributed manner. By relying on code mobility and state transfer mechanisms, fragmented objects can allow a component to extend or retract according to the current system's needs. However, implementations of fragmented components proposed so far [START_REF] Kapitza | Formi: Integrating adaptive fragmented objects into java rmi[END_REF] tend to be heavy-weight. They also typically rely solely on Remote Procedure Calls (RPC), an interaction paradigm that is illsuited to loosely coupled large-scale systems.

PLEIADES can also be seen as a concrete example of some of the high-level capabilities sketched out by Blair et al.

for Holons [START_REF] Blair | Holons: Towards a systematic approach to composing systems of systems[END_REF], a new paradigm for programming large-scale distributed systems relying on autonomous self-organization and opportunistic interactions.

VI. CONCLUSION & FUTURE WORKS

Large-scale distributed systems are becoming omnipresent while growing in size and complexity. Specifying and implementing such systems in a resilient manner is becoming increasingly tiresome and cumbersome for developers.

To address this challenge, we have introduced the PLEIADES framework. PLEIADES follows a programming-by-assembly design, while exploiting self-organizing overlays. However, PLEIADES goes a step further by considering elementary shapes as collective distributed entities and by enabling the creation of resilient, scalable, and complex distributed structural invariants through the assembly of these shapes.

To reach this aim, the PLEIADES framework combines six self-organizing protocols that work together to construct and maintain the structure prescribed in a PLEIADES configuration file. The resulting system is able to recover from catastrophic crash failures-such as the loss of a majority of the system's nodes-in only a few rounds while consuming a very limited bandwidth. PLEIADES further scales logarithmically in the number of system's nodes, and close to linearly in the number of elementary shapes.

We are currently designing a Domain Specific Language (DSL) to further increase the ease of programming of complex reliable large-scale distributed systems, and to strengthen the programming-by-assembly design of our approach. We are also integrating our approach on top of Kubernetes to augment Kubernetes's basic structural properties.

Figure 2 :

 2 Figure 2: PLEIADES consists of 6 self-stabilizing protocols that build upon one another to enforce the structural invariant described in a configuration file distributed to all nodes in the system.

Figure 3 :

 3 Figure3: A simple ring template can be defined using E ring = [0, 1[ as position space, a random projection function, the modulo distance, and a shape fanout k ring = 2.

Figure 4 :

 4 Figure 4: The PLEIADES configurations used to create the systems shown in Figure 5.

Figure 4

 4 Figure 4 graphically presents three configuration files used by PLEIADES to construct the three distributed systems shown in Figure 5. These three examples connect simpler shapes together (cliques and stars, shown symbolically in Figure4and with different colors in Figure5). The resulting toplogies can be found in real-world applications, such as database sharding (Figure5a), distributed key value stores (Figure5b) or partially decentralized services using super-peers (Figure5c).These three examples illustrate PLEIADES's simplicity of use and expressiveness: a few basic shapes suffice to create an infinite number of variations that can be tailored to an application's needs.

  A ring of 4 Clique shapes, similar to topologies used in distributed key-value stores.

  A clique of 4 Star shapes, similar to topologies used in partially decentralized services with superpeers.

Figure 5 :

 5 Figure 5: The result topologies corresponding to the configurations of Figure 4 (after 10 rounds of simulation).

  After 6 rounds, the system has converged.

Figure 6 :

 6 Figure 6: A system of 100 nodes converges in 6 rounds towards three connected rings (colored in blue, red, and black).

Figure 8 :

 8 Figure 8: Progress of the different protocols of PLEIADES over time (in rounds) for a ring of rings with 25,600 nodes and 10 rings. Except for Port Connection, all protocols experience a rapid phase change.

  When a new configuration is deployed, inter-shape links are reset, and nodes may be assigned to a new shape.

  After 2 rounds, nodes that did not change shape are already converged, and the newly introduced shape is starting to form. The system reaches its new stable state after 5 rounds, faster than from a random start.

Figure 9 :Figure 10 :

 910 Figure 9: Dynamic reconfiguration and convergence to a new stable state.

Figure 11 :

 11 Figure 11: Convergence time of the PLEIADES protocols for a system of 25,600 nodes implementing a ring of rings, for various numbers of rings. The convergence time of PLEIADES only slowly increases with the number of individual rings.

Figure 12 :

 12 Figure 12: Bandwidth overhead of PLEIADES over the shape building protocol, per node, per round (20 shapes, 25,600 nodes). Both protocols peak once all views have stabilized, and remain below 1kB (2kB in total).

Figure 13 :

 13 Figure13: Evolution of the bandwidth overhead of PLEIADES (ratio) vs. the number of basic shapes (25,600 nodes, stable state). PLEIADES's overhead remains very small even for 50 basic shapes (< 2kB in absolute value).

Figure 14 :

 14 Figure 14: PLEIADES's convergence time after half of the nodes have crashed, and after re-injecting new nodes (4 connected rings, note the log x axis). PLEIADES's stabilization speed is logarithmic in the system's size.

  After 3 rounds, the system's structure has been reestablished.

  After reinjecting the crashed nodes, the original structural invariant has been lost.

  But after just 3 rouds the system is back to the original target, even faster than during the initial bootstrap phase.

Figure 15 :

 15 Figure 15: Resilience and self-repair after a dramatic crash or a large node injection.

Table I :

 I Configuration state of node n, in shape s

	id	Position of node n in shape s;
	shape.id	ID of the shape s;
	shape.template	Template of the shape s;
	shape.ports	List of shape s's ports;
	s	Maximum size of Vlocal;
	∀k ∈ shape.ports:
	k.id	Position of port k in shape s;
	k.remote_shape.id	ID of remote shape linked to k;
	k.remote_shape.template Template of remote shape linked to k;
	k.remote_port	Remote port linked to port k.

Table II :

 II Views of membership and shape building prot.

	VRPS	View of the Global RPS protocol;
	Vlocal	View of the Same Shape protocol s;
	Vremote View of the Remote Shapes protocol;
	Vshape	View of shape s's shape building protocol;

Table III :

 III State of the connection protocols on node n Local node that seems closest to port k connected_to[k] Remote node that seems in charge of port k left.remote_shape.remote_port = left, meaning that the left port of the top ring should be connected to the left port of the bottom ring.

∀k ∈ shape.ports: is_port[k]

Boolean, whether n in charge of port k towards_port

[k]

Algorithm 1 :

 1 SSP: Same Shape Protocol on n Output: n.V local converges to a s-sized sample of nodes from shape s Bootstrap by filtering the global peer sampling 1 cand ← {n ∈ n.V RPS | n .shape.id = n.shape.id} 2 cand ← cand ∪ n.V local Exploit our neighbors' knowledge

Algorithm 3 :

 3 Port Selection on node n Output: is_port[k] and towards_port[k] are greedily resolved for each port k in the shape s. 1 foreach k ∈ n.shape.ports do Find closest node to port k among local nodes 2 cand ← n.V local ∪n.V shape ∪{n, n.towards_port[k]} Returns the closest node from port k, among cand nodes belonging to shapeof template tplate 1 closest ← arg min p∈cand (d tplate (p.id, k.id)) 2 return closest the link requested by the PLEIADES target specification. The variables used to maintain the state of the Port Selection and Port Connection protocols are shown in Table

	3	closest ←
		GETCLOSEST(cand, k, n.shape.template)
	4	n.is_port[k] ← (n = closest)
	5	if n.is_port[k] then
	6	n.towards_port[k] ← n
	7	else
		If n is not port node, remote request to
		closest
	8	n.towards_port[k] ←
		closest.towards_port[k]
	9	end
	10 end
	Function getClosest(cand, k, tplate)
		Output:

  k]. n Algorithm 4: Port Connection on node n Output: n establishes a link with the node most likely in charge of k 2 within dist_shape 1 foreach k 1 ∈ n.shape.ports do Only executed by presumed port node for k 1 to true if it is the closest node to k, and to false otherwise (line 4). towards_port[k] is set to n if n seems to be the port node (line 6). Otherwise, n requests the closest node's own towards_port[k] (line 8), making towards_port[k] greedily converge to the port node for k.

	2	if n.is_port[k 1 ] then
	3	shape_id ← k 1 .remote_shape.id
	4	shape_template ←
		k 1 .remote_shape.template
	5	k 2 ← k 1 .remote_port
		Closest remote node from k 2 that n knows
		of
	6	cand ← {n.V remote [k 1 ], n.connected_to[k 1 ]}
	7	closest ←
		GETCLOSEST(cand, k 2 , shape_template)
		Remote request: who is the port node for k 2 ?
	8	n.connected_to[k 1 ] ←
		closest.towards_port[k 2 ]
	9	end
	10 end
	sets is_port[k]

https://www.gluster.org (a) MongoDB (b) Riak (c) Microservices

aurora.apache.org

As mentioned in[START_REF] Jelasity | T-Man: Gossip-based fast overlay topology construction[END_REF], self-organizing overlays employ ranking functions that cannot always be defined as global distance functions.

ACKNOWLEDGMENTS

This work was partially funded by the PAMELA (ANR-16-CE23-0016) and O'Browser (ANR-16-CE25-0005) projects of the French Agence Nationale de la Recherche (ANR), and by the DeSceNt project granted by the Labex CominLabs excellence laboratory of the French ANR (ANR-10-LABX-07-01). It has also received funding from CHIST-ERA under project DIONASYS, from the Swiss National Science Foundation (SNSF) and ANR.


Frédéric Topin

Jean-Phillipe Bonnet

Brahim Madani

Lounès Tadrist

Experimental analysis of multiphase flow in metallic foam: flow laws, heat transfer and convective boiling

Keywords: metallic foam, flow laws, transport properties, convective boiling

The first part of this work deals with flows laws of gas, liquid and mixture in metallic foam. This experimental work is based on the stationary pressure profile measurement in a channel filled with metallic foam of several grade or material for several controlled flow rates. Several foam samples with different characteristics (10, 40, 60, 100 PPI) of copper or nickel are studied. In single-phase conditions, we evaluate permeability and inertial coefficient according to the Forchheimer model. In the gas flow case, compressibility effects are taken in account. Emphasis is given on the relative contributions of inertial and viscous effect. The specific behavior linked to compressibility effect is thoroughly studied. The adiabatic (air-water) conditions are analyzed; the results are reported in term of biphasic multipliers according to a simple homogeneous model to study the impact of foam texture and gas quality on flow laws. Several aspects of the two-phase flow case (i.e. liquid-vapor) are discussed: phase repartition, pressure drops, characteristic boiling curve…. In monophasic conditions, the heat transfer coefficient was improved by two orders of magnitude by the presence of metallic foam with only a limited increase of pressure drop. In biphasic condition, the study of convective boiling regime also showed significant heat transfer enhancement with very low-pressure drop. A simple one dimensional homogeneous model was used and allows a good description of global flow behavior across the test section.

Introduction

Metal foams are a relatively new class of materials with low densities and attractive thermal, mechanical, electrical and acoustic properties [START_REF] Ashby | Metal foams: A design guide 2000[END_REF]. They are widely quoted to present a random topology, high open porosity, low relative density and high thermal conductivity of the cell edges, large accessible surface area per unit volume. All these characteristics make metal foam heat exchangers efficient, compact and light weight. Moreover, they also promote mixing and have excellent mechanical properties. Metallic foams uses and applications have been widening quickly during the last few years and they are proposed for use in numerous applications such as compact heat exchangers, reformers, biphasic cooling systems and spreaders for increasing heat transfer; improve mixture and chemical reaction [START_REF] Banhart | Characterization and application of cellular metals and metal foams[END_REF][START_REF] Tadrist | About the Use of Fibrous Materials in Compact Heat Exchangers[END_REF][START_REF] Sullines | Effective thermal conductivity of high porosity open cell nickel foam[END_REF]. Different types of metal foams are used as a buffer between a stiff structure and a fluctuating temperature field. They are also used in geothermal operations and in petroleum reservoirs [START_REF] Vafai | Boundary and inertia effects on convective mass transfer in porous media[END_REF]. Ceramic foams are used in advanced burners and heat pipes. Foams have been used in high-power batteries for lightweight cordless electronics, and catalytic field application such as fuel cells systems [START_REF] Catillon | Influence of Cellular Structure in catalytic reactors for H2 Production: Application to Improvement of Methanol Steam Reformer by the Addition of a Copper Foam[END_REF]. Due to their novelty, peculiar structure and varied manufacturing processes, metal foams are still incompletely characterized. Accurate evaluation of these properties becomes critical for various uses.

The control of the texture of porous materials used for the optimization of given application represents a significant technological stake Accurate determination of transport properties (in respect with convenient geometrical parameters) is needed for both single phase and boiling conditions flows in order to understand transport phenomena in these materials and eventually optimize their texture for given application. Models widely used for low porosity media are more difficult to apply to high porosity materials.

Most of the works dealing with foam transport properties are based on arbitrary periodic structures which represent with variable degree the real texture of the foam. The morphology of such open-celled structure is often characterized using cell ligament diameter or pore size and the relative density. [START_REF] Du Plessis | Mathematical modeling of flow through consolidated isotropic porous media[END_REF][START_REF] Du Plessis | Pressure Drop Prediction for Flow through High Porosity Metallic Foams[END_REF] assumed a rectangular distribution of solid material in a representative unit cell. Several authors [START_REF] Lu | Heat transfer in open-cell metal foams[END_REF][START_REF] Calmidi | Transport phenomena in high porosity metal foam[END_REF][START_REF] Calmidi | Forced convection in high porosity metal foams[END_REF] used a simple cubic cell consisting of slender cylinder as edges. Dimensions of the representative unit cell are obtained in function of relative foam density. Analogy between flow through the foam and through a bank of cylinders is used to derive analytical expressions for pressure drop [START_REF] Fourie | Pressure drop modelling in cellular metallic foams[END_REF]. More complex periodic structure were tested using 3D numerical simulation of flow through idealized opencelled metal foam [START_REF] Boomsma | The effects of compression and pore size variations on the liquid flow characteristic in metal foams[END_REF]. Thus, model remains, yet only qualitative [START_REF] Boomsma | On the effective thermal conductivity of a three-dimensionally structured fluidsaturated metal foam[END_REF][START_REF] Bhattacharya | Thermophysical properties of high porosity metal foams[END_REF][START_REF] Bastawros | Effectiveness of open-cell metallic foams for high power electronic cooling[END_REF][START_REF] Decker | Detailed Experimental Characterization and Numerical Modeling of Heat and Mass Transport Properties of Highly Porous Media for Solar Receivers and Porous Burners[END_REF][START_REF] Writz | A semi-empirical model for porous media heat exchanger design[END_REF][START_REF] Kim | Forced convection from aluminum foam materials in an asymmetrically heated channel[END_REF].

During the last decade, numerous experimental and theoretical works on single-phase flow in cellular material have been lead. It exists, on the other hand far less data about hydrodynamics of gas/liquid flow in such media. Moreover it appears a strong dispersion of literature results which limit the development and validation of model of flow properties in function of geometrical parameters of such foam(see, e.g. review given by [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF] ). Data of the literature reported that metal foams of grade and porosity exhibit extremely different transport properties. Friction coefficient variations versus Reynolds number (both based on pore size: ( and ) as reported by [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF] are plotted on figure 1. The divergence of these coefficients measured for metallic foam samples of comparable porosities and grade (PPI) is obvious on this figure. The values of friction factor differ from more than 1 decade depending on Reynolds number. These discrepancies in experimental results and theoretical models, can be attributed to the lack of in one hand, to the experimental procedures used to determine the hydrodynamic properties of these materials and in the other hand, to the lack in methods allowing accurate determination of metallic foam microstructure characteristics related to flow/transport properties. Lines: literature data [START_REF] Boomsma | The effects of compression and pore size variations on the liquid flow characteristic in metal foams[END_REF][START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF][START_REF] Langlois | Flow-through and flow-by porous electrodes of nickel foam. I. Material characterisation[END_REF][START_REF] Phanikumar | Non-Darcy natural convection in high porosity metal foams[END_REF][START_REF] Zhao | Thermal Transport Phenomena in Porvair. Metal Foams and Sintered Beds[END_REF], Symbol: present work all samples, air and water results.

We present here, experimental studies aiming at estimate characteristic transport properties of metallic foam in order to correlate them to their morphology [START_REF] Topin | Multiphase flow in metallic foam: Experimental analysis of flow laws[END_REF][START_REF] Vicente | Structural properties measurement: A Morphological tool for transport properties determination[END_REF]. The flow properties are analyzed for these foams: permeability, inertial coefficient, friction factors. Several aspects of adiabatic two-phase flow are discussed. The second part is devoted to single-phase heat transfer and characterization of convective boiling phenomena (i.e. liquid-vapor).

Single-phase Flow

Experimental Set-Up

This experimental work is based on the stationary pressure profile measurement in a channel filled with metallic foam of various grade or material and crossed by controlled flow rates. Several foam samples with different characteristics (grade from 10 up to 100 PPI) of copper, nickel, or allied nickel are studied (see Table 1 for details).This experimental set-up is designed, to study the impact of the solid matrix on flow phenomena in the foam in both single-phase and adiabatic two-phase flow conditions. This apparatus consists of three main parts: test section, fluid loop and data acquisition system as shown on figure 2. Additional pressure sensor are placed along 3 lines perpendicular to the flow direction to asses the onedimensional nature of the flow. Foam samples (whose lengths vary from 130 up to 200 mm) are placed in the central part of the channel in order to keep a tranquilization zone upstream and downstream of the sample. Test section is placed horizontally in order to avoid uncertainties due to hydrostatic effects [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF].

The liquid fluid loop is constituted by a storage tank (50 l capacity) and a variable velocity gear pump which can give a constant flow rate in the range of 0-10 -4 m 3 s -1 independently of pump downstream conditions. Constant air flow (range 0-4 10 -3 Nm 3 s -1 ) is obtained using a compressor and a pressure regulation valve. The test section is connected, downstream, to a separator which is installed for the two-phase flow experiments. The liquid flows by gravity down the storage tank while the air is simply released to atmosphere. A weighted tank could be inserted in the liquid loop to assess the mass flow rate. Liquid flow rate is monitored (upstream of the test section) using two turbine flow meters (Mac-Millan®) for optimal accuracy over the full range of experiments. The first one works in the range of 3.33 10 -5 -8.10 -5 m 3 s -1 and the other one in the range 1.6 10 -6 -3.33 10 -5 m 3 s -1 . The weighting device arranged in downstream of the test section has a sensitivity of about 1 g and a capacity of 3 l. Air flow is monitored upstream of the test section using three mass-flow meters (Aalborg®) respective operating range : 0-50, 0-100 and 0-250 Nl/min. An accuracy of about 0.1 % overall flow rate range is thus obtained. Hydrodynamic (null flow) profile is checked before and after each experiment in order to eliminate all offset between pressure sensors. Pressures, temperature and inlet flow rate of both fluid (air and water) are continuously monitored.

The same experimental procedure is used for all tests. Before each series of measurement, the foam sample was flooded a long times ensuring initial wetting (water) or drying (air), and established flow.

The fluid is then, maintained on circulation for about half an hour after system has reached a stationary regime. Hydrodynamic (null flow) profile is checked before experiment in order to eliminate all offset between pressure sensors. For each measurement, an averaging procedure (averaging time 1minute, data acquisition 500 Hz) is used to reduce measurement noise, after checking stationary behavior of pressure and flow rate signal. Accuracy of pressure measurement is better than 5 Pa [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF].

After each measurement series, the flow is stopped and the hydrostatic pressure profile is measured anew and compared to the previous hydrostatic one. In this way we could ensure that pressure sensors bias has not changed with the time.

Gravity and capillarity driven flow through cell edges during the manufacture of metallic foams induce material property gradients (tortuosity, cell size…) and cells themselves are not spherical [START_REF] Vicente | Open celled material structural properties measurement: from morphology to transport properties[END_REF]. Slight anisotropy of geometrical parameters is observed for ours sample. Nevertheless at this stage of the study we neglect these effects. Measurement of full permeability and inertial coefficient tensor is, yet, difficult and the precision of our set-up in the studied configuration doesn't allow measurement of transverse pressure gradient with an accuracy compatible with the objectives of this work [START_REF] Renard | Laboratory détermination of the full permeability tensor[END_REF].

Flow law

It is well established that flows at very low flow rates through a porous medium are governed by Darcy's law [START_REF] Darcy | Exposition et application des principes à suivre et des formules à employer dans les questions de distribution d'eau[END_REF]. For homogeneous porous media, "high-velocity" flows are characterized by a nonlinear relationship between the pressure drop and the flow rate. At high Reynolds number the empirical Forchheimer equation is used to account for the deviation from Darcy's law [START_REF] Fourar | On the non-linear behavior of a laminar single-phase flow through two and three-dimensional porous media[END_REF]:

( 1)
Where r is the fluid density, K (permeability; m 2 ) and b (inertial coefficient; m -1 ) are intrinsic parameter of the solid matrix and depend only on its structural properties. In this formulation the Brinkman correction is neglected. That means that the pressure drop is considered as the sum of two terms: viscous (u, Darcy law) and inertia (u 2 ) terms. The pressure gradient across the foam is a function of system geometry (porosity, pore and ligament size...), and physical properties of the fluid phase (viscosity, density). We measured the pressure drop using two different fluids: a liquid (water) and a gas (air) in order to confirm that, K, b are independent of the fluid nature (Table 1).

Pressure profiles-Compressibility effects

As we measured pressure profiles along the main flow axis, we could check sample heterogeneities, entrance effects and non-linearity due to compressibility effects [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF][START_REF] Bonnet | Etude expérimentale de l'impact de la compressibilité et du changement de phase sur les lois d'écoulement en milieux poreux cellulaire ouverts[END_REF]. In the water flow case, for all tested samples, a linear regression fit with a very good accuracy the experimental pressure profiles.

Residual of these interpolations are always negligible and comparable to measurement noise. On the

2 u u K dz dP r b µ + = -
other hand, in gas flow case, experimental data shown that pressure drop versus position is clearly not linear. As air flow compressibility effects are not negligible because [START_REF] Wallis | One-Dimensional Two-Phase Flow 1969[END_REF] pressure profiles gradient vary along main flow axis (Figure . 3). The curvature of pressure profile increases with pressure difference; this effect is thus maximal for the smallest pore size samples.

Inertia coefficient dp [µm] e Sp [m 2 /m 3 ] KWater [m 2 ] Kair [m 2 ] KWA [m 2 ] bWater [m -1 ] bair [m -1 ] bWA [m -1 ]
Ni 100 We identify parameters of Forchheimer equation (1) which takes the following forms using mass flux h:

( 2)

The "density x pressure" (called "rP" in the following text) profiles along main flow axis are linear at all tested velocities and for both fluids. Thus, for a given sample, the gradient of this quantity depend only on mass velocity. Except near inlet (entrance effect, flow not established) the gas case, linear regression of "rP" versus the position fit with a very good accuracy the different profiles. Thus, the gradient of this quantity depend only on mass velocity and is evaluated by linear regression on these profiles (figure 4). Comparing values of permeability and inertial coefficient determined using liquid (resp. gas) data alone versus values obtained using data for both fluids simultaneously show up a good agreement (Table 1).

As compressibility effects have been taken into account, the nature of the fluid doesn't change the measured values even if slight differences could be observed. Although Reynolds number (based on pore size) range is identical for the two fluids the mass fluxes are quite different (0-30 kg.m -².s -1 for the gas and 0 -500 kg.m-².s -1 for the liquid) and thus may explain the difference in inertial coefficient and permeability values. Indeed the reduced pressure gradient, plotted in function of Reynolds number for all samples on figure 7, highlight that there is no influence of fluid nature on the flow laws. Similar trend are observed for all curves, that are, indeed, representative of weak inertia flow [START_REF] Fourar | On the non-linear behavior of a laminar single-phase flow through two and three-dimensional porous media[END_REF]. For each sample, pressure gradient asymptotically converge toward a fully inertial behavior (slope 2 on this log-log plot) at high Reynolds number. At low Reynolds, results slope decrease slightly and are expected to converge to Darcian flow (slope 1 ) for Reynolds inferior to one. Clearly, data obtained for the sample of greater pore size are more representative of inertial regime, thus sensibility to inertial coefficient is better in this case. On the other hand, for the smaller pore size this flow is more representative of a viscous one (even if inertial effects exist). This indicates that K and b estimation is not always done in an optimal way. Uncertainties on K and b are consequently different depending on pore size. Nevertheless, most of the data are, indeed representative of transition zone. Variation of permeability versus pore diameter (down).

Flow law parameters

K and b coefficients depend on porosity, pore diameter strut size, specific surface... Analysis of our experimental data allows us to determine the main parameter governing the variations of permeability and inertial coefficient. Viscous effects are governed by pore size while it is the specific surface that produces the best fit of our results with an Ergun like law [START_REF] Tadrist | About the Use of Fibrous Materials in Compact Heat Exchangers[END_REF].

( 3) Inertial pressure drop are linked to acceleration (direction and magnitude). Indeed microscopic flow in foam could be modeled by flow around obstacle. Thus the natural parameters to describe such flow are strut diameter and pores size thus specific surface. Figure 8 show the experimental results and the model. A good agreement is observed.

Comparison with literature data

We compare our results to literature data [START_REF] Tadrist | About the Use of Fibrous Materials in Compact Heat Exchangers[END_REF][START_REF] Calmidi | Transport phenomena in high porosity metal foam[END_REF][START_REF] Boomsma | The effects of compression and pore size variations on the liquid flow characteristic in metal foams[END_REF][START_REF] Bhattacharya | Thermophysical properties of high porosity metal foams[END_REF][START_REF] Phanikumar | Non-Darcy natural convection in high porosity metal foams[END_REF][START_REF] Zhao | Thermal Transport Phenomena in Porvair. Metal Foams and Sintered Beds[END_REF][START_REF] Hunt | Effects of thermal dispersion on forced convection in fibrous media[END_REF][START_REF] Khayargoli | The impact of microstructure on the permeability of metal foams[END_REF][START_REF] Paek | Effective thermal conductivity and permeability of aluminum foam materials[END_REF][START_REF] Moreira | Permeability of ceramic foams to compressible and incompressible flow[END_REF][START_REF] Innocentini | Prediction of Ceramic Foams Permeability Using Ergun's Equation[END_REF]gathered [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF]. As shown in figure 1, the major part of works gives similar trend of pressure drop coefficient but results obtained for similar foam are scattered on a rather wide range. Some data are obtained using liquid flow [START_REF] Hunt | Effects of thermal dispersion on forced convection in fibrous media[END_REF] and several authors gives results obtained with gas flow. [START_REF] Tadrist | About the Use of Fibrous Materials in Compact Heat Exchangers[END_REF][START_REF] Calmidi | Transport phenomena in high porosity metal foam[END_REF][START_REF] Boomsma | On the effective thermal conductivity of a three-dimensionally structured fluidsaturated metal foam[END_REF][START_REF] Bhattacharya | Thermophysical properties of high porosity metal foams[END_REF][START_REF] Zhao | Thermal Transport Phenomena in Porvair. Metal Foams and Sintered Beds[END_REF]. The commonly used technique to determine flow law in porous media is to evaluate pressure gradient using only inlet and outlet pressure Moreover several results obtained with gas flow neglect compressibility effect even when DP/P is not nil, at high velocity regimes. This leads to an important dispersion of results and even to aberrant (non-physical) values of the permeability.

Analysis of permeability data in function of porosity for several pore densities highlights the wide dispersions of permeability as expected from error analysis [START_REF] Madani | Flow laws in metallic foams: experimental determination of inertial and viscous contribution[END_REF]. Nevertheless, some trends could be inferred: permeability decreases slightly as the pore density increases and increases slightly as the porosity increases. Anyway, these variations should be considered with caution as uncertainties are greater than the observed variations. flux the pressure loss is proportional to air flow rate. In other words, pressure gradient is proportional to flow quality. The curvature of these curves is inversely proportional to the quality of the flow. This indicates that viscous effects depend more strongly on quality than inertial one.

Adiabatic Two-phase Flow

Biphasic Multiplier

We do not find any other data in literature for biphasic flow in metallic foam and it do not exist, yet, agreement on a model of biphasic flow in porous media [START_REF] Fourie | Pressure drop modelling in cellular metallic foams[END_REF][START_REF] Grall | Etude experimentale d'ecoulements diphasiques liquide-gaz en mini canaux et en milieu poreux modèle[END_REF][START_REF] Kaviany | Principles of heat transfer in porous media[END_REF][START_REF] Jamialahmadi | Pressure drop, gas hold-up and heat transfer during single and two-phase flow through porous media[END_REF]. Thus in order to compare our results to reference cases we choose, considering the very high porosity of the foam to compare to twophase flow in tube. The flow is established in the studied zone and is globally one-dimensional. Taking into account the precise structure of the two-phase flow is not yet possible as both slip velocity and void fraction could not be measured. Consequently we suppose that the mixture behave as an incompressible homogeneous fluid with null slip velocity. The pressure losses of the mixture are thus described using the biphasic multiplier approach [START_REF] Wallis | One-Dimensional Two-Phase Flow 1969[END_REF], with x flow quality (gas mass flux/total mass flux) :

Using the experimental values of biphasic multiplier are simply calculated by forming the ratio of biphasic pressure drop over single-phase one. An adjustment of exponent (g ~ -0.7) of the viscosity term appearing in the biphasic multiplier expression allows to model all experimental data with reasonable agreement. Figure 12 present the comparison of experimental results with the correlation proposed by Mac Adams (g = -0.25) for laminar flow in tubes [START_REF] Wallis | One-Dimensional Two-Phase Flow 1969[END_REF]. All experimental data are roughly located on a unique curve similar to the literature correlation. Nevertheless a slight influence of pore size is visible on this figure. When pore size increase the biphasic multiplier seems to be closer to the value obtained for tube. But more experimental data are needed to interpret this effect. This approach has been applied with reasonable agreement in convective boiling case, using biphasic multiplier given by Mac Adam correlation [START_REF] Madani | Ebullition convective dans les mousses métalliques : Analyse expérimentale des effets de contact matrice solide -paroi[END_REF]. The model predict with a good accuracy the pressure profile at moderate heating power.. On the other hand a clear discrepancy between experiment and model is observed at higher heat flux. This is probably due to flow regime transition at high vapor quality. Globally, the model predict with reasonable accuracy (20 % error max) the global pressure drop of the channel but is not usable to determine local pressure profiles The boiling mechanisms in copper foam and the evaluation of the impact of the solid matrix on flow and heat transfer phenomena were experimentally studied. It consisted of 2 rectangular channel (10x50x100 (resp.200) mm ) that contained a 40 PPI grade copper foam. The smallest one is welded to the wall, as the other is just inserted in the channel A liquid (i.e., n-pentane, low toxicity, low boiling point: 36 °C at atmospheric pressure, low phase-change enthalpy) flowed through the porous media vertically from the bottom to the top (figure 14). The channel was instrumented with 40 thermocouples and 15 pressure sensors [START_REF] Madani | Ebullition convective dans les mousses métalliques : Analyse expérimentale des effets de contact matrice solide -paroi[END_REF][START_REF] Madani | Mesure du coefficient de transfert de chaleur local paroi-fluide dans un canal à mousse métallique en écoulement liquide et en ébullition[END_REF]. Before each experiment, we apply repeated Boiling-cooling sequence in order to eliminate non-condensable substances, then flow is imposed at the desired flow rate (0-80 kg m -2 s -1 ). After stationary regime is reached heating power (range 0 -25 Wcm -2 ) is applied. All data are continuously monitored. When stationary regime is reached temperature and pressure profiles are recorded as well as flow rate, heating power… High heat transfer coefficient is obtained compared to tube (increase of 2 orders of magnitude). These 3D foam present clearly better thermal performance than honeycomb structure, comparable to those obtained with sintered bronze fibers in similar conditions [START_REF] Tadrist | About the Use of Fibrous Materials in Compact Heat Exchangers[END_REF], but these performance are obtained for a pressure drop far smaller than the one of the fibers bed. Moreover, the fibers bed porosity is about 60 % thus at same metal mass thermo-hydraulic performance of the foam are far netter than those of the other structures. Influence of wall-foam contact is determinant on heat transfer phenomena as wall-foam heat transfer resistance is a limiting factor in thermal performance of such porous media [START_REF] Madani | Mesure du coefficient de transfert de chaleur local paroi-fluide dans un canal à mousse métallique en écoulement liquide et en ébullition[END_REF]. Figure 17: Boiling heat transfer coefficient in a rectangular channel equipped with welded copper foam versus liquid n-pentane velocity. Performances of copper foam were compared to other fibrous materials. The boiling curve obtained in the same conditions for bronze sintered fibers, which are known for their high thermal performances [START_REF] Tadrist | About the Use of Fibrous Materials in Compact Heat Exchangers[END_REF] is similar to the foam inserted at low superheat. However, when the superheat exceeds 10 °C, the heat flux is far smaller than the one obtained in the foam.

( ) ( ) / ² ( 1 ( 1 ) ) ( 1 ( 1 ) )
/ L G l l LS g g L dP dz x x dP dz g r µ f r µ - + - = = + - + - -

Convective Boiling

The high performance of the foam is linked to its open structure that permits an easy evacuation of the U vapor formed near the wall. This improves the heat transfer and avoids the phenomenon of dry out. Moreover, the pressure drop generated in the foam is 10 times smaller than those in the sintered fibers for the same heat transfer and velocity conditions. We present, on figure 17, channel global heat exchange coefficient in boiling condition. We plotted the single-phase value and the variation of this coefficient in function of inlet liquid velocity for several heating power. This figure illustrates the very strong increase of heat transfer induced by liquid-vapor phase change phenomena.

For a given velocity the heat transfer coefficient is proportional to the heat flux in the studied boiling regime. This indicates a stable behavior (no risk of burn-out) of any biphasic heat exchanger working in these conditions of heat and mass flux.

Concluding Remarks

This work presents an original experimental method to determine the hydrodynamic characteristics of metallic foams. For this, the determination of the pressure profile along the channel is obtained using multiple pressure sensors. We determine single-phase flow laws for foam covering a wide range of pore size. Compressibility effects are studied and an adapted treatment of experimental data is proposed.

An expression modeling the dependence of inertial coefficient and permeability in function of morphology of the foam is proposed.

The adiabatic (air-water) conditions were analyzed. Results, reported in term of biphasic multipliers according to a simple homogeneous model, show up the impact of foam texture and gas quality on flow laws.

We developed an experimental methodology to analyze biphasic flow and heat transfer phenomena in metallic foam. This study illustrates the improvement of both single-phase and biphasic heat transfer given by the use of foam in a channel. The superheat at the onset of boiling is reduced and the heat transfer is increased. The flow laws in these materials are dominated by inertial effects, but the pressure drop generated in these materials remains very low. These results show a very strong impact of the foam structure on heat transfer and fluid flow.

Figure. 1

 1 Figure. 1 Friction factor versus Reynolds Number (both based on Pore diameter).

Fig. 2

 2 Fig. 2 Experimental set-up for single-phase and adiabatic two-phase flow laws characterization.

h

  Figure 3 Pressure profiles in air flow-compressibility effect. Sample NC 4753 Grey lines: linear approximation

Figure 4 :

 4 Figure 4: "rP" profiles for several air mass flux densities. Sample 4753

- 3 )

 3 Mass flux density, h / Kg.m -2 s -1

Figure 5 :Figure 5

 55 Figure 5: "rP" gradient versus mass flux density (white: air; black: water).

Figure 6 :

 6 Figure 6: Comparison of relative viscous and inertia effects contribution on pressure gradient

  u / m . s -1

Figure 7 :

 7 Figure 7: Reduced pressure drop versus Reynolds number (pore size) -air (white) and water (black) flow data. Shape of symbol indicates sample

Figure 8 :

 8 Figure 8: Variation of inertia coefficient versus specific surface (up).Variation of permeability versus pore diameter (down).

2 )

 2 Pore diameter, Dp / m

Figure 9 Figure 9 :

 99 Figure9shows inertial coefficient versus pore size for several ligaments diameters. On this figure, we

3. 1 .(m - 1 )

 11 Pressure Drop We present on figure 10 the results concerning pressure losses obtained for air-water mixture flow in foams. The gas quality of the flow is our experiments vary from 0.5 up to 25 % and the void fraction (evaluated from a no-slip model) is in the range 80 up to 99%. The compressibility effects should thus appear clearly on two-phase pressure profile as the mixture is mainly composed of gas. Due to density variation with local pressure the mixture velocity should increase from inlet to outlet producing an increasing pressure gradient. But, as experimental results are correctly modeled by linear Inertial coefficient, b Pore diameter, Dp / m approximation, it should exist an antagonist effect (void fraction variation probably) that mask this behavior.

Figure 10 :

 10 Figure 10: Two-phases flow pressure profile. Sample Ni100

Figure 11 :

 11 Figure 11: Biphasic pressure gradient versus total mass flux variations for several air mass fluxes

Figure 12 :

 12 Figure 12: Biphasic multiplier versus quality. Comparison with tube correlation

Figure 13

 13 Figure 13 Measured an calculated pressure profile in convective boiling experiments[START_REF] Madani | Ebullition convective dans les mousses métalliques : Analyse expérimentale des effets de contact matrice solide -paroi[END_REF]

4. 1 .

 1 Experimental Set-Up.

Figure 14 :

 14 Figure 14: Experimental set-up for boiling experiments [40]. 1. Storage tank, 2. Gears pump, 3. Tube, 4. Cryostat, 5. Flowmeters, 6. Test section, 7. Cyclone, 8. Venturi, 9. Condenser, 10. Weighted tank, 11. Valve, 12. Data acquisition, 13. Pressure sensors. Not shown thermocouples

4. 2 .

 2 Single-phase heat Transfer

Figure 15 :

 15 Figure 15: Experimental local Nusselt number profiles. Inserted foam and litterature data.

Figure 15

 15 Figure 15 shows experimental local Nusselt number profile along main flow direction in the case of

Figure 16 :

 16 Figure 16: Boiling Curve: copper foam compared to sintered bronze fibers.*: inserted; x: welded; stars: bronze fibers[START_REF] Miscevic | Convective boiling phenomena in a sintered fibrous channel:Study of thermal non-equilibrium behavior[END_REF]

Table 1 :

 1 Flow laws parameters & sample properties. Cu

					1.63E-09	1.42E-09	1.38E-09	1670	2010	1686
	Ni10	4429		680	2.00E-07	5.76E-08	7.63E-08	272	261	248
	NC 4753		0.9	5600	2.28E-09	1.85E-09	2.01E-09	2194	2138	2175
	NC 3743		0.87	5303	2.68E-09	2.13E-09	2.11E-09	1622	1330	1329
	NC 2733		0.91	3614	6.19E-09	4.44E-09	4.79E-09	1130	1075	1088
	NC 1723	1840	0.88	1658	2.32E-08	2.81E-08	1.14E-08	631	490	446
	NC 1116	2452	0.89	1295	2.98E-08	6.02E-08	3.62E-08	400	381	364
	Cu 40	1500	0.95		1.62E-08	1.22E-08	7.20E-08	783	1000	1107
	Cu 45 (a)	1000			4.49E-09	6.09E-09	5.30E-09	1056	1281	1167
	Cu 45 (b)	1000			6.20E-09	7.58E-09	3.62E-09	1139	1615	1133
	Cu 45(c)	900				5.35E-09			1768
	Cu 10	4055	0.92	758		8.17E-08			201

Acknowledgments

The authors wish to thank Recemat Company and SCPS Company for providing the samples, and the French governmentfinancial support in the frameworks of a PACo programme and CNRS Energy program: PR Specimousse.