{"id":821,"date":"2019-02-26T13:19:42","date_gmt":"2019-02-26T13:19:42","guid":{"rendered":"https:\/\/wordpress.ape\/?page_id=821"},"modified":"2019-04-12T15:19:31","modified_gmt":"2019-04-12T15:19:31","slug":"nanet","status":"publish","type":"page","link":"https:\/\/apegate.roma1.infn.it\/?page_id=821","title":{"rendered":"NaNet"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"821\" class=\"elementor elementor-821 elementor-bc-flex-widget\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-15bd208 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"15bd208\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-63fb76c\" data-id=\"63fb76c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fc96b28 elementor-widget elementor-widget-spacer\" data-id=\"fc96b28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca3fdfd elementor-widget elementor-widget-image\" data-id=\"ca3fdfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"960\" height=\"720\" src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/NaNet-logo.png\" class=\"attachment-full size-full wp-image-804\" alt=\"\" srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/NaNet-logo.png 960w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/NaNet-logo-300x225.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/NaNet-logo-768x576.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-360c634\" data-id=\"360c634\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-67d2117 elementor-widget elementor-widget-text-editor\" data-id=\"67d2117\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>The NaNet project goal is the design and implementation of a family of FPGA-based PCIe\u00a0<span style=\"font-size: 15px;\">Network Interface Cards for High Energy Physics to bridge the front-end electronics and the\u00a0<\/span><span style=\"font-size: 15px;\">software trigger computing nodes.<\/span><\/b><\/p><p>The design supports both standard and custom channels:<b> GbE<\/b> (1000BASE-T),<b> 10GbE<\/b> (10Base-KR),<b>40GbE, <\/b><b>APElink<\/b> (custom 34 Gbps link dedicated to HPC systems),<b> KM3link<\/b> (deterministic latency 2.5Gbps link used in the KM3Net-IT experiment data acquisition system).<\/p><p>The RDMA feature combined with of a transport protocol layer offload module and a data stream processing stage makes NaNet a low-latency NIC suitable for <b>online processing<\/b> of data streams.<\/p><p>NaNet GPUDirect\/RDMA capability enables the connected processing system to exploit the high computing performances of modern <b>GPUs on real-time applications<\/b>.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6d2963b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6d2963b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-8255aaa\" data-id=\"8255aaa\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d81a9c8 elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs\" data-id=\"d81a9c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-2261\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-2261\" aria-expanded=\"false\">I\/O Interface<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-2262\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-2262\" aria-expanded=\"false\">Router<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-2263\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-2263\" aria-expanded=\"false\">Network Interface<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-2264\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-2264\" aria-expanded=\"false\">PCIe Core<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-2261\" aria-expanded=\"false\">I\/O Interface<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-2261\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-2261\" tabindex=\"0\" hidden=\"false\"><p>It performs a 4-stages processing on the data stream: following the\u00a0OSI Model, the Physical Link Coding stage implements, as the name suggests, the channel\u00a0<span style=\"font-size: 15px;\">physical layer (e.g. 1000BASE-T) while the Protocol Manager stage handles, depending on\u00a0<\/span><span style=\"font-size: 15px;\">the kind of channel, data\/network\/transport layers (e.g. Time Division Multiplexing or UDP);\u00a0<\/span><span style=\"font-size: 15px;\">the Data Processing stage implements application dependent transformations on data streams\u00a0<\/span><span style=\"font-size: 15px;\">(e.g. performing compression\/decompression) while the APEnet Protocol Encoder performs\u00a0<\/span><span style=\"font-size: 15px;\">protocol adaptation, encapsulating inbound payload data in APElink packet protocol, used in\u00a0<\/span><span style=\"font-size: 15px;\">the inner NaNet logic, and decapsulating outbound APElink packets before re-encapsulating\u00a0<\/span><span style=\"font-size: 15px;\">their payload in output channel transport protocol (e.g. UDP).<\/span><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-2262\" aria-expanded=\"false\">Router<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-2262\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-2262\" tabindex=\"0\" hidden=\"hidden\"><p>It\u00a0supports a configurable number of ports implementing a full crossbar\u00a0<span style=\"font-size: 15px;\">switch responsible for data routing and dispatch. Number and bit-width of the switch\u00a0<\/span><span style=\"font-size: 15px;\">ports and the routing algorithm can each be defined by the user to automatically achieve a\u00a0<\/span><span style=\"font-size: 15px;\">desired configuration. The Router block dynamically interconnects the ports and comprises\u00a0<\/span><span style=\"font-size: 15px;\">a fully connected switch, plus routing and arbitration blocks managing multiple data flows\u00a0<\/span><span style=\"font-size: 15px;\">@2.8 GB\/s<\/span><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-2263\" aria-expanded=\"false\">Network Interface<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-2263\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-2263\" tabindex=\"0\" hidden=\"hidden\"><p>The block acts on the transmitting side by gathering data coming in\u00a0<span style=\"font-size: 15px;\">from the PCIe port and forwarding them to the Router destination ports while on the receiving\u00a0<\/span><span style=\"font-size: 15px;\">side it provides support for RDMA in communications involving both the host and\u00a0<\/span><span style=\"font-size: 15px;\">the GPU (via the dedicated GPU I\/O Accelerator module)<\/span><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-2264\" aria-expanded=\"false\">PCIe Core<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-2264\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-2264\" tabindex=\"0\" hidden=\"hidden\"><p>The module is built upon a powerful commercial core from PLDA that\u00a0<span style=\"font-size: 15px;\">sports a simplified but efficient backend interface and multiple DMA engines.<\/span><\/p><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-3132868\" data-id=\"3132868\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c43efc4 elementor-widget elementor-widget-spacer\" data-id=\"c43efc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f069955 elementor-widget elementor-widget-image\" data-id=\"f069955\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"838\" height=\"712\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet.png\" class=\"attachment-large size-large wp-image-989 lazyload\" alt=\"\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet.png 838w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet-300x255.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet-768x653.png 768w\" data-sizes=\"(max-width: 838px) 100vw, 838px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 838px; --smush-placeholder-aspect-ratio: 838\/712;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9a00780 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9a00780\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5d31fab\" data-id=\"5d31fab\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a67f52c elementor-widget elementor-widget-spacer\" data-id=\"a67f52c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-78bdc8a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"78bdc8a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8d7b642\" data-id=\"8d7b642\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2a378db elementor-widget elementor-widget-html\" data-id=\"2a378db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<table id=\"tablepress-4\" class=\"tablepress tablepress-id-4\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><th class=\"column-2\"><center>NaNet-1<\/center><\/th><th class=\"column-3\"><center>NaNet<sup>3<\/sup><\/center><\/th><th class=\"column-4\"><center>NaNet-10<\/center><\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\"><strong>Year<\/strong><\/td><td class=\"column-2\"><center>Q3 - 2013<\/center><\/td><td class=\"column-3\"><center>Q1 - 2017<\/center><\/td><td class=\"column-4\"><center>Q1 - 2017<\/center><\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><strong>Device Family<\/strong><\/td><td class=\"column-2\"><center>Altera Stratix IV <br> Development Kit<\/center><\/td><td class=\"column-3\"><center>Altera Stratix V  <br> Terasic DE5<\/center><\/td><td class=\"column-4\"><center>Altera Stratix V <br> Terasic DE5<\/center><\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><strong>Channel Technology<\/strong><\/td><td class=\"column-2\"><center>1 GbE<\/center><\/td><td class=\"column-3\"><center>KM3link<\/center><\/td><td class=\"column-4\"><center>10 GbE<\/center><\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><strong>Trasmission Protocol<\/strong><\/td><td class=\"column-2\"><center>UDP<\/center><\/td><td class=\"column-3\"><center>TDM<\/center><\/td><td class=\"column-4\"><center>UDP<\/center><\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\"><strong>Number of channel<\/strong><\/td><td class=\"column-2\"><center>1<\/center><\/td><td class=\"column-3\"><center>4<\/center><\/td><td class=\"column-4\"><center>4<\/center><\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\"><strong>PCIe<\/strong><\/td><td class=\"column-2\"><center>Gen2 x8<\/center><\/td><td class=\"column-3\"><center>Gen2 x8<\/center><\/td><td class=\"column-4\"><center>Gen3 x8<\/center><\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\"><strong>nVIDIA GPUDirect RDMA<\/strong><\/td><td class=\"column-2\"><center>YES<\/center><\/td><td class=\"column-3\"><center>YES<\/center><\/td><td class=\"column-4\"><center>YES<\/center><\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\"><strong>Real-time Processing<\/strong><\/td><td class=\"column-2\"><center>Decompressor<\/center><\/td><td class=\"column-3\"><center>Decompressor<\/center><\/td><td class=\"column-4\"><center>Decompressor; Merger<\/center><\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\"><strong>HEP experiment<\/strong><\/td><td class=\"column-2\"><center>NA62<\/center><\/td><td class=\"column-3\"><center>KM3NeT-It<\/center><\/td><td class=\"column-4\"><center>NA62<\/center><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-01064c0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"01064c0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c7978f9\" data-id=\"c7978f9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d10d5f9 elementor-widget elementor-widget-spacer\" data-id=\"d10d5f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fb97a69 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fb97a69\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a64c8df\" data-id=\"a64c8df\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4a96cdc elementor-widget elementor-widget-heading\" data-id=\"4a96cdc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">NaNet Software Stack<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6f1a824 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6f1a824\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-4ff8abb\" data-id=\"4ff8abb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4d0ea66 elementor-widget elementor-widget-text-editor\" data-id=\"4d0ea66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Software components for NaNet operation are needed both on the x86 host and on the Nios II FPGA-embedded \u03bccontroller. On the x86 host, a GNU\/Linux kernel driver and an application library are present.<\/p><p>The application library provides an API mainly for open\/close device operations, registration (<i>i.e.<\/i> allocation, pinning and returning of virtual addresses of buffers to the application) and deregistration of circular lists of persistent receiving buffers (CLOPs) in GPU and\/or host memory and signalling of receive events on these registered buffers to the application (<i>e.g.<\/i> to invoke a GPU kernel to process data just received in GPU memory).<\/p><p>On the \u03bccontroller, a single process application is in charge of device configuration, generation of the destination virtual address inside the CLOP for incoming packets payload and virtual to physical memory address translation performed before the PCIe DMA transaction to the destination buffer takes place.<\/p><p>The control flow of processes through kernel and user space are detailed below:<\/p><ul><li>NaNet NIC DMA-writes a \u201creceiving done\u201d event in a memory region called &#8220;event queue\u201d trapped by a kernel-space device driver notified to the user application which launches a CUDA kernel to process the data using the GPU;<\/li><li>Results of the processing is eventually sent via NaNet board to the network:<br \/>data are DMA-read directly from GPU memory;<\/li><li>the kernel device driver (invoked by the user application on HOST) instructs the NIC by filling a \u201cdescriptor\u201d into a dedicated, DMA-accessible memory region called \u201cTX ring\u201d;<\/li><li>the presence of new descriptors is notified to NaNet by writing on a doorbell register over PCIe;<br \/>NaNet NIC issues a \u201ctx done\u201d completion event in the \u201cevent queue\u201d.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-fde913b\" data-id=\"fde913b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8234f84 elementor-widget elementor-widget-image\" data-id=\"8234f84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"464\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/CLOPs-1024x464.png\" class=\"attachment-large size-large wp-image-1036 lazyload\" alt=\"\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/CLOPs-1024x464.png 1024w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/CLOPs-300x136.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/CLOPs-768x348.png 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/CLOPs.png 1034w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/464;\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Circular List of Permanent buffers (CLOPs)<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09f89e2 elementor-widget elementor-widget-image\" data-id=\"09f89e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"669\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/04\/nanet_hwsw.png\" class=\"attachment-large size-large wp-image-1205 lazyload\" alt=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/669;\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Control flow detail of processes through kernel\/user space<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-edafac7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"edafac7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ddced61\" data-id=\"ddced61\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-72c5fe8 elementor-widget elementor-widget-heading\" data-id=\"72c5fe8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">NaNet performance \/ implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2842b9a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2842b9a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d5583ee\" data-id=\"d5583ee\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8cc32ee elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs\" data-id=\"8cc32ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1471\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1471\" aria-expanded=\"false\">NaNet-1<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1472\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1472\" aria-expanded=\"false\">NaNet-10<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1473\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1473\" aria-expanded=\"false\">NaNet<sup>3<\/sup><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1471\" aria-expanded=\"false\">NaNet-1<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1471\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1471\" tabindex=\"0\" hidden=\"false\"><p><img decoding=\"async\" class=\"alignnone wp-image-999 size-medium lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_lat-300x219.png\" alt=\"\" width=\"300\" height=\"219\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_lat-300x219.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_lat-768x561.png 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_lat.png 870w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/219;\" \/>\u00a0 \u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<img decoding=\"async\" class=\"alignnone wp-image-998 size-medium lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_bw-300x224.png\" alt=\"\" width=\"300\" height=\"224\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_bw-300x224.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_bw-768x572.png 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet1_bw.png 852w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/224;\" \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<img decoding=\"async\" class=\"alignnone wp-image-1000 size-medium lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet_test_system-300x200.jpg\" alt=\"\" width=\"300\" height=\"200\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet_test_system-300x200.jpg 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet_test_system-768x512.jpg 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/nanet_test_system.jpg 1000w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/200;\" \/><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1472\" aria-expanded=\"false\">NaNet-10<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1472\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1472\" tabindex=\"0\" hidden=\"hidden\"><p><a href=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/total_latency_stripes_nosend.png\"><img decoding=\"async\" class=\"wp-image-1005 size-medium alignleft lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/total_latency_stripes_nosend-300x196.png\" alt=\"\" width=\"300\" height=\"196\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/total_latency_stripes_nosend-300x196.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/total_latency_stripes_nosend-768x502.png 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/total_latency_stripes_nosend-1024x670.png 1024w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/02\/total_latency_stripes_nosend.png 1300w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/196;\" \/><\/a><a href=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_lat-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-1047 size-medium lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_lat-1-300x232.png\" alt=\"\" width=\"300\" height=\"232\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_lat-1-300x232.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_lat-1-768x593.png 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_lat-1-1024x791.png 1024w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/232;\" \/><\/a><a href=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_bw-1.png\"><img decoding=\"async\" class=\"alignnone wp-image-1048 size-medium lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_bw-1-300x232.png\" alt=\"\" width=\"300\" height=\"232\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_bw-1-300x232.png 300w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_bw-1-768x593.png 768w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/Nanet10_bw-1-1024x791.png 1024w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/232;\" \/><\/a><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1473\" aria-expanded=\"false\">NaNet<sup>3<\/sup><\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1473\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1473\" tabindex=\"0\" hidden=\"hidden\"><p><a href=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet_3.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-1091 size-medium lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet_3-258x300.jpg\" alt=\"\" width=\"258\" height=\"300\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet_3-258x300.jpg 258w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet_3.jpg 513w\" data-sizes=\"(max-width: 258px) 100vw, 258px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 258px; --smush-placeholder-aspect-ratio: 258\/300;\" \/><\/a><a href=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet3_on_off_shore.png\"><img decoding=\"async\" class=\"wp-image-1107 size-medium alignnone lazyload\" data-src=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet3_on_off_shore-288x300.png\" alt=\"\" width=\"288\" height=\"300\" data-srcset=\"https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet3_on_off_shore-288x300.png 288w, https:\/\/apegate.roma1.infn.it\/wp-content\/uploads\/2019\/03\/NaNet3_on_off_shore.png 576w\" data-sizes=\"(max-width: 288px) 100vw, 288px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 288px; --smush-placeholder-aspect-ratio: 288\/300;\" \/><\/a><\/p><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>The NaNet project goal is the design and implementation of a family of FPGA-based PCIe\u00a0Network Interface Cards for High Energy Physics to bridge the front-end electronics and the\u00a0software trigger computing nodes. The design supports both standard and custom channels: GbE (1000BASE-T), 10GbE (10Base-KR),40GbE, APElink (custom 34 Gbps link dedicated to HPC systems), KM3link (deterministic latency [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"site-sidebar-layout":"no-sidebar","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-821","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=\/wp\/v2\/pages\/821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=821"}],"version-history":[{"count":42,"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=\/wp\/v2\/pages\/821\/revisions"}],"predecessor-version":[{"id":1207,"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=\/wp\/v2\/pages\/821\/revisions\/1207"}],"wp:attachment":[{"href":"https:\/\/apegate.roma1.infn.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}