29 research outputs found
COREC: Concurrent Non-Blocking Single-Queue Receive Driver for Low Latency Networking
Existing network stacks tackle performance and scalability aspects by relying
on multiple receive queues. However, at software level, each queue is processed
by a single thread, which prevents simultaneous work on the same queue and
limits performance in terms of tail latency. To overcome this limitation, we
introduce COREC, the first software implementation of a concurrent non-blocking
single-queue receive driver. By sharing a single queue among multiple threads,
workload distribution is improved, leading to a work-conserving policy for
network stacks. On the technical side, instead of relying on traditional
critical sections - which would sequentialize the operations by threads - COREC
coordinates the threads that concurrently access the same receive queue in
non-blocking manner via atomic machine instructions from the Read-Modify-Write
(RMW) class. These instructions allow threads to access and update memory
locations atomically, based on specific conditions, such as the matching of a
target value selected by the thread. Also, they enable making any update
globally visible in the memory hierarchy, bypassing interference on memory
consistency caused by the CPU store buffers. Extensive evaluation results
demonstrate that the possible additional reordering, which our approach may
occasionally cause, is non-critical and has minimal impact on performance, even
in the worst-case scenario of a single large TCP flow, with performance
impairments accounting to at most 2-3 percent. Conversely, substantial latency
gains are achieved when handling UDP traffic, real-world traffic mix, and
multiple shorter TCP flows
Metronome: Adaptive and Precise Intermittent Packet Retrieval in DPDK
The increasing performance requirements of modern applications place a significant burden on software-based packet processing. Most of today’s software input/output accelerations achieve high performance at the expense of reserving CPU resources dedicated to continuously poll the Network Interface Card. This is specifically the case with DPDK (Data Plane Development Kit), probably the most widely used framework for software-based packet processing today. The approach presented in this paper, descriptively called Metronome, has the dual goals of providing CPU utilization proportional to the load, and allowing flexible sharing of CPU resources between I/O tasks and applications. Metronome replaces DPDK’s continuous polling with an intermittent sleep&wake mode, and revolves around a new multi-threaded operation, which improves service continuity. Since the proposed operation trades CPU usage with buffering delay, we propose an analytical model devised to dynamically adapt the sleep&wake parameters to the actual traffic load, meanwhile providing a target average latency. Our experimental results show a significant reduction of the CPU cycles, improvements in power usage, and robustness to CPU sharing even when challenged with CPU-intensive applications
Confronto di 30 ibridi di diversa precocità . Sorgo da granella: quali sono le varietà per il 2016
La rete di prove di confronto tra ibridi di sorgo da granella, giunta al 32° anno di attività , ha visto la realizzazione do 6 campi sperimentali, 2 nel Nord, 3 in Italia centrale e 1 in Sicilia. Le alte temperature estive e le precipitazioni verificatesi nella seconda parte del ciclo vegetativo hanno consentito un buon riempimento della granella soprattutto agli ibridi di ciclo tra medio-precoce e Medio
32° anno di prove - confronto tra 30 genotipi in 4 località : Sorgo da granella gli ibridi più performanti.
La stagione ha favorito i cicli medi. Arsenio al vertice negli ultimi 4 anni. Fra
i nuovi spicca Abera