Romaric Guillier

Sébastien Soudan

Pascale Vicat-Blanc

Primet

UDT and TCP without Congestion Control for Profile Pursuit

Keywords:

Instead of relying on the congestion control algorithm and its objective of statistical fair sharing when transfers are assorted with strict deadlines, it might be beneficial to share the links in a different manner. The goal of this research report is to confront two solutions to send data according to a pre-established profile of bandwidth: one based on UDT, one on TCP and PSPacer. In this research report, we have shown how they can be used to implement transfers on such profiles. Based on real experiments a model to predict completion time using RTT and profiles is proposed. For TCP, it is shown to be accurate as soon as the margin is more than 2.5 % of the capacity. Furthermore, the cost of transition is shown to be independent of RTT and height of the steps.

Résumé

Au lieu de s'appuyer sur un algorithme de contrôle de congestion et son objectif de partage statistique équitable de la bande passante, il pourrait être bénéfique de partager les liens réseaux différamment quand il s'agit d'effectuer des transferts de données constraints par des échéances. Le but de ce rapport de recherche est de confronter deux méthodes permettant d'envoyer des données en suivant un profil de débit pré-défini. La première utilise UDT et la seconde est basée sur TCP et PSPacer. Dans ce rapport de recherche, nous montrons comment ces méthodes peuvent être utilisées pour éxécuter de tels transferts suivant un profil de débit. Un modèle, basé sur des éxpérimentations réelles, est proposé pour estimer le temps de terminaison des transferts en fonction du RTT et du profil appliqué. Pour TCP, nous montrons que ce modèle est précis dès que l'on prend une marge de plus de 2.5 % de la capacité du lien. De plus, nous montrons que le coût des transitions est indépendant du RTT et de la hauteur des transitions.

Mots-clés: Protocoles de Transports émettant à débit fixé , Profil de Débit 1 Introduction

Instead of relying on the congestion control algorithm and its objective of statistical fair sharing, which has been shown to be unpredictable [START_REF] He | Prediction of TCP throughput: formula-based and history-based methods[END_REF], it might be beneficial to share the links in a different manner when transfers are assorted with strict deadlines for example. One of the possible way is to schedule the bandwidth allocated to transfers and try to limit the congestion level.

The goal of this research report is to confront two solutions to send data according to a preestablished profile of bandwidth and find the most suited to perform reliable bulk-data transfers in high-speed shared networks. The first one is based on the UDT implementation of BLAST [START_REF] He | Reliable blast udp : predictable high performance bulk data transfer[END_REF], and the second one uses TCP with the congestion control part removed combined with PSPacer packet pacing solution.

The rest of the paper is organized as follows: first, we will setup the context of the study by introducing the transport protocols used and their subsequent modifications to allow them to follow a rate profile. Section 3 presents the evaluation methodology that was used. Sections 4, 5 and 6 show the different results we obtained during respectively the calibration, the model-fitting and the model evaluation phases. Finally we conclude in Sect. 7.

Profile pursuit

This work studies how planned data transfers can be executed. Due to the need of transfer time predictability or resources consumption planning, the considered file transfers have to be done following a given profile. This profile can be a single rate profile or a multi-interval profile giving the bandwidth that can be used during a specified time interval. In the next sections we describe the mechanisms we will use to enforce such a profile.

Profile pursuit in gridftp

For this study to be fair, it was necessary to use a file-transfer application able to use both TCP and UDT. gridftp suited our needs, but we had to adapt it to follow a profile. The basic idea is to provide gridftp client with a file to transfer and a profile to follow.

To do so, a modified implementation of the UDT xio driver has been implemented. Similarly for TCP, the congestion control mechanism has been modified and a script has been created to configure PSPacer qdisc to follow a profile.

Description of modified UDT xio driver

UDT [START_REF] Gu | Supporting Configurable Congestion Control in Data Transport Services[END_REF] is a library built on top of the UDP transport protocol by adding a congestion control scheme and a retransmission mechanism. It was designed to provide an alternative for TCP in networks where the bandwidth-delay product is large.

We have modified the UDT available in the gridftp program so that it follows a rate profile: a set of dates according to a relative timer and the corresponding rates that it is allowed to send at. This has been achieved by using the CUDPBlast class of UDT4 implementation and an extra thread which reads the profile file and calls the setRate(int mbps) method on time.

The performance of this version in terms of maximum achievable throughput is strictly identical to the original UDT xio module. It was done so to allow a fair comparison between the TCP and the UDT tests.

Description of TCP without congestion control

In order to have a profile pursuit mechanism for gridftp with TCP, its congestion control mechanism has been modified to better fill a profile and PSPacer has been used to limit the sending rate.

We briefly describe the modified TCP version used in this paper. It consists in the normal TCP implementation of TCP in the GNU/Linux kernel with two modifications. First every function of the struct tcp_congestion_ops keeps the congestion window constant by doing: tcp_sk(sk)->snd_ssthresh = 30000; tcp_sk(sk)->snd_cwnd = 30000; tcp_sk(sk)->snd_cwnd_stamp = tcp_time_stamp; tcp_sk(sk)->snd_cwnd_cnt = 0;

As a side effect it also removes the slow-start.

Second modification, in function tcp_select_initial_window of the receiver's kernel, rcv_wnd is not reset to the initial receiver window value (3.mss) when it is too large during the slow-start phase. This enables the sender to send at the maximum rate from the start of the connexion (except before receiving first ACK as the scaling of the advertised receiver window is not possible before). Basically, it is designed as a hack of the TCP stack that disables the congestion control and sets the congestion control window to a large value. This kind of scheme has already been used in the past [START_REF] Kempter | Towards a Composable Transport Protocol: TCP without Congestion Control[END_REF] and has shown significant improvement over the classical congestion control in some situations (lossy links). Similar modifications have been proposed by Mudambi et al. under the name of C-TCP in [START_REF] Mudambi | A transport protocol for dedicated end-to-end circuits[END_REF]. It is referred throughout this paper as TCP.

To limit the bandwidth used by this TCP without congestion control, the PSPacer kernel module [RTY + 05] is used. It allows a precise pacing of the packets on the emission site. To allow fast transition from a low to high rate, the txqueuelen variable is set to a very large value (100 000 packets) so that packets can be sent upon rate changes without needing to packetise new data.

Methodology

The next sections present the methodology and scenarios. The key questions this study tries to answer are the following:

1. Can we use a transport protocol to implement a profile -use all the specified bandwidth without overflowing?

2. How can we model the performances (bandwidth utilization/goodput)?

3. How can we control the rate to implement a given profile of throughput?

4. Can we predict the completion time of a transfer performed using a profile?

Testbed

Two different settings were used. The first one is using the Grid'5000 [BCC + 06] testbed, whose simplified topology is shown in The second setting involves a AIST GtrcNet-1 [KKT + 04], a hardware latency emulator that is directly connected to two nodes from the Grid'5000 Lyon site. The GtrcNet-1 box is also used to perform precise throughput measurements. This setting is used for the calibration and model fitting part of this research report in sections 4 and 5.

The Rennes nodes are from the paravent cluster (HP ProLiant DL145G2 nodes) and have similar CPU and memory as the Lyon sagittaire nodes (Sun Fire V20z). Both nodes type are 1-Gbps capable.

Stage 0 -Preliminary experiments

In order to eliminate potential hardware bottlenecks on the machine, preliminary experiments are conducted to evaluate CPU utilization and to compare disk to disk and memory to memory performance of the two alternatives. This is done by measuring the CPU utilization while sending at a constant rate under different latencies.

For disk to disk and memory to memory performance evaluation, a 7500MB file is transfered at a maximum rate and average rate is measured.

Stage 1 -Model calibration

Model

In this section, we present the model we use to predict the rates (goodput/throughput) obtained from the two different transport protocols for a given input and then to control the throughput to desired value (with an open loop control).

Figure 2 shows the two blocks of the considered model. TP is transport protocol (along with rate limitation and file serialization mechanisms). It takes as an "input" a rate and gives as an output a "throughput" and a "goodput". The first one being the bandwidth used on the wire and the second one the transfer rate of the file.

Since UDT and TCP don't use the same mechanism to control their sending rates and as they have a different packet format, the input signal doesn't have the same meaning for both of them.

The second block of this model aims at determining the input rate that must be specified to profile enforcement mechanisms to attain the desired throughput. This target throughput is specified by the means of the "reference". We used throughput-like references (instead of goodput-like) since shared resources, namely the links or bottlenecks, constrain the throughput that the flows can share.

Scenario for calibration

The goal of the scenarios presented in this section is to evaluate the relation between input rate and goodput and between input rate and throughput. These scenarios are based on a systematic exploration of input rate space under different RTT for a single rate profile. Input rate ranges from 1 to 1000 Mbps by steps of 1 Mbps. RTT is set to 0 ms, 10 ms, 100 ms and 300 ms. The mean goodput is obtained by dividing the file size by the transfer duration. The mean and maximum instant throughput are measured using GtrcNet-1 which also emulates the latency.

Stage 2 -Model evaluation

The results from the previous section will provide us with relations between "input" and "goodput"/"throughput". They will be used to predict the completion time of a transfer under a specified profile. The transfered file has a size of 3200MB.

But before this, this model is used to predict the completion time of a single rate transfer under different RTT and at different rates. The metric used in this scenario is lateness as the model is supposed to predict the completion time.

Two complementary profiles are used in this section. These profiles are presented in Fig. 3. It can be noted that a margin m is introduced as a fraction of the bottleneck capacity that none of the flow are supposed to use. We will vary this to evaluate the contention when the profiles are run together. Both profile ends with a steps at the same rate so that both can finish on this step and we can compare the completion time as the average bandwidth allocated to each flow is the same during the first steps.

In order to evaluate the suitability of our model to the profiles, two transfers with complementary profiles take place at the same time. Lateness is used to compare the performances of our prediction under different margins m ranging between 1 and 10% for both TCP and UDT. This experiment takes place on an inter-site link of Grid'5000 with 12ms RTT. This latency is not one used to fit the model but is in the range covered by the fitting.

Preliminary experiments 4.1 CPU utilization

It can be observed on Fig. 4 that TCP's CPU utilization is the same regardless of the latency and that the slope of CPU utilization as a function of input rate is smaller than with UDT. UDT consumes about three times more CPU. But in both cases, CPU is not a bottleneck for the whole range of input rate.

Flow

Memory to Memory

In this test, we use gridftp to tunnel the file /dev/zero from source to the file /dev/null of destination.

Locally, it has been measured that /dev/zero has a throughput of about 4300 Mbps, which means that our bottleneck will be in the network, not in the node. Table 1 summarizes the result for this test.

The cap of performance of TCP can be accounted for (lower than the 941 Mbps limit of a TCP transfer using 1500 bytes MTU over a Gbps Ethernet link) by the cost of using the gridftp application. Both TCP variants are able to achieve similar goodputs. UDT is able to perform a little better than TCP, but as the difference is less than 1%, it is then negligible. Same thing for when we are using multiple parallel flows.

When the "-p" option is activated, a multi-threaded version of gridftp is used, which accounts for the fact that we don't get the same results when we are using only one flow.

Disk to Disk

In this test, we have pregenerated a large file and we tried to transfer it from nodeA to nodeB. We have observed that every protocol tested averaged to about 360 Mbps. As it corresponds to the speed limits (found through the hdparm tool) of the disk in the nodes, it shows that all these protocols are able to fill up the bottleneck.

Local tests have shown that the differences between D2D and M2M measurements vary very slightly (less than 1 %) when the rate is below the disk's bottleneck speed1 . So for the remaining experiments, we focused on the M2M experiments.

Setting the rate higher than the disk's bottleneck value is useless and will only lead to suboptimal usage of the networking resources.

Model calibration

As seen in the previous section, disk to disk transfer is not interesting as it just adds as an hardware bottleneck. This section will establish the model between input rate, goodput and throughput. Even though TCP's throughput as a function of input rate is below y = x and UDT's is above, nothing can be concluded from this regarding performance. It simply means that the "input" must be different in order to obtain the same throughput/goodput from them. As we can see that we have straight lines for the most part, we can perform a linear regression to model throughput and goodput as a function of the input rate. This is true for each RTT.

Results

Figures 7 and8 present the mean and max throughput achieved by TCP, resp. UDT. As observed in the previous set of figures, the mean throughput for TCP and UDT are lines, but for TCP the maximum instant throughput is also a straight line, while for UDT it is wildly fluctuating, reaching values larger than 10 % of the mean throughput. This behavior could be problematic when several flows are contending for a bottleneck as, at some instants, UDT can use more bandwidth than in average. It is more bursty than TCP with PSPacer.

For both protocols, the behavior is different for the 300 ms RTT experiment. The GtrcNet-1 box is unable to handle this latency at higher rates, due to the limited buffer size, which leads to packet drops (approximately 10 % loss rate for a 940 Mbps input rate). UDT seems to be deeply affected by this as the mean throughput doesn't go above 320 Mbps. TCP behavior doesn't change until the input/throughput reaches 900 Mbps.

This can be explained by the fact that UDT generates bursts at a much higher rate than the input value, leading to heavy losses in this case. These bursts don't exist for TCP as PSPacer is used to limit and pace the throughput on the emitter. The slight change of slope for the UDT goodput at 300 ms RTT is due to the use of a timeout to limit the duration of one transfer.

The modelling presented in the following section takes this problem into consideration as we restricted the fitting over the linear parts.

Model fitting

In this section, we model the mean throughput and goodput obtained in the previous section as a function of the RTT and of the input rate X. This model is necessary as we need to find out for each protocol which input rate to provide so as to get a given throughput.

Since we observed a linear behavior of the throughput and of the goodput, we use a linear regression to fit the model:

goodput(X, RT T ) = a g (RT T ) * X + b g (RT T ) (1) throughput(X, RT T ) = a t (RT T ) * X + b t (RT T ) (2)
From that, we can write the input X as a function of throughput or goodput:

X = throughput(X, RT T ) -b t (RT T ) a t (RT T ) (3) X = goodput(X, RT T ) -b g (RT T ) a g (RT T ) (4)
Finally, we can express throughput (resp. goodput) as a function of goodput (resp. throughput):

throughput(X, RT T ) = a t (RT T ) a g (RT T ) (goodput(X, RT T ) -b g (RT T )) + b t (RT T ) (5) goodput(X, RT T ) = a g (RT T ) a t (RT T ) (throughput(X, RT T ) -b t (RT T )) + b g (RT T ) (6)
It is this formula that will be used throughout of the rest of this research report to generate the appropriate values for the profile. The resulting coefficients are shown in Fig. 9 and 10. As these coefficients are still depending on the RTT, we also need to model them as a function of RTT. As in Fig. 9, the relationship between the coefficients and the RTT seems to be linear, we perform another linear regression.

The resulting final model is rather good for TCP as the correlation coefficients are above 0.99 for the goodput and above 0.98 for the throughput. The modelling obtained for UDT is less accurate, especially for the b coefficients, but as they are rather small, we can assume that the impact will be limited for large target throughput values.

Tables 2 and3 provide the actual values of the coefficient computed. Tables 4 and5 yield the value of these coefficients as a function of RTT.

Model validation on single rate profile

Finally, we check the validity of the model over a simple case scenario. A constant profile is defined for different RTTs and target throughputs for a transfer that is expected to last about 60 s. The results are averaged over 10 tries. Figures 11 and12 show the lateness on these experiments where m lies between 0 and 10% by steps of 0.5% for both TCP and UDT.

It seems to performs well for TCP as the results are never over the estimated completion time and most of the time the difference is less than one second. Adding a margin doesn't significantly improve TCP 0 ms TCP 1 ms TCP 10 ms Goodput 0.93280X + 9.56543 (0.99974) 0.93203X + 9.56445 (0.99974) 0.91939X + 9.46380 (0.99974) Throughput 0.99110X + 8.33749 (0.99988) 0.99111X + 8.33450 (0.99988) 0.99099X +8.45958 (0.99988) TCP 100 ms TCP 200 ms TCP 300 ms Goodput 0.87199X + 7.64142 (0.99982) 0.81791X + 6.20263 0.77160X + 5.08259 (0.99988) Throughput 0.99163X + 7.69914 (0.9990) 0.99234X + 6.84330 (0.99985) 0.99365X + 6.58520 (0.99992) Table 3: Goodput and Throughput as a function of the input X and correlation coefficient for TCP UDT a(RTT) UDT b(RTT) Goodput -5.599518e-4RTT + 0.984038 (-0.99353) -0.00517RTT + 2.971245 (-0.538542) Throughput 8.904223e-5RTT + 1.037945 (0.837839) -0.009606RTT + 3.96935 (-0.71783) the prediction for TCP. The results are not as good for UDT, especially for the small values for the target throughput and large latency (200Mbps and 100ms RTT). That is probably due to the constant coefficients the model of which isn't accurate enough. With a reasonable margin, however, it is possible to get close enough to the estimated completion time.

This also shows that the roundings performed for the purpose of the generation of the profile don't affect the results much. Computations show that the rounding would cause a difference in completion time of about 100 ms, which is significantly smaller than 60 s.

Model evaluation

In this section, we are studying the impact of sharing a bottleneck using steps profile as defined in Sect. 3 and comparing predicted completion times using the model established in Sect. 5.

Figure 13 shows the typical behavior of the TCP and the UDT throughput when following a step profile. For instance, we can see that there is a time-lag between the moment a change of rate is asked and the moment it is really enforced.

Two profiles, margin & lateness

Figure 14 shows the lateness of the two transfers using the profile defined above for TCP and UDT with a 12ms RTT. It can be noted that TCP performs very well as soon as the margin is high enough to prevent losses. This threshold lies at 2.5 % of margin. Concerning UDT, we can observe that there is no such threshold and that the lateness decreases smoothly until 25 %, where it reaches 1 s. This is probably related to Fig. 7 and8 where the maximum instant throughput is shown. UDT's max throughput was always well above the mean throughput.

In Fig. 15, a similar experiment is conducted except that the two competing flows are using a different protocol. Here we can observe that the TCP flow is deeply impacted as the lateness is never under 10 s. Meanwhile, the UDT flow doesn't experience any delay when the margin is more than 2.5 %.

Transitions

In order to explain the remaining lateness, we take a look at the step transitions.

To allow a better understanding of this phenomenon, a close up of the throughput during the transition from 10 Mbps to 600 Mbps is shown in Fig. 16. The area between the TCP/UDT throughput and the step shape corresponds to a volume of data that couldn't be sent.

Figure 13 seems to point out that what we are losing on the increasing side is gained on the decreasing side of the steps or even through the UDT bursts, but we are trying to provide a upper bound for that.

Figures 17(b) and 17(c) present the cost in time of a transition from a low value (10 Mbps) to a high value for different RTT values for TCP, resp. UDT. It is a part of the profile where we are very likely to lose time due to the necessity to adapt to the new throughput value. We can see that the cost doesn't depend much on the RTT and that it can be bounded by a few tens of milliseconds. It is significantly smaller than the overall duration of the transfer. This is all the more obvious when compared to TCP Reno 17(a). In this case, we can see that the cost linearly increases with the height of the transition, due to the AIMD congestion avoidance algorithm increases the congestion window linearly. We can also see the impact of the RTT feedback loop, as the cost dramatically increases with the RTT to be about 1 s per transition for a 100 ms RTT. Using TCP Reno to follow a bandwidth profile seems inadequate as soon as the RTT is above local range (about 0.1 ms).

The main cause of the observed lateness is probably due to synchronization problems between the two emitters: a look at the gridftp server log shows that there is in average about 200 ms difference at the connection start-time, which might enough to upset the whole sharing of the bandwidth. In this case, applying a small margin is then the solution to guarantee a completion in time for all the transfers.

Conclusion

In this research report, we have shown how UDT and TCP without congestion control+pacing can be used to implement transfers on a profile of rate. The affine models proposed to predict the completion time is a function of RTT and throughput of the profile. Model is accurate for TCP as soon as the margin is more than 2.5% of the capacity. However, the model is less accurate for UDT as its throughput is more bursty. This causes the instant throughput to be significantly higher than the predicted mean throughput. Still, the lateness is less than 1s on 60s transfers when margin is higher than 15%. We also showed that the cost of transition is independent of RTT and steps' height. This cost, expressed in term of lateness, has been evaluated to be between 10ms and 20ms each.

This model and enforcement mechanisms can be used as a part of a scheduled transfer solutions.

Fig. 1 .Figure 1 :

 11 Figure 1: Grid'5000 topology

Finally a comparison

  Figure 2: Model

Figure 3 :

 3 Figure 3: Ideal profiles with link capacity C and margin m.

Figure 4 :

 4 Figure 4: CPU utilization for TCP and UDT as a function of input rate under different latencies.

Figures 5 Figure 5 :

 55 Figures 5 and 6 present the mean throughput and the mean goodput obtained by TCP, resp. by UDT, as a function of the input rate for different RTT values.

Figure 6 :

 6 Figure 6: Goodput and throughput of UDT as a function of "input" rate under different latencies.

Figure 7 :Figure 8 :

 78 Figure 7: Maximum and mean throughput as a function of input rate for TCP under different latencies.

Figure 10 :

 10 Figure 10: b g and b t for TCP and UDT as a function of RTT.

Figure 11 :

 11 Figure11: Verification of the model using lateness on a simple constant profile for TCP.

Figure 12 :Figure 13 :

 1213 Figure12: Verification of the model using lateness on a simple constant profile for UDT.

Figure 14 :

 14 Figure 14: Lateness (95% confidence interval) as a function of margin m for a 60s transfers using TCP and UDT for 12ms RTT.

Figure 15 :Figure 16 :

 1516 Figure 15: Lateness (95% confidence interval) as a function of margin m for a 60s transfers using TCP for one and UDT for the other for 12ms RTT.

Figure 17 :

 17 Figure 17: Cost of low to high transition in term of loss of time

Table 1 :

 1 Evolution of the average goodput in Mbps for different transport protocols and number of parallel streams

	number UDT	TCP Reno	TCP
	1	723.44	640.4	649.28
	1 (-p 1)	887.1	878.4	884.8
	2	900.8	891.5	888.8
	5	900.8	896.9	888.8
	10	900.8	895.5	872.8

  Figure9: a g and a t for TCP and UDT as a function of RTT.

			1.1
			1.05
			1
		A coefficient	0.9 0.95
			0.85
			0.75 0.8	a t TCP a g TCP a t UDT a g UDT
			0	50	100	150	200	250	300
						RTT (ms)
				UDT 0 ms		UDT 1 ms	UDT 10 ms
	Goodput	0.99496X + 1.73509 (0.99998) 0.98050X + 3.52491 (0.99996) 0.97804X + 2.60650 (0.99940)
	Throughput		1.0490X + 2.7828 (0.99999)	1.0335X + 4.7096 (0.9993)	1.0379X + 3.1431 (.099907)
			UDT 100 ms		UDT 200 ms	UDT 300 ms
	Goodput	0.91669X + 3.92689 (0.99991)			0.81986X + 0.93781 (0.99998)
	Throughput		1.0384X + 4.7263 (0.99990)			1.06752X + 0.53683 (0.9998)

Table 2 :

 2 Goodput and Throughput as a function of the input X and correlation coefficient for UDT

Table 4 :

 4 Linear regression coefficients as a function of RTT for UDT

		TCP a(RTT)	TCP b(RTT)
	Goodput	-5.36746e-4RTT + 0.928945 (-0.998147) -0.015479RTT + 9.496315 (-0.994341)
	Throughput 8.155708e-6RTT + 0.990973 (0.982622) -0.006467RTT + 8.368437 (-0.98429)

Table 5 :

 5 Linear regression coefficients as a function of RTT for TCP

once above the disk speed limit, we stay at this value for the D2D measurement

Acknowledgments

This work has been funded by the French ministry of Education and Research, INRIA (RESO and Gridnets-FJ teams), via ACI GRID's Grid'5000 project, the IGTMD ANR grant, NEGST CNRS-JSP project. A part of this research was supported by a grant from the Ministry of Education, Sports, Culture, Science and Technology (MEXT) of Japan through the NAREGI (National Research Grid Initiative) Project and the PAI SAKURA 100000SF with AIST-GTRC.

List of Figures


C Dumitrescu

M Wolf

Almost all of the nontrivial zeros of the Riemann zeta-function are on the critical line

research documents, whether they are published or not. The documents may come

Almost all of the nontrivial zeros of the Riemann zeta-function are on the critical line

Cristian Dumitrescu, M Wolf

Introduction

In his only paper devoted to the number theory published in 1859 [START_REF] Riemann | Üeber die Anzahl der Primzahlen unter einer gegebenen Grösse[END_REF] (it was also included as an appendix in [START_REF] Edwards | Riemann's zeta function[END_REF]) Bernhard Riemann continued analytically the series

∞ n=1 1 n s , s = σ + it, σ > 1 (1)
to the complex plane with exception of s = 1, where the above series is a harmonic divergent series. He has done it using the integral

ζ(s) = Γ(1 -s) 2πi C (-z) s e z -1 dz z , (2)
where the contour C is The definition of (-z) s is (-z) s = e s log (-z) , where the definition of log(-z) conforms to the usual definition of log(z) for z not on the negative real axis as the branch which is real for positive real z, thus (-z) s is not defined on the positive real axis, see [9, p.10]. Appearing in [START_REF] Blanc | A new reason for doubting the Riemann hypothesis[END_REF] the gamma function Γ(z) has many representations, we present the Weierstrass product:

Γ(z) = e -Cz z ∞ k=1 e z/k 1 + z k . ( 3
)
Here C is the Euler-Mascheroni constant

C = lim n→∞ n k=1 1 k -log(n) = 0.577216 . . . . (4)
From [START_REF] Booker | Turing and the Riemann Hypothesis[END_REF] it is seen that Γ(z) is defined for all complex numbers z, except z = -n for integer n > 0, where are the simple poles of Γ(z). The most popular definition of the gamma function given by the integral Γ(z) = ∞ 0 e -t t z-1 dt is valid only for Re[z] > 0. Recently perhaps over 100 representations of ζ(s) are known, for review of the integral and series representations see [START_REF] Milgram | Integral and Series Representations of Riemann's Zeta Function and Dirichlet's Eta Function and a Medley of Related Results[END_REF].

The function ζ(s) has two kinds of zeros: trivial zeros at s = -2n, n = 1, 2, 3, . . . and nontrivial zeros in the critical strip 0 < Re(s) < 1. In [START_REF] Riemann | Üeber die Anzahl der Primzahlen unter einer gegebenen Grösse[END_REF] Riemann made the assumption, now called the Riemann Hypothesis (RH for short in following), that all nontrivial zeros ρ n lie on the critical line Re[s] = 1 2 : ρ n = 1 2 + iγ n . Contemporary the above requirement is augmented by the demand that all nontrivial zeros are simple. Riemann has shown that ζ(s) fulfills the functional identity:

π -s 2 Γ s 2 ζ(s) = π -1-s 2 Γ 1 -s 2 ζ(1 -s), for s ∈ C \ {0, 1}. (5)
The above form of the functional equation is explicitly symmetrical with respect to the line Re(s) = 1/2: the change s → 1 -s on both sides of [START_REF] Broughan | Equivalents of the Riemann Hypothesis[END_REF] shows that the values of the combination of functions π -s 2 Γ s 2 ζ(s) are the same at points s and s -1. Thus it is convenient to introduce the function

ξ(s) = 1 2 s(s -1)Γ s 2 ζ(s). (6)
Then the functional identity takes the simple form:

ξ(1 -s) = ξ(s) (7)
The fact that ζ(s) = 0 for Re(s) > 1 and the form of the functional identity entails that nontrivial zeros ρ n = β n + iγ n are located in the critical strip:

0 ≤ Re[ρ n ] = β n ≤ 1.
From the complex conjugation of ζ(s) = 0 it follows that if ρ n = β n + iγ n is a zero, then ρ n = β n -iγ n also is a zero. From the symmetry of the functional equation [START_REF] Broughan | Equivalents of the Riemann Hypothesis[END_REF] with respect to the line Re[s] = 1 2 it follows, that if ρ n = β n + iγ n is a zero, then 1 -ρ n = 1 -β n -iγ n and 1 -ρ n = 1 -β n + iγ n are also zeros: they are located symmetrically around the straight line Re[s] =1 2 and the axis t = 0, see Fig. 1. The classical (from XX century) references on the RH are [START_REF] Titchmarsh | The Theory of the Riemann Zeta-function[END_REF], [START_REF] Edwards | Riemann's zeta function[END_REF], [START_REF] Ivić | The Riemann zeta-function: the theory of the Riemann zeta-function with applications[END_REF], [START_REF] Karatsuba | The Riemann zeta-function[END_REF]. In the XXI century there appeared two monographs about the zeta function: [START_REF] Borwein | The Riemann Hypothesis: A Resource For The Afficionado And Virtuoso Alike[END_REF] and [START_REF] Broughan | Equivalents of the Riemann Hypothesis[END_REF].

There was a lot of attempts to prove RH and the common opinion was that it is true. However let us notice that there were famous mathematicians: J. E. Littlewood [6, p.345], [12, p. 390], P. Turan and A.M. Turing [3, p.1209] M. Huxley [8, p. 357] believing that the RH is not true, see also the paper "On some reasons for doubting the Riemann hypothesis" [START_REF] Ivic | On some reasons for doubting the Riemann hypothesis[END_REF] (reprinted in [4, p.137]) written by A. Ivić. In Karatsuba's talk [18] at 1:01:10 1 he mentions that Atle Selberg had serious doubts whether RH is true or not. New arguments against RH can be found in [START_REF] Blanc | A new reason for doubting the Riemann hypothesis[END_REF]. When J. Derbyshire asked A. Odlyzko about his opinion on the validity of RH he replied "Either it's true, or else it isn't" [8, p. 357-358]. There were some attempts to prove RH using the physical methods, see [START_REF] Schumayer | Physics of the Riemann hypothesis[END_REF] or [START_REF] Wolf | Will a physicist prove the Riemann hypothesis[END_REF].

In [28, p.81] we read: "Hilbert said that if he could rise from the dead in 200 years, his first thought would not be to ask what social or technological progress there had been, but what had been discovered about the zeros of the zeta function ζ because that is not only the most interesting unanswered mathematical question, but the most interesting of all questions..."

Zeta's zeros on the critical line

In 1914 G.H. Hardy [START_REF] Hardy | Sur les zéros de la fonction ζ(s) de Riemann[END_REF] (reprinted in [START_REF] Borwein | The Riemann Hypothesis: A Resource For The Afficionado And Virtuoso Alike[END_REF]) proved first result in favor of the RH: there are infinitely many zeros of ζ(s) on the critical line. Let N 0 (T ) denotes number of the ζ(s) zeros on the critical line 1 2 + iγ n with imaginary part 0 < γ n < T . In 1921 Hardy and Littlewood in [START_REF] Hardy | The zeros of riemann's zeta-function on the critical line[END_REF] proved that N 0 (T ) > const • T for large T . Let N (T ) denotes the number of zeta zeros ρ n = β + iγ n in the critical strip up to T , i.e. the number of zeta zeros in the rectangle 0 < β < 1, 0 < γ n < T . In 1942 A. Selberg in [START_REF] Selberg | On the zeros of Riemann's zeta-function on the critical line[END_REF] proved that N 0 (T ) > const • T log log log(T ) for large T and in [START_REF] Selberg | On the zeros of Riemann's zeta-function[END_REF] he improved it to N 0 (T ) > const • T log(T ) for large T (these two papers are reprinted in [27]). Norman Levinson proved [START_REF] Levinson | More than one third of zeros of Riemann's zeta-function are on σ = 1/2[END_REF] that more than one-third of zeros of Riemann's ζ(s) are on critical line N 0 (T ) > N (T )/3 by relating the zeros of the zeta function to those of its derivative. Later Levinson [START_REF] Levinson | Deduction of Semi-Optimal Mollifier for Obtaining Lower Bound for N 0 (T ) for Riemann's Zeta-Function[END_REF] improved the proportion of zeros on the critical line to 0.3474. Brian Conrey in 1989 improved this further to two-fifths (precisely 40.77 %) [START_REF] Conrey | More than two-fifths of the zeros of the Riemann zeta function are on the critical line[END_REF]. The present record seems to belong to S. Feng, who proved that at least 41.28% of the zeros of the Riemann zeta function are on the critical line [START_REF] Feng | Zeros of the Riemann zeta function on the critical line[END_REF].

In this paper we are going to apply the Littlewood's Lemma to show that almost all zeta zeros are on the critical line:

Theorem: Almost all zeros ρ n = β n + iγ n of the ζ(s) function have β n = 1
2 . Here by "almost all" we mean, that

N 0 (T ) N (T ) = 1 + O 1 T log(T ) , ( 8
)
where T is not an imaginary part of the nontrivial zeta's zero.

3 Proof of the Theorem . We will use the Littlewood's Lemma (see e.g. [START_REF] Iwaniec | Lectures on the Riemann Zeta Function[END_REF]Chap.21]:

Littlewood's Lemma: Let F (s) be holomorphic function inside rectangle D with sides parallel to axes not vanishing on the boundary ∂D and let dist(ρ) denotes the distance of the zero ρ of F (s), i.e. F (ρ) = 0, to the left side of D. Then

ρ∈D dist(ρ) = 1 2π ∂D log(F (s))ds, s = σ + it (9)
For the function F (s) we will substitute the Riemann's ξ(s) function defined in (6) which has the same zeros as ζ(s):

ξ(s) = 1 2 s(s -1)π -s/2 Γ s 2 ζ(s). (10)
In addition to functional equation ( 7) it fulfils:

ξ(s) = ξ(s). (11)
We have log(ξ(s

)) = log |ξ(s)| + i arg(ξ(s)). (12)
Let 0 < α < 1 2 be a real number. We consider the rectangle D(α, T ) with vertices A = (1 -α, iT ), B = (α, iT ), C = (α, -iT ), D = (1 -α, -iT ), see Fig. 2 and we will look for zeros of ξ(s) which are the same as zeros of ζ(s). We have in this case (see .eq [START_REF] Levinson | Deduction of Semi-Optimal Mollifier for Obtaining Lower Bound for N 0 (T ) for Riemann's Zeta-Function[END_REF] in [START_REF] Iwaniec | Lectures on the Riemann Zeta Function[END_REF]):

ρ∈D(α) distρ = 1 2π T -T log(|ξ(α + it)|) -log(|ξ(1 -α + it)|) dt + 1 2π 1-α α arg(ξ(σ + iT )) -arg(ξ(σ -iT )) dσ, (13)
where the argument is defined by continuous variation starting with any fixed value at a chosen point. . From functional identity [START_REF] Conrey | More than two-fifths of the zeros of the Riemann zeta function are on the critical line[END_REF] and [START_REF] Good | The Riemann hypothesis and pseudorandom features of the Möbius sequence[END_REF] we have

|ξ(α + it)| = |ξ(1 -α -it)| = |ξ(1 -α + it)| (14)
thus the first integral in (13) vanishes. Next, we know that arg(ξ(σ -iT )) = -arg(ξ(σ + iT )) [START_REF] Ivić | The Riemann zeta-function: the theory of the Riemann zeta-function with applications[END_REF] and it follows

ρ∈D(α) dist(ρ) = 1 π 1-α α arg(ξ(σ + iT ))dσ (16)
First we will calculate rhs of ( 16). We have:

arg(ξ(s)) = arg 1 2 s(s -1) + arg π -s/2 + arg Γ s 2 + arg(ζ(s)) (17)
From the proviso in [START_REF] Levinson | More than one third of zeros of Riemann's zeta-function are on σ = 1/2[END_REF] we have to restrict s to principal branch, thus argument for s = σ+iT is close to π/2 because arg(s) is a little bit less than pı/2 and arg(s-1) is a little bit more than π/2 thus we write arg(s(s -1)) = π + o(1).

(

) 18
Hence we have

1-α α arg 1 2 s(s -1) dσ = (1 -2α) (π + o(1)) . ( 19
)
From Stirling formula, see e.g. [1, eq. 6.1.37 and eq.( 6.1.41)] we have

log(Γ(z)) = z - 1 2 log(z) -z + 1 2 log(2π) + 1 12z + . . . , arg(z) < π (20)
and in our case:

log Γ s 2 = σ 2 - 1 2 + i T 2 log σ 2 4 + T 2 4 1 2 + i arg σ 2 + i T 2 (21) - σ 2 + i T 2 + 1 2 log(2π) + o(1)
Hence arg Γ s 2 = Im(log Γ s 2 = ( 22
)
T 4 log σ 2 4 + T 2 4 - T 2 + σ 2 - 1 2 arg σ 2 + i T 2
For the last term we can write for very large

T σ 2 - 1 2 arg σ 2 + i T 2 = σ 2 - 1 2 π 2 + o(1) (23)
For very large T we can skip terms with α under logarithms:

T log α 2 4 + T 2 4 = T log T 2 4 1 + α 2 T 2 = ( 24
) 2T log T 2 + T log 1 + α 2 T 2 = 2T log T 2 + O 1 T .

Further we have arg(π -(σ+iT

)/2 ) = - T 2 log(π) (25)
Together from above equations we have:

arg(ξ(σ + iT )) = T 2 log σ 2 4 + T 2 4 + C(σ) - T 2 (1 + log(π)) + arg(ζ(σ + iT )) + o(1). ( 26
)
Above C(σ) absorbs constants:

C(σ) = π + π 2 σ 2 - 1 2 + o(1) = 3π 4 + π 4 σ + o(1) (27)
-σ Integrating by parts we obtain

1 6 1 2 + it 1 2 + iT @ @ I 6 6 6 ? ? ? - α -
log σ 2 4 + T 2 4 dσ = σ log σ 2 4 + T 2 4 -2σ + 2T arctan σ T + constant (28)
and it gives

1-α α arg(ξ(σ + iT ))dσ = (1 -α) T 4 log (1 -α) 2 4 + T 2 4 -2 (29)
-α T 4 log α 2 4 + T 2 4 -2 + T 2 2 arctan 1 -α T -arctan α T -(1 -2α) T 2 (1 + log(π)) + C 2 + 1-α α arg(ζ(σ + iT ))dσ + O(1) + C 2
where

C 2 = 1-α α C(σ)dσ = (1 -2α) 7π 8 + o(1) (30)
Using the Maclaurin series expansion of arctan(x) we find that for large

T T arctan 1 -α T -arctan α T = 1 -2α + O 1 T . (31)
Adding ( 19) and [START_REF] Selberg | On the zeros of Riemann's zeta-function[END_REF] gives us finally that the rhs of ( 16) is equal to (33)

1 π 1-α α arg 1 2 s(s -1) + arg π -s/2 + arg Γ s 2 + arg(ζ(s) dσ = (1 -2α) T 2π log T 2π - T 2π + C 2 π + o(1) + 1 π 1-α α arg(ζ(s) dσ. (32
Applying it to arg(ζ(σ + iT )), when T is not equal to imaginary part of nontrivial zero (arg(ζ(s)) is not defined for s equal to zero of zeta) we have:

1-α α arg(ζ(σ + iT ))dσ = (1 -2α) arg(ζ(σ 0 + iT )) (34)
for some σ 0 ∈ (α, 1 -α). Letting α → 1 2 we have lim

α→ 1 2 1 1 -2α 1-α α arg(ζ(σ + iT ))dσ = arg ζ 1 2 + iT (35)
Thus finally we obtain for α close to

1 2 1 π 1-α α arg(ξ(σ + iT ))dσ = = (1 -2α) T 2π log T 2π - T 2π + 7 8 + 1 π arg ζ 1 2 + iT + o(1) . (36)
From the Riemann-von Mangoldt formula we have that the number of zeta zeros N (T ) with positive imaginary parts < T (and real part inside critical strip) is (see eq.(2.3.6) in [START_REF] Borwein | The Riemann Hypothesis: A Resource For The Afficionado And Virtuoso Alike[END_REF])

N (T ) = T 2π log T 2π - T 2π + 7 8 + 1 π arg ζ 1 2 + iT + O(T -1 ). ( 37
)
The term 7/8 was already know to von Mangoldt, see [30, p.10 eq.( 8)]. Comparing (36) and (37) we obtain

1 π 1-α α arg(ξ(σ + iT ))dσ = (1 -2α) (N (T ) + o(1)) (38)
Now we will focus on the lhs of ( 16). This needs information about specific location of zeros. Because there are only finite number of zeta zeros inside rectangle ABCD, we can choose α so close to 1 2 that zeros off critical line be outside rectangle D(α, T ), i.e. our symmetric rectangle closely hugs the critical line that inside are only zeros on Re(s) = 1 2 . Then we have

ρ∈D(α,T ) dist(ρ) = 1 2 -α 2N 0 (T ). (39)
Comparing ( 38) and (39) we can cancel 1 -2α = 0 on both sides what gives:

N 0 (T ) = N (T ) + o(1) (40)
and we obtain (8).

Comments

Our method is based on the symmetry relations satisfied by the ξ(s) function (in relation to Littlewood's lemma), which drastically simplify the calculations. The other two major ideas in our work are, first, the use of the mean value theorems for integrals, (and second) in combination with that limit process when the rectangle hugs the critical line together with the behavior of various terms in our calculations under this process. So there are about three fundamental ideas that we use in our work. We rely more on symmetry and the consequences of a limit process, rather than the computational techniques involving smoothing functions (mollifiers), like Conrey and Levinson employ. When we apply Littlewood's lemma, we know that there exists an analytic branch of log(ξ) on the simply connected domain represented by our rectangle without the horizontal branch cuts connecting the left side of our rectangle with ζ zeros inside our rectangle. For any branch of the logarithm, in other words for any branch of the argument, the conclusions of our calculations are not significantly affected.

Because in (8) in the limit T → ∞ there will be equality N 0 (T ) = N (T ) we propose Conjecture: There exists such a constant Y that if β + iγ is a zero of ζ(s) and |γ| > Y then β = 1 2 .

If RH is true then the above Conjecture is empty, i.e. Y = 0. In the paper [START_REF] Good | The Riemann hypothesis and pseudorandom features of the Möbius sequence[END_REF] I.J. Good and R.F. Churchhouse gave the arguments that RH is true with probability 1. Above we have showed that almost 100% of the ζ(s) are on the critical line.

Figure 1 :

 1 Figure 1: The location of zeros of the Riemann ζ(s) function.

Figure 2 .

 2 Figure 2. Rectangle D(α, T ), in red critical line is plotted. Sides AB and CD have length 1 -2α while sides CB and DA have length 2T .

)

  We give estimate for the integral of the argument of ζ(s). The mean value theorem for definite integrals: Let f : [a, b] → R be a continuous function. Then there exists c ∈ (a, b) such that b a f (x) dx = f (c)(b -a).

We thank A. Kourbatov for bringing this fact to our attention


Alfredo Gonzalez-Perez
email: alfredo.gonzalez@campusroslagen.se]

Angel Macia

Water disinfection with micelle-clay composites

Keywords: Micelle-clay composites, water disinfection, hexadecylpyridinium, bentonite, sphere-torod transition

HAL is

INTRODUCTION

Water disinfection is necessary step in drinking water production to avoid water contaminated with germs that may make people sick. Drinking water is produced from raw water that may have different origins like, rivers, lakes and wells and can be potentially contaminated with a variety of microorganisms and toxins. Additionally, water can also be contaminated with germs on their way through the piping system towards the final user. To avoid these problems, disinfectants like chlorine and chloramine as well as UV are mainly used, and a wide variety of advanced materials are being developed for that same purpose (Gonzalez-Perez et a. 2018). Those options are not free of issues and disinfectant by-products can be generated adding extra causes of concern for public health (Boorman et al 1999, Lee and[START_REF] Lee | Drinking Water Disinfection Byproducts (DBPs) and Human Health Effects: Multidisciplinary Challenges and Opportunities[END_REF]. Additionally, sustainability issues for an aging centralized drinking water infrastructure suggest a shift towards small-scale decentralized systems that can ensure a more rational, resilient, and sustainable model for drinking water production and delivery in cities. This tendency will give new opportunities for small-scale approaches that are not easy implementable on the large-scale infrastructure characteristic from conventional drinking water production and delivery in cities. To reach good drinking water quality withing acceptable limits of safety, clays have been used as alternative option for small scale drinking water units and individual households. The use of organoclays for the removal of pollutants from water is extensively reported in the literature and from modification protocols to practical cases has been getting attention for the removal of pollutants of emerging concern (Guégan et al. 2020). More recently the use of micelle-clay composite, that involve the use of surfactants in micellar form instead of monomeric for clay modification, have been proven to be efficient for the removal of bacteria and hydrophobic neutral chemicals from water [START_REF] Polubesova | Water purification from organic pollutants by optimized Micelle-clay systems[END_REF][START_REF] Benitez | Modified compositions of micelle-clay and liposome-clay composites for optimal removal from water of bacteria and hydrophobic neutral chemicals[END_REF]. In this work, we investigate the use of quaternary ammonium salts with surface active properties and long alkyl chains for the modification of clays to develop micelle-clay composites for the removal of bacteria from water.

RESULTS AND DISCUSSION

Following the work of Nir and collaborators [START_REF] Nir | Water purification from perchlorate by micelle-clay complex: laboratory and pilot experiments[END_REF] we prepared modified Bentonite the using a different quaternary ammonium cation at several concentrations in monomeric and self-assembled micellar form. The behaviour of alkylpyridinium halides in aqueous solution in monomeric and micellar form is well know and reported in the literature [START_REF] Gonzalez-Perez | Sphere to rod transitions in homologous alkylpyridinium salts. A stauff-Klevens type equation for the second critical micelle concentration[END_REF]). The isotherms of adsorption for alkylpyridicnium have been investigated by several authors [START_REF] Chen | Adsorption enthalpy and adsorption isotherm of tetradecylpyridinium bromide on Na-Montmorillonite[END_REF]). In the current work we use bentonite and hexadecylpiridinium bromide (C16PyBr) for the preparation of Micelle-clay composites. We follow an analogous protocol to Benitez and collaborators [START_REF] Benitez | Modified compositions of micelle-clay and liposome-clay composites for optimal removal from water of bacteria and hydrophobic neutral chemicals[END_REF]. Is important to note that C16PyBr is not soluble a 20 C hence heating was needed in order to ensure that all the solution was soluble, and the presence of monomers or micelles could be found from the conductivity vs concentration isotherms [START_REF] Galan | Thermodynamic study of the process of micellization of long chain alkyl pyridinium salts in aqueous solution[END_REF]. We use the following concentrations of C16PyBr; 0.00054, 0.00098, 0.01009, 0.02616 mol/kg -1 . The bentonite concentration used was about two times the concentration of surfactant. The surfactant was first dissolved in distilled water and warm to ensure that is fully soluble in water. After stabilization the corresponding amount of clay was added with continuous stirring and the process was monitored for several days. Conductivity was used to monitor the cationic exchange upon the mixing with bentonite. The conductivity results are shown in figure 1. The first conductivity data at zero time corresponds to the conductivity of different concentrations of pure C16PyBr. After adding the clay, the conductivity changes where monitored for several days. After 70 hours all the cationic exchange reached saturation and the modified clay was extracted by centrifugation and dried for further use on the filtration experiments. A small layer of modified clay was used for a preliminary filtration test, based on the micelle-clay composite, with a known solution of E. Coli. The bacteria were counted after filtration to assess the entrapment on the test filter. Preliminary results on filtration in in the laboratory with the Micelle-clay composite (sphere-like micelles) indicate the removal of bacteria in good agreement with the results previously published using other quaternary ammonium surfactants in their composition. Note that hexadecylpydinium cation is a close structural relative to octadecyltrimethylammonium and hexadecyldimethylbenzylammonium that had been used by other authors [START_REF] Benitez | Modified compositions of micelle-clay and liposome-clay composites for optimal removal from water of bacteria and hydrophobic neutral chemicals[END_REF] for the removal of bacteria from water. More studies will follow these preliminary results to investigate the optimal composition for the maximization of the bacterial removal and different flow rates as well as test on the regeneration of the used filter material to increase their life-spam. We see a bright future to this micelle-clay composite alternative for the removal of virus and bacteria that can be used on small scale water treatment units without known by-products. In line with a global tendency towards decentralization and the possible end of centralized systems in cities to ensure sustainability and resilience, we envisage possibilities to implement this type of technology not only on the countryside but also in medium and large cities.

Figure 1 .

 1 Figure 1. Conductivity vs time at different C16PyBr-Motmorillonite concentrations in monomeric and micellar form.

Acknowledgement

This work has been carried out within the strategic innovation program BioInnovation, a joint venture by Vinnova, Formas and the Swedish Energy Agency (Vinnova project 2022-00677 Biobased composite filters for small scale water purification units). A G-P acknowledges financial support from VINNOVA (Vinnova project 2021-03838 Removal of Macrolide Antibiotics from Water using Clays).