Ovidiu-Cristian Marcu

Alexandru Costan
email: alexandru.costan@inria.fr

Gabriel Antoniu
email: gabriel.antoniu@inria.fr

María S Pérez-Hernández

Bogdan Nicolae
email: bogdan.nicolae@acm.org

Radu Tudoran
email: radu.tudoran@huawei.com

Stefano Bortoli
email: stefano.bortoli@huawei.com

KerA: Scalable Data Ingestion for

Keywords: Stream Processing Stream processing, dynamic partitioning, ingestion

à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

I. INTRODUCTION

Big Data real-time stream processing typically relies on message broker solutions that decouple data sources from applications. This translates into a three-stage pipeline described in Figure 1. First, in the production phase, event sources (e.g., smart devices, sensors, etc.) continuously generate streams of records. Second, in the ingestion phase, these records are acquired, partitioned and pre-processed to facilitate consumption. Finally, in the processing phase, Big Data engines consume the stream records using a pull-based model.

Since users are interested in obtaining results as soon as possible, there is a need to minimize the end-to-end latency of the three stage pipeline. This is a non-trivial challenge when records arrive at a fast rate and create the need to support a high throughput at the same time. To this purpose, Big Data engines are typically designed to scale to a large number of simultaneous consumers, which enables processing for millions of records per second [START_REF] Venkataraman | Drizzle: Fast and Adaptable Stream Processing at Scale[END_REF], [START_REF] Miao | Streambox: Modern Stream Processing on a Multicore Machine[END_REF]. Thus, the weak link of the three stage pipeline is the ingestion phase: it needs to acquire records with a high throughput from the producers, serve the consumers with a high throughput, scale to a large number of producers and consumers, and minimize the write latency of the producers and, respectively, the read latency of the consumers to facilitate low end-to-end latency. Stream processing pipeline: records are collected at event time and made available to consumers earliest at ingestion time, after the events are acknowledged by producers; processing engines continuously pull these records and buffer them at buffer time, and then deliver them to the processing operators, so results are available at processing time.

Achieving all these objectives simultaneously is challenging, which is why Big Data applications typically rely on specialized ingestion runtimes to implement the ingestion phase. One such popular runtime is Apache Kafka [START_REF]Apache Kafka[END_REF]. It quickly rose as the de-facto industry standard for record brokering in end-to-end streaming pipelines. It follows a simple design that allows users to manipulate streams of records similarly to a message queue. More recent ingestion systems (e.g. Apache Pulsar [START_REF]Apache Pulsar[END_REF], DistributedLog [START_REF]Apache DistributedLog[END_REF]) provide additional features such as durability, geo-replication or strong consistency but leave little room to take advantage of trade-offs between strong consistency and high performance.

State of art ingestion systems typically achieve scalability using static partitioning: each stream is broken into a fixed set of partitions where the producers write the records according to a partitioning strategy, whereas only one consumer is allowed to access each partition. This eliminates the complexity of dealing with fine-grain synchronization at the expense of costly over-provisioning (i.e., by allocating a large number of partitions that are not needed in the normal case to cover the worst case when the stream is used by a high number of consumers). Furthermore, each stream record is associated at append time with an offset that enables efficient random access. However, in a typical streaming scenario, random access is not needed as the records are processed in sequential order. Therefore, associating an offset for each single record introduces significant performance and space overhead. These design choices limit the ability of the ingestion phase to deliver high throughout and low latency in a scalable fashion. This paper introduces KerA, a novel ingestion system for scalable stream processing that addresses the aforementioned limitations of the state of art. Specifically, it introduces a dynamic partitioning scheme that elastically adapts to the number of producers and consumers by grouping records into fixed-sized segments at fine granularity. Furthermore, it relies on a lightweight metadata management scheme that assigns minimal information to each segment rather than record, which greatly reduces the performance and space overhead of offset management, therefore optimizing sequential access to the records.

We summarize our contributions as follows: (1) we identify and study the key aspects that influence the performance and scalability of data processing in the ingestion phase (Section II); (2) we introduce a set of design principles that optimize the stream partitioning and record access (Section III);

(3) we introduce the KerA prototype, which illustrates how to implement the design principles in a real-life solution (Section IV); (4) we demonstrate the benefits of KerA experimentally using state-of-art ingestion systems as a baseline (Section V).

II. BACKGROUND: STREAM INGESTION

A stream is a very large, unbounded collection of records, that can be produced and consumed in parallel by multiple producers and consumers. The records are typically buffered on multiple broker nodes, which are responsible to control the flow between the producers and consumers such as to enable high throughput, low latency, scalability and reliability (i.e., ensure records do not get lost due to failures). To achieve scalability, stream records are logically divided into many partitions, each managed by one broker.

A. Static partitioning

State-of-art stream ingestion systems (e.g., [START_REF]Apache Kafka[END_REF], [START_REF]Apache Pulsar[END_REF], [START_REF]Apache DistributedLog[END_REF]) employ a static partitioning scheme where the stream is split among a fixed number of partitions, each of which is an unbounded, ordered, immutable sequence of records that are continuously appended. Each broker is responsible for one or multiple partitions. Producers accumulate records in fixedsized batches, each of which is appended to one partition. To reduce communication overhead, the producers group together multiple batches that correspond to the partitions of a single broker in a single request. Each consumer is assigned to one or more partitions. Each partition assigned to a single consumer. This eliminates the need for complex synchronization mechanisms but has an important drawback: the application needs a priori knowledge about the optimal number of partitions.

However, in real-life situations it is difficult to know the optimal number of partitions a priori, both because it depends on a large number of factors (number of brokers, number of consumers and producers, network size, estimated ingestion and processing throughput target, etc.). In addition, the producers and consumers can exhibit dynamic behavior that can generate large variance between the optimal number of partitions needed at different moments during the runtime. Therefore, users tend to over-provision the number of partitions to cover the worst case scenario where a large number of producers and consumers need to access the records simultaneously. However, if the worst case scenario is not a norm but ). Producers and consumers query Zookeeper for partition metadata (i.e., on which broker a stream partition leader is stored). Producers append to the partition's leader (e.g., broker 1 is assigned partition 1 leader), while exclusively one consumer pulls records from it starting at a given offset, initially 0. Records are appended to the last segment of a partition with an offset being associated to each record. Each partition has 2 other copies (i.e., partition's followers) assigned to other brokers that are responsible to pull data from the partition's leader in order to remain in sync.

an exception, this can lead to significant unnecessary overhead. Furthermore, a fixed number of partitions can also become a source of imbalance: since each partition is assigned to a single consumer, it can happen that one partition accumulates or releases records faster than the other partitions if it is assigned to a consumer that is slower or faster than the other consumers.

For instance, in Kafka, a stream is created with a fixed number of partitions that are managed by Kafka's brokers, as depicted in Figure 2. Each partition is represented by an index file for offset positioning and a set of segment files, initially one, for holding stream records. Kafka leverages the operating system cache to serve partition's data to its clients. Due to this design it is not advised to collocate streaming applications on the same Kafka nodes, which does not allow to leverage data locality optimizations [START_REF] Németh | DAL: A Locality-Optimizing Distributed Shared Memory System[END_REF].

B. Offset-based record access

The brokers assign to each record of a partition a monotonically increasing identifier called the partition offset, allowing applications to get random access within partitions by specifying the offset. The rationale of providing random access (despite the fact that streaming applications normally access the records in sequential order) is due to the fact that it enables failure recovery. Specifically, a consumer that failed can go back to a previous checkpoint and replay the records starting from the last offset at which its state was checkpointed. Furthermore, using offsets when accessing records enables the broker to remain stateless with respect to the consumers. However, support for efficient random access is not free: assigning an offset to each record at such fine granularity degrades the access performance and occupies more memory. Furthermore, since the records are requested in batches, each batch will be larger due to the offsets, which generates additional network overhead.

III. DESIGN PRINCIPLES FOR STREAM INGESTION

In order to address the issues detailed in the previous section, we introduce a set of design principles for efficient stream ingestion and scalable processing. a) Dynamic partitioning using semantic grouping and sub-partitions: In a streaming application, users need to be able to control partitioning at the highest level in order to define how records can be grouped together in a meaningful way. Therefore, it is not possible to eliminate partitioning altogether (e.g., by assigning individual records directly to consumers). However, we argue that users should not be concerned about performance issues when designing the partitioning strategy, but rather by the semantics of the grouping. Since state-ofart approaches assign a single producer and consumer to each partition, the users need to be aware of both semantics and performance issues when using static partitioning. Therefore, we propose a dynamic partitioning scheme where users fix the high level partitioning criteria from the semantic perspective, while the ingestion system is responsible to make each partition elastic by allowing multiple producers and consumers to access it simultaneously. To this end, we propose to split each partition into sub-partitions, each of which is independently managed and attached to a potentially different producer and consumer.

b) Lightweight offset indexing optimized for sequential record access: Since random access to the records is not the norm but an exception, we argue that ingestion systems should primarily optimize sequential access to records at the expense of random access. To this end, we propose a lightweight offset indexing that assigns offsets at coarse granularity at sub-partition level rather than fine granularity at record level. Additionally, this offset keeps track (on client side) of the last accessed record's physical position within the sub-partition, which enables the consumer to ask for the next records. Moreover, random access can be easily achieved when needed by finding the sub-partition that covers the offset of the record and then seeking into the sub-partition forward or backward as needed.

IV. KERA: OVERVIEW AND ARCHITECTURE

In this section we introduce KerA, a prototype stream ingestion system that illustrates the design principles introduced in the previous section.

A. Partitioning model

KerA implements dynamic partitioning based on the concept of streamlet, which corresponds to the semantic highlevel partition that groups records together. Each stream is therefore composed of a fixed number of streamlets. In turn, each streamlet is split into groups, which correspond to the sub-partitions assigned to a single producer and consumer. A streamlet can have an arbitrary number of groups, each of which can grow up to a maximum predefined size. To facilitate the management of groups and offsets in an efficient fashion, each group is further split into fixed-sized segments. The maximum size of a group is a multiple of segment size P ≥ 1. To control the level of parallelism allowed on each broker, only Q ≥ 1 groups can be active at a given moment. Elasticity is achieved by assigning an initial number of brokers N ≥ 1 to hold the streamlets M, M ≥ N. As more producers and consumers access the streamlets, more brokers can be added up to M.

In order to ensure ordering semantics, each streamlet dynamically creates groups and segments that have unique, monotonically increasing identifiers. Brokers expose this information through RPCs to consumers that create an application offset defined as [streamId, streamletId, groupId, segmentId, position] based on which they issue RPCs to pull data. The position is the physical offset at which a record can be found in a segment. The consumer initializes it to 0 (broker understands to iterate to first record available in that segment) and the broker responds with the last record position for each new request, so the consumer can update its latest offset to start a future request with. Using this dynamic approach (as opposed to the static approach used by explicit offsets per partition, clients have to query brokers to discover groups), we implement lightweight offset indexing optimized for sequential record access.

Stream records are appended in order to the segments of a group, without associating an offset, which reduces the storage and processing overhead. Each consumer exclusively processes one group of segments. Once the segments of a group are filled (the number of segments per group is configurable), a new one is created and the old group is closed (i.e., no longer enables appends). A group can also be closed after a timeout if it was not appended in this time.

B. Favoring parallelism: consumer and producer protocols

Producers only need to know about streamlets when interacting with KerA. The input batch is always ingested to the active group computed deterministically on brokers based on the producer identifier and parameter Q of given streamlet (each producer request has a header with the producer identifier with each batch tagged with the streamlet id). Producers writing to the same streamlet synchronize using a lock on the streamlet in order to obtain the active group corresponding to the Q th entry based on their producer identifier. The lock is then released and a second-level lock is used to synchronize producers accessing the same active group. Thus, two producers appending to the same streamlet, but different groups, may proceed in parallel for data ingestion. In contrast, in Kafka producers writing to the same partition block each other, with no opportunity for parallelism.

Consumers issue RPCs to brokers in order to first discover streamlets' new groups and their segments. Only after the application offset is defined, consumers can issue RPCs to pull data from a group's segments. Initially each consumer is associated (non-exclusively) to one or many streamlets from which to pull data from. Consumers process groups of a streamlet in the order of their identifiers, pulling data from segments also in the order of their respective identifiers. Brokers maintain for each streamlet the last group given to consumers identified by their consumer group id (i.e., each consumer request header contains a unique application id). A group is configured with a fixed number of segments to allow fine-grained consumption with many consumers per streamlet in order to better load balance groups to consumers. As such, each consumer has a fair access chance since the group is limited in size by the segment size and the number of segments. This approach also favors parallelism. Indeed, in KerA a consumer pulls data from one group of a streamlet exclusively, which means that multiple consumers can read in parallel from different groups of the same streamlet. In Kafka, a consumer pulls data from one partition exclusively.

C. Architecture and implementation

KerA's architecture is similar to Kafka's (Figure 3): a single layer of brokers (nodes) serve producers and consumers. However, in KerA brokers are used to discover stream partitions. Kera builds atop RAMCloud [START_REF] Ousterhout | The RAMCloud Storage System[END_REF] to leverage its network abstraction that enables the use of other network transports (e.g., UDP, DPDK, Infiniband), whereas Kafka only supports TCP. Moreover, it allows KerA to benefit from a set of design choices like polling and request dispatching [START_REF] Kulkarni | Beyond Simple Request Processing with RAMCloud[END_REF] that help boost performance (kernel bypass and zero-copy networking are possible with DPDK and Infiniband).

Each broker has an ingestion component offering pub/sub interfaces to stream clients and an optional backup component that can store stream replicas. This allows for separation of nodes serving clients from nodes serving as backups. Another important difference compared to Kafka is that brokers directly manage stream data instead of leveraging the kernel virtual cache. KerA's segments are buffers of data controlled by the stream storage. Since each segment contains the [stream, streamlet, group] metadata, a streamlet's groups can be durably stored independently on multiple disks, while in Kafka a partition's segments are stored on a single disk.

To support durability and replication, and implement fast crash recovery techniques, it is possible to rely on RAM-Cloud [START_REF] Ongaro | Fast Crash Recovery in RAMCloud[END_REF], by leveraging the aggregated disk bandwidth in order to recover the data of a lost node in seconds. KerA's fine-grained partitioning model favors this recovery technique. However it cannot be used as such: producers should continuously append records and not suffer from broker crashes, while consumers should not have to wait for all data to be recovered (thus incurring high latencies). Instead, recovery can be achieved by leveraging consumers' application offsets. We plan to enable such support as future work.

V. EXPERIMENTAL EVALUATION

We evaluate KerA compared to Kafka using a set of synthetic benchmarks to assess how partitioning and (application defined) offset based access models impact performance.

A. Setup and parameter configuration

We ran all our experiments on Grid5000 Grisou cluster [START_REF]Grid5000[END_REF]. Each node has 16 cores and 128 GB of memory. In each experiment the source thread of each producer creates 50 million non-keyed records of 100 bytes, and partitions them round-robin in batches of configurable size. The source waits no more than 1ms (parameter named linger.ms in Kafka) for a batch to be filled, after this timeout the batch is sent to the broker. Another producer thread groups batches in requests and sends them to the node responsible of the request's partitions (multi TCP synchronous requests). Similarly, each consumer pulls batches of records with one thread and simply iterates over records on another thread. Zookeeper is responsible for providing clients the metadata of the association of streamlets with brokers. Streamlets' groups and their segments are dynamically discovered by consumers querying brokers for the next available groups of a streamlet and for new segments of a group. Replication in Kera can leverage its fine-grained partitioning model (streamlet-groups) by replicating each group on distinct brokers or by fully replicating a streamlet's groups on another broker like in Kafka.

In the client's main thread we measure ingestion and processing throughput and log it after each second. Producers and consumers run on different nodes. We plot average ingestion throughput per client (producers are represented with KeraProd and KafkaProd, respectively consumers with KeraCons and KafkaCons), with 50 and 95 percentiles computed over all clients measurements taken when concurrently running all producers and consumers (without considering the first and last ten seconds measurements of each client).

Each broker is configured with 16 network threads that corresponds to the number of cores of a node and holds one copy of the streamlet's groups (we plan to study pullbased versus push-based replication impact in future work). In each experiment we run an equal number of producers and consumers. The number of partitions/streamlets is configured to be a multiple of the number of clients, at least one for each client. Unless specified, we configure in KerA the number of active groups to 1 and the number of segments to 16. A request is characterized by its size (i.e., request.size, in bytes) and contains a set of batches, one for each partition, each batch having a batch.size in bytes. We use Kafka 0.10.2.1 since it has a similar data model with KerA (newest release introduces batch entries for exactly once processing, a feature that could be efficiently enabled also in KerA [START_REF] Lee | Implementing Linearizability at Large Scale and Low Latency[END_REF]). A Kafka segment is 512 MB, while in KerA it is 8MB. This means that rolling to a new segment happens more often and may impact performance (since KerA's clients need to discover new segments before pulling data from them).

B. Results

While Kafka provides a static offset-based access by maintaining and indexing record offsets, KerA proposes dynamic access through application defined offsets that leverage streamlet-group-segment metadata (thus, avoiding the overhead of offset indexing on brokers). In order to understand the application offset overhead in Kafka and KerA, we evaluate different scenarios, as follows. Impact of the batch/request size. By increasing the batch size we observe smaller gains in Kafka than KerA (Figure 4). KerA provides up to 5x higher throughput when increasing the batch size from 1KB to 4KB, after which throughput is limited by that of the producer's source. For each producer request, before appending a batch to a partition, Kafka iterates at runtime over batch's records in order to update their offset, while Kera simply appends the batch to the group's segment. To build the application offset, KerA's consumers query brokers (issuing RPCs that compete with writes and reads) in order to discover new groups and their segments. This could be optimized by implementing a smarter read request that discovers new groups or segments automatically, reducing the number of RPCs.

Adding clients (vertical scalability). Having more concurrent clients (producers and consumers) means possibly reduced throughput due to more competition on partitions and less worker threads available to process the requests. As presented in Figure 5, when running up to 64 clients on 4 brokers (full parallelism), KerA is more efficient in front of higher number of clients due to its more efficient application offset indexing.

Adding nodes (horizontal scalability). Since clients can leverage multi-TCP, distributing partitions on more nodes helps increasing throughput. As presented in Figure 6, even when Kafka uses 4 times more nodes, it only delivers half of the performance of KerA. Current KerA implementation prepares a set of requests from available batches (those that are filled or those with the timeout expired) and then submits them to brokers, polling them for answers. Only after all requests are executed, a new set of requests is built. This implementation can be further optimized and the network client can be asynchronously decoupled, like in Kafka, in order to allow for submissions of new requests when older ones are processed. Increasing the number of partitions/streamlets. Finally, we seek to assess the impact of increasing the number of partitions on the ingestion throughput. When the number of partitions is increased we also reduce the batch.size while keeping the request.size fixed in order to maintain the target maximum latency an application needs. We configure KerA similarly to Kafka: the number of active groups is 1 so the number of streamlets gives a number of active groups equal to the number of partitions in Kafka (one active group for each streamlet to pull data from in each consumer request). We observe in Figure 7 that when increasing the number of partitions the average throughput per client decreases. We suspect Kafka's drop in performance (20x less than KerA for 1024 partitions) is due to its offset-based implementation, having to manage one index file for each partition.

With KerA one can leverage the streamlet-group abstractions in order to provide applications an unlimited number of partitions (fixed size groups of segments). To show this benefit, we run an additional experiment with KerA configured with 64 streamlets and 16 active groups. The achieved throughput is almost 850K records per second per client providing consumers 1024 active groups (fixed-size partitions) compared to less than 50K records per second with Kafka providing the same number of partitions. The streamlet configuration allows the user to reason about the maximum number of nodes on which to partition a stream, each streamlet providing an unbounded number of fixed-size groups (partitions) to process. KerA provides higher parallelism to producers resulting in higher ingestion/processing client throughput than Kafka.

VI. RELATED WORK

Apache Kafka and other similar ingestion systems (e.g., Amazon Kinesis [START_REF]Amazon Kinesis[END_REF], MapR Streams [START_REF]Mapr Streams[END_REF], Azure Event Hubs [START_REF]Azure Event Hubs[END_REF]) provide publish/subscribe functionality for data streams by statically partitioning a stream with a fixed number of partitions. To facilitate future higher workloads and better consumer scalability, streams are over-partitioned with a higher number of partitions.

In contrast, KerA enables resource elasticity by means of streamlets, which enables storing an unbounded number of fixed-size partitions. Furthermore, to alleviate from unnecessary offset indexing, KerA's clients dynamically build an application offset based on streamlet-group metadata exposed through RPCs by brokers.

DistributedLog [START_REF] Guo | Distributedlog: A High Performance Replicated Log Service[END_REF], [START_REF]Apache DistributedLog[END_REF] is a strictly ordered, geo-replicated log service, designed with a two-layer architecture that allows reads and writes to be scaled independently. DistributedLog is used for building different messaging systems, including support for transactions. A topic is partitioned into a fixed number of partitions, and each partition is backed by a log. Log segments are spread over multiple nodes (based on Bookkeeper [START_REF] Junqueira | Durability with bookkeeper[END_REF]). The reader starts reading records at a certain position (offset) until it reaches the tail of the log. At this point, the reader waits to be notified about new log segments or records. While KerA favors parallelism for writers appending to a streamlet (collection of groups), in DistributedLog there is only one active writer for a log at a given time.

Apache Pulsar [START_REF]Apache Pulsar[END_REF] is a pub-sub messaging system developed on top of Bookkeeper, on a two-layer architecture composed of stateless serving layer and stateful persistence layer. Compared to DistributedLog, reads and writes cannot scale independently (first layer is shared by both readers and writers) and Pulsar clients do not interact with Bookkeeper directly. Pulsar unifies the queue and topic models, providing exclusive, shared and failover subscriptions models to its clients [START_REF]Messaging, storage, or both?[END_REF]. Pulsar keeps track of consumer cursor position, being able to remove records once acknowledged by consumers. Similar to Pulsar/DistributedLog, KerA could leverage a second layer of brokers to cache streamlet's groups when needed to provide large fan-out bandwidth to multiple consumers of the same stream.

Pravega [START_REF]Pravega[END_REF] is another open-source stream storage system built on top of Bookkeeper. Pravega partitions a stream in a fixed number of partitions called segments with a single layer of brokers providing access to data. It provides support for auto-scaling the number of segments (partitions) in a stream and based on monitoring input load (size or number of events) it can merge two segments or create new ones. Producers can only partition a stream by a record's key.

None of the state-of-art ingestion systems are designed to leverage data locality optimizations as envisioned with KerA in a unified storage and ingestion architecture [START_REF] Marcu | Towards a Unified Storage and Ingestion Architecture for Stream Processing[END_REF]. Moreover, thanks to its network agnostic implementation [START_REF] Ousterhout | The RAMCloud Storage System[END_REF], KerA can benefit from emerging fast networks and RDMA, providing more efficient reads and writes than using TCP/IP.

VII. CONCLUSIONS

Fig. 1 .

 1 Fig. 1.Stream processing pipeline: records are collected at event time and made available to consumers earliest at ingestion time, after the events are acknowledged by producers; processing engines continuously pull these records and buffer them at buffer time, and then deliver them to the processing operators, so results are available at processing time.

Fig. 2 .

 2 Fig. 2. Kafka's architecture (illustrated with 3 partitions, 3 replicas and 5 brokers.). Producers and consumers query Zookeeper for partition metadata (i.e., on which broker a stream partition leader is stored). Producers append to the partition's leader (e.g., broker 1 is assigned partition 1 leader), while exclusively one consumer pulls records from it starting at a given offset, initially 0. Records are appended to the last segment of a partition with an offset being associated to each record. Each partition has 2 other copies (i.e., partition's followers) assigned to other brokers that are responsible to pull data from the partition's leader in order to remain in sync.

Fig. 3 .

 3 Fig. 3. KerA's architecture (illustrated with 3 streamlets and 5 brokers).Zookeeper is responsible for providing clients the metadata of the association of streamlets with brokers. Streamlets' groups and their segments are dynamically discovered by consumers querying brokers for the next available groups of a streamlet and for new segments of a group. Replication in Kera can leverage its fine-grained partitioning model (streamlet-groups) by replicating each group on distinct brokers or by fully replicating a streamlet's groups on another broker like in Kafka.

Fig. 5 .

 5 Fig. 5. Adding clients. Parameters: 4 brokers; 32 partitions/streamlets, 1 active group per streamlet; batch.size = 16KB; request.size = 128KB.

Fig. 6 .Fig. 7 .

 67 Fig.6. Adding nodes (brokers). Parameters: 32 producers and 32 consumers; 256 partitions, 32 streamlets with 8 active groups per streamlet; batch.size = 16KB; request.size = batch.size multiplied by the number of partitions/active groups per node.

  Increasing the batch size (request size). Parameters: 4 brokers; 16 producers and 16 consumers; number of partitions/streamlets is 16; request.size equals batch.size multiplied by 4 (number of partitions per node). On X we have producer batch.size KB, for consumers we configure a value 16x higher.

	10 6							KeraProd
								KeraCons
								KafkaProd
								KafkaCons
	Client Throughput
	1	2	4	8	16	32	64	Batch Size (KB)
	Fig. 4.

This paper introduced KerA, a novel data ingestion system for Big Data stream processing specifically designed to deliver high throughput, low latency and to elastically scale to a large number of producers and consumers. The core ideas proposed by KerA revolve around: (1) dynamic partitioning based on semantic grouping and sub-partitioning, which enables more flexible and elastic management of partitions; (2) lightweight offset indexing optimized for sequential record access using streamlet metadata exposed by the broker. We illustrate how KerA implements these core ideas through a research prototype. Based on extensive experimental evaluations, we show that KerA outperforms Kafka up to 4x for ingestion throughput and up to 5x for the overall stream processing throughput. Furthermore, we have shown KerA is capable of delivering data fast enough to saturate a Big Data stream processing engine acting as the consumer. Encouraged by these initial results, we plan to integrate KerA with streaming engines and to explore in future work several topics: data locality optimizations through shared buffers, durability as well as state management features for streaming applications.


O Lafforgue

I Seyssiecq

S Poncet

J Favier

Rheological properties of synthetic mucus for airway clearance

Keywords: synthetic bronchial mucus; viscoelasticity, viscoplasticity, shear -thinning, thixotropy

In this work, a complete rheological characterization of bronchial mucus simulants based on the composition proposed by Zahm et al. [1] is presented. Dynamic Small Amplitude Oscillatory Shear (SAOS) experiments, Steady State (SS) flow measurements and three Intervals Thixotropy Tests (3ITT), are carried out to investigate the global rheological complexities of simulants (viscoelasticity, viscoplasticity, shear -thinning and thixotropy) as a function of scleroglucan concentrations (0.5 to 2wt%) and under temperatures of 20 and 37

°C. SAOS measurements show that the limit of the linear viscoelastic range as well as the elasticity both increase with increasing sclerogucan concentrations. Depending on the sollicitation frequency, the 0.5wt% gel response is either liquid-like or solid-like, whereas more concentrated gels show a solid-like response over the whole frequency range. The temperature dependence of gels response is negligible in the 20-37°C range. The Herschel-Bulkley (HB) model is chosen to fit the SS flow curve of simulants. The evolution of HB parameters versus polymer concentration show that both shear-thinning and viscoplasticity increase with increasing concentrations. 3ITTs allow calculation of recovery thixotropic times after shearings at 100s -1 or 1.6s -1 . Empiric correlations are proposed to quantify the effect of polymer concentration on rheological parameters of mucus simulants.

INTRODUCTION

A large number of fluids in human body, such as blood or mucus, produced by different organs, are known to exhibit complex non Newtonian rheological properties under physiological states. When transported in the airways as a result of cough or cilia beating, bronchial mucus is characterized by a non constant, shear rate and time dependent viscosity, in both normal and pathological conditions. Bronchial mucus is mainly composed of water (90-95%), mucins (2-5%), lipids (1-2%), salts (1%), 0.02% of DNA and other molecules such as cells debris [START_REF] Vasquez | Complex fluids and soft structures in the human body[END_REF]. Mucins are high molecular weight glycoproteins insuring a structural protection function. The entangled and cross-linked network of its branched chains forms a 3D matrix spanning the mucus gel layer [START_REF] Thornton | From mucins to mucus: toward a more coherent understanding of this essential barrier[END_REF]. As a consequence of this complex internal structure, bronchial mucus is a non Newtonian fluid displaying all the possible rheological complexities such as viscoplasticity, shear-thinning, viscoelasticity and thixotropy. All these properties directly affect the way mucus flows and, as a consequence, the vital clearance function of the mucus layer coating the airways. The mechanism of mucus clearance can be described by the following two steps:

Step 1: inhaled particles or pathogens are trapped inside the mucus gel where enzymes and antibodies can biochemically disrupt them.

Step 2 : mucus is mainly transported by the mucociliary mechanism or by cough towards the pharynx where it is either expectorated or digested.

It is however known that, under certain disease conditions such as Cystic Fibrosis (CF), the clearance function is affected by modifications of the mucus composition and consequently, of its viscosity. Due to a lack of hydration (in the case of CF), mucus can indeed become very thick and difficulties may arise to properly evacuate this fluid from the airways where it can accumulate and become more easily infected. A good understanding of mucus rheology is thus of prime importance in order to develop new care solutions for patients suffering from CF or other chronic respiratory diseases. Among possible care solutions, clearance helping devices, based on different technologies, have been developed during the last decades. These small devices can be used by patients at home, on a daily basis to increase the volume of mucus expectoration and limit the need for respiratory physiotherapy. As an example, a newly developed apparatus known as the Simeox®, imposes an oscillatory air depression to the air flow during the exhalation phase of the patient. Based on the thixotropic and shear-thinning nature of mucus, such a solicitation induces a decrease of its viscosity and stimulates its expectoration. More insight into the rheology of respiratory mucus is needed to further improve the efficiency of such clearance helping devices. Although there is a large number of studies devoted to the rheological characterization of certain types of mucus, the results are still difficult to interpret, due to the use of different rheological techniques, but also due to the time evolution (aging) of such biological materials [START_REF] Lai | Micro-and macrorheology of mucus[END_REF]. Furthermore, variations in the method used to collect samples (contamination issues), together with the natural variability (depending on the patient, the pathology, the occurence of an infection...) of this complex biological fluid lead to important discrepancies in the existing literature, concerning the results on mucus rheological characterization [START_REF] Celli | Helicobacter pylori moves through mucus by reducing mucin viscoelasticity[END_REF]. Numerous previous works devoted to the study of mucus rheology (either synthetic or native mucus from different organs), have only described part of its rheological properties. For instance, many works have used dynamic oscillatory shear measurements to characterize mucus rheology [6 ; 7 ; 8 ; 9; 10 ; 11 ; 12]. Under small deformations (SAOS) these measurements mostly reflect the properties of mucus under its native, unperturbed state and are useful to describe the linear viscoelastic response of mucus. On the contrary, in other works, the authors have made the choice to characterize mucus rheology using only continuous shear experiments [1 ; 13 ; 14; 15]. In these cases, the measured properties mostly reflect the flow behavior of mucus and can be used to investigate its viscosity under physiological shearing rates prevailing in human lungs during normal functioning or during temporary events such as cough. Even in studies where both dynamic oscillatory and shear flow measurements were carried out, the thixotropic nature of mucus was not accounted for [5; 16 ; 17 ; 18 ; 19; 20 ; 21], or at least not on a quantitative point of view [22 ; 23 ; 24]. As a consequence, a complete and intrinsically consistent characterization campaign is still missing in the open literature. As the use of real mucus implies strong issues related to available quantities, and rises questions about the impact of the collection method on the fluid composition, the choice made in this work is to use mucus simulants. In this context, this work proposes a rheological characterization of mucus simulants at different active polymer concentrations (0.5 to 2%), under a temperature of 20 or 37°C allowing to cover the range of air physiological temperature along the airways and using a broad range of available rheological tests (SAOS, controlled shear stress SS flow tests and 3ITT). In an attempt to quantify the measured properties, empirical equations are used to represent the evolution of different rheological parameters as a function of the active polymer concentration.

MATERIALS AND METHODS

Preparation of mucus simulants

The composition and preparation of polymeric synthetic solutions used to mimic human bronchial mucus are described in Zahm et al. [START_REF] Zahm | Role of simulated repetitive coughing in mucus clearance[END_REF]. To account for the natural variability of real mucus from one patient to another but also depending on health conditions, gels with different scleroglucan (Actigum™) concentrations ranging from 0.5 to 2wt% were prepared. Mucus from Chem-Lab NV (Zedelgem, Belgium). Distilled water used in all preparations was produced using a 2012 distillator (GFL, France). Mucus simulants solutions were prepared within glass bottles filled with 200 mg of distilled water. Then, 0.9wt% of NaCl, 0.5wt% of Viscogum™ FA and a chosen fraction (ranging from 0.5wt% to 2wt%) of Actigum™ CS 6 were successively added into the solution under magnetic stirring (Ikamag® RET) at room temperature. The mixture was kept under agitation for 48h at room temperature. After this time period, a mass corresponding to 4mL of di-sodium tetraborate at 0.02M was added. This addition induces the cross-linking of the polymeric chains, building a 3D gel matrix that mimicks the mucin network responsible for the internal structure of real mucus. The agitation is kept for a few more hours before storing the final mixture at 4°C. Before performing the measurements, the solution is fractionnated into several 30mL plastic vials and then allowed to recover at room temperature. Such mucus simulants were found to mimic accurately the main properties of bronchial mucus in the case of different pathologies.

Rheological measurements

Rheometers and measuring systems

Rheological measurements were performed using two controlled-stress rheometers, the AR 550 and the DHR-2 (TA Instruments) equiped with a measuring system consisting of a 2° stainless steel cone (40 mm or 50 mm in diameter). The temperature was controlled by a Peltier plate. A wet steel lid or a thin silicone oil layer insuring a water saturated atmosphere around the sample was used as a dehydration preventing solution.

Sample loading

A small amount of gel was loaded onto the Peltier plate by gently pouring it from the vial in order to minimize shear history effects. The geometry was then lowered down to the corresponding gap plus a few micrometers and the excess of fluid was removed on the edges, the exact gap value was then set. The desired temperature (20 °C or 37°C) was also set before the tests began.

Measurements protocoles

Viscoelastic properties of the simulants were investigated through a series of dynamic shear experiments (Small Amplitude Oscillatory Shear: SAOS). The results were interpreted based on the evolution of the elastic and viscous moduli (G', G") and the loss angle (δ) as a function of the sinusoidal input. The stress dependency of the different gels (0.5wt% to 2wt% in active polymer) response was first measured via stress amplitude sweeps at constant frequency

( Hz 2 1 π
). This is a classical test carried out in order to determine, for each solution, the limit of the Linear ViscoElastic (LVE) range. The frequency dependency (in a maximum range of 10 -5 to 100 Hz) of the different gels response was also measured at constant stress amplitude, within the LVE range according to the stress amplitude sweep results. The temperature dependency of simulants rehological properties was finally investigated by comparing stress amplitude sweeps obtained for a given sample at either 20°C (ambiant air temperature) or 37°C (physiological temperature in the lower airways). However, to fully characterize the behavior of a mucus layer in response to in vivo solicitations such as cough or air flows artificially induced by clearance helping devices, the rheological measurements have to be performed far beyond the LVE range. Rotational controlled shear stress flow tests were then used to determine the rheological properties of the mucus simulants under shear flow conditions. In order to quantify the viscoplastic and the shear-thinning effects independently of the thixotropic ones, steady state rheograms were recorded. Such a steady state curve is obtained by applying a given shear stress until the corresponding shear rate reaches a constant value. Steady state (SS) flow curves of the different simulants were modelized using a 3 parameters Herschel-Bulkley (HB) model. This model accounts for the fluid viscoplasticity via the yield stress value (τ 0HB ) and for its shear -thinning behavior via the flow (n) and consistency (K) indexes values. The thixotropy of the more concentrated mucus simulant was separately quantified using three Intervals Thixotropy Tests (3ITT). A 3ITT test consists in a stepwise change of stress or strain rate to successively monitor the initial structure, then its breaking up and finally its recovery. More precisely, the 3ITTs applied here can be described as follows:

First interval: the sample is submitted to very low shear conditions ( ). This interval gives a reference for the fluid structure "at rest" or at least under very low shear.

Second interval: higher shear conditions are imposed by applying a constant shear stress or shear rate to disrupt the internal structure until a steady state is reached (depending on the chosen stress or strain rate value). In our case, a constant shear rate value of either 1.6s -1 or 100s -1 was applied during step 2, in order to submit the sample to shearing conditions representative of either normal shearing conditions in the airways, or during peculiar events such as cough.

Third interval: the sample is allowed to recover under very low shear conditions again

( 1 029 . 0 - • = s γ ). A

RESULTS

SAOS tests

Stress amplitude and frequency sweep tests conducted at a constant temperature of 20°C, on simulant gels at different Actigum™ concentrations, all display the same feature. An example is given in figure 1 for a 1.5wt% Actigum™ gel (figure 1

Stress amplitude sweep tests

The stress amplitude dependency of the different gels response was recorded via stress amplitude sweeps at a constant frequency ( Hz 2 1 π ) for all the concentrations in active polymer (0.5wt% to 2wt%). The results obtained are displayed in figure 2.

For all polymer concentrations, a plateau region for G' and G" moduli defines the LVE Range at the preset frequency. A yield stress value (τ y ) limits the LVE range and is determined from the end of the moduli plateau. Since the G' curve often deviates first from the plateau, the G'

F o r P e e r R e v i e w
function is commonly chosen to determine τ y . Here, a 10% deviation from the plateau has arbitrarily been set for τ y calculations . The yield stress is the stress limit below which no significant change of the internal structure occurs. For τ < τ y the sample is displaying reversible viscoelastic behavior. On the contrary, above τ y , the measurements no longer reflect the structure at rest due to early signs of stress induced microstructural evolutions.

Based on the value of the yield stress and of the corresponding critical deformation γ c , one can also calculate the volumetric energy of cohesion of the 3D network E c in J.m -3 (eq. ( 1)) [START_REF] Coussot | Rheophysical classification of concentrated suspensions and granular pastes[END_REF].

This energy of cohesion can be used in a quantitative manner as a measure of the extent of intermolecular and intramolecular interactions of the polymeric internal structure [START_REF] Niraulab | Evaluation of rheological property of dodecyl maltoside, sucrose dodecanoate, Brij 35p and SDS stabilizided O/W emulsion: effect of head group stracture on rheology property and emulsion stability[END_REF].

c y c E γ τ . 2 1 = (1)
In the case of the mucus simulants tested here, it can be seen in figure 2 that above the critical yield stress, G' decreases while G" shows an overshoot before decreasing. This kind of behavior has been observed on lots of gels by Mezger [START_REF] Mezger | The Rheology Handbook: For Users of Rotational and Oscillatory Rheometers[END_REF] and is classified as a "Type III behavior or weak strain overshoot" by Hyun et al [START_REF] Kim | Large amplitude oscillatory shear as a way to classify the complex fluids[END_REF]. The flow point (τ f ) is identified as the stress value for which a moduli crossover (G'=G", tan(δ)=1) is observed. This flow point corresponds to the stress above which the material becomes more viscous than elastic due to critical microstructural breakdowns. Finally the stress corresponding to the maximum of G" (peak overshoot) is denote by τ peak and is, for all concentrations, almost superimposed to the flow point stress (except for the 0.5wt% gel for which the G" overshoot does not appear). The range between τ y and τ f is sometimes referred as the "yield zone" or the "yield / flow transition range" [START_REF] Mezger | The Rheology Handbook: For Users of Rotational and Oscillatory Rheometers[END_REF]. In this range, despite the predominance of elastic behavior (G' > G"), irreversible deformations might locally have already taken place. ) and a given Actigum™ concentration (0.75 wt%) at either 20°C or 37°C. Each curve is the average of 3 successive measurements.

Measurements were also performed with simulants at different polymer concentrations and all display qualitatively identical results.

As it is observed in figure 4, the LVE range of the mucus simulant gel as well as the different stresses (τ y, τ f , τ peak ) characterizing the solid -liquid transition zone show very little dependence on the temperature in the 20-37°C range. The curves obtained at either 20 or 37°C are almost superimposed and the observed differences are of the same order of magnitude than reproducibility. Concerning the gels studied here, it can be concluded that the effect of temperature in the 20-37°C range on mucus simulants rheological properties is not significant compared to reproducibility.

Frequency sweep tests

Since the frequency is the inverse of a time, frequency sweep tests are usually performed in order to investigate the behavior of a substance as a function of the sollicitation characteristic time under small deformations. Short-term behavior of the sample is then simulated at high frequencies, whereas long-term behavior is displayed under low frequencies. The main Since working at very low frequencies implies a long experiment duration and, as a consequence, a more important risk of sample dehydration, all the simulants have been studied in the common range 10 -2 to 10 Hz. only in the case of the more diluted and the more concentrated gels, the frequency range was enlarged to 10 -4 -10 Hz and 10 -5 -10 Hz to investigate the possible occurence of a low frequency moduli crossover. Over the whole range of frequencies, simulants with Actigum TM concentrations ranging from 0.75wt% to 2wt%, show a gel-like behavior characterized by an almost parallel low increase of G' and G" (in log-log scale) with G' values 2 to 7 times higher than G". Such a behavior is characteritic of a soft gel in which intermolecular forces are mostly responsible for the 3D internal network [START_REF] Mezger | The Rheology Handbook: For Users of Rotational and Oscillatory Rheometers[END_REF]. Therefore elastic behavior dominates the viscous one over the entire frequency range attesting for the gel stability. G' and G" only show a slight frequency dependence displaying an average slope in log-log representation of 0.1 in the case of G' and 0.04 in the case of G" (see discussion part for interpretation). 5 (c)) is also observed at low frequencies (< 2 10 -3 Hz) for which G" > G'. Such a behavior corresponds to a liquid-like behavior and can be observed when a deformation (even very small) is applied at a sufficiently low rate (i.e. during a long time). On the contrary, an identical deformation applied at higher frequencies induces a solid-like response. The typical example usually given in rheology books to illustrate this behavior is the one of a silicone ball. Such a ball left at rest in a beaker for a long time will finally take the form of the beaker (viscous flow under low frequency or long time sollicitation), while the same ball thrown onto a wall will bounce, displaying an elastic behavior under high frequency or small time sollicitation. It is worth noting that the inverse of the frequency for the moduli crossover is sometimes used as a time characterizing the elasticity of the gel [START_REF] Coussot | Comprendre la rhéologie de la circulation du sang à la prise du béton[END_REF]. However, in this case, it would be delicate to interpret this value since complex internal structures composed of a large number of components with different lengths, flexibilities or mobilities, such as mucus simulants, are most likely to display viscoelastic properties governed by the superposition of several relaxation modes [START_REF] Vasquez | Complex fluids and soft structures in the human body[END_REF]. The low frequency crossover of moduli is not experimentally reached in the case of more concentrated simulants (0.75wt% to 2wt%), for the range of tested frequencies. However, in figure 5 (c), tan(δ) increases when the frequency decreases, so that a moduli crossover would likely appear under sufficiently low frequency at a decreasing frequency value, as the concentration increases, traducing an increased elasticity for more concentrated mucus simulants. The non Newtonian behavior observed in figure 6, is the direct consequence, in the case of polymeric substances, of a shear-induced spatial structure transformation [START_REF] Toker | 3ITT in food applications: a novel technique to determine structural regeneration of mayonnaise under different shear conditions[END_REF].

Steady-state (SS) flow test

= = C K ( 7 ) 963 . 0 R C 346 . 0 1 2 = - = n ( 8 )
Equation 6 accounts for the increase in viscoplasticity, whereas equations 7 and 8 account for the increase in shear-thinning behavior, as the active polymer concentration increases.

Three Interval Thixotropy Tests

3ITT tests were performed on the different simulant gels in order to investigate the thixotropic nature of mucus simulants independently of their SS flow behavior. Thixotropy is characteristic of complex internal structure systems and is linked to slow time evolutions in rheological properties due to either restructuring at rest or destructuring initiated by deformation [START_REF] Toker | 3ITT in food applications: a novel technique to determine structural regeneration of mayonnaise under different shear conditions[END_REF]. Figure 8 represents a first 3ITT performed on a 2 wt% simulant. The second step imposes a shear flow under an effective shear rate of 1.6 s -1 corresponding to the order of magnitude of the shearing of a mucus layer in the tracheobronchial tree. Indeed, if the physiological maximum value for shear rate, can reached 10 2 -10 4 s -1 (for example during coughing), physiological rates in the normal lung are of the order of magnitude of 0.1 to 1 s -1 .

[4 ; 8 ; 14]. The three successive steps are plotted as apparent viscosity versus time.

After a shearing under 1.6 s -1 during step 2, one can observe in figure 8 that the thixotropic regeneration curve (step 3) allows the calculation of a thixotropic recovery time characterizing a given state of regeneration chosen here at 90% and 100% of recovery, based on the initial structure measured during step 1. The thixotropic recovery time is, in this case of 2.7s for 90% and 75s for 100% of recovery.

Figure 9 gives the results of a second test also performed on a 2 wt% simulant. This time, the second step corresponds to a shear flow under a larger shear rate (100 s -1 ) matching the order of magnitude for the shearing of a mucus layer submitted to cough.

After a shearing at 100s -1 during step 2, one can observe in figure 9 that the thixotropic regeneration curve (step 3) gives a 90% recovery time of 17s and a 100% recovery time of 917s, which are logically higher than the recovery times needed after the shearing under 1.6s -1 observed in figure 8.

DISCUSSION

During stress amplitude SAOS experiments (figure 2) a G" overshoot has been observed with mucus simulants. According to Hyun et al [START_REF] Kim | Large amplitude oscillatory shear as a way to classify the complex fluids[END_REF][START_REF] Coussot | Comprendre la rhéologie de la circulation du sang à la prise du béton[END_REF][START_REF] Toker | 3ITT in food applications: a novel technique to determine structural regeneration of mayonnaise under different shear conditions[END_REF][START_REF] Wilhelm | A review of nonlinear oscillatory shear tests: Analysis and application of large amplitude oscillatory shear (laos)[END_REF] or Mezger [START_REF] Mezger | The Rheology Handbook: For Users of Rotational and Oscillatory Rheometers[END_REF], such an overshoot is generally obtained in the case of cross-linked polymers or gel-like internal structures (existence of a 3D network). The overshoot is directly linked to the progressive collapse of the 3D network. During the initiation of flow, at first the friction increases due to spatial rearrangements of some free elements (for example relative motion of end pieces of chains).

These irreversible motions induce an increase in dissipated energy (G" increases). Then the breakdown of the internal superstructure occurs (at the τ peak value) and the dissipated energy 3 for quantification). This is not surprising since more concentrated simulants have a stronger internal network that will need a higher energy input to collapse. On the other hand, the peak height is also increasing with the Actigum™ concentration (figure 2(b)). The overshoot amplitude is directly linked to the amount of friction occuring during the initiation of flow due to spatial rearrangements of free elements. A more concentrated sample is thus expected to dissipate more friction energy as a result of its higher network density (more cross-linking and chains entanglements). A G" overshoot during stress amplitude sweeps was rarely mentioned in the literature on the rheological characterization of mucus. In the work of Bastholm [START_REF] Bastholm | The viscoelastic properties of the cervical mucus plug[END_REF], a G" overshoot seems to occur with some of the tested cervical mucus samples, without any comment concerning this phenomenon. Celli et al. [START_REF] Celli | Helicobacter pylori moves through mucus by reducing mucin viscoelasticity[END_REF], performing a SAOS stress amplitude sweep on a sane gastric mucus sample (compared to a Helicobacter pylori contaminated one), also observed a "weak strain overshoot" on G" and refered to the work of Huyn et al. [START_REF] Kim | Large amplitude oscillatory shear as a way to classify the complex fluids[END_REF] for interpretation. Concerning now the internal network volumetric energy of cohesion E c values, we can refer to works by Mori et al. [START_REF] Mori | Rheological measurements of sewage sludge forvarious solids sonsentrations and geometry[END_REF] or Niraula et al. [START_REF] Niraulab | Evaluation of rheological property of dodecyl maltoside, sucrose dodecanoate, Brij 35p and SDS stabilizided O/W emulsion: effect of head group stracture on rheology property and emulsion stability[END_REF] for comparison purposes. Based on SAOS characterizations on respectively biological suspensions or stabilized oil in water (O/W) emulsions both exhibiting a 3D cohesive network, they calculated the volumetric cohesive energy of the material internal network to account for the degree of interaction and thus of flocculation between droplets in the case of stabilized O/W emulsions [START_REF] Niraulab | Evaluation of rheological property of dodecyl maltoside, sucrose dodecanoate, Brij 35p and SDS stabilizided O/W emulsion: effect of head group stracture on rheology property and emulsion stability[END_REF] and between bioflocs in the case of activated sludge suspensions [START_REF] Mori | Rheological measurements of sewage sludge forvarious solids sonsentrations and geometry[END_REF]. The mucus simulants studied here are not flocculated suspensions nor liquid-liquid emulsions but aqueous dispersions of macromolecules. However since a 3D network exists both due to entanglement and cross-linking of the macromolecules the concept of volumetric cohesive energy can be useful to quantitatively account for the degree of interaction of the subsequent network. One can observe that the order of magnitude of E c for the Actigum TM based mucus simulants (0.02 to 0.36 J.m -3 ) is intermediate between E c values calculated for biological activated sludge suspensions [START_REF] Mori | Rheological measurements of sewage sludge forvarious solids sonsentrations and geometry[END_REF] (0.2 to 1.2 J.m -3 ) and E c values of stabilized O/W emulsions (0.24 10 -3 to 2.95 10 -3 J.m -3 ) . It is also worth noting that E c values showed important dependence upon the network macromolecular or suspended bioflocs concentration (power law (eq. 4) in this work, exponential law in [START_REF] Mori | Rheological measurements of sewage sludge forvarious solids sonsentrations and geometry[END_REF]). The influence of the polymer concentration on stress amplitude SAOS measurements displayed in figure 3 for synthetic mucus, has been discussed in some previous works. As an example, Riley et al. [START_REF] Riley | An investigation of mucus/polymer synergism using synthessised and characterised poly(acrylic acid)s[END_REF] showed that an increase in polymer (Carbopol 934P) concentration induced an increase in both G' and G" measured in the LVE range at a constant (5 Hz) frequency. Shah et al. [START_REF] Shah | An in vitro evaluation of the effectiveness of endotracheal suction catheters[END_REF] also observed working with mucus simulants that both G' and G" (either measured at 1 or 100 rad/s) increased with the coagulant concentration (0.5, 1.5 and 3%). Finally, Hamel & Fiegel [START_REF] Hamed | Synthetic tracheal mucus with native rheological and surface tension properties[END_REF] measured an identical increase with crosslinked polymer concentration of G' and G" moduli, performing on synthetic mucus strain sweeps at a constant frequency. Nevertheless, in all of these previous studies, the observed variations were not quantified. An interesting point that can however be pointed out is the fact that the achieved order of magnitude of G' and G" (in the LVE range) with the mucus simulants tested in this work correspond to those usually observed with sane or pathologic native respiratory mucus. For instance, CF mucus can reach various viscoelasticity levels as a function of many factors. In the work of Dawson et al. [START_REF] Dawson | Enhanced viscoelasticity of human cystic fibrotic sputum correlates with increasing microheterogeneity in particle transport[END_REF] CF mucus displays viscoelastic properties, in terms of moduli plateau values, close to those displayed by the 2wt% Actigum™ gel while in the research of Yuan et al. [START_REF] Yuan | Oxidation increases mucin polymer cross-links to stiffen airway mucus gels[END_REF], the measured behavior is close to the one measured with the 0.75wt% gel. Concerning sane mucus, moduli plateau values close to those recorded with the 0.5wt% solution have been observed [START_REF] Yuan | Oxidation increases mucin polymer cross-links to stiffen airway mucus gels[END_REF]. Concerning the effect of temperature on the LVE range limit, identical results to those shown in figure 4 described for mucus gels with similar composition, in the same temperature range (20, 32 or 36°C) [START_REF] Guarente | Etude sur la caractérisation rhéologique du mucus bronchique[END_REF]. A very limited influence of temperature on simulants rheological properties measured both via stress amplitude sweeps and flow curves was recorded by the authors.

Taylor et al. [START_REF] Taylor | Rheological characterisation of mixed gels of mucin and alginate[END_REF], who studied the rheological characterization of mucin -alginate gels, also reported no significant differences between the gels behaviors (frequency sweep tests) over a 10 to 60°C temperature range. The rheological properties of such aqueous polyoside solutions are known to be related to the conformation taken by the macromolecules (Viscogum TM & Actigum TM ). Mucus simulants studied here are composed of a constant amount of Viscogum TM (galactomannan chains that are cross-linked in the presence of sodium tetraborate) and various proportions of Actigum™ (extracellular polyoside) that can adopt either a rigid helicoidal conformation or a random entangled conformation, as a function notably of temperature [START_REF] Coussot | Comprendre la rhéologie de la circulation du sang à la prise du béton[END_REF]. From the measurements displayed in figure 4, it can be concluded that Actigum™ molecules are likely to present the rigid helicoidal conformation in simulants tested here, leading to the observed gel-like behavior (G' > G") and also that this conformation remains when the temperature is raised to values such as 37°C.

During frequency SAOS sweeps, we obtained results (figure 5) that are, for 0.75 to 2wt% gels, qualitatively comparable to those observed by Coussot et Grossiord [START_REF] Coussot | Comprendre la rhéologie de la circulation du sang à la prise du béton[END_REF] on a 0.5wt% xanthan gum aqueous solution at 25°C. Xanthan gum is an extracellular polyoside close to Actigum TM in terms of macromolecular composition and structure (glucose chain branched every 2 units by other oside functions forming a 3D rigid double helix structure), exhibiting very similar rheological properties. The gel-like behavior of aqueous xanthan solutions over the whole frequency range is known to be linked to the helicoidal rigid conformation adopted by polyoside molecules under moderate temperatures or high ionic strength, impairing their ability to move under small sollicitations. In the case of Actigum TM aqueous solutions, Actigum TM macromolecules are also known to adopt a rigid triple helix conformation (except under high temperatures or low ionic strength) that is responsible for the gel-like response measured over the entire range of tested frequencies in the case of 0.75wt% to 2wt%

Actigum TM gels. Kocevar-Nared et al. [START_REF] Kocevar-Nared | Comparative rheological investigation of crude gastric mucin and natural gastric mucus[END_REF] also made observations qualitatively comparable to figure 5 in the case of rehydrated dried crude porcine gastric mucus. Varying the mucin concentration of rehydrated mucus, they observed that more concentrated samples displayed no moduli crossover (in the 0.1 -100 Hz explored range) but a power law slight frequency dependence for both moduli whereas, more diluted sample displayed a stronger frequency dependence with a crossover point moving towards lower frequencies as the mucin concentration is increased and as the structure changes to gel-like. In the case of the 0.5wt% gel studied here, the stronger dependence to the frequency can be linked to the increase in relative importance of Viscogum TM (flexible entangled network) compared to Actigum TM (rigid network) in comparison to gels with higher Actigum TM concentrations.

During SS flow measurements, the concentration dependent yield stress and shear-thinning nature of mucus simulants has been observed (figure 6) and quantify (equations 6 to 8).

Identical observations have already been reported but only qualitatively in the case of mucus simulants and native mucus based on measurements of their rheological flow behavior. The increase in viscoplasticity (yield stress) with the active polymer concentration has already been observed in the SAOS stress amplitude tests section of the paper. Yield stresses measured in flow mode τ 0HB show higher values than yield stresses measured in SAOS τ y . This is not surprising since τ y corresponds to the end of the LVE range characterized by early motions of small elements of the complex internal polymeric structure (at the microscopic level), while τ 0HB corresponds to the proper beginning of flow measured at a macroscopic scale (existence of a finite shear rate in the measuring gap). It is also worth noting that both τ y and τ 0HB values are dependent on the calculation method (chosen % of deviation from the plateau for τ y and chosen limit value for 0 → • γ in the case of τ 0HB ) . As a consequence, both values should only be considered as order of magnitudes or for comparison purposes of data obtained using the same calculation method. As far as the evolution of yield stresses with the active concentration is concerned, Malkin et al. [START_REF] Malkin | Non-Newtonian viscosity in steady state shear flows[END_REF] reported the case of cysteine / Ag based colloidal gels for which the yield stress deduced from flow measurements decreases as the dilution factor of the initial gel increases, showing the decrease in strength of the rigid structure as the colloidal concentration decreases. If we now focus on the observed shearthinning properties of mucus simulants, Puchelle et al. [START_REF] Puchelle | Elastothixotropic properties of bronchial mucus and polymer analogs. i. experimental results[END_REF] also described the shear-thinning nature of native and lyophilized pathological bronchial mucus but also of simulants composed of polyisobutylene solutions (3 and 6% in decalin). Measuring the SS flow curve of these gels, they obtained shear-thinning indexes (Ostwald de Waele or power law) matching the range observed in table 2 with our mucus simulants and varying from 0.44 to 0.64. Banerjee et al. [START_REF] Banerjee | Effect of phospholipid mixtures and surfactant formulations on rheology of polymeric gels, simulating mucus, at shear rates experienced in the tracheobronchial tree[END_REF] also used a power law to describe the apparent viscosity of shear-thinning mucus simulants (tragacanth gum) mixed with different surfactants to evaluate their ability to reduce viscosity. They obtained viscosity reduction ratios varying from 1.5 to 7.2 depending on the type of surfactant under physiological shear rates (0.1 to 1 s -1 in the tracheobronchial tree).

The shear-thinning behavior of mammalian lung mucus is also cited by Vasquez et al. [START_REF] Vasquez | Rheological characterization of mammalian lung mucus[END_REF] but not quantified. It is also the case of Boegh et al. [START_REF] Boegh | developement and rheological pofiling of biosimilar mucus[END_REF] who tried to propose a bio-similar mucus composition displaying rheological properties (notably in terms of shear-thinning) close to the composition of a mucus isolated from cultured cells. Finally, Tomaiuolo et al.

[24] also described the shear-thinning nature of different native CF mucus samples without proposing any quantification of this property. More generally, the increase in shear-thinning behavior with the polymer concentration, is classical for aqueous polymer solutions. It corresponds to an increase in shear-thinning capacity for solutions with a higher macromolecular content due to a concentration enhanced reduction of the flow resistance following the alignment and orientation of polymeric chains in the flow direction as the shear rate increases [17 ; 23 ; 34]. Shah et al. [START_REF] Shah | An in vitro evaluation of the effectiveness of endotracheal suction catheters[END_REF] compared viscosity curves of respiratory mucus simulants (0.5 to 3% in polyox resin coagulant). However, they only discussed their results in terms of viscosity increase with the coagulant concentration and did not account for the shearthinning nature of the studied fluids, nor for its evolution with the polymer concentration. Kocevar et al. [START_REF] Kocevar-Nared | Comparative rheological investigation of crude gastric mucin and natural gastric mucus[END_REF] worked on dried porcine gastric mucins solutions at concentrations varying from 10 to 60% and observed a non quantified shear-thinning behavior for solutions above 30%.

Finally, 3ITTs performed on a 2wt% simulant gel (figures 8 & 9) allow measuring thixotropic recovery times. If the thixotropic nature of native or synthetic mucus has been reported in some of the previous works devoted to mucus rheological characterization [1 ; 22 ; 23 ; 24], it has often not been quantified. Nielsen et al. [START_REF] Nielsen | Elastic contributions dominate the viscoelastic properties of sputum from cystic fibrosis patients[END_REF] but also Tomaiuolo et al. [START_REF] Tomaiuolo | A new method to improve the clinical evaluation of cystic fibrosis patients by mucus viscoelastic properties[END_REF], described qualitatively the thixotropic nature of native samples observing an hysteresis loop between viscosity curves successively measured at increasing or decreasing shear rates. Kocevar et al. [START_REF] Kocevar-Nared | Comparative rheological investigation of crude gastric mucin and natural gastric mucus[END_REF] recorded with porcine gastric mucins solutions at concentrations varying from 10 to 60% the apparent viscosity versus time under a constant shear rate of 50 s -1 . They concluded depending on the appearance of a viscosity decrease versus time, that gels above 30% are thixotropic while lower concentrated one showed no thixotropy. Zahm et al. [START_REF] Zahm | Role of simulated repetitive coughing in mucus clearance[END_REF] performed identical measurements on mucus simulants and calculated a thixotropic index based on the stress evolution with time under a 1.6 s -1 shear rate. The thixotropic index was calculated by the ratio of the initial stress value to the plateau stress value and gave values between 1 (no thixotropy) and 1.8 depending on the samples. However, based on our experiments, since two different rheometers have been tested here, it seems that the initial stress overshoot height may be dependent on the response time of the rheometer. Indeed, the more precise DHR-2 (TA Instruments) rheometer gave on the same sample a higher stress overshoot than the AR500 rheometer (TA Instruments). As a consequence, thixotropic indexes should not be compared when measured with different apparatus. To the authors' knowledge, 3ITTs results on mucus or mucus simulants have never been published. For comparison purposes however, we can refer to the recent work of Toker et al. [START_REF] Toker | 3ITT in food applications: a novel technique to determine structural regeneration of mayonnaise under different shear conditions[END_REF] describing the results of 3ITTs performed on a mayonnaise or to the work of Mezger [START_REF] Mezger | applied rheology Anton Paar GmbH[END_REF] in which identical 3ITTs are compared for two different paints. For a 100 s -1 step 2 in both studies, Toker et al. [START_REF] Toker | 3ITT in food applications: a novel technique to determine structural regeneration of mayonnaise under different shear conditions[END_REF] measured a 100% recovery time varying of 56 to 432 s for a mayonnaise depending on the temperature, while Mezger [START_REF] Mezger | applied rheology Anton Paar GmbH[END_REF] measured a 100% recovery time of 60 s or 300 s for the two paint samples (temperature not given). These results indicate that mucus simulants tested here show a slower thixotropic recovery compared to paints or mayonnaises (often used as "model" thixotropic fluids) investigated in these previous works. To conclude with thixotropy, it is obvious that the thixotropic nature of mucus simulants can give rise to much more studies. In particular, it would be interesting to perform an important set of 3ITTs with step 2 covering intermediate shear rate values between 1 s -1 and 100 s -1 . Modelling these experiments, a time dependent rheological model for mucus simulants at each active polymer concentration, could then be deduced. Such a time dependent model could be useful to account for the whole rheological complexities of these gels and could for instance allow to simulate their behavior in a model trachea, when submitted to various air pressure signals, such as signals imposed by clearance helping devices. This will be the purpose of a future work.

In conclusion, in this work, a complete and quantified rheological characterization has been performed on mucus simulants at different active polymer concentrations (0.5wt% to 2wt% in Actigum TM ). Stress amplitude SAOS sweeps first allowed determining the LVE range of these gels at 20°C. To account for the end of the LVE range and the subsequent transition towards flow, differents transition stresses (namely, yield τ y , flow τ f and peak τ peak stresses) were described. The increase of these transitions stresses with Actigum TM concentration showed a power law dependence (eq. 2 & 3). Based on the yield stress value and the corresponding critical deformation, a cohesive volumetric energy (J.m -3 ) that also followed an active concentration increasing power law (eq. 4) was calculated. Elastic and viscous moduli plateau values indicated, for all gel concentrations, stability (G' > G"), as well as a linear increase with the Actigum TM concentration. The temperature dependence of the LVE range was not significant in the range between 20 and 37 °C. Frequency SAOS sweeps displayed, only in the case of the lowest active polymer concentration, a low frequency moduli cross-over, showing the liquid-like behavior of this gel under very slow sollicitation and its solid-like behavior under relatively rapid sollicitation. More concentrated gels displayed a solid-like behavior over the whole range of tested frequencies. However, based on the tan(δ) evolution one can anticipate a moduli cross-over under lower frequencies as the Actigum TM concentration increases. In flow mode, to separate viscoplasticity and shear-thinning from thixotropy, steady state flow curves were recorded and the HB model was used to quantify simulants SS viscoplasticity (via a yield stress measured in flow mode τ 0HB ) and shearthinning property (via the consistency (K) and flow indexes (n)). The evolutions of these parameters with the Actigum TM concentration displayed a power law increase for τ 0HB and K (eq. 6 & 7) and a linear decrease for n (eq. 8) indicating an enhanced viscoplasticity and shear-thinning ability for more concentrated gels. Finally the thixotropy of a 2wt% gel was tested performing two 3ITTs, submitting the sample to shear rates representative of normal shearing in the lungs (1.6 s -1 ) or special events such as cough (100 s -1 ). To quantify thixotropy it was proposed to evaluate a recovery time based on either 90% or 100% of recovery of the

  simulants are aqueous solutions mainly composed of two types of polymers, Viscogum™ FA (Cargill™) and Actigum™ CS 6 (Cargill™). The polymers used in this work were kindly provided by the Laserson compagny (Etampes, France). Viscogum™ FA is a galactomannan locust beans and Actigum™ CS 6 is a scleroglucan (branched homopolysaccharide). It consists in a glucose chain branched every three units by an additional glucose forming a three dimensional (triple helix) structure. Sodium chloride (99.8+% NaCl) and di-sodium tetraborate 10aq (99.5+% Na 2 B 4 O 7 .10H 2 O) were purchased

1 π

 1 (a) stress amplitude sweep, (b) frequency sweep). A value of the elastic modulus G' above the viscous modulus G" implies that the elastic behavior dominates the viscous one and indicates a solid-like or gel-like behavior, while G" > G' indicates a liquid-like behavior. In figure 1 (a), the stress amplitude value for which the transition from one behavior to the other is observed, is denoted by τ f (flow point value corresponding to the crossover of moduli G' = G", tan(δ) = 1) and will be discussed hereafter. As a consequence, in the case of figure 1.(b) for which τ = 1 Pa < τ f , the mucus simulant shows a gel-like behavior for all frequencies ranging from 10 -3 to 10 Hz. In the case of figure 1.(a), under a constant frequency of Hz 2, the two domains are successively observed, with a solid-like behavior for τ < τ f , then liquid-like behavior for τ > τ f .

10 In

 10 the case of mucus simulants studied here, G' and G" moduli plateau values, as well as yield, flow and peak stresses and volumetric cohesive energy, all show increasing values according to the Actigum™ concentration as reported in table 1. The evolution with the Actigum™ concentration of the different transition stresses (τ y , τ f and τ peak ) as well as the volumetric energy of cohesion (E c ) and the plateau moduli values are all displayed in figure3.For quantification purposes, yield, flow and peak stresses variations with Actigum™ concentration can be described by power law empirical relationships reported hereafter (equations 2 & 3). As previously mentioned, flow and peak stresses are almost superimposed, which makes sense since they both refer to the actual beginning of macroscopic flow of the gel (G" > G' and friction starts decreasing). As a consequence a single empirical correlation is needed to account for the effect of polymer concentration on both flow and peak stresses.Equation 2 gives the quantitative evolution of the yield stress (τ y in Pa) as a function of Actigum™ concentration (C in wt%): for the Actigum TM dependency of both τ f and τ peak : evolutions are qualitatively compared to the evolution of the yield stress calculated from the HB modelling of the SS flow curve (τ 0HB ) (see discussion part). Concerning G' and G" plateau values (in Pa), they increase linearly (Figure3(b)) with the active polymer concentration (in wt%) with an average slope of 10 for G" and 49 for G'. The evolution of the volumetric energy of cohesion (E c in J.m -3 ) of the 3D gel internal network versus the Actigum™ concentration (C in wt%) is also a power law as reported in equation 4:Temperature dependence of the LVE rangeThe temperature dependence of the LVE range of mucus simulants was measured by comparing stress amplitude sweeps obtained at either 20°C (ambient temperature) or 37°C (physiological temperature in the lower airways). This temperature range was chosen in accordance to the possible range of variation for the air at different stages of respiratory airways. Figure4presents the variations of elastic modulus and viscous modulus versus the stress amplitude for a constant frequency ( Hz 2 1 π

1 π

 1 under very low frequencies is the conservation of the sample during the important timelag needed to obtain these measuring points. So in these cases, a special care has to be taken to control samples dehydration. The frequency dependence of the mucus simulants response was measured by oscillating stress at increasing frequencies (maximun range: 10 -5 to 100 Hz) and a constant stress amplitude corresponding to a small deformation, i.e. within the LVE range (τ < τ y ) as measured at Hz 2 (see table 1.). Figure5gathers the evolutions of elastic modulus (a), viscous modulus (b) and loss angle (c) as a function of the applied frequency for the different Actigum™ concentrations.

  The less concentrated simulant (0.5 wt%) displays a different behavior. G' and G" show a more important frequency dependence, especially under low frequencies due to a more . A moduli crossover (characterized by tan(δ) = 1 in figure

  Steady state (SS) shear flow tests were performed on three successive samples at each Actigum™ concentration. The response to the imposed stress (τ) is recorded in terms of steady state strain rate ( each Actigum™ concentration displayed a similar shape for all polymer concentrations. Figure6shows an example of such a rheogram obtained in the case of a 2 wt% simulant.A yield zone with a solid-like behavior ( 0 → • γ grey zone in figure6) is first observed until the progressive departure from a quasi vertical slope to the flow zone showing a shearthinning behavior (concave rheogram beyond the yield stress value) is reached. The yield zone is the manifestation of the yielding behavior of the gel structure that has already been characterized using SAOS stress amplitude sweeps tests. In SS flow mode, the transition between solid and liquid-like behaviors is defined by a stress value quoted τ 0HB . This value is also referred in the literature as a yield stress but gives different values compared to the yield stress measured in SAOS mode (see discussion part). This is why a different notation (τ 0HB ) is used to described this yield stress deduced from the fitting of SS flow experimental data by a 3 parameters Herschel-Bulkley model (equation 5) allowing to account for both the SS yield stress (viscoplastic behavior) and shear-thinning behavior. τ 0HB (Pa) is the SS flow yield stress, K (Pa.s n ) and n (-) are the consistency and flow indexes respectively deduced from the HB modelling. It is worth noting that, as SS flow curves (as well as the HB model) do not account for the time dependent flow behavior (thixotropy), the observed yield stress τ 0HB is not an inherent property of the material since the structural strength of the gel is shear history and thus time dependent.

  the fluid actually flows. In the case of mucus simulants used in this work, the overshoot behavior shows a strong dependency on the Actigum™ concentration. On the one hand, the τ peak value increases as the simulant concentration increases (figure3(a) and eq.

  structure. Concerning this latter property, further investigations are necessary to fully characterize the thixotropic nature of mucus simulants, in particular to propose a time dependent rheological. This is clearly an interesting prospect for future works.

Figure 1 :

 1 Figure 1: SAOS sweeps for a 1.5wt% sample. (a) Stress sweep ( Hz 2 1 π

Figure 2 :Figure 3 :Figure 4 : 1 πFigure 5 :Figure 6 :

 234156 Figure 2 : Evolution of G' (a), G" (b), tan(δ) (c) vs stress amplitude for different Actigum TM concentrations

Figure 7 :Figure 8 :

 78 Figure 7: HB model parameters vs. Actigum TM concentration

Figure 9 : 1 FFigure 6 :

 916 Figure 9: 3ITT step 1 at 0.029 s -1 , step 2 at 100 s -1 , step 3 at 0.029 s -1

Table 1 .

 1 Evolution of limit stresses for LVE range, E c and moduli plateau values vs active polymer concentrations.

	[Actigum TM ](wt%)	τ y (Pa)	τ f (Pa)	τ peak (Pa) E c (J.m -3 )	G' (Pa)	G" (Pa)
	0.50	0.32	1.55	-	0.024	2.07	0.88
	0.75	0.63	2.88	2.37	0.035	5.52	2.02
	1	1.96	4.92	5.02	0.073	26.56	6.06
	1.50	4.15	9.20	9.32	0.143	61.18	12.34
	2.00	6.98	15.00	14.78	0.360	67.64	14.66

Table 2 .

 2 Evolution of the HB model parameters vs. active polymer concentrations.

	[Actigum TM ](wt%)	τ τ τ τ 0HB (Pa)	K(Pa.s n )	n
	0.50	2.98	0.04	0.78
	0.75	6.15	0.1	0.72
	1	8.74	0.21	0.66
	1.50	13.62	1.67	0.42
	2.00	20.43	3.29	0.37

John Wiley & Sons, Inc.Journal of Biomedical Materials Research: Part A

Journal of Biomedical Materials Research: Part A

ACKNOWLEDGMENTS

The authors are indebted to the PhysioAssist Co. and the Association Nationale de la Recherche et de la Technologie for the CIFRE grant 2014-1287 (O. Lafforgue PhD thesis) and to the Laserson Co. for kindly providing the Actigum TM and Viscogum TM polymers. S. Poncet acknowledges also the Canada Foundation for Innovation (John R. Evans Leaders Fund n°34582) and the Natural Sciences and Engineering Research Council of Canada through the Discovery Grant (RGPIN-2015-06512) for their financial support.