Deterministic contention management for low latency Cloud RAN over an optical ring

02/08/2019
by   Dominique Barth, et al.
0

The N-GREEN project has for goal to design a low cost optical ring technology with good performances (throughput, latency...) without using expensive end-to-end connections. We study the compatibility of such a technology with the development of the Cloud RAN, a latency critical application which is a major aspect of 5G deployment. We show that deterministically managing Cloud RAN traffic minimizes its latency while also improving the latency of the other traffics.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

05/02/2021

Deployment Archetypes for Cloud Applications

This is a survey paper that explores six Cloud-based deployment archetyp...
02/21/2022

Demonstration of latency-aware 5G network slicing on optical metro networks

The H2020 METRO-HAUL European project has architected a latency-aware, c...
06/01/2021

Optimal virtual PON slicing to support ultra-low latency mesh traffic pattern in MEC-based Cloud-RAN

As progressive densification of cells, deployment of Cloud-RAN and MEC a...
09/13/2021

Multipoint-to-point data aggregation using a single receiver and frequency-multiplexed intensity-modulated ONUs

We demonstrate 2.5-GHz-spacing frequency multiplexing capable of aggrega...
03/22/2022

Optimal Slicing of Virtualised Passive Optical Networks to Support Dense Deployment of Cloud-RAN and Multi-Access Edge Computing

The commercialization of Cloud-RAN, and Open-RAN in particular, is a key...
02/25/2022

CCOMPASSION: A Hybrid Cloudlet Placement Framework over Passive Optical Access Networks

Cloud-based computing technology is one of the most significant technica...
11/05/2019

uqSim: Scalable and Validated Simulation of Cloud Microservices

Current cloud services are moving away from monolithic designs and towar...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

This work was developed around the ANR N-GREEN project. The authors thank the Nokia Bell Labs team for their collaboration.

Telecommunication network providers have to design inexpensive networks supporting an increasing amount of data and online applications. Many of these applications require QoS guarantees, like minimal throughput and/or maximal latency. The N-GREEN project aims to design a high performing optical ring while ensuring a minimal cost for providers. The current solutions with good QoS [1, 2], establish end-to-end direct connections between the nodes, which is extremely expensive. The N-GREEN optical ring is designed to ensure good performance for a low cost: the hardware it requires scales linearly with the number of nodes while direct connection scales quadratically making it impractical for more than a few nodes.

In this article, we study a Cloud RAN (C-RAN) application based on the N-GREEN optical ring described in [3, 4]. C-RAN is one of the major area of development for 5G; it consists in centralizing or partially centralizing the computation units or BaseBand Units (BBU) of the Remote Radio Heads (RRH) in one datacenter [5]. Periodically, each RRH on the field sends some uplink traffic to its associated BBU in the datacenter, then, after a computation, the BBU sends the same quantity of downlink traffic back to the RRH. The latency of the messages between the BBU and the RRH is critical since some services need end-to-end latency as low as ms [6, 7].

Nowadays, the traffic is managed by statistical multiplexing [8]. Here, we propose an SDN approach to deterministically manage the periodic C-RAN traffic by choosing emission timing. Indeed, Deterministic Networking is one of the main method considered to reduce the end-to-end latency [9]. In a previous work [10], the authors have studied a similar problem for a star shaped network. In contrast with our previous work, finding emission timings so that different periodic sources do not use the same resource is easy in the context of the N-GREEN optical ring with a single data-center. However, we deal with two additional difficulties arising from practice: the messages from RRHs are scattered because of the electronic to optic interface and there are other traffics whose latency must be preserved. It turns out that the deterministic management of CRAN traffic we propose reduces the latency of CRAN traffic to the physical delay of the routes, while reducing the latency of the other traffics by smoothing the load of the ring over the period. To achieve such a good latency, our solution needs to reserve resources in advance, which slightly decreases the maximal load the N-GREEN optical ring can handle. Such an approach of reservation of the network for an application (CRAN in our context) relates to network slicing [11] or virtual-circuit-switched connections in optical networks [12, 13].

In Sec. II, we model the optical ring and the traffic flow. In Sec. III, we experimentally evaluate the latency when using stochastic multiplexing to manage packets insertion on the ring, with or without priority for C-RAN packets. In Sec. IV, we propose a deterministic way to manage C-RAN packets without buffers, which guarantees to have zero latency from buffering. We propose several refinements of this deterministic sending scheme to spread the load over time, which improves the latency of best effort packet, or in Sec. IV-C, to allow the ring to support a maximal number of antennas at the cost of a very small latency for the C-RAN traffic.

Ii Model of C-RAN traffic over an optical ring

N-GREEN Optical ring

The unidirectional optical ring is represented by an oriented cycle. The vertices of the cycle represent the nodes of the ring, where the traffic arrives. The arcs of the cycle have an integer weight which represents the time to transmit a unit of information from to . By extension, if and are not adjacent, we denote by the size of the directed path from to . The ring size is the length of the cycle, that is and we denote it by . A container, of capacity expressed in bytes, is a basic unit of data in the optical ring.

The time is discretized: a unit of time corresponds to the time needed to fill a container with data. As shown in Fig. 1, the node can fill a container with a data packet of size less than bytes at time if the container at position at time is free. If there are several packets in a node or if a node cannot fill a container, because it is not free, the remaining packets are stored in the insertion buffer of the node. A container goes from to in units of time. The ring follows a broadcast and select scheme with emission release policy: When a container is filled by some node , it is freed when it comes back at after going through the whole cycle.

Figure 1: Dynamic behavior of the ring.

C-RAN traffic

The RRHs are the source of the deterministic and periodic C-RAN traffic. There are RRHs attached to the ring and several RRHs can be attached to the same vertex. An RRH is linked to a node of the ring through an electronic interface of bit rate Bps. The ring has a larger bit rate of Bps. The integer is called the acceleration factor between the electronic and the optical domains. A node aggregates the data received on the electronic interface during units of time to create a packet of size and then puts it in the insertion buffer. In each period , an RRH emits data during a time called emission time or . Hence the RRH emits packets, i.e. requires a container of size each units of time during the emission time, as shown in Fig. 2.

At each period, the data of the RRH begins to arrive in the insertion buffer at a time called offset. The offsets can be determined by the designer of the system and can be different for each RRH but must remain the same over all periods. We assume that all BBUs are contained in the same data-center attached to the node . The data from is routed to its BBU at node through the ring and arrives at time if it has been inserted in the ring upon arrival. Then after some computation time, which w.l.o.g. is supposed to be zero, an answer is sent back from the BBU to the RRH. The same quantity of data is emitted by each BBU or RRH during any period.

The latency of a data packet is defined as the time it waits in an insertion buffer. Indeed, because of the ring topology, the routes between RRHs and BBUs are fixed, thus we cannot reduce the physical transmission delay of a data which depends only on the size of the arcs used. Moreover, there is only one buffering point in the N-GREEN optical ring, the insertion buffer of the node at which the data arrives. Hence, in this context, to minimize the end-to-end delay, we need to minimize the (logical) latency. More precisely, we want to reduce the latency of the C-RAN traffic to zero, both for the RRHs (uplink) and the BBUs (downlink). In Sec. IV we propose a deterministic mechanism with zero latency for C-RAN which also improves the latency of other data going through the optical ring. We shortly describe the nature of this additional traffic in the next paragraph.

Figure 2: Insertion of C-RAN traffic in the N-GREEN optical ring.

Best effort traffic

The optical ring supports other traffics, corresponding to the internet flow. We call this traffic Best Effort (BE). We want it to have the best possible distribution of latency, but since BE traffic is less critical than C-RAN traffic, we impose no hard constraint on its latency. At each node of the ring, a contention buffer is filled by a batch arrival process of BE data. This batch arrival process consists in generating, at each unit of time, a quantity of data drawn from a bimodal distribution to modelize the fact that internet traffic is bursty. Then, according to the fill rate of the contention buffer and the maximum waiting time of the data, a packet of size at most may be created by aggregating data in the contention buffer. This packet is then put in the insertion buffer of the node. Hence, the arrival of BE messages can be modeled by a temporal law that gives the distribution of times between two arrivals of a BE packet in the insertion buffer. The computation of this distribution for the parameters of the contention buffer used in the N-GREEN optical ring is described in [14]. We use this distribution in our experiments to modelize BE packet arrival in the insertion buffer.

Iii Evaluation of the latency on the N-GREEN optical ring

We first study the latency of the C-RAN and BE traffics when the ring follows an opportunistic insertion policy: When a free container goes through a node, it is filled with a packet of its insertion buffer, if there is one. Two different methods to manage the insertion buffer are experimentally compared. First, the FIFO rule, which consists in managing the C-RAN and BE packets in the same insertion buffer. Then, when a free container is available, the node fills it with the oldest packet of the insertion buffer, without distinction between C-RAN and BE. This method is compared to a method called C-RAN priority that uses two insertion buffers: one for the BE packets, and another for the C-RAN packets. The C-RAN insertion buffer has the priority and is used to fill containers on the ring while it is non empty before considering the BE insertion buffer.

We compare experimentally these two methods in the simplest topology: The lengths of the arcs between nodes are equal and there is one RRH by node. The experimental parameters are given in Table 1 and chosen following [3]. In each experiment, the offsets of the RRHs are drawn uniformly at random in the period. The results are computed over experiments in which the optical ring is simulated during units of time. Fig. 3 gives the cumulative distribution of both C-RAN and BE traffics latencies for the FIFO and the C-RAN priority methods. The source code in C of the experiments can be found on one of the authors’ webpage [15].

Figure 3: Distribution of latencies for FIFO and C-RAN first
Bit rate of an electronic interface Gbps Optical ring bit rate Gbps Acceleration factor Container size kb Unit of time (UoT) s Length traveled during one UoT m Time to go through the cycle UoT Emission time UoT Period UoT Number of RRH Number of nodes Load induced by C-RAN traffic Load induced by BE traffic
Table 1: Parameters of the N-GREEN architecture

Unsurprisingly, the latency of the C-RAN traffic is better when we prioritize the C-RAN messages, while the BE traffic is heavily penalized. Furthermore, there is still of the C-RAN traffic with a latency higher than s, a problem we address in the next section.

Remark that, due to the broadcast and select mode, a message coming from any node induces the same load for all the nodes of the ring. Hence the latency of the traffics coming from any RRHs or from the BBUs are the same, which may seem couterintuitive knowing that all BBUs share the same node on the ring. This is why in Fig. 1 we do not ditinguish between uplink C-RAN traffic (RRH to BBU) and downlink C-RAN traffic (BBU to RRH).

Iv Deterministic approach for zero latency

Iv-a Reservation

Finding good offsets for the C-RAN traffic is a hard problem even for simple topologies and without BE traffic, see [10]. In this section, we give a simple solution to this problem in the N-GREEN optical ring, and we adapt it to minimize the latency of the BE traffic.

Let be the node to which is attached the RRH . To ensure zero latency for the C-RAN traffic, then the container which arrives at at time must be free so that the data from the RRH can be sent immediately on the optical ring.

To avoid latency between the arrival of the data from the RRH and its insertion on the optical ring, we allow nodes to reserve a container one round before using it. A container which is reserved cannot be filled by any node except the one which has reserved it (but it may not be free when it is reserved). If reserves a container at time , then it is guaranteed that can fill a free container at time with the data of the RRH . In the method we now describe, the C-RAN packets never wait in the node: The message sent by the RRH arrives at its BBU at node at time and the answer is sent from the BBU at time .

Recall that an RRH fills a container every units of time, during a time . Thus if we divide the period into slots of consecutive units of time, an RRH needs to fill at most one container each slot. If an RRH emits at time , then we say it is at position . The position of an RRH corresponds to the position in a slot of the container it has emitted, when it arrives at , the node of the BBU. If an RRH is at position , then by construction, the corresponding is at position . For now, we do not allow waiting times for C-RAN traffic, hence each RRH uses a container at the same position during all the emission time.

Given a ring, a set of RRH’s, a period and an acceleration factor , the problem we solve here is to find an assignment of values of the offsets ’s which is valid: two RRHs must never use the same container in a period. Moreover we want to preserve the latency of the BE traffic. It means that the time a BE packet waits in the insertion buffer must be minimized. To do so, we must minimize the time a node waits for a free container at any point in the period, by spreading the C-RAN traffic as uniformly as possible over the period.

Fig. 4 represents an assignment of two couples of RRH and BBU by showing the containers going through the node of the BBU during a period. Each slot has a duration of unit of times, and, since an RRH/BBU emits a packet each UoT during UoT, if we take the granularity of a slot to represent the time, the emission of a BBU/RRH is continuous in our representation, during slots. A date in the period corresponds in Fig. 4 to the slot and is at position .

Figure 4: A valid assignment with .

Iv-B Building valid assignment with zero C-RAN latency

Remark that two RRHs which are not at the same position never use the same containers. Moreover, if we fix the offsets of the RRHs to even positions so that they do not reserve the same containers, then, because the answers of the BBU are sent without delay in our model, it will fix the offsets of the BBUs to odd positions which do not reserve the same containers. Hence, we need to deal with the RRHs only. The next proposition gives a simple method to find an assignment.

Proposition 1.

There is a valid assignment of the offsets on the same position if .

Proof.

W.l.o.g we fix to and all the other offsets will then be chosen at position . Let be the nodes attached to the RRHs . We assume that are in the order of the oriented cycle. The last message emitted by the RRH arrives at at time . Therefore we can fix . In general we can set and all RRHs will use different containers at position during a period. Since by hypothesis, the containers filled by the th RRH are freed before . Hence when the RRH must emit something at the first unit of time of the second period, there is a free container. ∎

Remark that reserving free containers make them unusable for BE traffic which is akin to a loss of bandwidth. However, with our choice of emission times of the RRHs in the order of the cycle, most of the container we reserve are used by the data from some RRH. If all containers at some position are used, that is , then there are only free containers wasted. In the worst case, less than containers are wasted by the assignment of Prop. 1.

It is now easy to derive the maximal number of antennas which can be supported by an optical ring, when using reservation and the same position for an RRH for the whole period.

Corollary 1.

There is a valid assignment with antennas and zero latency.

Proof.

Following Prop. 1, the maximal number of antennas for which there is an assignment on the same position is . In such an assignment, we need a second position to deal with the traffic coming from the BBUs coming back to those k antennas. Since we got positions in the slot, the number of antennas supported by the ring is thus equal to . ∎

With the parameters of the N-GREEN ring given in Fig. 1, we can support antennas, while stochastic multiplexing can support antennas albeit with extreme latency. There are two sources of inefficiency in our method. The first comes from the reservation and cannot be avoided to guarantee the latency of the C-RAN traffic. The second comes from the fact that an RRH must emit at the same position during all the emission time (to guarantee zero latency). We relax this constraint in Sec. IV-C to maximize the number of antennas supported by the ring, while minimizing the loss of bandwith due to reservation.

We now present an algorithm using reservation as in Prop.1 to set the offsets of several RRHs at the same position. In a naive assignment, we put each RRH in an arbitrary position, for instance one RRH by position. We then propose three ideas to optimize the latency of the BE traffic, by spacing as well as possible the free containers in a period.

Balancing inside the period

With the parameters of the N-GREEN ring given in Fig. 1 (, and ), there are no unused position. Any assignment has exactly one BBU or RRH at each position. If all the RRHs start to emit at the first slot, then during

there will be no free container anywhere on the ring, inducing a huge latency for the BE traffic. To mitigate this problem, in a period, the time with free containers in each position must be uniformly distributed over the period as shown in Fig. 

5.

Figure 5: Balancing inside the period.

Compacting positions

For each position which is used by some RRH, and for each period, at least free containers are reserved which decreases the maximal load the system can handle. Therefore to not waste bandwidth, it is important to put as many RRHs as possible on the same position as shown in Fig. 6. Indeed, for any position which is not used at all, no container needs to be reserved. This strategy is also good to spread the load during the period since it maximizes the number of unused positions and for each unused position there is a container free of C-RAN traffic each unit of times.

Figure 6: Compacting positions.

Balancing used positions

The free positions can be distributed uniformly over a slot, to minimize the time to wait before a node has access to a container from a free position, as shown in Fig. 7. To do so, compute the number of needed positions , with k the number of antennas using the previous strategy. Then, set the used positions in the following way: free positions are set between each used positions. If has a reminder , then we set the free remaining positions uniformly over the interval in the same way and so on until there are no more free position. It is a small optimization, since it decreases the latency by at most .

Figure 7: Balancing used positions.

Experimental evaluation

Our algorithm combines the three methods we have described to spread the load over the period. In order to understand the interest of each improvement, we present the cumulative distribution of the latency of the BE traffic using them either alone or in conjunction and we compare our algorithm to stochastic multiplexing with C-RAN priority.

Figure 8: BE latencies of a naive assignment and balancing inside the period for antennas.

Fig. 8 shows the performance of balancing the C-RAN traffic inside the period against a naive assignment in which all the RRH begin to emit at the same slot. We keep the same parameters as in Sec. III (see Table 1). As expected, the BE traffic latency is much better when we balance the C-RAN traffic inside the period and already much better than stochastic multiplexing.

To show the interest of compacting the positions, we must be able to put several RRHs at the same position. Hence, we change the emission time to and the number of antennas to to keep the load around as in the experiment of Fig. 3. This is not out of context since the exact split of the C-RAN (the degree of centralization of the computation units in the cloud) is not fully determined yet [5].

As shown in Fig.9, the performance of the naive assignment is really bad. Compacting the RRHs on a minimal number of positions decreases dramatically the latency. If in addition, we balance over a period, we get another gain of latency of smaller magnitude: the average (respectively maximum) latency for BE traffic goes from s (resp. s) to s (resp. s). We did not represent the benefit of balancing used positions because the reduction in latency it yields is small as expected: the average (respectively maximum) latency for BE traffic goes from s (resp. s) to s (resp. s).

Figure 9: BE latencies of compacting positions and balancing inside the period for antennas.

In Fig. 10, we compare the cumulative distribution of the latency of the BE traffic using the FIFO rule to our reservation algorithm with the three proposed improvements. The parameter are the same as in the previous experiment. The performance of our reservation algorithm is excellent, since the C-RAN traffic has zero latency and the BE traffic has a better latency than with the FIFO rule despite the cost of reservation. It is due to the balancing of the load of the C-RAN traffic over the period, that guarantee a more regular bandwidth for the BE traffic.

Figure 10: FIFO buffer compared to the best method with reservation for antennas.

Iv-C Building valid assignment with some C-RAN latency

The previous approach limits the number of antennas supported by the ring when , which is the case with N-GREEN parameters. The method we present in this section enables us to support more antennas and improves the latency of BE traffic (it reserves less free containers) by allowing the data from an RRH to use two positions. It is at the cost of a slightly worse latency for C-RAN traffic and it also requires in practice to implement some buffering for the C-RAN packets.

In order to support as much antennas as possible on the ring, we use all

containers in a given position, improving on the compacting position heuristic.

Proposition 2.

There is a valid assignment for antennas when .

Proof.

We consider the RRHs in the order of the ring. Let , then we set the offsets of the first RRHs as in Prop. 1. These RRHs are at position zero and the th RRH first emits at position zero, with offset .

The th RRH emits up to time at position zero, so that there is no conflict with RRH during the next period. Hence, it has used the position zero during . From time , the th RRH emits at position and during a time . Then the next RRH in the order is assigned to position , and begins to emit at time instead of zero. The rest of the assignment is built in the same way filling completely all first positions, until there are no more RRH. ∎

Figure 11: Valid assignment for antennas and the N-GREEN parameters.

Fig. 11 illustrates the construction of Prop. 2 for the N-GREEN parameters. The loss due to reservation is exactly containers by used positions. Hence, it is possible to support antennas (but no BE traffic in this extreme case), rather than with the method of Sec. IV-B.

We call this new reservation algorithm saturating positions since it improves on compacting positions of the previous subsection. Moreover, there are no free slots in used positions, hence the idea of balancing into the period is not relevant. The only possible optimisation would be to balance the used positions, but it is not worth it since it adds additional latency for the RRHs using two different positions.

Figure 12: Latencies of saturating positions, balancing into the period and FIFO rule for 5 antennas.

Fig. 12 represents the cumulative distribution of the latency of BE traffic for the FIFO rule, saturating position, and balancing into the period using the N-GREEN parameters. Saturating positions reduces the BE traffic latency more than balancing into the period. This is easily explained by its lesser use of reservation. It is at the cost of a maximal latency of s for C-RAN traffic, so the designer can chose to use any of the two algorithms, according to what latency must be guaranteed to C-RAN or BE traffic.

Conclusion

As a conclusion, we want to stress the fact that to deal with a deterministic dataflow as C-RAN, we must use a deterministic policy rather than a classical stochastic one. By using a simple practical SDN scheme, which requires only to set the emission timing of the RRHs and to allow reservation on the optical ring, we remove all logical latencies. It also improves significantly the latencies of the BE traffic by spreading the load of the C-RAN traffic uniformly over the period. We are currently working on a prototype implementing this method on the NGREEN ring. We also plan to deal with the case of several data-centers containing the BBUs instead of one. The algorithmic methods to find good emission timings in this generalization are more complicated and similar to what was proposed in [10], but while the load due to the C-RAN traffic is not too high it should work very well.

References

  • [1] A. Pizzinat, P. Chanclou, F. Saliou, and T. Diallo, “Things you should know about fronthaul,” Journal of Lightwave Technology, vol. 33, no. 5, pp. 1077–1083, 2015.
  • [2] Z. Tayq, L. A. Neto, B. Le Guyader, A. De Lannoy, M. Chouaref, C. Aupetit-Berthelemot, M. N. Anjanappa, S. Nguyen, K. Chowdhury, and P. Chanclou, “Real time demonstration of the transport of ethernet fronthaul based on vran in optical access networks,” in Optical Fiber Communications Conference and Exhibition (OFC), 2017, pp. 1–3, IEEE, 2017.
  • [3] D. Chiaroni, “Network energy: Problematic and solutions towards sustainable ICT,” invited paper, International Commission of Optics (ICO-24), August 2017.
  • [4] B. Uscumlic, D. Chiaroni, B. Leclerc, T. Zami, A. Gravey, P. Gravey, M. Morvan, D. Barth, and D. Amar, “Scalable deterministic scheduling for wdm slot switching xhaul with zero-jitter,” in 2018 International Conference on Optical Network Design and Modeling (ONDM), pp. 100–105, IEEE, 2018.
  • [5] C. Mobile, “C-RAN: the road towards green RAN,” White Paper, ver, vol. 2, 2011.
  • [6] 3GPP, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Service requirements for the 5G system;. Stage 1 (Release 16).
  • [7] F. Boccardi, R. W. Heath, A. Lozano, T. L. Marzetta, and P. Popovski, “Five disruptive technology directions for 5G,” IEEE Communications Magazine, vol. 52, no. 2, pp. 74–80, 2014.
  • [8] A. Kern, G. Somogyi, and T. Cinkler, “Applying statistical multiplexing and traffic grooming in optical networks jointly,” GYULA SALLAI–president, Scientific Association for Infocommunications ÁKOS DETREKÔI–president, National Council of Hungary for Information and Communications Technology, p. 17, 2006.
  • [9] N. Finn and P. Thubert, “Deterministic Networking Architecture,” Internet-Draft draft-finn-detnet-architecture-08, Internet Engineering Task Force, 2016. Work in Progress.
  • [10] D. Barth, M. Guiraud, B. Leclerc, O. Marce, and Y. Strozecki, “Deterministic scheduling of periodic messages for cloud RAN,” in 2018 25th International Conference on Telecommunications (ICT) (ICT 2018), (Saint Malo, France), June 2018.
  • [11] M. Jiang, M. Condoluci, and T. Mahmoodi, “Network slicing management & prioritization in 5g mobile systems,” in European wireless, pp. 1–6, 2016.
  • [12] C. Cadéré, N. Izri, D. Barth, J.-M. Fourneau, D. Marinca, and S. Vial, “Virtual circuit allocation with qos guarantees in the ecoframe optical ring,” in Optical Network Design and Modeling (ONDM), 2010 14th Conference on, pp. 1–6, IEEE, 2010.
  • [13] T. H. Szymanski, “An ultra-low-latency guaranteed-rate internet for cloud services,” IEEE/ACM Transactions on Networking, vol. 24, no. 1, pp. 123–136, 2016.
  • [14] Y. Ait el mahjoub, H. Castel-Taleb, and J.-M. Fourneau, “Performance and energy efficiency analysis in NGREEN optical network,” in 2018 14th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob) (WiMob 2018), (Limassol, Cyprus), Oct. 2018.
  • [15] “Yann strozecki’s website.” Available at urlhttp://www.prism.uvsq.fr/%7Eystr/textesmaths.html.