Francois Alexandre
email: francois.alexandre@fontalvie.fr

Nelly Heraud

Nicolas Oliver

Alain Varray

Cortical implication in lower voluntary muscle force production in non-hypoxemic COPD patients

Keywords: Muscle Weakness, Near Infrared Spectroscopy, Neural Activity, Central Nervous System, Peripheral Muscle Dysfunction, Quadriceps Force

Recent studies have shown that muscle alterations cannot totally explain peripheral muscle weakness in COPD. Cerebral abnormalities in COPD are well documented but have never been implicated in muscle torque production. The purpose of this study was to assess the neural correlates of quadriceps torque control in COPD patients.

Fifteen patients (FEV 1 54.1 ± 3.6 % predicted) and 15 age-and sex-matched healthy controls performed maximal (MVCs) and submaximal (SVCs) voluntary contractions at 10, 30 and 50% of the maximal voluntary torque of the knee extensors. Neural activity was quantified with changes in functional near-infrared spectroscopy oxyhemoglobin (fNIRS-HbO) over the contralateral primary motor (M1), primary somatosensory (S1), premotor (PMC) and prefrontal (PFC) cortical areas.

In parallel to the lower muscle torque, the COPD patients showed lower increase in HbO than healthy controls over the M1 (p<0.05), PMC (p<0.05) and PFC areas (p<0.01) during MVCs.

In addition, they exhibited lower HbO changes over the M1 (p<0.01), S1 (p<0.05) and PMC (p<0.01) areas during SVCs at 50% of maximal torque and altered motor control characterized by higher torque fluctuations around the target.

The results show that low muscle force production is found in a context of reduced motor cortex activity, which is consistent with central nervous system involvement in COPD muscle weakness.

Introduction

Peripheral muscle dysfunction is very frequent in COPD and has major consequences. The loss of muscle force in COPD patients has become a matter of heightened concern because it implies exercise limitation [START_REF] Gosselink | Peripheral muscle weakness contributes to exercise limitation in COPD[END_REF], increased use of health care resources [START_REF] Decramer | Muscle weakness is related to utilization of health care resources in COPD patients[END_REF], and higher mortality [START_REF] Swallow | Quadriceps strength predicts mortality in patients with moderate to severe chronic obstructive pulmonary disease[END_REF]. The involvement of muscle atrophy in this loss was established several years ago [START_REF] Bernard | Peripheral muscle weakness in patients with chronic obstructive pulmonary disease[END_REF].

However, several elements point to the existence of other explanatory mechanisms. For instance, a recent study reported that COPD patients exhibit a decline in muscle force even when their muscle mass is comparable to that of healthy controls [START_REF] Menon | Ultrasound assessment of lower limb muscle mass in response to resistance training in COPD[END_REF]. In addition, the lower muscle force across GOLD stages (between GOLD I and IV) is not explained by smaller muscle cross-sectional areas [START_REF] Shrikrishna | Quadriceps wasting and physical inactivity in patients with COPD[END_REF]. Therefore, other mechanisms should be explored to enhance understanding of the pathophysiology of muscle weakness in COPD.

A decline in muscle force can be caused by alterations in the muscle and/or the nervous system [START_REF] Clark | Sarcopenia =/= dynapenia[END_REF]. Interestingly, several studies have assessed the cerebral properties in COPD patients and reported small cerebral vessel disease [START_REF] Lahousse | Chronic obstructive pulmonary disease and cerebral microbleeds. The Rotterdam Study[END_REF], gray matter deficits [START_REF] Zhang | Reduced regional gray matter volume in patients with chronic obstructive pulmonary disease: a voxel-based morphometry study[END_REF], white matter lesions [START_REF] Zhang | Reduced regional gray matter volume in patients with chronic obstructive pulmonary disease: a voxel-based morphometry study[END_REF][START_REF] Dodd | Brain structure and function in chronic obstructive pulmonary disease: a multimodal cranial magnetic resonance imaging study[END_REF] and neuronal dysfunction [START_REF] Shim | Cerebral metabolic abnormalities in COPD patients detected by localized proton magnetic resonance spectroscopy[END_REF]. At a more functional level, COPD patients exhibit lengthening peripheral [START_REF] Oncel | Peripheral neuropathy in chronic obstructive pulmonary disease[END_REF] and central [START_REF] Kirkil | The evaluation of cognitive functions with P300 test for chronic obstructive pulmonary disease patients in attack and stable period[END_REF] nervous conduction times, alterations in motor cortex excitability [START_REF] Hopkinson | Corticospinal control of respiratory muscles in chronic obstructive pulmonary disease[END_REF], and cognitive disorders [START_REF] Zhang | Reduced regional gray matter volume in patients with chronic obstructive pulmonary disease: a voxel-based morphometry study[END_REF][START_REF] Dodd | Brain structure and function in chronic obstructive pulmonary disease: a multimodal cranial magnetic resonance imaging study[END_REF]. In contrast, the potential repercussions over the central motor drive and muscle performance are unknown.

A few studies have evaluated muscle activation in COPD using the twitch interpolation technique [START_REF] Mador | Quadriceps fatigability after single muscle exercise in patients with chronic obstructive pulmonary disease[END_REF][START_REF] Seymour | Quadriceps and ankle dorsiflexor strength in chronic obstructive pulmonary disease[END_REF][START_REF] Vivodtzev | Voluntary activation during knee extensions in severely deconditioned patients with chronic obstructive pulmonary disease: benefit of endurance training[END_REF], an indirect assessment of the central motor drive. However, the results were discrepant [START_REF] Mador | Quadriceps fatigability after single muscle exercise in patients with chronic obstructive pulmonary disease[END_REF][START_REF] Seymour | Quadriceps and ankle dorsiflexor strength in chronic obstructive pulmonary disease[END_REF][START_REF] Vivodtzev | Voluntary activation during knee extensions in severely deconditioned patients with chronic obstructive pulmonary disease: benefit of endurance training[END_REF] and no definitive conclusions could be drawn. The discrepancies may be explained by the poor sensitivity of this technique at near maximal force, which makes it difficult to discriminate two populations during maximal voluntary contractions (MVCs) [START_REF] Herbert | Twitch interpolation in human muscles: mechanisms and implications for measurement of voluntary activation[END_REF]. Thus, the question of nervous system involvement in COPD muscle weakness remains unanswered.

An alternative to circumvent the limitations of twitch interpolation could be the use of neuroimaging techniques. Force output is directly related to cortical activity as measured by functional magnetic resonance imaging (fMRI) [START_REF] Van Duinen | Relation between muscle and brain activity during isometric contractions of the first dorsal interosseus muscle[END_REF] and functional near infrared spectroscopy (fNIRS) [START_REF] Derosiere | Relationship between submaximal handgrip muscle force and NIRS-measured motor cortical activation[END_REF]. The fNIRS oxy-(HbO) and deoxy-hemoglobin (HbR) signals are strongly correlated with the blood-oxygen-level-dependent (BOLD) fMRI signal, and they are widely acknowledged to be reliable for functional cortical activity assessment in various conditions [START_REF] Strangman | A quantitative comparison of simultaneous BOLD fMRI and NIRS recordings during functional brain activation[END_REF][START_REF] Sato | A NIRS-fMRI investigation of prefrontal cortex activity during a working memory task[END_REF][START_REF] Mehagnoul-Schipper | Simultaneous measurements of cerebral oxygenation changes during brain activation by near-infrared spectroscopy and functional magnetic resonance imaging in healthy young and elderly subjects[END_REF]. In addition, fNIRS has been validated for the study of neural activity in a wide range of populations, such as the elderly [START_REF] Mehagnoul-Schipper | Simultaneous measurements of cerebral oxygenation changes during brain activation by near-infrared spectroscopy and functional magnetic resonance imaging in healthy young and elderly subjects[END_REF] and COPD [START_REF] Higashimoto | Activation of the prefrontal cortex is associated with exertional dyspnea in chronic obstructive pulmonary disease[END_REF], stroke [START_REF] Lin | The cortical control of cycling exercise in stroke patients: an fNIRS study[END_REF], and obese patients [START_REF] Mehta | Obesity-related differences in neural correlates of force control[END_REF] during various motor tasks, including MVCs [START_REF] Mehta | Obesity-related differences in neural correlates of force control[END_REF]. Whereas fMRI restricts body movement within the enclosed chamber, fNIRS presents a high signal-to-noise ratio and relatively poor sensitivity to motion artifacts, making it the more suitable for cortical activity assessment during exercise [START_REF] Perrey | Non-invasive NIR spectroscopy of human brain function during exercise[END_REF][START_REF] Ekkekakis | Illuminating the black box: investigating prefrontal cortical hemodynamics during exercise with near-infrared spectroscopy[END_REF].

Given the numerous cerebral alterations in COPD that have never been linked with poor muscle force production, the purpose of this study was to assess the fNIRS-neural correlates of quadriceps contraction at maximal and submaximal intensity in COPD patients. We hypothesized lower activity over motor cortical areas in COPD patients than healthy controls during quadriceps contractions.

Material and Methods

Subjects

Fifteen COPD patients and 15 age-and sex-matched sedentary healthy subjects were recruited for the study. The participation criteria for the COPD patients were forced expiratory volume in the 1 st second (FEV 1 ) between 30 and 80% of the predicted values, with no exacerbation or weight loss in the month preceding the study. No patient had taken part in a rehabilitation program in the previous 12 months. The non-inclusion criteria for the participants were an inability to give written consent, inability to perform the experimental maneuvers, impaired visual function, use of drugs known to impair brain function, current or past alcohol abuse, and neurologic or neuromuscular disease. All participants gave written consent. Procedures were approved by the local Ethics Committee (Comité de protection des personnes Sud Est VI, number AU980) and complied with the principles of the Declaration of Helsinki for human experimentation. The study was registered at www.clinicaltrials.gov as NCT01679782.

Design

All participants underwent a medical examination, including evaluation of resting pulmonary function, body composition and clinical parameters, before taking part in the study. The protocol consisted of maximal and submaximal voluntary contractions of the knee extensors, during which cortical activity was assessed non-invasively from changes in fNIRS signals [START_REF] Sato | A NIRS-fMRI investigation of prefrontal cortex activity during a working memory task[END_REF][START_REF] Lin | The cortical control of cycling exercise in stroke patients: an fNIRS study[END_REF]. The exercise protocol is presented in Figure 1. After determination of the dominant leg, the participants performed a standardized warm-up of the knee extensors by repeating 20 submaximal voluntary contractions for 2 s every 5 s. They next performed three maximal voluntary contractions (MVCs) and three submaximal voluntary contractions (SVCs) at 10, 30 and 50% of the maximal voluntary torque twice in random order. Each MVC lasted for 5 s and two successive MVCs were separated by a 2-min resting period. Each SVC lasted for 20 s and two successive SVCs were separated by a 1.5 min resting period. The random draw to determine the order of the SVCs took place immediately after the three MVCs had been performed and the target torques calculated. A last MVC was performed to ensure the absence of neuromuscular fatigue at the end of the exercise testing.

Mechanical recordings

Subjects were comfortably seated on a dedicated ergometer for knee extensor testing (Quadriergoforme, Aleo Industrie, Salome, France) with a 30° back inclination. Chair adjustments were made to ensure that the foot, patella and coxofemoral articulation of the dominant leg were in the same axis. The knee angle was set to 110°. The pelvis and the proximal extremity of the patella were securely attached to the chair in order to minimize movements of adjacent muscles. In addition, the head was supported by a neck brace to avoid potential head motion. Torque of the knee extensors during the contractions was recorded with a strain gauge torque sensor (Captels, Saint Mathieu de Treviers, France). The acquired analog signal was converted into digital data (DA conversion) through an acquisition system (Biopac MP100, Biopac Systems, Santa Barbara, CA, USA) and instantaneously relayed to a screen to give visual feedback. During each MVC and each SVC, subjects were verbally encouraged to ensure maximal muscle torque and to maintain the force requirement, respectively. Before the SVCs, the target torque was clearly indicated to the subjects via the computer monitor and they received visual feedback of their performance during the contractions.

Cortical activity assessment

A continuous wave multichannel functional near-infrared spectroscopy (fNIRS) system (Oxymon Mark III, Artinis, the Netherlands) was used at two wavelengths in the near-infrared range (nominal wavelengths of 760 and 850 nm) to detect regional concentration changes in oxyhemoglobin (HbO) and deoxyhemoglobin (HbR) during cortical activation over cortical motor areas. fNIRS is based on neurovascular coupling: when neural activity increases, the increase in regional cerebral blood flow is ten times higher than the increase in regional oxygen consumption. Thus, as the increase in regional cerebral blood flow greatly exceeds the increase in oxygen consumption, neuronal hemodynamic concentration is closely coupled with the increase in regional cerebral blood flow, which turns into local hyperoxygenation [START_REF] Fox | Nonoxidative glucose consumption during focal physiologic neural activity[END_REF] and subsequent increase in HbO with a decrease in HbR [START_REF] Colier | Human motor-cortex oxygenation changes induced by cyclic coupled movements of hand and foot[END_REF]. The fNIRS-measured hemoglobin is comparable to the BOLD-fMRI signal and mainly reflects changes in cortical gray matter hemodynamic [START_REF] Sato | A NIRS-fMRI investigation of prefrontal cortex activity during a working memory task[END_REF]. The fNIRS optodes were held by a cap fixated by several bands surrounding the subject's head. A total of nine channels were positioned over the contralateral primary motor (M1), primary somatosensory (S1), premotor (PMC) and prefrontal (PFC) cortical areas in accordance with the modified EEG 10-10 system [START_REF]Guideline thirteen: guidelines for standard electrode position nomenclature. American Electroencephalographic Society[END_REF] (Figure 2a). The source-detector spacing was set to 3.5 cm. During probe placement, Oxysoft software (V6.0, Artinis, the Netherlands) allowed real time assessment of the quality of the fNIRS signal for each channel based on the light source power level and the receiver gain.

Hemoglobin concentrations were corrected by implementing a specific differential pathlength factor (4.99 + 0.067 × age 0.814 ), in order to convert the concentration changes in HbO and HbR to µM units [START_REF] Duncan | Measurement of cranial optical path length as a function of age using phase resolved near infrared spectroscopy[END_REF]. The fNIRS signal was low-pass filtered (finite impulse response) using a cut-off frequency of 0.7 Hz. The sampling rate was set at 10 Hz. To avoid systemic bias, we also monitored the pulsed arterial oxygen saturation (SpO 2 ) in a restricted group of patients (n=12). The oximetry probe (Weinman, Hamburg, Deutshland) was placed on the index finger and the participants were asked to keep their hand motionless throughout the experiment.

Data analysis

During MVCs, maximal quadriceps torque (Q MVC ) was calculated over the highest 500-ms plateau of torque during the best trial of the three MVCs.

During SVCs, task matching was evaluated by averaging and comparing the mean performed torque versus the target torque. In addition, during each SVC, the motor control was assessed from the fluctuations around the target. An inaccuracy index (Inaccuracy index ) was calculated and represents the RMS (root mean square) of the difference between produced and target torques during the 20 s of submaximal voluntary contractions expressed as a percentage of the target torque [START_REF] Chow | Force control of quadriceps muscle is bilaterally impaired in subacute stroke[END_REF]. The normalization by the target torque is necessary because the torque variability is known to be proportional to the torque level [START_REF] Missenard | Muscular fatigue increases signal-dependent noise during isometric force production[END_REF].

Changes in cortical activity were determined from HbO variations as previously described [START_REF] Lin | The cortical control of cycling exercise in stroke patients: an fNIRS study[END_REF]. HbO signals with artifacts or a too-low signal-to-noise ratio were marked and excluded from the analyses under a visual pre-processing analysis [START_REF] Minagawa-Kawai | Optical brain imaging reveals general auditory and language-specific processing in early infant development[END_REF]. During the best trial of the three MVCs and of the more accurate SVCs at 10, 30 and 50% of Q MVC , the area under the curve of HbO normalized over time was used as an index of neural activity (Figure 2b).

The data, taken from the four channels over the M1 area, the two channels over the S1 area, and the two channels over the PMC area were averaged, resulting in the overall response of, respectively, the M1, S1 and PMC areas.

Before the beginning of exercise testing, resting HbO was calculated for each cortical area over a 2-min resting period, respecting the same analysis process as aforementioned.

Statistical analysis

All statistical analyses were performed using Statistica software (StatSoft, Inc., version 6.0, Tulsa, OK, USA). All data were examined for normality using a Shapiro-Wilk test.

Differences in subject characteristics and variables recorded during MVCs were tested between controls and patients using an unpaired Student's t-test. Absence of neuromuscular fatigue was tested using a two-way analysis of variance (ANOVA) with group as betweensubject factor (COPD and controls) and condition (before and after exercise testing) as withinsubject factor. The Inaccuracy index and HbO recorded during SVCs were tested using a twoway ANOVA with group as between-subject factor and torque level (10, 30 and 50% of Q MVC ) as within-subject factor. Analysis of covariance (ANCOVA) with adjustment for Q MVC was used to ensure that the difference in HbO between patients and controls was not due to a difference in muscle torque between the groups. Task compliance during SVCs was tested with a three-way ANOVA with group as between-subject factor and condition (target versus performed) and torque level (10, 30 and 50% of Q MVC ) as two within-subject factors. The underlying assumptions of ANOVA were checked using a Levene test (homogeneity of the variance) and a Mauchly test (sphericity of the variance). When the ANOVA F ratio was significant (p<0.05), the means were compared by a LSD post-hoc test. Data are reported as means and standard error of the mean (SE).

Results

Subject characteristics

The subject characteristics are given in Table 1. Consistent with the matching, no difference in the gender ratio or age was observed between patients and controls. Weight, body mass index and fat-free mass index exhibited no significant differences (p>0.05). According to the Voorrips questionnaire [START_REF] Voorrips | A physical activity questionnaire for the elderly[END_REF], the level of physical activity was comparable for patients and controls (p=0.64).

Control of absence of desaturation and fatigue during exercise testing

SpO 2 remained stable for all patients during both MVCs and SVCs. The mean ΔSpO2 was 0.01 ± 0.12 % during MVCs (p=0.98) and 0.017 ± 0.19 % during SVCs (p=0.98).

Absence of neuromuscular fatigue was checked by changes in Q MVC after the protocol. Both patients and controls exhibited no significant differences in Q MVC (condition and interaction F ratio ranged from 0.17 to 1.10, p ranged from 0.31 to 0.68).

Maximal voluntary contractions

Q MVC was significantly lower by 24.8% in COPD patients compared with controls (131.9 ± 16.6 and 175.4 ± 24.9 Nm, respectively, for patients and controls, t=2.5, p<0.05).

The regional HbO during MVCs is shown in Figure 3. Compared with controls, patients showed significantly lower HbO changes over M1 (t=2.1, p<0.05), PMC (t=2.3, p<0.05) and PFC (t=3.1, p<0.01). In contrast, HbO changes during MVCs were comparable between patients and controls over S1 (t=0.3, p=0.74).

Submaximal voluntary contractions (SVCs)

Task matching during SVCs was checked by comparing the performed torque with the target torque (Figure 4). No significant differences were found between performed and target torques for patients or controls at the three submaximal torque levels (F ranged from 0.31 to 2.22, p ranged from 0.15 to 0.74). In contrast, the Inaccuracy index was significantly higher in patients compared with controls for all submaximal torque levels (F=7.99, p<0.001). At 10, 30 and 50% of Q MVC , the Inaccuracy index was 7.04 ± 0.59 vs 5.15 ± 0.62, 4.6 ± 0.44 vs 3.46 ± 0.58, and 4.83 ± 0.47 vs 3.69 ± 0.78 in patients and controls, respectively.

The regional HbO as a function of torque level is shown in Figure 5.

Over the M1 area, HbO was significantly increased compared with resting values, from 30% of Q MVC in controls (p<0.001) and from 50% of Q MVC in patients (p<0.01). Compared with controls, patients showed significantly lower HbO changes at 30% and 50% of Q MVC (respectively, p<0.05 and p<0.01).

Over the S1 area, HbO was significantly increased compared with resting values, from 50% of Q MVC in controls (p<0.001). In patients, HbO did not change significantly whatever the submaximal torque (p ranged from 0.34 to 0.49). In addition, at 50% of Q MVC , HbO changes were significantly lower in COPD patients than in controls (0.26 ± 0.09 vs 0.59 ± 0.18 µM, p<0.05).

Over the PMC area, HbO was significantly increased compared with resting values, from 30% of Q MVC in patients and controls (systematically p<0.01). Compared with controls, patients showed lower HbO changes at 50% of Q MVC (0.25 ± 0.13 vs 0.72 ± 0.12 µM, p<0.01).

Over the PFC area, HbO was significantly increased compared with resting values, at 50% of Q MVC in patients and controls (systematically p<0.05). There was no difference in HbO changes between patients and controls for any submaximal torque level (F ranged from 0.75 to 0.9, p ranged from 0.35 to 0.53).

The impact of the patients' lower absolute torque values compared with controls on HbO changes was checked using an ANCOVA. Consistently with respect to Figure 6 and adjusting for Q MVC , HbO remained significantly lower over M1 at 30% and 50% of Q MVC in patients compared with controls (all p<0.05). Similarly, the observed effects in HbO changes over the S1, PMC and PFC areas were unaffected when Q MVC was added as a covariable: HbO changes remained significantly lower over the S1 and PMC areas in patients at 50% of Q MVC (all p<0.05), but comparable between the patients and controls over the PFC area (F ranged from 0.01 to 2, p ranged from 0.17 to 0.99).

Discussion

The present study is the first to assess the neural correlates of quadriceps contractions in COPD patients. The main findings were lower HbO changes over the M1, PMC and PFC areas during maximal voluntary contractions in the COPD patients compared with controls. In addition, the COPD patients showed lower HbO changes than controls over the M1 area at 30% and 50% of Q MVC and over the S1 and PMC areas at 50% of Q MVC . Last, the COPD patients exhibited greater torque fluctuations around the target than controls.

The COPD patients exhibited 24.8% lower muscle force than healthy controls. This is consistent with the usual torque deficit reported in the literature in moderate COPD patients, which ranges from 20% to 30% [START_REF] Mador | Skeletal muscle dysfunction in chronic obstructive pulmonary disease[END_REF]. The neural correlates of quadriceps torque were simultaneously recorded with the non-invasive neuroimaging fNIRS technique [START_REF] Sato | A NIRS-fMRI investigation of prefrontal cortex activity during a working memory task[END_REF][START_REF] Lin | The cortical control of cycling exercise in stroke patients: an fNIRS study[END_REF] over major cortical areas for movement generation. Our results show smaller HbO increases over the M1, PMC and PFC areas in the COPD patients during MVCs. These results cannot be due to oxygen desaturation because the exercise did not induce SpO 2 changes. Similarly, it may not be explained by lower resting cerebral blood flow due to resting blood gases abnormalities because cerebrovascular reactivity to hypoxemia (increase in cerebral blood flow when PaO 2 decreases) is preserved in COPD [START_REF] Yildiz | Impact of COPD exacerbation on cerebral blood flow[END_REF][START_REF] Albayrak | Extracranial carotid Doppler ultrasound evaluation of cerebral blood flow volume in COPD patients[END_REF]. According to the neurovascular coupling principle (as previously explained in the methods section), the data thus obtained with the fNIRS technique suggest a smaller local hyperoxygenation at the cortex in COPD patients compared with healthy controls. These results support lower neural activity in these patients, which would explain the decreased voluntary torque via reduced cortical motor output, and is coherent with the cerebrovascular damage and gray matter deficit described in the literature [START_REF] Lahousse | Chronic obstructive pulmonary disease and cerebral microbleeds. The Rotterdam Study[END_REF][START_REF] Zhang | Reduced regional gray matter volume in patients with chronic obstructive pulmonary disease: a voxel-based morphometry study[END_REF].

During the submaximal voluntary contractions, we found a smaller HbO increase in the patients over the three main cortical areas of the frontal lobe involved in the execution and control of visual-motor tasks [START_REF] Nishimura | Activation of parietofrontal stream during reaching and grasping studied by positron emission tomography in monkeys[END_REF], at 30 and 50% of Q MVC over the M1 area, and at 50% over the PMC and S1 areas. These results complete and support the findings of Vivodtzev et al. [START_REF] Vivodtzev | Voluntary activation during knee extensions in severely deconditioned patients with chronic obstructive pulmonary disease: benefit of endurance training[END_REF], who indirectly showed lower activation in COPD for comparable submaximal force levels with the twitch interpolation technique. In parallel to the altered neural activity, we found an increase in the inaccuracy index for submaximal torque levels in the COPD patients compared with controls, indicating greater torque fluctuations around the target in patients.

Such torque fluctuations, known as dysmetria, are classic signs of lesions in the cerebellum [START_REF] Manto | Consensus paper: roles of the cerebellum in motor control--the diversity of ideas on cerebellar involvement in movement[END_REF], a subcortical area whose main function is the control and coordination of movement and whose output travels to motor and premotor cortex [START_REF] Paulin | The role of the cerebellum in motor control and perception[END_REF]. Interestingly, the dysmetria reported in the patients did not impact the task matching, as they were able to reach the required target (mean values). Hence, to summarize, the COPD patients were able to reach the desired target at submaximal intensities but with lower motor drive and high fluctuations, indicating less efficient motor control.

Given the difference in absolute torque value between the COPD patients and controls, we sought to ensure that the lower neural activity did not result from the lower muscle torque developed by the patients. As shown in Figure 6, for any given absolute torque value, increases in HbO were always about twice lower in the patients over M1. This agrees with the analysis of covariance, which indicated that adjusting for maximal voluntary torque had no impact on the difference in HbO changes between the COPD patients and controls. Taken together, these results provide new insight into the functional limitations in COPD patients, as the lower neural activity (lower increase in HbO) cannot be explained by either lower muscle torques or a lack of patient motivation or cooperation.

"In a previous study, Higashimoto et al. [START_REF] Higashimoto | Activation of the prefrontal cortex is associated with exertional dyspnea in chronic obstructive pulmonary disease[END_REF] recorded neural activity over the PFC area during a whole-body exercise that induced an increase in dyspnea score in both COPD patients and controls during testing, with the increase being higher in COPD. The authors reported a clear tendency toward smaller HbO changes in the COPD patients compared with healthy controls, although it did not reach the significance threshold. In addition, they reported correlations between the increase in dyspnea score and the increase in PFC activity during the exercise testing. These results raised the possibility of lower neural activity during whole-body exercise in COPD that might have been hidden by the greater increase in dyspnea-induced PFC activation [START_REF] Higashimoto | Activation of the prefrontal cortex is associated with exertional dyspnea in chronic obstructive pulmonary disease[END_REF]. Our findings are consistent with and complete the results of Higashimoto et al. [START_REF] Higashimoto | Activation of the prefrontal cortex is associated with exertional dyspnea in chronic obstructive pulmonary disease[END_REF], because a local exercise carried out without any dyspnea confirmed that the COPD patients had lower cortical activity."

Several factors have been suggested to explain the cerebral alterations in COPD but the exact mechanisms remain unclear. These factors notably include inflammation, oxidative stress, hypoxemia and vascular disease [START_REF] Dodd | Cognitive function in COPD[END_REF]. In accordance with other studies [START_REF] Dodd | Brain structure and function in chronic obstructive pulmonary disease: a multimodal cranial magnetic resonance imaging study[END_REF], we report cerebral alterations in stable non-hypoxemic COPD patients, ruling out a determining role for hypoxemia. Understanding the mechanisms of the brain impairment in COPD patients has become a major issue. Our results provide new insight into the extrapulmonary effects of COPD on the brain and suggest new directions for research in order to optimize treatment for muscle force recovery in COPD. Further, they suggest the interest of early physical activity for COPD patients, given the potential effects of exercise on cerebral plasticity and neuroprotection [START_REF] Kramer | Capitalizing on cortical plasticity: influence of physical activity on cognition and brain function[END_REF], although this has yet to be specifically investigated in COPD.

In summary, COPD patients showed lower HbO changes over cortical motor areas during maximal and submaximal voluntary contractions of the knee extensors. This impairment was associated with a decrease in the maximal voluntary torque and altered motor control. The results provide the first evidence that the knee extensors of patients with stable moderate COPD cannot be optimally driven by the brain. Our findings highlight a lower motor cortex activity during quadriceps contraction in COPD and are consistent with an involvement of the central nervous system in the COPD quadriceps torque impairment. To optimize muscle force recovery in COPD patients, interventions targeting neuroprotection and neuroplasticity must be strongly considered. Mass, FFMI: Fat--Free Mass Index. NS: no significant difference between controls and COPD patients.

Values are mean (SE).

FiguresFigure 1 .

 1 Figures

Figure 2 .

 2 Figure 2. Measurement of cortical activity by functional near-infrared spectroscopy (fNIRS).

Figure 3 .

 3 Figure 3. HbO changes during maximal voluntary contractions over primary motor (M1),

Figure 4 .

 4 Figure 4. Performed torque versus target torque during submaximal voluntary contractions at

Figure 5 .

 5 Figure 5. HbO changes during submaximal quadriceps contractions as a function of % of

Figure 6 .

 6 Figure 6. HbO changes over M1 as a function of absolute torque value at 10 (triangular

Table 1 . Characteristics of the subjects included in the study

 1

		Control	COPD
		(n=15)	(n=15)	p-value
	Gender M/F	10/5	10/5
	Age yrs	61 (2.9)	62.8 (2.5)	NS (0.64)
	Weight kg	75.8 (3.3)	72.8 (4.2)	NS (0.57)
	BMI kg.m -2	25.8 (1)	25.3 (1.3)	NS (0.76)
	FEV 1 L	3.1 (0.2)	1.5 (0.2)	<0.001
	FEV 1 % pred	104.5 (3)	54.1 (3.6)	<0.001
	FEV 1 /FVC	73.1 (1.1)	49.7 (2.4)	<0.001
	FFM kg	55.3 (3)	53.9 (3)	NS (0.73)
	FFMI kg.m -2	18.6 (0.5)	18.8 (0.7)	NS (0.92)
	Voorrips AU	7.4 (1.25)	6.5 (1.35)	NS (0.64)
	PaO 2 mmHg		72.9 (2.8)
	PaCO 2 mmHg		37.4 (1.4)

BMI: Body Mass Index, FEV 1 : Force Expiratory Volume in 1 s, FVC: Force Vital Capacity, FFM: Fat--Free

Acknowledgment

The authors would like to thank Prof. Stephane Perrey for the use of the NIRS equipment funded by a grant in aid from the Languedoc-Roussillon Region Council (AVENIR). Further, the authors wish to thanks Jean-Paul Micallef for his assistance in the development of experimental materials.


Zidong Su
email: zidong.su@ens-lyon.frthomas.begin@ens-lyon.frbruno.baynat@lip6.fr

Thomas Begin

Bruno Baynat

Towards including batch services in models for DPDK-based virtual switches

Keywords: NFV, virtual switch, DPDK, performance modeling, batch services, approximation

With the development of NFV (Network Function Virtualization) paradigm, networking functions would gradually move from specialized and proprietary hardware to open-source software run over a virtual machine (VM) deployed on commodity hardware. Open vSwitch (OVS) is the most prominent open-source solution implementing a virtual switch, while DPDK (Data Plane Development Kit) is a set of specialized libraries to enhance the performance. In particular, DPDK allows packets to be processed by batches. In this paper, we address the issue of modeling the behavior of a DPDK-based virtual switch. First, we investigate the influence of batch services on the overall performance of a virtual switch. Second, we extend two former analytical models to include the processing of packets by batches. We propose a simple means to do it, and we evaluate the accuracy of our solution on two different scenarios. Numerical results show that, despite its simplicity, our approach provides fairly good results when compared to simulation.

I. INTRODUCTION AND RELATED WORK

Since the early 2000s (with the release of the first x86 virtualization product by VMware in 1999), an ever-growing fraction of application servers are getting virtualized. In a nutshell, with the help of a hypervisor, a single physical server is divided into multiple isolated VMs (Virtual Machines), each behaving similarly to a regular server from an end-user point of view. Virtualizing servers enables both a better use (in terms of energy and costs) and an easier management of the physical resources.

More recently, the networking community is pushing for virtualizing the network itself. In this regard was proposed the NFV (Network Function Virtualization) paradigm [START_REF] Chiosi | Network functions virtualisation: An introduction, benefits, enablers, challenges and call for action[END_REF] wherein networking functions would gradually move from specialized and proprietary hardware to open-source software run over a VM deployed on commodity hardware. These functions are then referred to as VNFs (Virtualized Network Functions). Examples of VNFs include a simple forwarding, complex routing as well as more advanced operations such as encrypting, NAT (Network Address Translation), etc. Analogously to virtualization of servers, potential benefits of NFV include cost-saving (by hosting several VNFs on a single physical machine) and ease of management (with a better flexibility in the resource provisioning).

Aside from its advantages, the NFV paradigm raises some concerns, two of them being the security and the performance. In this paper, we deal with the latter in the case of the arguably foremost VNF, namely the packet switching between ports of a VM. Such a VNF is typically referred to as a virtual switch (or bridge) and aims at reproducing the behavior of a "classical" switch or a router. As for its implementation, Open vSwitch (OVS) [START_REF]vSwitch -An Open Virtual Switch[END_REF], [START_REF] Pfaff | The Design and Implementation of Open vSwitch[END_REF] is the most prominent open-source solution implementing a virtual switch while proprietary solutions such as Cisco Nexus 1000V and VMWARE vSphere Distributed Switch have also been released.

In the aim of accelerating the performance of a virtual switch, a couple of solutions (e.g., Netmap [START_REF]Netmap[END_REF], [START_REF] Rizzo | netmap: A novel framework for fast packet I/O[END_REF], OpenOnloadn [START_REF] Openonload | [END_REF], PacketShader [START_REF] Packetshader | [END_REF], DPDK [START_REF]Data Plane Development Kit (DPDK)[END_REF], [START_REF] Pongrácz | Removing roadblocks from SDN: openflow software switch performance on intel DPDK[END_REF]) has been proposed. In particular, DPDK (Data Plane Development Kit) is a set of specialized libraries and drivers primarily developed by Intel and 6WIND. DPDK involves four main strategies to speed up virtual switches. First, the packet processing is moved outside the OS kernel and into the user space. By bypassing the kernel, the datapath is no more interrupted by system calls. Second, DPDK avoids packets copying, and instead, it only switches memory pointers referring to packets content. Third, DPDK dispatches efficiently the load of incoming packets among its CPU cores. Fourth, packets can be processed by batches. We discuss in more details the last two points in the next section. While the first three strategies have been taken into account in existing performance models [START_REF] Sohail | Performance evaluation of a non-exhaustive polling system with asymmetrical finite queues[END_REF]- [START_REF] Su | A new model for dpdk-based virtual switches[END_REF], to the best of our knowledge, the fourth point has not been tackled so far.

The contributions of this paper are twofold: (i) we investigate the influence of batch services on the overall performance of a virtual switch and (ii) we propose an easy yet accurate way of taking into account batches in the packet processing in two existing models [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF] and [START_REF] Su | A new model for dpdk-based virtual switches[END_REF]. Note that in [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF] we came up with a first modeling framework that does not account for packet batches, nor switch-over times between CPUs. In our subsequent work [START_REF] Su | A new model for dpdk-based virtual switches[END_REF], we extended the framework to handle the case of non-negligible switch-over times, but the infeasibility of packet batches remains.

The remainder of this paper is organized as follows. Section II describes the internal architecture of a DPDK-based virtual switch. In Section III we review the principles of two existing analytical models that assume packet processing without batch service. We describe how we extend these models to take into account batch services in Section IV. Numerical results that show the accuracy of the approach are given in Section V. Section VI concludes this paper.

II. SYSTEM ARCHITECTURE AND NOTATION

A. DPDK operations

This sub-section provides a description of the general architecture of a virtual switch using the DPDK library set in its "standard configuration". Basically, a VM running a virtual switch implementation can access a set of physical resources consisting of several CPU cores, I/O ports, and RAM. Upon their arrival at a port, incoming packets are immediately dispatched in separate queues, called RX queues. This first step is typically carried out through the application of a hash function on the packet headers and aims at ensuring an even balance of the incoming packets among the RX queues. Each CPU core is assigned to a single RX queue of each port so that any core handles just as many RX queues as the total number of ports in the virtual switch. This mapping is illustrated by Figure 1. CPU cores process their associated RX queues in a cyclic manner. Each round starts with a core polling an RX queue. It processes the M -first-in-line packets, if any, before moving to the following RX queue and so on. Note that a core may not immediately switch from the current RX queue to the other. We refer to this (possibly non-negligible) delay as a switch-over time. Note also that a core only processes packets that are already waiting in the RX queue at the time it starts serving the queue. Subsequent arrivals must wait until the next core visit. This policy is usually known as "gated M -limited" policy [START_REF] Levy | Polling systems: applications, modeling, and optimization[END_REF]. To complete the processing of a packet, a core needs at least to read (and possibly edit) its headers, extract the destination address, and find out to which output port the packet must be forwarded, as well as possibly additional operations such as deep packet inspection, encryption, and QoS monitoring. Note that the length of this step (processing a packet) varies significantly depending on the state of the cache of the corresponding CPU core. Indeed, if the instructions needed to process a packet are found in the cache (cache hit), the processing of a packet becomes much faster, say around an order of magnitude or so, (compared to the case of a cache miss). Afterward, the packet is (logically) forwarded from its RX queue to the TX queue associated to the appropriate output port. At that stage, the packet only has to wait for its transmission on the next link.

B. Notation

We now introduce the notation used throughout this paper. We denote by C the total number of allocated (physical or logical) CPU cores. We let N represent the number of ports attached to the virtual switch. We use Λ i to denote the packet arrival rate on each port i (i = 1, . . . , N ) while λ j i refers to the rate of packets dispatched to the j-th RX queue of port i, and hence handled by the j-th core (j = 1, . . . , C). It follows that

Λ i = C j=1 λ j i .
Each RX queue has a finite capacity limiting to K the maximum number of packets being simultaneously queued in it. We use M to refer to the (maximal) size of a batch. We denote by T H and T M the time needed by a CPU core to process a packet when the set of instructions is found (cache hit), respectively not found (cache miss), in the cache. T R indicates the time needed by the CPU core to forward a packet from an RX queue to an TX queue over a PCI bus (once the CPU core processing has ended). As a result, the total time needed by a core to serve a given packet is either T M + T R (in case of a cache miss) or T H + T R (in case of a cache hit). Broadly speaking, the first case is more likely to occur if the considered packet is among the first packets of a batch (the cache is "cold") whereas the second case has more chances to happen for the last packets of a batch benefiting from the cache information. Finally, we denote by T S the mean switch-over time taken by a core to switch from its current RX queue to the next one.

III. MODELS WITHOUT BATCH SERVICE

We start this section by reviewing two of our previous models, [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF] and [START_REF] Su | A new model for dpdk-based virtual switches[END_REF] that work without batch service. As a result they correspond to a value of M = 1. We show that these two models can be presented in a very general framework that aims at decomposing the polling system into independent queueing models with server vacations.

In these two modeling papers, a CPU core is supposed to process only one packet at each round for each of its associated RX queues. The system therefore does not really benefit from the cache. As a result the mean processing time of the j-th CPU core when serving a packet from its i-th RX queue can be considered as a constant given by:

1 µ j i = T M + T R . (1)
The switch-over rate β is simply defined in [START_REF] Su | A new model for dpdk-based virtual switches[END_REF] as the inverse of the mean switch-over time:

β = 1 T S . (2)
paquet being served Fig. 2. Subsystem involving a single CPU core polling several RX-queues.

A. General modeling framework 1) Decomposition principle: The first step of these two models is to break down the general switch architecture into C independent subsystems, each of them consisting of one CPU core that polls N independent RX queues. Every subsystem is identified with a distinct color in Figure 1 and is simply referred to as a polling system. In the rest of the paper we only consider the models associated with a given CPU core j and its N related RX queues. Therefore, for the sake of clarity, we drop superscript j in all subsequent notations and equations. Figure 2 represents the polling system associated with the considered CPU core having a service rate µ i when serving its i-th RX queue, and a switch-over rate β.

The general idea of the two models is to subsequently replace each polling system with a set of N decoupled queueing models with server vacations. This decomposition step is illustrated in Figure 3. The buffer of queue i in the decomposed model represents the i-th RX queue associated with the considered CPU core. The server of the i-th queue in the decomposed model aims at reproducing the way packets of the i-th RX queue are processed by the CPU core. Because the core polls all its RX queues in-between the processing of two successive packets of a given queue i, there an in-between that corresponds of one packet at all the other non-empty queues and N switch-over times. In the model, this total time will be referred to as a vacation time. As an illustration, in Figure 3, the server of queue N is in process, meaning that the CPU core is currently processing a packet in RX queue N , and all other queues are in vacation. In this particular example, when queue N ends its processing, it goes in vacation, the first in-line packet of queue N is put on a hold, and at the same time the switch-over time between RX queue N and RX queue 1 starts. It is only after the completion of this switch-over time that queue 1 ends its vacation and starts the processing of its first in-line packet.

2) Modeling assumptions: In order to derive tractable models, the following Markovian assumptions are made. First, authors assume that the arrival of packets at the entrance of queue i follows a Poisson process of rate λ i . Then, they assume the processing time of one packet from queue i is exponentially distributed with rate µ i . They also assume that the switching time is exponentially distributed with rate β. Finally, as developed in the following sections, the subsequent models will represent the vacation times by a succession of different phases with exponential distributions.

B. Model for a negligible switch-over time: Model 1

In [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF] it is assumed that the switch-over time is negligible, which corresponds to a null value of T S in our general framework.

1) Vacation representation: Because the switch-over time is zero, when, e.g., queue 1 ends its processing, and if, at that very instant, all other RX queues are empty, it skips vacation and immediately starts the processing of the next in-line packet (if any). This possibility is illustrated in Figure 4 that represents the vacation of server 1, by a direct transition looping on the processing stage with some probability f 1 . With a probability 1 -f 1 , when queue 1 ends its processing, it thus goes in vacation and stays unavailable for a time that is supposed to be exponentially distributed with rate α 1 (corresponding to the red "V" labeled circle of Figure 4). 2) Markov chain model associated with each RX queue: Under the markovian assumptions given in Section III-A2, we can associate with each queue i of the decomposed model, the continuous-time Markov chain depicted in Figure 5 [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF]. A state (k, P ) of this chain, k = 1..., K, corresponds to queue i with currently k packets and the first-in-line packet being processed (P), i.e., the CPU core is assigned to RX queue i. A state (k, R) of this chain, k = 1..., K, also corresponds to queue i with k packets, but with the first-in-line packet that is not currently in process and that is ready (R) to be processed, i.e., the CPU core is assigned to another RX queue. State (0, E) corresponds to an empty (E) queue i but not a full empty system, i.e., the CPU core is currently assigned to another non empty RX queue. Finally state (0, F ) corresponds to a full (F) empty system, meaning a system where all queues are empty and the CPU core is idle.

V μ 1 α 1 f 1 1-f 1
1,P 1,R 2,P 2,R K-1,P K-1,R K,P K,R 0,E 0,F
Three parameters are left to be estimated in order to fully characterize the Markov chain associated with queue i, namely the probability f i and rates α i and γ i . Because these parameters depend at the same time on the stationary solution of the other Markov chains and on the performance parameters given in Section III-B3, and conversely, the performance parameters depend on the stationary solution of all Markov chains, the model relies on a fixed-point technique, as developed in [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF].

3) Performance parameters: Once all Markov chains (associated with all queues i = 1, ..., N ) have been solved in stationary regime, we can derive the steady-state performance parameters of the system as follows. First, we can easily obtain the average number of packets in queue i from the stationary probabilities of the chain:

qi = K k=1 k × (π i (k, P ) + π i (k, R)), (3)
as well as the loss rate at the entrance of queue i:

b i = π i (K, P ) + π i (K, R). (4)
The average sojourn time of an accepted packet in queue i is obtained using Little's law:

ri = qi λ i (1 -b i ) . (5)
C. Model taking into account the switch-over time: Model 2

The model presented in [START_REF] Su | A new model for dpdk-based virtual switches[END_REF] is an extension of the one in [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF] that takes into account the switch-over times, and thus considers non-negligible values of T S = 1/β.

1) Vacation representation: Unlike the model developed in Section III-B, this new model includes the possibility of a switch-over time. As a result, the vacation time of a given queue can never be zero, as there are at least N switch-over times in-between two successive packet processing of a same queue. Instead of developing the vacation time as the whole succession of switch-over and processing times (as in [START_REF] Sohail | Performance evaluation of a non-exhaustive polling system with asymmetrical finite queues[END_REF]), [START_REF] Su | A new model for dpdk-based virtual switches[END_REF] keeps in the vacation time the first switch-over time and aggregate all the remaining phases. The idea is illustrated in Figure 6 that represents the vacation of server 1. Following the processing stage of the server, the vacation starts by a switch-over time between RX queue 1 and RX queue 2. The remaining of the vacation time is then aggregated into a single exponential phase with a given rate α 1 (i.e., with a given mean duration 1/α 1 ), that has to be accurately estimated. 2) Markov chain model associated with each RX queue: Under the markovian assumptions given in Section III-A2, we can associate with each queue i of the decomposed model, the continuous-time Markov chain depicted in Figure 7. A state (k, P ) of this chain, k = 1, . . . , K, corresponds to queue i with currently k packets and the first-in-line packet being processed (P), i.e., the CPU core is assigned to RX queue i. A state (k, S) of this chain, k = 0..., K, corresponds to queue i with k packets, in which the CPU core is not anymore processing a packet but is switching (S) between RX queue i and RX queue i + 1. Finally, a state (k, V ) of this chain, k = 0..., K, also corresponds to queue i with k packets, but now the CPU core is either processing another RX queue or switching between the other RX queues.

In order to solve this chain, only one parameter remains to be estimated, namely α i . Not surprisingly, parameter α i of a given Markov chain depends on the stationary solution of the other Markov chains. As a result, the resolution of the model relies on a fixed-point iterative technique (see [START_REF] Su | A new model for dpdk-based virtual switches[END_REF] for details).

3) Performance parameters: From the stationary probabilities of the Markov chains we can derive the average number of packets in queue i: as well as the loss rate at the entrance of queue i:

qi = K k=1 k × (π i (k, P ) + π i (k, S) + π i (k, V )). (6) 1,P 2,P 3,
P 0,S 1,S 2,S 0,V 1,V 2,V K-1,P K,P K-1,S K-1,V K,S K,V λ i λ i λ i λ i λ i λ i λ i λ i λ i μ i μ i μ i μ i α i α i α i α i α i β β β β β ... ...
b i = π i (K, P ) + π i (K, S) + π i (K, V ). (7)
The average sojourn time of an accepted packet in queue i is then obtained using relation 5.

IV. TAKING INTO ACCOUNT BATCH SERVICE A. General insights

The main objective of this paper is to develop new models that take into account the influence of batch size on the performance of a virtual switch. As stated before, the fact that packets are processed by batch has two consequences. (i) First, the structural behavior of the system is peculiar. Indeed, when compared to a system where each round of a CPU core consists in serving (at most) one packet from each of its RX queues, a system in which the CPU core processes batches of packets implies more variability in the time between the processing of two consecutive packets of the same RX queue. This time is very short if the two packets belong to the same batch and is much longer if they belong to two different batches separated by a round. This increased variability necessarily has a consequence on the performance of the system. (ii) Second, when the batch size increases, the influence of the cache also increases. Indeed, as stated in Section II-A, the larger the batch size, the more likely the CPU instructions needed for a given packet of a batch can be found in the cache, and the lower the average processing time of a packet. The batch size has thus also a consequence on the parametrization of the models, and more specifically on the value of the mean processing rates µ i .

B. Influence of batch service

In order to evaluate the influence of both phenomenons separately, we first consider a system where the cache has no effect and we concentrate on the influence of batch service. The easiest way to realize such a system it is to take T M = T H . As a consequence the average processing time is the same for all packets and corresponds to the value given by relation 1 in the case without batches (M = 1), i.e., T M + T R . Let us consider an example (extracted from [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF]) of a virtual switch comprising N = 4 input ports served by a set of homogeneous CPU cores whose service rates are constant and set to µ i = 1 Mpps (million packets per second) each. We assume that the dispatching function is well-behaved so that every CPU core undergoes the same performance. Hence, we can restrict our analysis to only one of them. The global input rate of packets bounded to the selected CPU core, λ in = 4 i=1 λ i , is supposed to be unevenly spread among the 4 ports as follows: 15% on port 1, 20% on port 2, 25% on port 3 and 40% on port 4. We let λ in vary from 0.5 Mpps to 3 Mpps in order to explore the whole spectrum of possible loads. For each level of the load λ in , we evaluate by simulation the average queue size qi (Figure 8(a)), the loss rate b i (Figure 8(b)), and the mean sojourn time of an accepted packet ri (Figure 8(c)), associated with each individual port i = 1, . . . , 4, and for different values of the batch size M = 1, 4, 8, 16 and 32. The magenta curves pertain to the performance of port 4, which is the first to saturate since it captures the largest fraction of incoming packets. On the other hand, the red curves are associated to port 1 which is the last to saturate. Figure 8(b) clearly shows that the loss rate of packets at the entrance of each RX queue is totally insensitive to the batch size. Indeed, for each port, all curves corresponding to the different values of M are superimposed. This is a quite surprising and important result. Indeed, the loss rate is arguably one of the most, if not the most important performance parameter for networking software engineers. If it is the only parameter of interest, there is seemingly no need for developing models that structurally take into account batches. On the other hand, if we look at the average queue size shown in Figure 8(a) or equivalently at the average sojourn time of a packet in Figure 8(c), we can see that the batch size has a non-negligible effect on performance. However, this effect is much more important on red curves corresponding to port 1 that saturates last, than on purple curves corresponding to port 4 that saturates first, meaning in zones of loads that do not correspond to normal operational mode (where the system is almost totally saturated).

As a conclusion of this example (verified by numerous other examples), we believe it is sound to rely on models that do not structurally take into account the batch size, in order to provide pretty accurate performance parameters, at least in load zones corresponding to standard operational modes. This is exactly what we propose to do in this paper: using models [START_REF] Gallardo | Performance modeling of virtual switching systems[END_REF] and [START_REF] Su | A new model for dpdk-based virtual switches[END_REF] (presented in Section III) that do not take into account the batch size, but adjusting carefully their input parameters in order to reflect the influence of the cache (that would not exist in the case of no batch service).

C. Influence of cache

In order to understand the influence of the cache on the mean processing times, let us take an example of a virtual switch having N = 4 ports and processing packets by batch of size M = 16. Let us consider that the processor at a particular round has to process a batch of 16 packets from RX queue 1 that is made of 4 packets destined to port 2, 7 packets destined to port 3, and 5 packets destined to port 4. We can reasonably assume that for the first packet destined to a given port, the information necessary for its processing (typically contained in the forwarding table) has to be fetched from the RAM, whereas for the subsequent packets destined to the same port, the information is present in the cache. If we make this assumption, the total time necessary to process all packets of the considered batch is thus 3T M + 13T H + 16T R , and the average processing time by packet is 3T M +13T H +16T R

16

. By generalizing this result, we propose to estimate the average processing time by the following simple relation:

1 µ i = N -1 M T M + M -(N -1) M T H + T R if M ≥ N -1 T M + T R if M < N -1 (8)
This estimation is realistic when M >> N and when the system is heavily loaded. Indeed in this case there is a high chance that the CPU core processes full batches, i.e., batches made of M packets, and that in each batch there is at least one packet destined to each of the possible N -1 output ports. In this case, the processing time of the whole batch is (N -1)T M + (M -(N -1))T H + M T R and the formula becomes exact. When M is small or when the load is low, relation 8 is not accurate anymore, but we will see in the next section that this inaccuracy has a negligible impact on the overall performance of the virtual switch. Finally, when considering a virtual switch with non negligible values of the switch-over time T S , we have to adapt the value of β since the model that does not structurally take batch services into account. The easiest way is to reduce the mean switch-over time by a factor M , leading to replace relation 2 by:

β = M T S . (9)
V. NUMERICAL RESULTS

We evaluate the accuracy of our solution for including batch services in existing models by comparing their outcome with that from a home-made discrete-event simulator that fully complies with the behavior of DPDK (i.e., packets are processed by batches of size M according to a gated Mlimited policy as described in Section II-A). Each simulation run lasts for 5 seconds corresponding to the completion of several millions of packets.

We now state assumptions made for both subsequent scenarios. For the sake of simplicity we assume that the hash function used upon the packet arrivals to select an RX queue and hence a CPU core is evenly-balanced. We also suppose that incoming packets are equally likely to be destined to any of the N -1 output ports (we dismiss the port on which the packet arrived). Furthermore, as discussed in Section IV-C, we assume that, within any batch, the first packet being destined to a given port experiences a cache miss and thus a delay of T M while subsequent packets destined to the same port benefit from the cache and hence undergo a delay of T H . Either way, there is the additional delay T R to forward the packet from an RX queue to the chosen TX queue.

A. Scenario A

In our first scenario, we consider a virtual switch with N = 4 ports served by a set of homogeneous CPU cores. Because we assume that the dispatching function is wellbehaved, every CPU core undergoes the same performance and we can restrict our analysis to only one of them. Nonetheless, for each CPU core, the input rate of packets on each of its RX queues (associated with ports), λ in , is unbalanced and spread as follows: 15% on RX queue 1, 20% on RX queue 2, 25% on RX queue 3 and 40% on RX queue 4. The capacities of every RX queues is set to K = 128 packets. Packets are processed by batches whose maximum size is set to M = 8. Each packet is processed by a CPU core in T H = 30 ns in case of a cache hit, and in T M = 300 ns otherwise (cache miss) before a delivery delay to the corresponding TX-queue of T R = 62.2 ns. Finally we assume that there is no switch-over time so that T S = 0.

Because there is no additional delay for a CPU core to switch from one RX queue to another, we rely on Model 1 (see Section III-B) to analytically evaluate the performance of such a system. Figure 9 shows the corresponding results found for two key performance parameters as a function of the global input rate λ in ranging from a low 0.5 Mpps to a high 3.0 Mpps. In Figure 9(a), we observe that the loss rate obtained by our model closely matches that delivered by the simulation on each of the four ports except for port 4 for a moderate load around 5 Mpps. We believe that this deviation occurs because relation 8 was essentially thought for high levels of load (resulting in full batches) and might lead to inaccuracies at moderate levels of load. Figure 9(b) illustrates the accuracy of our model when dealing with the average number of packets waiting to be processed in each RX queue. Despite a small decay of precision at RX queue 4 for a load near 5 Mpps, our model captures the general behavior as given by the simulation.

B. Scenario B

In our second example, we extend the number of ports to N = 6, we enlarge the batch size to M = 16, and we introduce a switch-over time equal to T S = 20 ns (representing nearly 7% of the packet processing delay in case of a cache miss). Note that the input rates on RX queues are set to (in ascending order) 5%, 10%, 15%, 18%, 22% and 30%. All remaining parameters keep the same values as in Scenario A.

The non-negligible value of T S implies the use of our Model 2 (see Section III-C). The corresponding numerical results are given by Figure 10. First, we compare the loss rate obtained by our model with that delivered by the simulation. Figure 10(a) shows that our model is able to accurately forecast the level of losses experienced by every RX queues of the switch, again with a small discrepancy occurring on the most loaded RX queue around 5 Mpps. In Figure 10(b) we focus on the average sojourn time. We observe a good match between the values found by our model and those given by the simulation. Overall, these experiments as well as many others (not shown in this paper) show that, despite its simplicity, our proposed modeling approach to take into account batches in the packet processing of a DPDK-based virtual switch provides a relatively good solution.

VI. CONCLUSIONS

In this paper, we address the issue of modeling the behavior of a DPDK-based virtual switch. To this end, we extend two former analytical models to include the processing of packets by batches, which is an important feature of the DPDK library. We propose a simple means to do it, and we evaluate the accuracy of our solution on two different scenarios. Numerical results show that, despite its simplicity, our approach provides fairly good results when compared to simulation. Future works aim at improving our solution, as well as developing more realistic scenarios wherein the model may be used, e.g., to discover "optimal" values of the batch size for a given configuration of the virtual switch (i.e., physical resources and load).

Fig. 1 .

 1 Fig. 1. Internal architecture of a virtual switch with N ports and C cores.

Fig. 3 .

 3 Fig.3. Decomposition of a sub-system into N separate queues.

Fig. 4 .

 4 Fig. 4. Vacation representation of Model 1.

Fig. 5 .

 5 Fig. 5. Model 1: Continuous-Time Markov Chain associated with queue i.

1 Fig. 6 .

 16 Fig. 6. Vacation representation of Model 2.

Fig. 7 .

 7 Fig. 7. Model 2: Continuous-Time Markov Chain associated with queue i.

Fig. 8 .

 8 Fig. 8. Simulated performance for different batch sizes.

Fig. 9 .

 9 Fig. 9. Accuracy of our proposed modeling of batch services in case of no switch-over time -Scenario A.

  Average sojourn time.

Fig. 10 .

 10 Fig. 10. Accuracy of our proposed modeling of batch services in case of a switch-over time -Scenario B.

ACKOWLEDGMENT

This work is partly funded by the French ANR REFLEXION under the "ANR-14-CE28-0019" project.