Tingqiang Yang

Anne Hemeryck
email: anne.hemeryck@laas.fr

Suman Pokhrel

Wen Chen

Lutz Mädler

Udo Weimar

Nicolae Barsan

HCHO Sensing Mechanism of In4Sn3O12 Revealed by DRIFTS and DFT

The combination of operando DRIFTS measurement and DFT calculation reveals the counterintuitive HCHO sensing mechanism of In4Sn3O12. It is merely partial oxidation of HCHO into formate (or HCOOH) with medium activation energy (0.43-0.68 eV) and sufficient electron donation effect that is responsible for the sensor signal at the optimum temperature of 200 ℃. The Sn (3a)-connected O is the active site and plays key roles in both HCHO adsorption and partial oxidation.

Introduction

Formaldehyde (HCHO), a harmful indoor air pollutant normally emitted from building materials and some household furniture, can not only irritate the eyes and respiratory tract but also cause pneumonia and even cancer. [START_REF] Yu | A Review of the Emission of VOCs from Polymeric Materials Used in Buildings[END_REF][2][3] Distributed HCHO monitoring is very necessary and requires high-performance sensors with low cost and low power consumption. Gas sensors based on semiconducting metal oxides (SMOX), which are not only low-cost and energy-saving but also have been commercially utilized, could be a solution, if sufficiently selective. [START_REF] Izawa | 5 -Application of SMOX-Based Sensors[END_REF][START_REF] Barsan | Gas Sensors Based on Conducting Metal Oxides[END_REF][START_REF] Barsan | Metal Oxide-Based Gas Sensor Research: How To? Sens[END_REF][START_REF] Yamazoe | Toward Innovations of Gas Sensor Technology[END_REF] In4Sn3O12 nanoparticles with good selectivity to HCHO against CO, ethanol, benzene and toluene have been proposed in our previous research, and the sensor signal to HCHO is also ultrahigh. [START_REF] Kemmler | Nanocrystalline In4Sn3O12 High Temperature Phase for Gas Sensing Applications[END_REF][START_REF] Kemmler | In4Sn3O12-Metastable Semiconducting Metal Oxide for Gas Sensing Applications[END_REF] Additionally, the synthesis by flame spray pyrolysis (FSP) renders mass production and thus low cost. The surprising performance makes the In4Sn3O12 a promising material for sensing HCHO, while this surprise has always been accompanied by the puzzle of the underlying mechanism.

In the gas sensing mechanism of SMOX sensors, surface oxygen species play the key role. [START_REF] Barsan | Gas Sensors Based on Conducting Metal Oxides[END_REF][START_REF] Barsan | Metal Oxide-Based Gas Sensor Research: How To? Sens[END_REF][START_REF] Yamazoe | Toward Innovations of Gas Sensor Technology[END_REF][START_REF] Staerz | Current State of Knowledge on the Metal Oxide Based Gas Sensing Mechanism[END_REF][START_REF] Gurlo | Interplay between O2 and SnO2: Oxygen Ionosorption and Spectroscopic Evidence for Adsorbed Oxygen[END_REF][START_REF] Yuan | ZnO Nanosheets Abundant in Oxygen Vacancies Derived from Metal-Organic Frameworks for ppb-Level Gas Sensing[END_REF][START_REF] Kim | Catalyst-Free Highly Sensitive SnO2 Nanosheet Gas Sensors for Parts Per Billion-Level Detection of Acetone[END_REF][START_REF] Yang | Investigation on the Transformation of Absorbed Oxygen at ZnO {101̅ 0} Surface Based on a Novel Thermal Pulse Method and Density Functional Theory Simulation[END_REF][START_REF] Yang | Surface Reactions of CH3OH, NH3 and CO on ZnO Nanorod Arrays Film: DFT Investigation for Gas Sensing Selectivity Mechanism[END_REF] Taking n-type SMOX as the example, when the sensors operate in air and at temperatures between 200 and 400 ℃, oxygen molecules are adsorbed and ionized by capturing electrons from the conduction band, by that, localizing then at the SMOX surface. The result is the formation of electron-depletion layer, which increases the resistance of the sensing layer. [START_REF] Staerz | Current State of Knowledge on the Metal Oxide Based Gas Sensing Mechanism[END_REF] In the presence of reducing gases, the ionosorbed and reactive oxygen species can be consumed, which makes it possible for the electrons to return to the conduction band by that decreasing the surface charge and the sensing layer resistance. Besides the adsorbed oxygen, in some SMOX, surface lattice oxygen also participates in the sensing reaction. [START_REF] Hübner | CO Sensing Mechanism with WO3 Based Gas Sensors[END_REF] In that case, the reducing gas reacts with the surface lattice oxygen and generates oxygen vacancies (VO). When the reducing gases are no more present, the VO can be refilled by oxygen molecule or oxygen atom if the molecule dissociates. For the case of HCHO sensing mechanism of In4Sn3O12, the first question is whether the ionosorbed oxygen or the lattice oxygen is the reaction partner/active oxygen species.

The second question is about the final product of HCHO after the reaction with surface oxygen species.

The volatile organic compounds (VOCs) molecules are extensively considered to be completely combusted to CO2 and H2O during gas sensing process. [START_REF] Chu | Investigation on Formaldehyde Gas Sensor with ZnO Thick Film Prepared through Microwave Heating Method[END_REF][START_REF] Park | A ppb-Level Formaldehyde Gas Sensor Based on CuO Nanocubes Prepared Using a Polyol Process[END_REF][START_REF] Li | Formaldehyde Detection: SnO2 Microspheres for Formaldehyde Gas Sensor with High Sensitivity, Fast Response/Recovery and Good Selectivity[END_REF][START_REF] Xu | Ultrathin SnO2 Nanosheets with Dominant High-Energy {001} Facets for Low Temperature Formaldehyde Gas Sensor[END_REF] This makes difficult to explain the good selectivity to HCHO against other VOCs which actually consumes more oxygen species if completely oxidized.

To reveal the HCHO sensing mechanism of In4Sn3O12 is not only a very interesting scientific question but, but also have a practical relevance because it could open new avenues for SMOX gas sensors.

Encouraged by the success of the combination between in operando Diffuse Reflectance Infrared Fourier Transform Spectroscopy (DRIFTS) with Density Functional Theory (DFT) calculations, [START_REF] Wicker | Ambient Humidity Influence on CO Detection with SnO2 Gas Sensing Materials. A Combined DRIFTS/DFT Investigation[END_REF] we have applied the same approach to reveal HCHO sensing mechanism of In4Sn3O12. Experimentally, N2/O2, H2O/D2O as well as HCHO DRIFTS are measured to reveal adsorption and reaction behaviors of O2, H2O and especially HCHO at In4Sn3O12 surface. Theoretically, by DFT, the HCHO adsorptions and reactions are simulated at different In4Sn3O12 (001) surfaces: 1) stoichiometric surface, 2) surface with an oxygen vacancy (VO) filled by an O2 molecule (In4Sn3O12 (001)_O2/VO), and 3) surface with a terminal hydroxyl group (In4Sn3O12 (001)_OHt).

Experimental and computational details

Details of DRIFTS measurement

The In4Sn3O12 nanoparticles in this research were synthesized by the same FSP method as in our previous research. [START_REF] Kemmler | Nanocrystalline In4Sn3O12 High Temperature Phase for Gas Sensing Applications[END_REF][START_REF] Kemmler | In4Sn3O12-Metastable Semiconducting Metal Oxide for Gas Sensing Applications[END_REF] X-ray diffraction (XRD) was measured and the Rietveld refinement demonstrated the In4Sn3O12 nanoparticles in around 4.7 nm, which is consistent with scanning electron microscope (SEM) in image (Figure S1). The sensor devices were fabricated by screen printing to make the sensor layer denser and thus make DRIFTS more evident. In our previous research, we explored the temperature range between 250 and 350 °C and found the highest sensor signal to HCHO at 250 °C. [START_REF] Kemmler | In4Sn3O12-Metastable Semiconducting Metal Oxide for Gas Sensing Applications[END_REF] Additional measurements conducted from 100 to 300 °C, revealed that the optimum temperature is around 150-200 °C, as shown in Figure S2.

Because of better stability and faster response/recovery times we chose 200 °C.

Not only HCHO DRIFTS was measured to explore HCHO reaction at In4Sn3O12 (001) surface, but also N2-O2 and H2O-D2O exchange DRIFTS were measured in advance to explore O2 and water adsorption behavior at the surface. The sensor devices for HCHO sensing measurement and DRIFTS were fabricated at the same time. The device for DRIFTS had not been used for any gas sensing measurement before.

During DRIFTS measurement, the device was heated to 200 °C by an external power supply (Agilent E3630A), and the response of the gas sensors was recorded using a digital multimeter (Keithley 199 or Keithley 2000). Before each measurement, all sensors were maintained at the given operation temperature until a stable baseline is reached. DRIFTS measurement was done using a commercial six-mirror optic (Harrick Praying Mantis) and a homemade gas sensor cell with a KBr window. All spectra were recorded on an FT-IR spectrometer (Bruker Vertex 80V) with an MCT mid-band detector and an external high performance Globar. Each single channel (SC) spectrum is an average of 1024 scans over 15 minutes and was measured with a spectral resolution of 1 cm -1 . Eight SC spectra were obtained during two-hour exposure of the device to each atmosphere. A N2/O2 DRIFTS example is shown in Figure S3. An absorbance (A) spectrum can be calculated by Eq. 1 with selecting one spectrum as reference and the other as comparison.

𝐴 = -𝑙𝑜𝑔 ( !" !"#$%&'(") !" *+,+&+)-+ )
Eq. 1

Computational details

Spin-unrestricted DFT calculation was performed with a periodic In4Sn3O12 (001) surface supercell by Dmol3 package. [START_REF] Delley | From Molecules to Solids with the Dmol3 Approach[END_REF][START_REF] Delley | An All-Electron Numerical Method for Solving the Local Density Functional for Polyatomic Molecules[END_REF] General gradient approximation (GGA) in the form of a Perdew-Burke-Ernzerhof (PBE) was selected for the exchange-correlation functional, and a DFT-D correction was executed to take van der Waals interaction into consideration. Inner electrons of atoms are treated by using DFT Semi-core Pseudopots. [START_REF] Delley | Hardness Conserving Semilocal Pseudopotentials[END_REF] A 3 × 3× 3 or 2 × 2 × 1 Monkhorst-Pack grid was respectively used for Brillouin-zone integration of the primitive cell or the surface supercell. For geometry optimization, convergence tolerance is 2×10 -5 hartree in energy, 4×10 -3 hartree Å -1 in force, and 5 × 10

Building and optimization of In4Sn3O12 primitive cell

According to previous XRD and Rietveld analysis as well as transmission electron microscopic (TEM) analysis, In4Sn3O12 is rhombohedral. [START_REF] Kemmler | Nanocrystalline In4Sn3O12 High Temperature Phase for Gas Sensing Applications[END_REF][START_REF] Kemmler | In4Sn3O12-Metastable Semiconducting Metal Oxide for Gas Sensing Applications[END_REF] The structure is easily viewed in a hexagonal basis, with lattice parameters a = 9.46 Å and c = 8.86 Å. [START_REF] Nadaud | Structural Studies of Tin-Doped Indium Oxide (ITO) and In4Sn3O12[END_REF] One hexagonal In4Sn3O12 primitive cell possesses 12 In, 9 Sn and 36 O atoms. For the metal atoms, there are two nonequivalent sites: the six-coordinated 3a position (1/7) and the seven-coordinated 18f position (6/7). The 3a positions are exclusively occupied by the Sn, while the 18f positions are randomly occupied by both Sn (2/7) and In (4/7). [START_REF] O'neil | Experimental and Density-Functional Study of the Electronic Structure of In4Sn3O12[END_REF] The random occupation at the 18f position of Sn or In renders many (C 18 [START_REF] Barsan | Metal Oxide-Based Gas Sensor Research: How To? Sens[END_REF] ) possible primitive cells. Actually, the primitive cell is composed of three M-O-M (M means metal) layers along [001] direction, and each layer has 7 metal atoms, as shown in Figure 1a-c. Supposing Sn atoms evenly distribute in each layer, there are not that many possibilities.

Additionally, in the layer, the 3a position is surrounded by six 18f positions (Figure 1d).

Surface cleaving and optimization

With the optimized primitive cell, as shown in Figure S4a, In4Sn3O12 (001) surface can be cleaved. The (001) plane can be mainly exposed because of the layer structure. Additionally, it has been previously characterized by TEM. [START_REF] Kemmler | Nanocrystalline In4Sn3O12 High Temperature Phase for Gas Sensing Applications[END_REF] As is discussed in the part of building primitive cell, there are three different layers.

If considering the cleaved surface normal to [001] and [00-1] directions, six possible surfaces can be obtained. After optimization and energy comparison, the most stable configuration of In4Sn3O12 (001)

surface is shown in Figure S4b,c. It is a (2 × 2) supercell with a 20 Å vacuum layer. The atoms of bottom layer are fixed to simulate bulk atoms, while the others can relax to simulate surface.

Results and discussion

DRIFTS

The In4Sn3O12 shows remarkable resistance decline to 1.5 ppm and 10 ppm HCHO during DRIFTS measurement (Figure 2a). By referencing the stabilized response and recovery SC spectra to the last SC spectrum in initial air atmosphere (Figure 2a), one can clearly see the signals of various surface species in the four overall DRIFTS absorbance spectra (Figure 2b). The dominant reaction product is the formate specie (Figure 2b), whose asymmetric vibration frequency (νasCOO -) is positioned around 1576 cm -1 and symmetric vibration frequency (νsCOO -) splits at 1381 and 1354 cm -1 due to interaction with CH. [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF][START_REF] Zhang | Alkali-Metal-Promoted Pt/TiO2 Opens a More Efficient Pathway to Formaldehyde Oxidation at Ambient Temperatures[END_REF][START_REF] Li | Sodium Enhances Ir/TiO2 Activity for Catalytic Oxidation of Formaldehyde at Ambient Temperature[END_REF][START_REF] Chen | Identification of a Facile Pathway for Dioxymethylene Conversion to Formate Catalyzed by Surface Hydroxyl on TiO2-Based Catalyst[END_REF] In Figure 2b, additionally, two weak peaks at 2968 and 2887 cm -1 can be identified, which are attributed to νasCH2 and νsCH2 of the adsorbed HCHO (or νCH of the generated formate). [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF][START_REF] Zhang | Alkali-Metal-Promoted Pt/TiO2 Opens a More Efficient Pathway to Formaldehyde Oxidation at Ambient Temperatures[END_REF][START_REF] Li | Sodium Enhances Ir/TiO2 Activity for Catalytic Oxidation of Formaldehyde at Ambient Temperature[END_REF][START_REF] Chen | Identification of a Facile Pathway for Dioxymethylene Conversion to Formate Catalyzed by Surface Hydroxyl on TiO2-Based Catalyst[END_REF] The peaks are clearer and their intensity gradually increases in Figure 2c where the eight SC spectra obtained under 1 ppm HCHO exposure are referenced to the last SC spectrum acquired under the initial synthetic air exposure. Under exposure to 10 ppm HCHO, a weak peak of νC=O at 1788 cm -1 is observed in Figure 2g which is obtained when the eight SC spectra obtained in the presence of 10 ppm HCHO are referenced to the last SC spectrum acquired under the synthetic air exposure; it is determined by the molecularly adsorbed HCHO. [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF] Most of the generated formate is desorbed after two hours re-exposure to air with the evident decreases of the peaks of νasCOO -and νsCOO -, as shown in Figure 2f where eight eight SC spectra obtained under the second air exposure are referenced to the last SC spectrum acquired under 1.5 ppm HCHO. There are still some remaining formate species at the surface albeit one has to significantly zoom in to observe them (Figure 2b, lower panel). In-O, Sn-O νInO, νSnO ~1000 cm -1 ~1000 cm -1 (νM-O) [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF] Surface oxygen species (lattice oxygen or adsorbed oxygen) are influenced by the HCHO exposure: A pronounced valley centering around 1000 cm -1 corresponds to the vibration of M-O bond (νInO and νSnO) (Figure 2b, d, g); [START_REF] Wicker | Ambient Humidity Influence on CO Detection with SnO2 Gas Sensing Materials. A Combined DRIFTS/DFT Investigation[END_REF][START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF] during recovery and under exposure to oxygen in a N2 background is an opposite broad hill observed (Figure 2f, Figure S3). Inside the spectral region, there is a distinctive feature -a small but sharp peak at 1134 cm -1 -that can be attributed to vibration of the molecular oxygen ion O2 -(νO2 ads). [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF][START_REF] Schilling | Experimental and Theoretical Study on the Nature of Adsorbed Oxygen Species on Shaped Ceria Nanoparticles[END_REF] To our knowledge, it is the first experimental observation of that specie, and its involvement in gas sensing, obtained in operando conditions. A reported observation is at the surface of CeO2 catalyst with in situ Raman spectroscopy, but at temperatures below 120 °C. [START_REF] Schilling | Experimental and Theoretical Study on the Nature of Adsorbed Oxygen Species on Shaped Ceria Nanoparticles[END_REF] Also, the density of surface terminal hydroxyl group (OHt) varies under HCHO exposure. Clear decrease and increase of νOHt around 3654 cm -1 , [START_REF] Zhang | Alkali-Metal-Promoted Pt/TiO2 Opens a More Efficient Pathway to Formaldehyde Oxidation at Ambient Temperatures[END_REF][START_REF] Li | Sodium Enhances Ir/TiO2 Activity for Catalytic Oxidation of Formaldehyde at Ambient Temperature[END_REF][START_REF] Chen | Identification of a Facile Pathway for Dioxymethylene Conversion to Formate Catalyzed by Surface Hydroxyl on TiO2-Based Catalyst[END_REF][START_REF] Degler | Investigations on the Temperature-Dependent Interaction of Water Vapor with Tin Dioxide and Its Implications on Gas Sensing[END_REF][START_REF] Boehme | Unraveling the Surface Chemistry of CO Sensing with In2O3 Based Gas Sensors[END_REF] identified by H2O-D2O exchange DRIFTS (Figure S5), are observed when In4Sn3O12 is exposed to HCHO and re-exposed to air (Figure 1b,c ,e). Because the H2O-D2O exchange DRIFTS is performed beforehand, some ODt groups are still present at the surface during the HCHO exposure measurement. Hence, a decrease at 2690 cm -1 (νODt) is observed in Figure 2b, c. Despite of the absence of D2O during the recovery process following the 1.5-ppm-HCHO exposure, a small peak at 2696 cm -1 (νODt) still emerges in Figure 2e which is obtained by referring the eight SC spectra in second-round air to the last SC spectrum in 1.5 ppm HCHO. The reappearance of 2696 cm -1

(νODt) implies that some D atoms of ODt might not desorbed but merely migrate to another site and it could return to ODt after re-exposure to air. The DRIFTS suggests that HCHO is partially oxidized into formate species (or HCOOH) and that no combustion to CO2 or CO takes place:

• The presence of -CH2-(2968 and 2887 cm -1 ) and the absence (or very little in 10 ppm HCHO)

of C=O (1788 cm -1 ) demonstrates the generation of dioxymethylene; [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF][START_REF] Zhang | Alkali-Metal-Promoted Pt/TiO2 Opens a More Efficient Pathway to Formaldehyde Oxidation at Ambient Temperatures[END_REF][START_REF] Li | Sodium Enhances Ir/TiO2 Activity for Catalytic Oxidation of Formaldehyde at Ambient Temperature[END_REF][START_REF] Chen | Identification of a Facile Pathway for Dioxymethylene Conversion to Formate Catalyzed by Surface Hydroxyl on TiO2-Based Catalyst[END_REF][START_REF] Zhou | Adsorption and Reaction of Formaldehyde on Thin-Film Cerium Oxide[END_REF][START_REF] Teng | A Density Functional Theory Study of Formaldehyde Adsorption and Oxidation on CeO2 (111) Surface[END_REF] • The generated dioxymethylene is then oxidized into formate;

• Finally, the formate specie desorbs as HCOOH without being further oxidized (Eq. 3, in which the asterisk indicates an adsorbed species);

• Oxygen specie and OHt take part in the processes, and the active O in Eq. 3a could be the O of OHt.

HCHO+O→*OCH 2 O Eq. 3a

*OCH 2 O→*HCOO+*H Eq. 3b *HCOO+*H→HCOOH Eq. 3c

The counterintuitive partial oxidation of HCHO arouses several questions: What is the exact role of oxygen species and OHt? What are the reaction route and corresponding energy profile? How does it result in huge changes in resistance, by Eq. 3a or Eq. 3b?

DFT

To answer the questions, we resort to DFT simulation with the focus on oxygen species and OHt involving surfaces of stoichiometric In4Sn3O12 (001), In4Sn3O12 (001)_O2/VO and In4Sn3O12 (001)_OHt.

The examination of various, possible HCHO adsorption sites and the VO formation energy identify the Sn (3a)-connected O as the active site (Figure S6-8). The, called in the following, active O plays significant roles in both HCHO adsorption and partial oxidation (Figure 3a). The adsorption takes place with the active O catching the C and the surface Sn (18f) bonding to the O (HCHO), making the HCHO spontaneously transform into dioxymethylene with an adsorption energy (Eads) of -1.87 eV (Figure 2a, Movie S1). [START_REF] Davydov | Molecular spectroscopy of oxide catalyst surfaces[END_REF][START_REF] Zhang | Alkali-Metal-Promoted Pt/TiO2 Opens a More Efficient Pathway to Formaldehyde Oxidation at Ambient Temperatures[END_REF][START_REF] Li | Sodium Enhances Ir/TiO2 Activity for Catalytic Oxidation of Formaldehyde at Ambient Temperature[END_REF][START_REF] Chen | Identification of a Facile Pathway for Dioxymethylene Conversion to Formate Catalyzed by Surface Hydroxyl on TiO2-Based Catalyst[END_REF][START_REF] Zhou | Adsorption and Reaction of Formaldehyde on Thin-Film Cerium Oxide[END_REF][START_REF] Teng | A Density Functional Theory Study of Formaldehyde Adsorption and Oxidation on CeO2 (111) Surface[END_REF][START_REF] Busca | FT-IR Study of the Adsorption and Transformation of Formaldehyde on Oxide Surfaces[END_REF] The surrounding metal atom (Sn or In) of the active O facilities the adsorption by affording site to the oxygen of HCHO molecule; the additional valence electron of Sn, when compared to In, enables Sn-O (HCHO) more energetically favorable (Figure S6-7). For oxidation, another active O, the closest to the dioxymethylene, captures the H atom, generating one formate and one rooted hydroxyl group charge analysis (Table 2) reveals that sufficient charge transfer (0.440 e) takes place only after the generation of the formate and the OHrooted (Eq. 3b). The C loses more electrons, suggesting being oxidized.

The OHrooted (actually it's *H) also makes some contribution. The oxidation process weakens the interaction among the active O and surface metal ions (Figure 3a, right panel 1 and 2), explaining the decrease of νInO and νSnO around 1000 cm -1 in HCHO atmosphere. 3-4, and the O1, O2 in Figure 3b.

Gaseous O2 molecule is revealed by DFT simulation to have little interaction with the stoichiometric In4Sn3O12 (001) but have a high tendency to fill the VO (Figure S8-10), the defect which is always present due to the high-temperature synthesis of In4Sn3O12. [START_REF] Kemmler | Nanocrystalline In4Sn3O12 High Temperature Phase for Gas Sensing Applications[END_REF] Even with O2/VO, HCHO still interacts with and then is oxidized by the active O, Sn (3a)-connected, with total Ereact of -3.34 eV and a little lower Ea of 0.43 eV (Figure 3b, Figure S8), and donates electrons (0.476 e) to the surface with a few moving to the O2/VO (Table 2). Consequently, the O-O bond is elongated from 1.444 to 1.471 Å. The O2 molecule can dissociate and fill the two VO, eventually re-generating a stoichiometric surface (Figure S11), once the product (HCOOH) is desorbed to leave the second VO. This could explain the experimentally observed decrease of the vibration at 1134 cm -1 (νO2 ads) (Figure 2b,d,g) and gives credence to the hypothesis that the adsorbed molecular oxygen is a precursor for the regeneration of the active O. [START_REF] Gurlo | Interplay between O2 and SnO2: Oxygen Ionosorption and Spectroscopic Evidence for Adsorbed Oxygen[END_REF][START_REF] Yuan | ZnO Nanosheets Abundant in Oxygen Vacancies Derived from Metal-Organic Frameworks for ppb-Level Gas Sensing[END_REF][START_REF] Kim | Catalyst-Free Highly Sensitive SnO2 Nanosheet Gas Sensors for Parts Per Billion-Level Detection of Acetone[END_REF][START_REF] Hübner | CO Sensing Mechanism with WO3 Based Gas Sensors[END_REF] Figure 4 HCHO adsorption and oxidation at In4Sn3O12 (001)_OHt

The surface OHt has already been demonstrated to be able to facilitate the HCHO oxidation. [START_REF] Zhang | Alkali-Metal-Promoted Pt/TiO2 Opens a More Efficient Pathway to Formaldehyde Oxidation at Ambient Temperatures[END_REF][START_REF] Li | Sodium Enhances Ir/TiO2 Activity for Catalytic Oxidation of Formaldehyde at Ambient Temperature[END_REF][START_REF] Chen | Identification of a Facile Pathway for Dioxymethylene Conversion to Formate Catalyzed by Surface Hydroxyl on TiO2-Based Catalyst[END_REF][START_REF] Wang | DFT Study of Formaldehyde Oxidation on Silver Cluster by Active Oxygen and Hydroxyl Groups: Mechanism Comparison and Synergistic Effect[END_REF][START_REF] Bai | Positive Effects of K+ Ions on Three-Dimensional Mesoporous Ag/Co3O4 Catalyst for HCHO Oxidation[END_REF] Numerous OHt is present at the surface, as demonstrated by the H2O-D2O exchange DRIFTS (Figure S5), even in dry air (humidity contamination around 100 ppm) at 200 °C. The HCHO prefers to interact with the OHt to form the dioxymethylene with Eads -2.05 eV (Figure 3, Movie S2), while the active O accepts the H atom from the OHt to generate an OHrooted. The migration of the H (D) of the OHt (ODt) to the OHrooted (ODrooted) provides an opportunity for the re-generation of OHt (ODt) by reaction with O2 molecules in the recovery stage (Eq. 4); this explains the emergence of νODt at 2690 cm -1 (Figure 2d).

2OH rooted +O 2 →2OH t +2O o Eq. 4a 2OD rooted +O 2 →2OD t +2O o Eq. 4b
After the adsorption, the dioxymethylene can swing at the triangle (Sn-In-In) and be oxidized when it is close to another active O with Ea of 0.48 eV (Figure 3). The last step makes the most charge contribution (0.366 e, Table 2).

Partial oxidation

The DRIFTS result demonstrates the partial oxidation of HCHO, and the DFT simulation details the reaction route and energy profile as well as the remarkable charge effect of the generated formate and OHrooted. Why in neither the response nor the recovery stage is the formate further oxidized into CO2 or CO? Some experiments of HCOOH desorption and decomposition demonstrated that on metal oxide surfaces the formate can hardly decompose into CO and CO2 at 200 °C. [START_REF] Durand | Reaction of Formic Acid over Amorphous Manganese Oxide Catalytic Systems: An in Situ Study[END_REF][START_REF] Fein | Quantitative Determination of the Catalytic Activity of Bulk Metal Oxides for Formic Acid Oxidation[END_REF] Some theoretical works have revealed that the energy barrier to break the second C-H bond is much higher than to break the first C-H bond of HCHO. [START_REF] Teng | A Density Functional Theory Study of Formaldehyde Adsorption and Oxidation on CeO2 (111) Surface[END_REF][START_REF] Wang | DFT Study of Formaldehyde Oxidation on Silver Cluster by Active Oxygen and Hydroxyl Groups: Mechanism Comparison and Synergistic Effect[END_REF] The active O, which is responsible for both HCHO adsorption and HCHO partial oxidation into HCOOH, must also play the key role in further oxidation of HCOOH. The problem is that, under dynamic conditions, the continuously provided HCHO always occupies, by adsorption, and consumes, by partial oxidation, the active O, which has little chance to further oxidize the formate. Especially, under exposure to 10 ppm HCHO, the molecularly adsorbed HCHO present at the surface is demonstrated by the emergence of C=O (HCHO) vibration at 1788 cm -1 in Figure 2g. This finding suggests the available active O is not even sufficient to enable the HCHO adsorption as dioxymethylene, letting alone to oxidize the formate. The opetation temperature of 200 °C even weakens the oxidizing ability and slows down the dissociation process. Additionally, the O2 molecule prefers to be adsorbed at the VO which is left by the desorbed HCOOH; in this way the O2 molecule has little chance to be adsorbed nearby and then oxidize the formate.

It is reasonable to consider that if the O2 content is higher or the HCHO concentration is lower the combustion of HCHO may take place. Taking an extreme example, if the HCHO DRIFTS is measured in pure O2 background, we believe the HCHO will be completely oxidized into CO2 and H2O. However, the sensor signal will not be high, because the surface is easily to be re-oxidized. Actually, we did perform the HCHO DRIFTS at lower concentration of O2 (20,000 ppm), as shown in Figure S13. Firstly, one can find that the resistance change is larger in the presence of 20,000 ppm O2 when the sensor is exposed to the same concentration of HCHO. This fact confirms our conclusion that the re-adsorbed molecular oxygen is a precursor for the regeneration of the active O. The lower O2 partial pressure definitely slows down the regeneration/re-oxidation of the SMOX surface. Secondly, there is little difference between the DRIFTS results in synthetic air and at 20,000 ppm O2. The νC=O at 1788 cm -1 from molecularly HCHO can also be identified in Figure S13c. This suggests that the oxidation products changes little when the O2 concentration increases from 20,000 ppm to 205, 000 ppm (synthetic air), which makes it more convincing that the formate is difficult to be further oxidized.

The temperature can also be an important factor for further oxidation of formate specie. With increasing temperature, fewer HCHO molecules are adsorbed, while the density of the active O, as lattice oxygen, should be less influenced. Also, the higher temperature is beneficial for the high-energy-barrier oxidation of formate. It will be interesting to explore the reaction in higher temperature. However, one must notice that, the sensor signal decreases when the temperature exceeds 200 °C (Figure S2).

Finally, this research demonstrates that there is a big gap between the partial oxidation of HCHO into formate specie and the further oxidation of formate. The gap should be taken into consideration when we design HCHO SMOX sensors.

Conclusion

The partial oxidation of HCHO into formate (or HCOOH) is responsible for the sensor signal of The differences between the sensor signals reported previously and the ones reported here are due to the different method used for the deposition of the sensing layer; previously, the sensing layer deposition was performed directly in the FSP reactor, which resulted in extremely porous layers; because of that the sensor signals were larger but the DRIFTS signals were lower -they depend on the number of interactions/scattering taking place in the sensing layer, which scales with the sensing layer density.

Because the sensing layer realized by the screen printing of inks based on FSP synthesized powders is denser than that the directly FSP-deposited one, the sensor signal is lower but the DRIFTS one is larger. [START_REF] Yu | A Review of the Emission of VOCs from Polymeric Materials Used in Buildings[END_REF] Additionally, the HCHO is measured at higher concentration to compare with the HCHO DRIFTS measurement in which high concentration is necessary to make infrared signal more evident.

9 Figure 1

 91 Figure 1 (a) The hexagonal In4Sn3O12 primitive cell (3a position is in dark, 18f is in silver, and the red is

Figure 2 DRIFTS

 2 Figure 2 DRIFTS results measured at 200 °C. (a) Resistance curve of the sensor device during HCHO DRIFTS measurement, (b) absorbance spectra by referencing the last single channel (SC) spectra under the 1.5

Figure 3

 3 Figure 3 HCHO adsorption and oxidation at: (a) Stoichiometric In4Sn3O12 (001) and (b) In4Sn3O12 (001)_O2/VO

  In4Sn3O12 under HCHO exposure at 200 °C. The Sn (3a)-connected O is the active site and plays key roles in both HCHO adsorption and partial oxidation. The presence of OHt facilitates the HCHO adsorption. The partial oxidation can induce sufficient charge transfer. The Ea for the rate-determining-step of the partial oxidation, i.e. the rupture of the first C-H bond of the dioxymethylene, is in medium range (0.43-0.68 eV), making it feasible at the optimum temperature of 200 °C.

FigureFigure S2

 S2 Figure S7b -27183.1338576 Figure S7c -27183.1137639 Figure S7d -27183.1107369 Figure S7e -27183.1414466 Figure S7f -27183.1337517 Figure 3a Panel 1 -27183.1540494 Figure 3a Panel TS -27183.1290808 Figure 3a Panel 2 -27183.2218184 In4Sn3O12 (001)_VO Figure S8a -26993.4877714 Figure S8b -26993.4964254 Figure S8c -26993.4837929 Figure S8d -26993.4748411 Figure S8e -26993.4788766 Figure S8f -26993.4710771 In4Sn3O12 (001)_O2 Figure S9a,b -27218.8973715 Figure S9c,d -27218.8992612 Figure S9e,f -27218.9030621 In4Sn3O12 (001)_ O2/VO Figure S10a -27143.7842705 Figure S10b -27143.7906369 Figure S10c -27143.7463335 Figure S10d -27143.7398000 In4Sn3O12 (001)_O2/VO_HCHO Figure S11a -27258.2467621 Figure S11b -27258.2218561 Figure S11c -27258.2233867 Figure S11d -27258.2274897 Figure S11e -27258.2381089 Figure S11f -27258.2561840 Figure S11g -27258.2358608 Figure S11h -27258.2386216 Figure 3b Panel 1 -27258.2561840 Figure 3b Panel TS -27258.2403535 Figure 3b Panel 2 -27258.3331799 In4Sn3O12 (001)_OH -27144.4236986

Figure S3 FigureFigure S5

 S3S5 Figure S3 N2-O2 DRIFTS: (a) Resistance curve and (b) absorbance spectra referred to the initial single channel spectrum in N2 (There is still around 20 ppm O2 in even N2)

Figure S6 Figure S7

 S6S7 Figure S6 Optimized (2 × 2) supercell of In4Sn3O12 (001) surface

Figure S8 Figure S9

 S8S9 Figure S8 Several possible configurations of oxygen vacancy symbolled by at In4Sn3O12 (001)

3

 3

Figure S10

 S10 Figure S10 Several possible configurations of O2 molecule (in black circle) adsorbed at or around VO at

Figure S11 Figure S12

 S11S12 Figure S11 Several possible configurations of HCHO adsorbed at In4Sn3O12 (001) with O2/VO

Table 1

 1 Observed signals of surface species in HCHO DRIFTS as well as their reported wavenumbers

	Surface specie	Vibration mode	Vibration frequency in this work	The value in references
	OHt	νOHt	3647-3654 cm -1	3627-3720 cm -1 31
	CH2	νasCH2 νsCH2	2968-2970 cm -1 2887-2889 cm -1	2950-2970 cm -1 27, 30 2840-2870 cm -1 27
	CH	νsCH	2887-2889 cm -1	2840-2870 cm -1 27-29
	ODt	νODt	2690-2696 cm -1	2577-2745 cm -1 31
	C=O (HCHO)	νC=O	1788 cm -1	1746 cm -1 27
	COO -	νasCOO -νsCOO -	1571-1585 cm -1 Spilt at 1381 and 1354 cm -1	1550-1600 cm -1 27-30 Split in 1410-1350 cm -1 27
	O2 ads	νO2 ads	1132-1134 cm -1	1060-1140 cm -1 27 1103, 1137 cm -1 32

Table 2

 2 Mulliken charge analysis of absorbed species at In4Sn3O12 (001)

	Surface	Process				Mulliken charge / e
					HCHO
	In4Sn3O12		Total	H1	H2	C	O
	(001)	1	-0.040 0.101 0.105 0.338 -0.584
		2	0.440 0.095 0.289 0.469 -0.413
					HCHO				O2 ads
	In4Sn3O12 (001)_O2/VO	0 1	Total -0.053 0.103 0.106 0.325 -0.587 -0.748 -0.343 -0.405 H1 H2 C O Total O1 O2 -0.733 -0.337 -0.396
		2	0.476 0.097 0.289 0.491 -0.401 -0.787 -0.367 -0.420
					HCHO				OHt
			Total	H1	H2	C	O	Total	H	O
	In4Sn3O12 (001)_OHt	0 1 2	-0.341 0.284 -0.625 -0.034 0.097 0.117 0.345 -0.593 -0.268 0.357 -0.625 -0.020 0.113 0.107 0.333 -0.573 -0.289 0.332 -0.621
		3	-0.010 0.120 0.115 0.323 -0.568 -0.233 0.296 -0.529
		4	0.366 0.077 0.299 0.438 -0.448 -0.153 0.296 -0.449

Note: The e is the elementary electron charge. Positive value represents electron donation effect of adsorbate. The H1, H2 are labeled in Figure

Acknowledgements

We acknowledge the valuable inputs from Anna Staerz and the assistance in experiments from Matthias Boepple, Benjamin Junker and Andre Sackmann. For the computational resources, we are grateful for the support from the Research Centre for Materials Genome Engineering at Wuhan University of Technology, the Shenzhen HUASUAN Technology Company Limited and CALMIP (Grant P16038).

Energies of all the configurations, some material characterization, temperature-dependent sensor signal to HCHO, N2-O2 DRIFTS, H2O-D2O exchange DRIFTS, HCHO DRIFTS in 20,000 ppm background, and some DFT supporting figures. This material is available free of charge via the internet at http://pubs.acs.org.

Supporting Information Available


Comment utiliser MonALISA pour surveiller la plate-forme de gestion de données réparties BlobSeer

Résumé : La surveillance des grilles est un domaine actif de la recherche, visant à la fois la surveillance des ressources et la surveillance des applications sur les grilles. La cible de la plupart des systèmes de surveillance est de produire des informations génériques. Toutefois, les applications réparties peuvent bénéficier d'un outil de surveillance et visualisation adapté à leurs besoins particuliers. Cet article étudie BlobSeer, un système de stockage réparti à large échelle.

Ce travail repose sur le système MonALISA pour collecter les données génériques et spécifiques. Afin de répondre aux défis de BlobSeer, l'outil de visualisation doit être capable de passer à l'échelle, tout en étant en mésure de fournir une image détaillée et significative des données stockées.

Mots-clés : Systèmes repartis, gestion des données, système à large échelle, surveillance, visualisation.

Introduction

Data-intensive scientific applications need to manage huge amounts of data and to handle read and write accesses to them. In order to address this challenge, several systems that deal with the management of large datasets have been designed. The distributed data storage systems need to cope with data striping across many storage providers and with the overhead of keeping track of the placement of the stored information. BlobSeer [START_REF] Nicolae | BlobSeer: How to enable efficient versioning for large object storage under heavy access concurrency[END_REF] is a system that deals with the storage of large, unstructured data and manages fine-grained read and write accesses to them under heavy concurrency.

Monitoring systems are designed to assist the users in overcoming the challenges raised by the behavior of their distributed systems. Their goal is to provide the users with the feedback necessary for identifying the state of their application and of the infrastructure where the application is running on, at a particular moment in time. Existing grid monitoring applications are mainly based on tools for monitoring the physical nodes and they mostly focus on the mechanisms of gathering and storing monitored data in a scalable and nonintrusive manner [START_REF] Zanikolas | A taxonomy of grid monitoring systems[END_REF].

The various types of grid applications have different monitoring needs, ranging from knowing the state of the physical nodes where the application runs on, to the individual states of the jobs and the progress of file transfer operations. Even though many grid monitoring applications have been developed to address general needs [START_REF]The Ganglia Website[END_REF] [START_REF] Gunter | Netlogger: A toolkit for distributed system performance analysis[END_REF], there is little work done when it comes to defining specific parameters for data storage applications. For instance, the distribution of the stored files over the nodes is a crucial parameter in this case. MonALISA [START_REF] Legrand | MonALISA: An agent based, dynamic service system to monitor, control and optimize grid based applications[END_REF] is the system selected in this paper to fulfill the monitoring tasks, as it is designed for large-scale environments and it enables the user to collect application-specific information. It also allows the user to define his own data aggregation rules and to visualize the monitored information using predefined or external graphical libraries.

This paper addresses the needs of a storage system from the point of view of a monitoring system. It discusses the useful data that should be collected by the monitoring tools in order to present the user with a a detailed and meaningful image of the storage system and of the data that it is storing. A key point is to identify the graphical representations that best suit this purpose. The paper also examines the monitoring challenges raised by a large-scale storage system, such as the large number of nodes, the fine-grained striping of the data over the storage nodes and the heavy concurrent access to data, as it is the case with BlobSeer. The MonALISA system is a monitoring framework able to meet these challenges and a visualization tool tuned for BlobSeer can rely on it for gathering the required monitoring information.

The remainder of the paper consists of the following sections. Section 2 provides a brief description of BlobSeer and Section 3 presents MonALISA, the monitoring system on which our visualization tool relies. Section 4 presents the specific parameters that can be useful in observing a storage system and reports on the obtained experimental results. It identifies the visual representations suited for BlobSeer that offer the user a detailed view of the system state and can scale with the huge amount of stored data. Section 5 draws conclusions and directions for future development.

2 BlobSeer -a grid data-sharing service

Design

BlobSeer is a data-sharing system that manages the storage of large and unstructured data blocks called binary large objects, referred to as BLOBs further in this paper. The blobs are striped into small chunks that have the same size, called pages.

BlobSeer addresses the problem of efficiently storing massive BLOBs in large-scale distributed environments. It provides an efficient fine-grained access to the pages belonging to each BLOB, as well as the possibility to modify them, in a distributed, multi-user environment.

One of the entities involved in the architecture of BlobSeer is the client, which initiates all BLOB operations: CREATE, READ, WRITE and APPEND. There can be many concurrent clients accessing the same BLOB or different BLOBs in the same time. The support for concurrent operations is enhanced by storing the pages belonging to the same BLOB on multiple storage providers.

The system has to keep track of the pages distribution across providers. Therefore, it associates some metadata to each BLOB. For each BLOB, the metadata is organized as a distributed segment tree [START_REF] Zheng | Distributed segment tree: Support of range query and cover query over DHT[END_REF], where each node corresponds to a version and to a page range within that version. Each leaf covers just one page, recording the information about the data provider where the page is physically stored. The metadata trees are stored on the metadata providers, which are processes organized as a Distributed Hash Table .  BlobSeer provides versioning support, so as to prevent pages from being overwritten and to be able to handle highly concurrent WRITE and APPEND operations. For each of them, only a patch composed of the range of written pages is added to the system, and a new metadata tree is created. The new metadata tree corresponds to a new version and points to the newly added pages and to the pages from the previous versions that were not overlapped by the added page range.

The system comprises two more entities: the version manager that deals with the serialization of the concurrent WRITE/APPEND requests and with the assignment of version numbers for each new WRITE/APPEND operation; the provider manager, the one that keeps track of all the storage providers in the system.

As far as this paper is concerned, an APPEND operation is only a special case of WRITE. Therefore, we disregard this aspect in the rest of the paper. Everything stated about WRITEs is also true for APPENDs, unless explicitly specified.

A typical setting of the BlobSeer system involves the deployment of a few hundreds of provider nodes, each of them storing data in the order of GB, and even tens of GB in the case of the use of the disk storage for each node. This implies that sizes within the order of TB can be easily reached for the BLOBs stored in the system. Furthermore, the typical size for a page within a blob can be smaller that 1 MB, whence the need to deal with hundreds of thousands of pages belonging to just one BLOB.

INRIA

Specific monitoring issues

A monitoring tool designed to provide a visual representation of the BlobSeer system has to tackle several challenges. Firstly, it has to be able to monitor the physical resources for each storage provider, in order to detect overloaded providers. Secondly, it has to provide, in a comprehensible manner, not only a visual representation of the BLOB as a whole, but also of the pages that the BLOB is striped into and of the way the pages are stored on the providers.

An important feature of BlobSeer is the versioning support that enables the creation of a new BLOB version each time a WRITE operation is performed. Thus, the visualization tool has to keep track of the different versions belonging to a BLOB and to take them into account when providing a graphical representation of the BLOBs.

Another challenge for a visualization tool designed to run on top of a largescale system is to deal with a large number of storage provider nodes and therefore with a huge number of BLOB pages, versions and with huge BLOB sizes. To address this problem, the system has to switch between an exhaustive graphical representation of all the entities in the system and a more compact, partial representation. The latter has to be capable of displaying the trends in the evolution of the system or just the entities that are the most representative for it.

MonALISA

BlobSeer is a storage system that deals with massive data, which are striped into a huge number of pages scattered across numerous storage providers. A monitoring tool tuned for presenting the state of a system like BlobSeer has to cope with two major challenges. On one side, it has to accommodate the immense number of pages that the system comprises once it stores several BLOBs. On the other side, the monitoring system has to be able to deal with a huge amount of monitoring information generated when an application accesses the nodes that make up the storage service. It is the case when multiple clients simultaneously access various parts of the stored BLOBs, as they generate a piece of monitoring information for each page accessed on each provider. MonALISA is suitable for this task, as it is a system designed to run in grid environments and it proved to be a scalable and reliable system.

Architecture

The MonALISA (Monitoring Agents in a Large Integrated Services Architecture) [START_REF]The MonALISA Website[END_REF] system is a JINI-based [START_REF] Waldo | The Jini architecture for network-centric computing[END_REF], scalable framework of distributed services, which provides the necessary tools for collecting and processing monitoring information.

Its architecture is based on four layers of services, as presented in Figure 1. It complies with the Grid Monitoring Architecture (GMA) [START_REF] Tierney | A grid monitoring architecture[END_REF] proposed by the Global Grid Forum (GGF) [START_REF]Global Grid Forum[END_REF], which includes three components: consumers, producers and a directory service. The second layer is composed of MonALISA services, the components that perform the data collection tasks. Each MonALISA service is part of a group and registers itself with a set of Lookup Services, together with several describing attributes.

The interaction between clients and services is made available through transparent Proxy services, which represent the third layer in the MonALISA architecture. Every MonALISA service discovers the Proxy Services by using the discovery mechanism implemented into the Lookup Services layer, and permanently keeps a TCP connection with each of them.

The top-level layer is represented by the MonALISA clients, which offer an intuitive graphical interface of the states of the monitored systems. It allows users to subscribe to and to visualize global parameters gathered from multiple MonALISA services. It also provides detailed tracking of parameters for any individual MonALISA service or component in the entire system. The Mon-ALISA repository is a "pseudo-client" for the MonALISA services, developed as a Web server. It is able to store the monitoring data and to present historical and real-time values, statistics and graphical charts for a specific group of MonALISA services. Each type of MonALISA client has to connect to the layer of Lookup services in order to request access to data gathered by one or more specified groups of MonALISA services. It is then transparently connected to the nearest and less loaded proxy service, which will forward the data that the client has subscribed to, from all the MonALISA services.

Customization

The MonALISA system is a well-suited choice for monitoring a distributed storage system, thanks to several features that it provides. First of all, it can monitor both a set of predefined parameters and various user-defined parameters. This is due to an application instrumentation library, called ApMon, that enables any application to send monitoring information to one or more Mon-ALISA services. ... apm -> sendParameter("MyParameterGroup", "NodeName", "MyParameter", XDR_REAL64, (char * )&value); ... BlobSeer is instrumented using the ApMon library, requiring each provider to report to the monitoring system each time a page is written or read, by sending a parameter and its value to a predefined MonALISA service, as described in Figure 2.

The version manager is monitored in the same way. An ApMon-based daemon parses its log file each time it is updated, in order to report the written page ranges and their associated versions. The state of the physical resources on each node is monitored through an ApMon thread that periodically sends the data to the monitoring service.

The MonALISA system also enables the user to create new data from the collected values, through the use of filters. In this way, new or aggregated values can be dynamically created within independent threads while the MonAL-ISA service or repository receives the monitoring information. Since by default the repository can accommodate only time series in its database, all the specific data monitored from BlobSeer go through a filter that stores them into the corresponding database tables.

Another element is essential for defining a visualization tool tuned for a particular storage system. It is the possibility of having customized graphical charts, appropriate to the collected parameters. The MonALISA repository supports the integration of external graphical libraries, thus opening the way to the generation of any type of chart for any type of user-defined parameters.

Monitoring BlobSeer using the MonALISA framework

This paper proposes a visualization tool designed to provide a comprehensive image of the BlobSeer system, able to extract useful information from the huge number of entities and monitoring parameters that account for a typical Blob-Seer instance. It relies on the MonALISA monitoring system to address the challenges raised by the data-gathering tasks. Our contribution lies in the fact that the proposed visualization tool can handle the huge bursts of monitoring data generated when countless pages are simultaneously read from or written into the stored BLOBs. It is designed to adapt to the various sizes of the datasets and to provide appropriate graphical representations for the different aspects of the system.

Experimental plan

The visualization tool we developed has been evaluated on the Grid'5000 [START_REF] Jégou | Grid'5000: a large scale and highly reconfigurable experimental grid testbed[END_REF] [6] testbed, a large-scale experimental grid platform, with reconfiguration and control capabilities. The Grid'5000 platform covers 9 sites geographically distributed in France, built as a network of dedicated clusters.

For the experiments, we used 127 nodes belonging to a single cluster in Rennes. The nodes are equipped with x86_64 CPUs and at least 4 GB of RAM. They are interconnected through a Gigabit Ethernet network.

We deployed each BlobSeer entity on a dedicated node, as follows: two nodes were used for the version manager and the provider manager, 10 nodes for the metadata providers, 100 nodes for the storage providers and 10 nodes acted as BlobSeer clients, writing data to the BlobSeer system. Four nodes hosted MonALISA services, which were responsible for gathering the monitoring data for all the provider nodes. A MonALISA repository was deployed outside Grid'5000, as there are no direct connections between the MonALISA services and the repository. All the monitoring traffic goes from the monitored nodes to the MonALISA services. Each MonALISA service keeps permanent connections with the proxy services and it forwards the monitoring data that the repository has subscribed to through these connections.

The experiment assesses the conformity of the obtained charts with the real state of the system and the ability to produce scalable results regardless of the size of the stored data, of the number of BLOB pages, or of the number of accesses.

In this experiment, we used 10 BLOBs, each of them having the page size of 1 MB and a total size larger than 20 GB. We started the 10 clients, each of them being required to create a BLOB and to write 10 data blocks of 2 GB each on the created BLOBs. Each data block overlaps the previous one by 10%. Next, we started the clients in parallel and each of them performed a number of WRITE operations on a randomly selected BLOB. The blocks were written on the BLOB at random offsets and they consisted of a random number of pages, ranging between 512 MB and 2 GB in size.

This experiment lasted for a dozen of minutes. All the figures below are real snapshots of the final state of this experiment.

General resource monitoring

Every grid monitoring tool is able to collect resource information. A monitoring system tuned for BlobSeer has to tackle this task as well, so as to be able to characterize the overall usage of the resources involved in the system. The physical resources that need to be monitored include regular monitoring parameters like computing cycles, CPU usage, network traffic, disk usage, storage space or memory.

The most important resources for a storage system are the storage space and the memory. A visualization tool has to provide information about both the state of the entire system and the distribution of the storage capabilities across the providers which this system consists of. For each provider, the information that has to be collected is represented by the used/available memory and used/available storage space. The visualization system has to be able to adapt the granularity of the system views to the needs of the client, thus proposing two different approaches that deal with the representation of the storage space or the memory. The graphical representations that follow only refer to the storage space, as the ones related to the memory are similar.

The global view It depicts the current values of the available and used storage space for the entire system. These values represent the sum of all the most recent free and used space amounts reported by the storage providers, merged in an intuitive view (Figure 3(a)). This is a real-time measure of the system load. In the future BlobSeer releases, it will be a crucial information to modify the number of running storage providers dynamically, as the available storage space decreases. In our experiment, the chart in Figure 3(a) reveals the fact that the system was not overloaded, thus indicating a stable and safe state of the system.

The detailed view

If the global view of the storage space reflects the system load, the detailed view informs the user of the occupied and available space at each storage provider.

Each provider reports the value of the used storage space each time new data are written to it, enabling the monitoring tool to keep track of the states of all the entities that make up the storage system. The visual representations of these collected data can vary from displaying the values of the used and free storage space across the providers, to the list of the most loaded providers in the system.

Note that both these approaches scale well with the number of providers. In the first case, the used storage space can be displayed as a set of averaged values for the adjoining providers, instead of individual values for each of them. In the case of the list of overloaded providers, the number of displayed providers can be selected by the user, so as to highlight the providers that require the system to trigger an action meant to decrease their load.

Global BlobSeer monitoring

In order to have an overview of all the data currently stored in the BlobSeer system, the BLOBs and their configuration can be presented from several different points of view.

The distribution of the BLOBs across providers

The visualization system has to offer a complete image of the storage system and of the way the data is stored. It has to be able to handle TB-sized BLOBs scattered on hundreds of storage providers.

This general image exposes the total sizes of the stored BLOBs, as well as the the way they are stored on the providers, providing the user with a comprehensive understanding of how the system manages the stored data (Figure 3(b)). The chart draws attention to the variations of the loads across providers and it can scale with respect to the number of providers or to the BLOB size. In case the number of BLOBs is too large and the chart cannot accommodate it, or the load variations are experienced only between a few BLOBs, the user can have a closer look to a specified range of BLOBs, by selecting an interval of BLOBs to be shown and group all the others in a single representation of their total size. The chart in Figure 3(b) reveals the balanced storage-space usage among the providers deployed in our experiment. This behavior is a consequence of the fact that they are allocated in a round-robin manner and that our experimental environment, Grid'5000, provides a low latency network between all the used nodes.

However, the displayed information is a deciding factor in dynamically adapting the provider allocation policy, when the monitoring system reveals high variations between the loads reported by the providers. On the other hand, the chart provides a means to visually compare the sizes of the different BLOBs in the system, on the same chart that exposes the total size of the stored data. In this case, due to the well-balanced providers, the total size can be easily interpreted as being the number of providers, 100, multiplied by the size stored by each provider, which is about 3 GB. The structure of all the stored BLOBs They are depicted in Figure 4(a), where the user can compare the sizes of the versions within a BLOB and the sizes of the ones corresponding to different BLOBs. The size of the versions is given in the total size of the pages that compose the versions. For the first version the size is the whole size of the written data. For the next versions, the size is just the size of the pages added or modified when the version was created, so the user can also compare the storage space occupied by various BLOBs.

This representation of the whole system can only cope with a limited number of BLOBs and BLOB versions. When the number of BLOBs grows over a fixed value, the user can no longer see the details associated with each BLOB. In this case, the chart automatically switches to a more compact representation that does not expose all the details, but instead it allows the user to detect the trends of the BLOBs' structure across the system, as presented in Figure 4(b). If some of the versions have particularly small sizes that cannot be visually distinguished, their sizes are summed up and represented as another series that contains them all (the Other versions series in Figure 4(b)).

Figure 4(a) confirms the creation of the first equally-sized 10 versions for each BLOB, as we stated in the description of the experiment. This chart is updated in a real-time manner, after each WRITE operation ends. It is a useful tool that shows the dynamic growth of the BLOBs and an intuitive image of their sizes and, furthermore, of the distribution of the size among versions.

This chart can be correlated with one that emphasizes the number of write operations performed on each BLOB, which is equivalent with the number of versions. It exposes the BLOBs that have a high rate of change or growth, as opposed to the BLOBs that contain data that is seldom modified.

Individual BLOB monitoring 4.4.1 The structure of a BLOB

The structure of a BLOB, i.e., the page ranges occupied by each version, can be a convenient information for the client. Figure 5 displays all the versions for a specified BLOB as lines covering a range of pages. This chart can accommodate a large number of versions, thus being suitable for describing BLOBs that are Figure 5 corresponds to the third BLOB, one of the largest BLOBs in our experiment (as shown in Figure 4). The figure emphasizes the placement of the versions within a BLOB. For instance, the structure of the BLOB after the first series of 10 WRITE operations reveals the first 10 versions, each of them having a size of 2 GB and overlapping the previous one by 10%.

The information provided by this chart allows the user to verify that the WRITE operations he initiated generated new versions in the requested positions within the BLOB. The chart is also a visual depiction of the ranges of pages that are overlapped by newer versions and that are no longer needed for the accesses to recent versions.

Read/Write accesses monitoring

The number of times a provider, BLOB, version, or page were accessed is a significant parameter that the monitoring system has to be aware of. It is the criterion used to find access patterns for the data stored and, together with the information about the memory and the CPU load, the number of accesses can be a valuable input for a provider allocation algorithm.

The visualization of the read/write accesses It is represented by a chart that illustrates the access patterns for a BLOB, as displayed in Figure 6(a). The chart is drawn either starting from the number of read accesses for each page that the BLOB version consists of, or starting from the number of write operations performed on the BLOB for each page. Since each WRITE or READ operation consists in accessing a range of consecutive pages, it is expected that some ranges of pages will have the same number of accesses, thus revealing an access pattern through this visual representation. The chart can aggregate data comprising a huge number of BLOB pages, enabling the user to identify INRIA the regions of the BLOB composed of pages with the same number of accesses in a scalable way.

The distribution of the read/write accesses across the BLOB versions Blob-Seer provides a versioning system that creates a new version for a BLOB every time a write operation is performed on that BLOB. The versions can be weighted by counting the number of read accesses or of physical memory pages for each of them, as shown in Figure 6(b). This chart can accommodate a huge number of versions associated with a massive BLOB, by displaying only a set of averaged values between the consecutive versions, when their total number is too large to be shown on a single chart. It depicts the tendencies of the READ operations over the versions or the various sizes of the WRITE operations, as the number of write accesses for a specified version is equivalent with the number of pages written.

Conclusion

This paper addressed the challenges that have to be tackled by a visualization tool that aims to provide an extensive and intuitive image of a large-scale storage system that deals with TB-sized data, such as BlobSeer. The goals of the paper were to select a set of specific monitoring data that can be collected from BlobSeer and to map the stored data onto a graphical representation that can scale with the huge number of BLOBs and pages stored. It has to be both an easily understandable and an in-depth depiction of the state and the structure of the system. This paper presented an experiment that shows the advantages of having a monitoring system tuned for BlobSeer. Even though it did not deal with the huge amounts of data that are typical for BlobSeer, we argue that it demonstrates the scalability of the monitoring approach.

The massive number of monitoring parameters generated for each page written imposed the use of multiple MonALISA services that share the load of collecting the data from the providers, whereas the initial experimental plan required just the use of a single MonALISA service. We decided to use an online processing of the monitoring data, so as to provide an almost real-time image of the system, by correlating the high-level data operations with the numerous low-level page storage ones.

The gathered data can be the starting point towards an online interactive or self-steering mechanism for BlobSeer. The collected data facilitate the design of a provider allocation mechanism that takes into account the various attributes of the storage providers, such as their load, the number of accesses performed on them or the number of pages or BLOBs they store. The number of deployed providers can also be automatically managed, due to the monitoring information that draws attention to the percentage of overloaded providers, the global load of the system or to the number of providers under heavy concurrent accesses. Another BlobSeer feature that can benefit from the monitoring information is the replication strategy, as the replication factor of one BLOB or page can be modified according to the previously collected data that emphasize the number of read accesses or the load of the system.

Figure 1 :

 1 Figure 1: The MonALISA architecture

  INRIA#include "ApMon.h" ApMon * apm = new ApMon(ConfigFile);

Figure 2 :

 2 Figure 2: Instrumenting a code with the ApMon Library.

  INRIA (a) Global view of the used and available storage space (b) BLOBs distribution across providers

Figure 3 :

 3 Figure 3: Storage space monitoring

  (a) Comparison between BLOB versions and sizes (b) BLOB versions and sizes for a large number of BLOBs

Figure 4 :

 4 Figure 4: BLOB versions and sizes

INRIA

Figure 5 :

 5 Figure 5: The structure of a BLOB

  (a) Number of write accesses on the logical address pages for a BLOB (b) Version access patterns

Figure 6 :

 6 Figure 6: BLOB accesses visualization

RR n°7018

Carpen-Amarie & Cai & Bougé & Antoniu & Costan

Acknowledgments

The authors thank Bogdan Nicolae for his crucial technical support regarding BlobSeer.

The experiments reported in this paper were carried out using the Grid 5000 experimental testbed, an initiative from the French Ministry of Research through the ACI GRID incentive action, INRIA, CNRS and RENATER and other contributing partners (see http://www.grid5000.fr/).