Linking Brazilian databases demands the development of algorithms and processes to deal with various challenges including the large size of the databases, the low number and poor quality of personal identifiers available to be compared , and some characteristics of Brazilian names that make the linkage process prone to errors. This study aims to describe and evaluate the quality of the processes used to create an individual-linked database for data-intensive research on the impacts on health indicators of the expansion of primary care in Rio de Janeiro City, Brazil.We created an individual-level dataset linking social benefits recipients, primary health care, hospital admission and mortality data. The databases were pre-processed, and we adopted a multiple approach strategy combining deterministic and probabilistic record linkage techniques, and an extensive clerical review of the potential matches. Relying on manual review as the gold standard, we estimated the false match  proportion of each approach  and the missed match proportion  of the clerical review approach. To assess the sensitivity  to identifying social benefits recipients’ deaths, we used their vital status registered on the primary care database as the gold standard.In all linkage processes, the deterministic approach identified most of the matches. However, the proportion of matches identified in each approach varied. The false match proportion was around 1% or less in almost all approaches. The missed match proportion in the clerical review approach of all linkage processes were under 3%. We estimated a recall of 93.6% (95% CI 92.8–94.3) for the linkage between social benefits recipients and mortality data.The adoption of a linkage strategy combining pre-processing routines, deterministic, and probabilistic strategies, as well as an extensive clerical review approach minimized linkage errors in the context of suboptimal data quality. A variety of administrative data is available for analysis in Brazil, including live births, mortality, outpatient clinics, and publicly funded hospital care. Health information is produced at the various administration levels  using the same systems and under the same standards, yielding National Databases .Record linkage has been used in specific projects conducted by the Ministry of Health, State and Municipal Health Secretariats, as well as university researchers. Databases with personal identifiers are assigned to the latter, after approval by a research ethics committee. To access the databases, the researchers must meet many requirements aimed to ensure privacy and data security .Linking Brazilian databases demands the development of algorithms and processes to deal with various challenges including the large size of the databases as well as the low number and poor quality of personal identifiers available to be compared , 4. In aDespite the increased popularity of record linkage in Brazil, only few initiatives linked various health databases , 6, 7 toA reform of the public health system in Rio de Janeiro City started in 2009. By then, the coverage of primary health care (PHC) was 3.5%, reaching 55% in 2015 , giving This study aims to describe and evaluate the quality of processes used to create an individual-linked database for data-intensive research on the impacts on health indicators of the expansion of primary care in Rio de Janeiro, Brazil.Table The Social Benefits National Registry  is the database where people who want to receive welfare and social benefits from the Brazilian government are registered. These benefits include the cash-transfer program (Programa Bolsa Família—PBF), the low-cost energy social program , and a continuous pension benefit for the elderly and handicapped (Benefício de Prestação Continuada—BPC) , 12. TheThe Electronic Medical Registry (EMR) was implemented to be the main clinical, administrative and epidemiological data management tool of primary care. It was designed to allow integration with the Brazilian Primary Care Information System (SIAB—Sistema de Informação da Atenção Básica), nowadays replaced by the e-SUS , 14. TheThe Hospital Admissions Information System (SIH) is an administrative database for the authorization of hospital admissions, including payments and auditing in the public health system , which oThe Brazilian Mortalilty Information System (SIM) started in 1975 in order to unify the various Death Declaration Forms being used in the states. The SIM database records individual deaths certificates, including description of the causes of death and the population profile . The codWe used PostgreSQL  and OpenWe linked the CadU database to the FHR, SIH, and SIM databases, one at a time. In all of these processes, we combined deterministic and probabilistic linkage, plus clerical review approaches. We also linked FHR to EMR records, however, performing only the deterministic procedure. A pilot study showed a minimal gain as well as a high cost in terms of the number of candidate record pairs that needed to be manually reviewed when we added the other approaches. The reasons for this low performance are the absence of the mother’s name attribute in EMR data, and the greater efficiency of the deterministic approach, since the common personal identifiers of FHR and EMR datasets are generated by the same computerized system using a shared table. The electronic medical records were stored in ten different files, each containing data from health facilities located in the same region of the city. Due to the large size of these files, we linked each of them to the FHR database separately.We adopted a sequential strategy, sending to the probabilistic approach only the records for which a match was not identified in the deterministic phase Fig. . LikewisWe carried out the deterministic linkage using PostgreSQL . The rulWe used OpenReclink  for the We used the Levenshtein edit distance to compare names, which measures the minimum number of edits  required to change one name string into the other , and an We post-processed all the record pairs classified as matches (first to sixth blocking pass) or potential matches (seventh blocking pass) using PostgreSQL . All recEight reviewers manually assessed the candidate record pairs classified as potential matches. Each reviewer was assigned a batch of non-overlapping candidate pairs. The reviewers were trained and evaluated by one research expert in clerical review, who was also responsible for their supervision. They assessed the same attributes used in the probabilistic process, along with the address. We let the reviewers decide each attribute's agreement, and the final resolution of the candidate record pair (match or non-match) without using any set of detailed criteria. We only oriented the use of few general rules for record pairs classification, which were developed empirically based on the experience gained in previous projects, as follows: (a) if the individual’s name is rare, then the record pair should be classified as a true match, even in the presence of disagreements in one or more other attributes; (b) if the individual’s name is common, then the record pair should be classified as a true match only if all other attributes agreed; (c) the individual’s name is not common neither rare, the record pair should be classified as a true match if the date of birth and either the mother’s name or the address agreed Fig. . The namThe training consisted of a 3-h session when the rules were presented along with real examples. After that, the reviewer had to classify correctly at least 90% of 200 pairs of records to be approved.The final phase was the merge of the matched record pairs generated in each approach and the identification and elimination of record pairs wrongly assigned as matches. We manually reviewed any duplicated record pairs of the same individual in a one-to-one match situation . Likewise, we sent to manual review five or more repeated records of the same individual in the CadU versus SIH linkage process (one-to-many case). Finally, we removed all personal identifiers, keeping only the new unique identifiers created in the pre-processing phase.We rely on manual review as the gold standard to evaluate the linkage quality. Two reviewers who did not participate in the initial clerical review process evaluated the samples of records pairs. The reviewers were aware of the status of the record pair assigned in the different approaches , and they could either agree or disagree. In the case of disagreement, the supervisor decided the final status (match or non-match). Hence, pairs of records automatically classified as matches in the deterministic or the probabilistic approaches were manually reviewed for the first time. In contrast, the pairs of records classified as match or non-match in the clerical review approach were reviewed a second time by a different reviewer.N = 744). We used this sample size to estimate the odds ratios for potential factors associated with linkage errors that we intend to evaluate in a future analysis. Likewise, we drew a simple random sample from record pairs classified as non-matches in the clerical review approach.We drew from each approach, without replacement, simple random samples from record pairs classified as matches  of each approach  and the missed match proportion  of the clerical review approach. For the linkage between the CadU and the SIM databases, we determined, in addition, the recall proportion using as the gold-standard the information about the vital status registered on the FHR. First, we selected all record pairs from the linkage between CadU and FHR with a date of death between 1999 and 2016 (N = 4179). In doing that, in the CadU database, we were able to add the information about each individual's vital status registered in the FHR database. Then, we evaluated how many of the individuals identified as deceased in the FHR (the gold standard) were also identified as deceased through the linkage between CadU and SIM. We calculated the recall proportion for the entire population and according to using the FHS services (yes/no). It was the only situation where we combined information from three databases .Each member of a family registered with FHS teams, at least in theory, should be recorded in the FHR database. Nevertheless, 297,280 individuals recorded in the CadU database, who were in a family with a FHS registered individual, did not have a match record in the FHR database. This find could be due to missing data in the FHR database or linkage error. To clarify this question, we drew a sample of 744 records from these CadU records and extensively manually searched them in the FHR database.Approval for this study was obtained from the Brazilian National Commission for Ethics in Research —number 2.689.528.Table In all linkage processes, the deterministic approach identified most of the matches. The linkage of the CadU database to the FHR database identified the highest proportion of matches deterministically. In contrast, the linkage of the CadU database to the SIH database presented the lowest percentage of matches detected through the deterministic approach and the highest percentage identified through clerical review Fig. . That liWe estimated the false match and the missed match proportions using the manual review as the gold standard. The false match proportion was around 1% or less in almost all approaches except for the clerical review in the linkage between the CadU and SIH databases (3.89%) and the CadU and SIM databases 2.55%)  for the linkage between the CadU and SIM databases, based on the information about the vital status registered on the FHR. The recall proportion did not vary significantly according to the use of the FHS services: yes = 92.8% ; no = 91.6% .Finally, analyzing a sample of the 297,280 individuals recorded in the CadU database, who were in a family with an ESF registered individual and did not have a match record in the FHR database, we found that 89.7% of them (N = 667/744) were missing in the FHR database.Even under suboptimal conditions, we managed to create an individual-linked database for data-intensive research with low linkage error rates by adopting a linkage strategy that combined multiple approaches. Our strategy is in line with a recent guideline for linking data for health service, prepared for the Agency for Healthcare Research and Quality (AHRQ) . It recoWe created the individual-linked database to evaluate the impacts on health indicators of the expansion of primary care in Rio de Janeiro, Brazil. We used CadU as the study population and linked it to FHR/EMR datasets to evaluate primary care exposure. To evaluate hospitalizations and mortality, we linked CadU to SIH and SIM databases, respectively.We used the same general strategy to link the CadU database to the FHS, hospitalization (SIH), and mortality data (SIM). However, the proportion of matches identified in each approach varied. The linkage between CadU and FHR databases found more than 90% of the matches through the deterministic approach, while the linkage between CadU and SIH databases identified three quarters. We implemented the deterministic approach using simple rules aiming to minimize false match errors . The rulThe number and quality of personal identifiers also influence the probabilistic approach , which mThe clerical review is the most labor-intensive and time consuming process in record linkage . When hiPre-processing was the second approach in terms of time and resource consuming in our study. Data cleaning is considered an essential step for improving record linkage in the scenario of poor data quality . HoweverWe tailored all the approaches to minimize false match errors. Unlike missed match errors, false match errors are positively correlated with the size of the databases to be linked . Moore eTo evaluate the impacts on health indicators of the expansion of primary care, we used record linkage to classify both the exposure to primary care and the outcomes  . TherefoOne limitation of our study was the use of the manual review as the gold standard for estimating the false match and the missed match proportions. However, to minimize errors due to the inherent subjectivity of manual classification, the supervisor decided the final status (match or non-match) whenever the reviewer of the validation sample assigned a discordant class from the initial classification. The linkage strategy adopted was complex, making it difficult to obtain a representative group of records classified as non-matches. Hence a further limitation was the lack of assessment of the recall measures for almost all linkage processes, except for the linkage between the CadU and the SIM databases. For this linkage, the gold standard was the information about the vital status registered on the FHR. Therefore, the analysis was restricted to the individuals registered in the CadU database who were found in the FHR database. However, we believe that the results observed for this particular subset of the CadU individuals may be generalized to the whole CadU population, as selection bias is unlikely. We carried out the linkage between the CadU and the SIM databases without knowing which individuals were also registered in the FHR database. Also, we estimated that about 90% of the individuals recorded in the CadU database, who were in a family with a FHS registered individual and did not have a match record in the FHR database, were missing in the FHR database. This result suggests that significant linkage errors are less likely to explain missed matches in the linkage of the CadU to the FHR databases. Finally, the reviewers of the linkage quality evaluation were aware of the record pairs status assigned in the initial review process, which might have contributed to overestimate the accuracy measures.Newcombe , a pioneIn conclusion, the adoption of a linkage strategy combining pre-processing routines, deterministic, and probabilistic strategies, as well as an extensive clerical review approach, minimized linkage errors in the context of suboptimal data quality. Although we reported our experience of linking Brazilian databases, we believe that the processes we developed to deal with various challenges can help Population Data Science researchers worldwide.


Resistivity low-contrast oil pays are a kind of unconventional oil resource with no obvious difference in physical and electrical properties from water layers, which makes it difficult to be identified based on the characteristics of the geophysical well logging response. In this study, the support vector machine (SVM) technology was used to interpret the resistivity low-contrast oil pays in Chang 8 tight sandstone reservoir of Huanxian area, Ordos Basin. First, the input data sequences of logging curves were selected by analyzing the relationship between reservoir fluid types and logging data. Then, the SVM classification model for fluid identification and SVR regression model for reservoir parameter prediction were constructed. Finally, these two models were applied to interpret the resistivity low-contrast oil pays in the study area. The application results show that the fluid recognition accuracy of the SVM classification model is higher than that of the logging cross plot method, back propagation neural network method and radial basis function neural network method. The calculation accuracy of permeability and water saturation predicted by the SVR regression model is higher than that based on the experimental fitting model, which indicates that it is feasible to carry out logging interpretation and evaluation of the resistivity low-contrast oil pays by the SVM method. The research results not only provide an important reference and basis for the review of old wells but also provide technical support for the exploration and development of new strata. The resistivity low-contrast oil pay has the characteristics of little difference in porosity and resistivity logging response from water layer, and the oil saturation of resistivity low-contrast oil layer is relatively low4. At present, low porosity and low permeability reservoirs represented by tight sandstone has become the main battlefield to ensure the supply of oil and gas resources5. However, the complex pore structure and strong heterogeneity of tight sandstone reservoir reduce the sensitivity of the logging response to pore fluid, resulting in more resistivity low-contrast oil pays developed, and it is more difficult to interpret and identify this kind of reservoir by using conventional logging interpretation methods25.With the increasing volatility of international oil prices and the continuous reduction of oil reservoir scale, the resistivity low-contrast oil resources with strong concealment has received much interest in recent years. Carrying out the research on logging interpretation and evaluation method of resistivity low-contrast oil pays has become the most practical choice to supplement conventional oil resources and reduce oilfield exploration cost10. Some classical optimization algorithms, such as the neural network method, support vector machine and fuzzy clustering method, provide a new technology for the identification of resistivity low-contrast oil pays12. Guo et al.13 predicted the water saturation at the lower limit of three water models by using the generalized neural network (GRNN) and particle swarm optimization support vector machine (PSO-SVM), which is in good agreement with the core analysis results in the Sulige tight sandstone reservoir. Chen and Peng14 used a BP neural network to train and learn the mathematical characteristics of logging curves of low resistivity oil reservoirs, which improved the accuracy of fluid identification and reservoir parameter prediction. Singh et al.15 used the stepwise linear regression, multilayer feed forward neural (MLFN) network method to predict the 2D distribution of P-wave velocity, resistivity, porosity, and gas hydrate saturation. Miah et al.16 used the multilayer perception artificial neural network (MLP-ANN) and kernel function-based least-squares support vector machine (LS-SVM) techniques to develop predictive models for water saturation, and the prediction performance was better than that of other models. Baouche and Nabawy17 applied the fuzzy logic technique that enabled a reservoir zonation of the Southern Hassi R'Mel Gas Field into several hydraulic flow units with various reservoir properties, and then the permeability values of each flow unit were predicted. With the deepening of research, many machine learning algorithms based on theoretical mathematics have been proposed, and each has its own advantages and disadvantages. However, the key to applying this kind of method to log interpretation of actual formation is to select appropriate training data as input19. In this study, the support vector machine (SVM) learning method based on VC dimension theory in statistical learning and the structural risk minimization principle (SRM) were used to establish the interpretation model. By analyzing the relationship between logging response and pore fluid, training data were optimized, and SVM classification model for fluid identification and support vector machine regression (SVR) model for reservoir parameter prediction were established. The application results show that the log interpretation models established by the SVM method are more effective than conventional method, which proves that it is feasible to identify and evaluate resistivity low-contrast oil pays based on SVM method.In recent years, data mining technology has been increasingly applied in oil exploration and development, especially for unconventional reservoirs with unclear logging response characteristics, and how to use data mining technology to effectively solve some complex problems existing in the actual production of oil fields is of great significance21. The Huanxian area is located in southwestern Ordos Basin, and the regional geological structure crosses the Tianhuan Depression and Yishan Slope from west to the east /2 classifiers need to be trained. For class I and class J data, a two classification problem needs to be solved, and the voting method is used to solve this problem; that is, if the function judges that it belongs to class I, the number of votes of class I is increased by 1. Otherwise, the number of votes of class J is increased by 1, and the final output result is the class with the largest number of votes.Fluid identification using SVM is a multiclassification problem, but the SVM method initially solves two classification problems. Therefore, it is necessary to extend SVM method and construct a reasonable multiclassification coding scheme. At present, there are four main methods to construct SVM multiclassifiers: "one against one", "one against rest", "SVM decision tree" and "one-time solution method". When solving practical multiclassification problems, the "one-to-one" method has a better effect than other methods32.To build the SVM classification model for fluid identification, we must first determine the input logging data or parameters sensitive to the pore fluid. Considering that the study area is mainly conventional logging curves, nuclear magnetic resonance logs and array acoustic logs are not widely used in the whole area. Therefore, according to the characteristics of logging curve, the fluid identification factors sensitive to fluid type are selected as the input data, including The output characteristics are represented by digital labels representing different fluid types, in which the number 2 represents the oil layer, the number 1 represents the oil–water layer, the number − 2 represents the water layer, and the number − 1 represents the dry layer. According to the oil test conclusion of the target interval in the study area, the input logging parameters are matched and combined with the numbers representing different pore fluid types to form the input training set of the model. To ensure the effectiveness and representativeness of the input training set, 204 training samples are selected in the study area, of which 185 are training sample sets and 19 are test sample sets. Table Figure The permeability and water saturation of unconventional reservoirs are seriously affected by pore structure, and it is difficult to obtain these two parameters based on conventional logging curves. Therefore, the support vector regression (SVR) method is considered to construct the prediction model of reservoir permeability and water saturation. The idea of using SVR to build a reservoir parameter prediction model is the same as the basic process of the SVM classification model. which is to first select the optimal dataset with high correlation to the prediction target value as the input. The relationship between permeability, water saturation and logging curve is very complex. To determine the appropriate input training set, different logging data set combinations were used as the input training data, and the optimal input data set was selected by comparing the errors of the prediction model. The combination of different input logging data sets is shown in Table From 16 wells in the study area, approximately 252 reliable and representative closed coring data are selected to analyze the reservoir permeability and water saturation. And 50 samples are randomly selected for back judgment, and the optimal input training sample set combination is selected according to the average relative error of the back judgment results. Figure To evaluate the reliability of the SVM classification model for fluid recognition, conventional fluid recognition method (cross plot of porosity and resistivity log), back propagation neural network (BP) method and radial basis function neural network (RBF) method were introduced for comparison. The input parameters of the BP and RBF neural network prediction model are the same as those of the SVM classification model. The optimal number of neuron layers of BP model is two layers, and the number of neurons in each layer is 12 and 14. The training function adopts the gradient descent adaptive learning rate function (traingdx function). The Gaussian function is selected as the basis function of RBF model, and the optimal Gaussian width of the training model is 0.1. Table Figure In addition, the calculated permeability and water saturation by using the SVR model and the conventional model are compared with the core analysis data of 129 sealed cores from 12 wells Fig. . The resBased on the support vector machine learning method, this paper constructs a classification model for resistivity low-contrast oil reservoir identification and SVR regression model for reservoir parameter prediction. Support vector machine learning method has the characteristics of low requirements for the number of training samples and not affected by local extremum and strong generalization ability, which makes it great advantages in solving complex practical problems such as nonlinear regression and classification compared with the classical neural network method. The application effect analysis also shows that the constructed model has a higher accuracy than the classical neural network prediction method and conventional logging interpretation model. However, it should be noted that during the process of model construction, the optimal input data set should be effectively selected. Therefore, in order to improve the application effect of SVM method in other similar areas, the logging response and reservoir characteristics of resistivity low-contrast oil pays should be analyzed to build an optimal input data sets.There is no obvious difference in physical and electrical properties between the resistivity low-contrast oil pay and water layer in the tight sandstone reservoir of the Chang 8 member in the Huanxian area, Ordos Basin. It is difficult to effectively identify and evaluate resistivity low-contrast oil pays by using conventional logging data, which seriously restricts the exploration progress and development benefits of oil resources in this area.This study analyzed the relationship between the logging response and pore fluid to optimize the input training dataset. The SVM learning method was used to construct the SVM classification model and SVR regression model for fluid identification and reservoir parameter prediction.The application results show that the SVM classification model has higher fluid identification accuracy, and the conventional fluid recognition method (cross plot of porosity and resistivity log) has the lowest fluid identification accuracy. The reservoir permeability and water saturation predicted by the SVR regression model are more consistent with the core analysis results, which proves that it is effective and feasible to interpret the resistivity low-contrast oil pays based on SVM method.


Generic simulation code for spiking neuronal networks spends the major part of the time in the phase where spikes have arrived at a compute node and need to be delivered to their target neurons. These spikes were emitted over the last interval between communication steps by source neurons distributed across many compute nodes and are inherently irregular and unsorted with respect to their targets. For finding those targets, the spikes need to be dispatched to a three-dimensional data structure with decisions on target thread and synapse type to be made on the way. With growing network size, a compute node receives spikes from an increasing number of different source neurons until in the limit each synapse on the compute node has a unique source. Here, we show analytically how this sparsity emerges over the practically relevant range of network sizes from a hundred thousand to a billion neurons. By profiling a production code we investigate opportunities for algorithmic changes to avoid indirections and branching. Every thread hosts an equal share of the neurons on a compute node. In the original algorithm, all threads search through all spikes to pick out the relevant ones. With increasing network size, the fraction of hits remains invariant but the absolute number of rejections grows. Our new alternative algorithm equally divides the spikes among the threads and immediately sorts them in parallel according to target thread and synapse type. After this, every thread completes delivery solely of the section of spikes for its own neurons. Independent of the number of threads, all spikes are looked at only two times. The new algorithm halves the number of instructions in spike delivery which leads to a reduction of simulation time of up to 40 %. Thus, spike delivery is a fully parallelizable process with a single synchronization point and thereby well suited for many-core systems. Our analysis indicates that further progress requires a reduction of the latency that the instructions experience in accessing memory. The study provides the foundation for the exploration of methods of latency hiding like software pipelining and software-induced prefetching. Over the last two decades, simulation algorithms for spiking neuronal networks have continuously been improved. The largest supercomputers available can be employed to simulate networks with billions of neurons at their natural density of connections. The respective codes scale well over orders of magnitude of network size and number of compute nodes . The former characterizes the amount of computations that need to be done to arrive at the solution. The latter describes how difficult it is on average to carry out an individual instruction due to the complexity of the operation and the waiting for accessing the corresponding part of memory. The product of the two measures is the total number of clockticks and should correlate to the wall clock time required to complete the simulation phase under investigation. Methods of software pipelining and software-induced prefetching attempt to improve the CPI by better vectorization of the code or by indicating to the processor which memory block will soon be required. These optimizations may lead to an increase in the actual number of instructions but as long as the product with the reduced CPI decreases, performance is improving. Nevertheless, a low CPI does not mean that the code is close to optimal performance. If the code is overly complicated, for example by recalculating known results or missing out on regularities in the data it may underutilize data that has been retrieved from memory rendering advanced methods of optimization fruitless. Therefore, in the present study, as a first step, we do not consider pipelining and prefetching but exclusively assess the number of instructions required by the algorithm. It turns out that a better organized algorithm indeed avoids unnecessary tests and indirections. This decrease in the number of instructions also decreases CPI as a side effect until with increasing sparseness of the network CPI climbs up again. The control flow in the code becomes more predictable for the processor until the fragmentation of memory limits the success. The results of our study give us some confidence that further work can now directly address improving the CPI.In Section 2, we expose spike delivery as the present bottleneck for the simulation of mammalian spiking neuronal networks, characterize analytically the transition to sparsity with growing network size, and present the original algorithm as well as state-of-the-art performance data. Next, we introduce the software environment of our study and the neuronal network model used to obtain quantitative data (Section 3). On the basis of these preparatory sections, Section 4 presents a new algorithm streamlining the routing of spikes to their targets. Subsequently, Section 5 evaluates the success of the redesign and identifies the origin of the improvement by profiling. Finally, Section 6 embeds the findings into the ongoing efforts to develop generic technology for the simulation of spiking neuronal networks.The conceptual and algorithmic work described here is a module in our long-term collaborative project to provide the technology for neural systems simulations , which we use as reference implementation in this study, delivery of spikes to their synaptic and neuronal targets involves frequent access to essentially random memory locations, rendering automatic prediction difficult and leading to long data-access times due to ineffective use of caches. The following subsection provides an analysis of the sparsity of the network representation for increasing numbers of Message Passing Interface (MPI) processes and threads. Based on this, there follows a description of the connection data structures and spike-delivery algorithm in the original implementation. The final subsection provides example benchmarking data for this state-of-the-art simulation code.N neurons distributed in a round-robin fashion across M MPI processes and T threads per process. Each neuron receives K incoming synapses, which are represented on the same thread as their target neuron. In a weak scaling scenario, the computational load per process is kept constant. This implies that the number of thread-local synapsesWe consider a network of MT. In the limit of large network sizes, each synapse on a given thread originates from a different source neuron. This scenario was already considered  of Kunkel et al. . In weakN as the definition of the exponential function with argument −1 and thereforewhere they further identified the term [·] in the limit of large Nu is indeed S and that a fraction ζ of S is reached at a network size ofThey confirm that the limit of N equals the number of thread local synapses S. Here, the number of unique source neurons Nu of the thread-local synapses bends. According to the definition (1) of S, here a particular target neuron chooses its K incoming synapses from the same total number of threads MT = K and already half , it is more efficient to jointly account for their delays in the neuronal target. Therefore, each neuron maintains a spike ring buffer serving as temporary storage and scheduler for the incoming spikes , which is an optimization for the small to medium scale regime introduced in Jordan et al. . TherefoIn the original algorithm, each thread reads through all spike entries in the MPI receive buffer but it only proceeds with the delivery of a spike if it actually hosts the spike's targets - all spike entries indicating other hosting threads are skipped. Each thread delivers the relevant spikes to every synapse of the corresponding target segments one by one. On receiving a spike, a synapse transfers synaptic delay and weight to the corresponding target neuron, where the stored target identifier provides access to the neuron. The transmitted synaptic properties, delay and weight, define the time and amplitude of the spike's impact on the neuron, respectively, allowing the neuron to add the weight of the incoming spike to the correct position in the neuronal spike ring buffer.In a weak-scaling experiment, the increasing sparsity of the network in the small to medium scale regime (Section 2.1) influences algorithmic progression and memory-access patterns. Access to target neurons and their spike ring buffers is always irregular regardless of the degree of distribution of the network across MPI processes, but memory access to synapses become progressively irregular. The number of spike entries communicated via MPI increases to cater to the growing number of target segments (Section 2.2). In consequence, each thread needs to process even more spike entries, delivering relevant spikes to even more but shorter target segments, where successively visited target segments are typically in nonadjacent memory locations. In the sparse limit where each target segment consists of a single synapse, spike delivery to both neuronal and synaptic targets requires accessing essentially random locations in memory. As many synapses of different source neurons converge on the same target neuron, it is impossible to arrange target neurons in memory such that their order corresponds to the order in synaptic target segments. The pseudocode in 2.3.1 summarizes this original spike-delivery algorithm.spike_ring_buffer, where the neuron member function Receive triggers the spike delivery by calling the spike ring buffer member function AddValue, which then adds the weight of the spike to the correct position in the buffer . To this end, both Receive and AddValue require the synaptic properties delay and weight.The original algorithm delivers spikes to the neuronal spike ring buffers through the target synapses. Each neuron owns a delay and weight, an identifier enabling access to the target neuron (target_neuron), and an indicator (subsq) of whether the target segment continues or not (ORI syn). The synapse member function Send calls the member function Receive of the target neuron passing on the synaptic properties and returns the indicator subsq.Each synapse stores properties such as recv_buffer) containing all spike entries that need to be delivered and to a three-dimensional resizable array of process-local synapses ordered by hosting thread and synapse type  is the hosting thread of the target synapse, then the variable lcid is used in the enclosed while loop to iterate over the spike's entire synaptic target segment within the innermost array synapses[tid][syn_id] (TS). To deliver a spike to the target synapse at position lcid, the synapse member function Send is called on synapses[tid][syn_id][lcid] returning the indicator subsq (SYN).The original spike-delivery algorithm has access to the MPI spike-receive buffer  and inhibitory neurons (20%). These are modeled by single-compartment leaky-integrate-and-fire dynamics with alpha-shaped postsynaptic currents. Parameters are homogeneous across all neurons. Each neuron receives a fixed number of excitatory and inhibitory connections with presynaptic partners randomly drawn from the respective population. Thus, every neuron has 11, 250 incoming and, on average, 11, 250 outgoing synapses, independent of the network size. Inhibitory synapses are stronger than excitatory synapses to ensure the stability of the dynamical state of the network. The simulation of 10 ms of biological time, called the init phase, is followed by the further simulation of 1 s of biological time. The former initiates the creation and initialization of data structures that are unchanged in the simulation of subsequent time stretches. The measured wall-clock time of the latter, called the simulation phase, is referred to as “sim time.” The mean firing rate across all network sizes considered in this study is 7.56 Hz with a SD of 0.1 Hz.The JURECA Cluster Module (JURECA CM) and the K computer are already specified in Jordan et al. , their cDynamical Exascale Entry Platform-Extreme Scale Technologies (DEEP-EST)--cpu_bind=sockets to ensure that the threads of each process remain on the same socket.Both on JURECA CM and DEEP-EST CM, we compile the application with OpenMP enabled using GCC and link against ParaStationMPI for MPI support. In our benchmarks, to match the node architecture, we launch 2 MPI processes each with 12 threads on every node and bind the MPI processes to sockets using The K computer  The algorithmic redesign concentrates on the initial part of spike delivery and access to the spike ring buffers. The initial part of the original algorithm (Section 2.3) does not fully parallelize the sorting of spike events according to the target thread (Section 4.1). Furthermore, access to the spike ring buffers is hidden from the algorithm as the buffer is considered an implementation detail of the object representing a neuron (Section 4.2). Acronyms given in the titles of the subsections label the specific modifications for brevity and serve as references in pseudocode and figures.In the original spike-delivery algorithm (Section 2.3), each thread needs to read all spike entries in the MPI receive buffer, even those not relevant for its thread local targets, causing an overhead per spike entry, and hence per process-local synaptic target segment. Moreover, for each relevant spike entry, the thread hosting the targets needs to identify the correct innermost array in the three-dimensional resizable array storing the process-local synapses  based onTo address these issues, we adapt the original spike-delivery algorithm such that instead of directly dispatching the data from the receive buffer to the thread-local targets, we introduce a two-step process: First, the threads sort the spike entries by hosting thread and synapse type in parallel, and only then the threads dispatch the spikes, now exclusively reading relevant spike entries. To this end, we introduce a new data structure of nested resizable arrays, called spike-receive register (SRR), where each thread is assigned its own domain for writing. After each spike communication, a multi-threaded transfer of all spike entries from the MPI receive buffer to the spike-receive register takes place: each thread reads a different section of the entire receive buffer and transfers the entries to their SRR domains. The domains are in turn organized into separate resizable arrays, one per hosting thread. Nested resizable arrays enable the further sorting by synapse type. In this way, each element of the MPI receive buffer is read only once and spike entries are immediately sorted. This allows for a subsequent multi-threaded delivery of spikes from the spike-receive register to the corresponding target synapses and neurons such that all spike entries are exclusively read by their hosting thread. At this point, all a hosting thread has to do is to sequentially work through every resizable array exclusively prepared for it in the sorting phase. The additional sorting by synapse type allows the hosting thread to deliver all spikes targeting synapses of the same type in one pass.In the original spike-delivery algorithm (Section 2.3), the target synapse triggers the delivery of a spike to its target neuron, which then adds the spike to its spike ring buffer. For the entire spike-delivery process, this results in alternating access to target synapses and target neurons, or more precisely, the target neurons' spike ring buffers. As synapses store the target identifiers and other relevant information, access to a target synapse is a precondition for access to its target neuron.In order to expose this code dependency, we separate the two delivery steps: spike delivery to target synapse and corresponding target neuron are now triggered sequentially at the same call-stack level. Moreover, instead of storing a target identifier, each synapse now stores a pointer to the target neuron's spike ring buffer allowing for direct access when delivering a spike. Therefore, the quantitative analysis (Section 5.1) refers to this set of optimizations as P2RB as an acronym for “pointer to ring buffer”.The pseudocode SRR+P2RB illustrates the changes to the original spike-delivery algorithm (ORI) resulting from the two new algorithms SRR (Section 4.1) and P2RB (Section 4.2).target_rb) to the neuronal spike ring buffer. The synapse member function Send returns the pointer and the synaptic properties delay and weight in addition to the indicator subsq (SRR+P2RB syn). This allows the algorithm to directly call AddValue on the spike ring buffer  after the call to the synapse member function Send (SYN). The Receive member function of the target neuron (ORI nrn) is no longer required. Additionally, the algorithm now makes use of a spike receive register (spike_reg) for a preceding thread-parallel sorting of the spike entries from the MPI receive buffer by hosting thread (tid) and synapse type (syn_id), where each thread writes to its private region of the register (spike_reg[TID]). Spikes are then delivered from the spike receive register instead of the MPI receive buffer, where each thread processes only those regions of the register that contain spike entries for thread-local targets .Instead of a target-neuron identifier, each synapse now owns a pointer . Subsequently, we investigate in Section 5.2 the origin of the performance gain by evaluating the change in the total number of instructions required and the average number of clockticks consumed per instruction.set_sender_gid from the generic spike delivery code (noSSG). This function attaches identifying information about the source of the corresponding spike which is only required by specific non-neuronal targets such as recorders. However, it causes per-target-segment overhead in all simulations. The functionality can hence be moved to a more specialized part of the code, e.g., the recorder model, and thereby regained if required. The DEEP-EST CM hardly benefits from the removal of the call but the batchwise processing of target segments has an increasing gain reaching 20% at 90 MPI processes. On JURECA CM, the function call does limit the performance and its removal alone improves the performance by 20% for large numbers of MPI processes. Across systems and a number of MPI processes, the combined optimizations lead to a sustained reduction in simulation time.We select three computer systems for their differences in architecture and size (Section 3.3) to measure simulation times for a weak scaling of the benchmark network model (Section 3.2). The number of neurons per MPI process is significantly larger on the DEEP-EST CM and the JURECA CM  than on the K computer  making use of the respectively available amount of memory per process. On all three systems, we observe a relative reduction in simulation time by more than 30%  for the The new data structures and algorithms address the spike-delivery phase only, but an optimization can only reduce simulation time to the extent the component of the code to be optimized contributes to the total time consumed as indicated by the limiting curve in P2RB increases the size of synapse objects by introducing an 8 B pointer to the neuronal spike ring buffer replacing the 2 B local neuron index of the original algorithm (Section 2.3). We hypothesize that this increase underlies the declining success and ultimately disadvantageous effect observed on JURECA CM. Control simulations using the original code but with an artificially increased object size confirm this hypothesis (data not shown).The new data structures and algorithms realize a more fine-grained parallelization and avoid indirections in memory accesses (Section 4). These changes significantly speed up the application  across aThe total number of instructions decreases by close to 50% on all scales. Nevertheless, the contribution of noSSG to the reduction in the number of instructions becomes larger as this algorithm removes code which is called for every target segment. The number of target segments, however, increases with the number of MPI processes until a limit is asymptotically approached .For small problem sizes, the CPI decreases when compared against the baseline (SRR+P2RB), but at around 32 MPI processes, the instructions start to consume more clockticks than in the original algorithm . This beTaken individually, the two metrics alone are not sufficient for explaining the decrease in simulation time . The proOur investigation characterizes the dominance of the spike-delivery phase in a weak-scaling scenario for a typical random network model (Section 2.4). At small to medium network sizes, spike delivery is the sole major contributor to simulation time. Only if thousands of compute nodes are involved, communication between nodes becomes prominent  while spIn spike delivery, a thread inspects all spikes arriving at the compute node. If the thread hosts at least one target neuron of a spike, the thread needs to access a three-dimensional data structure  to activThe first step in our reconsideration of the spike-delivery algorithm is to look at the initial identification of the relevant spikes for each thread. Originally, each thread inspects all spikes. This means that the algorithms perform many read operations on spikes without further actions and that their proportion increases with an increasing number of threads per compute node. The alternative algorithm which we refer to as SRR (Section 4.1) carries out a partial sorting of the spikes. Each thread is responsible for an equally sized chunk of the incoming spikes and sorts them into a data structure according to the thread on which the target neuron resides and according to the type of the target synapse. Once all threads have completed their work, they find a data structure containing only relevant spikes and complete the spike delivery entirely independently from the other threads. This already leads to a reduction of simulation time between 10 and 20 % on the three computer systems tested while the detailed development of this fraction differs with network size.As a second step, we remove an indirection originating in the initial object oriented design of the simulation code. Following the concept of describing entities of nature by software objects, neurons became objects receiving and emitting spikes and neuronal spike ring buffers an implementation detail of no relevance for other components. As a consequence when a neuron object receives a spike it needs to decide in which ring buffer to place the spike, for example, to separate excitatory from inhibitory inputs, and delegate this task to the respective buffer. Our alternative algorithm  exposes the corresponding spike ring buffer to the synapse at the time of network construction. The synapse stores the direct pointer and no further decision is required during simulation. This change further reduces simulation time by 10 to 20 %.One computer system (JURECA CM) shows a pronounced decline in the computational advantage of the combined new algorithm (SRR+P2RB) for large network sizes, which in the case of P2RB, we assume to be due to an increase in synaptic memory footprint. An additional optimization removing a generic function call that enriches spike events by information on the identity of the source neuron mitigates the loss in performance. As this functionality is not required for the interaction between neurons, we moved the function to a more specialized part of the code .The achievement of the combined algorithm (SRR+P2RB+noSSG) needs to be judged in light of the potential maximum gain. For small networks, spike delivery consumes 70 to 80 % of simulation time, depending on the computer system, while this relative contribution declines with growing network sizes as communication becomes more prominent. Thus, the streamlined processing of spikes reduces spike delivery by 50 % largely independent of network size. In conclusion, with the new algorithm, spike delivery still substantially contributes to simulation time.In the small to medium scale regime , the new code gains its superiority from executing only half of the number of instructions of the original implementation (Section 5.2). The reduction becomes slightly larger with increasing network size. This is plausible as for a given thread, the algorithm avoids processing a growing number of irrelevant spikes (SRR). As the number of synapses per compute node is fixed, but neurons have a decreasing number of targets per compute node, the number of relevant spikes increases. Therefore, decreasing the number of function calls per spike has an increasing benefit.The picture is less clear for the average number of clockticks required to complete an instruction (Section 5.2). For small networks, the new algorithms exhibit an advantage. However, with increasing network size, eventually more clockticks per instruction are required than by the original algorithm. Nevertheless, these latencies are hard to compare as the new algorithm executes only half of the instructions and may therefore put memory interfaces under larger stress. This result already indicates that methods of latency hiding may now be successful in further reducing spike-delivery time. The product of the number of instructions and the clockticks per instruction gives an estimate of the total number of clockticks required. The observed stable improvement across all network sizes confirms the direct measurements of simulation time.via different synapse types. In fact, this strategy is currently in use, for example, to provide synapse types with different target identifiers either consuming less memory or requiring fewer indirections (Section 2.2), where template-based solutions prevent the duplication of entire model codes. Users can thus select the optimal synapse-type version depending on the amount of memory available. However, making multiple versions of the same model available reduces the user-friendliness of the application. A domain specific language like NESTML  by a pointer to the corresponding spike ring buffer. Synaptic plasticity is the biological phenomenon by which the strength of a synapse changes in dependence on the spiking activity of the presynaptic and the postsynaptic neuron. This is one of the key mechanisms by which brains implement system-level learning. For a wide class of models of synaptic plasticity, it is sufficient to update the synaptic weight when a presynaptic spike arrives at the synapse  funding framework under grant agreement no. 785907 , no. 945539 (HBP SGA3), and no. 754304 (DEEP-EST), the Helmholtz Association Initiative and Networking Fund under project number SO-092 , and the Deutsche Forschungsgemeinschaft  -368482240/GRK2416. The use of the JURECA supercomputer in Jülich was made possible through VSR computation time grant Brain-Scale Simulations JINB33. This research used resources of K computer at the RIKEN Advanced Institute for Computational Science. Supported by the project Exploratory Challenge on Post-K Computer  of the Ministry of Education, Culture, Sports, Science and Technology (MEXT).The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.


The paper deals with performance enhancement of low-cost, consumer-grade inertial sensors realized by means of Micro Electro-Mechanical Systems (MEMS) technology. Focusing their attention on the reduction of bias instability and random walk-driven drift of cost-effective MEMS accelerometers and gyroscopes, the authors hereinafter propose a suitable method, based on a redundant configuration and complemented with a proper measurement procedure, to improve the performance of low-cost, consumer-grade MEMS sensors. The performance of the method is assessed by means of an adequate prototype and compared with that assured by a commercial, expensive, tactical-grade MEMS inertial measurement unit, taken as reference. Obtained results highlight the promising reliability and efficacy of the method in estimating position, velocity, and attitude of vehicles; in particular, bias instability and random walk reduction greater than 25% is, in fact, experienced. Moreover, differences as low as 0.025 rad and 0.89 m are obtained when comparing position and attitude estimates provided by the prototype and those granted by the tactical-grade MEMS IMU. Micro Electro-Mechanical Sensors for inertial measurements, such as gyros and accelerometers, are of high interest in the development of modern vehicles. Compact, lightweight, reliable, and affordable solutions are needed to develop autonomous transport platforms, such as Unmanned Aircraft Systems, Unmanned Ground Vehicles, and Autonomous Underwater Vehicles ,2,3. New−1 degrees per hour [MEMS sensors still have some significant limitations. Actually, gyros are more critical than accelerometers since their overall accuracy is poor with respect to advanced solutions, such as optical and mechanical ones. In particular, the bias instability can be very large. Consumer-grade MEMS gyros can be affected by a bias instability in the order of 50 degrees per hour or more , while aper hour . Tacticaper hour . The biaper hour ; the negper hour .The availability of rapid-prototyping electronic boards, such as those provided by STMicroelectronics™ , permitsTo overcome known limitations affecting the performance of Inertial Navigation Systems (INS) based on consumer-grade MEMS sensors, a redundant configuration of cost-effective accelerometers and gyros placed on the faces of regular polyhedron has been investigated. Thanks to the offered opportunity of averaging acceleration and angular rate values coming from different sensors, the considered geometric configuration allows a preliminary self-calibration and/or compensation of typical inertial sensors uncertainty sources , thus reducing the overall uncertainty in attitude, position and speed measurements . To bettN sensors whose sensing axes are characterized by an invariable orientation with respect to the redundant Inertial Measurement Unit (IMU) reference system. Let i-th inertial sensor; according to [i-th axis; even though different sensors would be characterized by different values of standard deviation, this value can be considered equal for all the sensors in the following, without loss of generality. Acceleration and/or angular rate values coming from each sensor axis can be combined by averaging their projections on each IMU axis. This way, the standard deviation i-th sensor and j-th IMU axis, respectively.Thanks to a reasonable assumption of lack of correlation, exploiting a redundant configuration allows to suitably reduce the typical errors  with rerding to ,16 the mi-th sensing axis of each sensor is parallel to j-th IMU axis, Equation (2) turns intoWhen the N values that represent a theoretical value of the standard deviation [i.e., the standard deviation corresponding to the arithmetic mean of eviation ,18.In order to assure a three-dimensional uniform error along any direction of each IMU axis, inertial sensors should be placed on the faces of a regular polyhedron; if this is the case, directions orthogonal to each face are characterized by spatial uniform distribution.The coefficient N of exploited sensors. Moreover, values given in [As reported in , it is wgiven in  refer toib is the starting reference of the i-th sensor body frame, while rb is the body reference frame of destination.In order to correctly combine data acquired from different sensors, their spatial orientation must be referred to a common reference frame. Different approaches  can be exploited to transform a vector from one coordinate system into another. All rotations involve a transformation matrix or Direction Cosine Matrix (DCM), usually referred to as The transformation matrixes are defined by a sequence of three rotations comprising Euler’s angles heading) . The Eulheading) .The quaternion representation is based on Euler’s rotational theorem, which states that the relative orientation of two coordinate systems can be described by only one rotation about a fixed axis . TherefoA is the transformation matrix, i-th The optimal transformation matrix of the sensing axes of each sensor can be determined by minimizing the loss function:K is defined as follows:The loss function could be rewritten in terms of quaternion using an algorithm based on Wahba’s  method:, extensively described in , and usuNavigation applications are characterized by non-linear dynamic models; this way, a linearization approach is applied to the KF to obtain the so-called Extended Kalman Filter (EKF) . AssuminThe dependence of the state estimates quality on parameters defining noise conditions of sensors outputs is known to be one of the most important issues associated with Kalman filtering. To suitably determining their values, different approaches can be pursued; stemming from their past experience ,28, the Allan variance was first proposed to overcome problems associated with standard deviation evaluation on an increasing sequence of acquired data. Even though it was originally used for oscillator frequency applications, Allan variance can be exploited to highlight and discriminate noise terms added to the signal of interest also in inertial sensors . Allan vFrom an operating point of view, the Allan variance for a specific cluster time When inertial sensors are considered, the evolution versus xploited . In partTo overcome the above-mentioned limitations, the exploitation of a redundant configuration of low-cost MEMS inertial sensors along with a suitable digital signal processing strategy is proposed to gain an accurate estimate of position, velocity and attitude. For the sake of clarity, the operating steps of the proposed method are shown in According to what is stated in , regularThis way, measures associated with the body frame of each inertial sensor must be reported into a single reference frame . A suitaThe alignment procedure must be carried out once at redundant IMU realization or when relative sensors orientation should change due to accidental modifications.The body frame of the inertial sensors installed on the face 1 of the cube is (arbitrarily) chosen as the reference frame the sensing axes of the other sensors are resolved to .Six rotations are applied to the cube in such a way as each face of the cube is positioned with an orientation coincident with that original of face 1. As an example, in the second step of i (varying from 1 up to 6), raw data of acceleration j (varying from 1 up to 6); the index k is associated with the acquired samples ;For each rotation i-th rotation is calculated for each sensor and the results are normalized according tomean(·) stands for the average operating on each axis and norm(·) represents the traditional norm operator for vectors;The average acceleration vector associated with the V is arranged by means of acceleration components associated with face 1; in particular, the entries of the i-th row of the matrix V are equal to the components of the normalized acceleration of the rotation iThe reference matrix jW, their entries can be determined in a similar wayAs for the matrices ® algorithm is performed to evaluate the alignment matrices. In particular, once the matrix j-th reference frame as close as possible to the first one) is determined as a quaternion (eigenvector) corresponding to the maximum eigenvalue of the Equation (7).According to the procedure presented in Finally, the optimal quaternion is transformed in the related rotation matrix by means of straightforward calculation; obtained matrices are exploited to align all the measured inertial quantities to the reference frame of face 1.The procedure consists of the following steps:Once the measurements have been resolved in a single reference and the misalignments due to the arrangement of the cubic structure have been compensated, the raw realigned measures of acceleration and angular rate are averaged for each sensing axis in order to obtain the input data for the successive navigation algorithm; as stated above, the averaging operation allows a first reduction of error source effects on the navigation performance.Q. Without loss of generality, Q can be determined as a diagonal matrix whose entries are the variance associated with bias instability and random walk of either accelerometers or gyros. Suitable values of the matrix Q promote a proper convergence of the Kalman filter, thus allowing to accurately estimate navigation parameters. Allan deviation approach has been exploited to set the desired values.Bias affecting inertial sensors output are compensated by means of Kalman filters. A key issue is the determination of the entries of the so-called covariance matrix of the process noise, usually indicated as ct equal to 8 ms; this way, a whole number of samples M equal to 32.4 MSamples for each sensing axis has been acquired. Allan variance is evaluated for a specific cluster time τ = cmt from raw digitized data according tokS stands for the k-th sample of angle or speed sequence obtained as cumulative sum of angular rate and acceleration data, respectively.To this aim, measures of accelerations and angular rates provided by the redundant configuration have been acquired upon an observation interval of 72 h with a sampling period According to Equations (15) and (16), the needed values of bias instability and random walk can be evaluated by singling out the curve portions characterized by slope equal to 0 and −0.5.Once the sensing axes of each sensor are determined and the noise parameters are aligned, an initial estimate of the bias is carried out by means of a ZUPT filter applied on the measurements of averaged accelerations and angular rates provided by the redundant configuration . To makeZUPT filter is based on the Kalman Filter that evaluates in the prediction stage the navigation parameters  obtained as an integration of acceleration and angular rate data.Successively, the predicted position and velocity are compared in the correction stage with those unchanging of the stationary condition. Any difference between the considered values only arises because of the biases that can be thus estimated and given as output from the ZUPT.Once the initial estimates of biases are determined, acceleration and angular rate data provided by the cube can be exploited to determine the navigation parameters of the redundant inertial unit. Different approaches can be adopted to update the values of the biases cyclically; in particular, an extensive review of techniques based on the integration of low-cost INS and GNSS can be found in . In the The first operation accounts for the initialization of the values of position and velocity, given by GNSS data. Moreover, initial attitude is estimated through leveling operations .Prediction/integration. At this step, the inertial navigation equations are integrated. To this aim, measures of accelerations and angular rates provided by the cube are first corrected from the last available values of bias. This stage provides the so-called a priori estimates of the state vector, i.e., a state vector updated by only integrating the corrected accelerations and angular rates; possible uncompensated biases effects make the estimated navigation parameters diverge from the actual values;Correction through GNSS data. When new measures of position and velocity are available from the GNSS, their values can be exploited to correct the a priori estimates of the state vector. In particular, a suitable matrix, Kalman gain, allows us to weight the confidence between integration and GNSS data and evaluate the so-called a posteriori estimate of the state vector. The higher the values of the Kalman gain, the greater the confidence and successive correction from GNSS measures with respect to the result of the integration stage. Moreover, in this step, the biases responsible for the difference between the integration and GNSS navigation parameters are estimated and given as input for the successive prediction/integration step.Successively, the adopted integration Kalman filter algorithm estimates the 15-dimension state vector  by iteratively operating according to two steps:The first prototype of redundant configuration has been designed in such a way as to be exploited as a data acquisition system; in particular, raw data acquired by each inertial sensor are transmitted to an external Personal Computer (PC) running the navigation algorithm.TM integrates on a single board a Cortex-M4-based microcontroller characterized by an operation frequency of 80 MHz and a suitable set of motion and environmental sensors. In particular, the board is equipped with a MEMS inertial module (iNemo) that includes a triaxial accelerometer and triaxial gyroscope, whose main nominal specifications are given in [Method performance has been assessed by means of a suitable prototype of redundant IMU based on low-cost inertial sensors. The redundant inertial measurement unit has been realized by assembling six cost-effective MEMS inertial sensors on cubic support. Each couple of inertial sensors is mounted on a suitable development board, SensorTile™ from STMicroelectronics. The SensorTilegiven in . The micTM are transmitted to a further microcontroller installed on a Nucleo-F303K8 development board and acting as a concentrator of acquired data. Moreover, the connection among concentrator and SensorTiles is carried out by means of the SPI protocol; in this case, the concentrator acts as master of the connection, while the serial clock period has been set equal to 100 ns. Finally, the concentrator provides a Universal Serial Bus (USB) connection with a personal computer for external data transmission and processing as well as a further SPI channel to a Micro-SD  card adapter module for data saving; to this aim, a proper level shifter has been adopted to match the value of communication voltage between the concentrator and the adapter module.Accelerations and angular rates measured by each SensorTileTM UNO R3 connector [The hardware architecture is complemented with a X-NUCLEO-GNSS1A1 by STMicroelectronics, i.e., GNSS expansion board based on Teseo-LIV3F module compliant with Arduinoonnector . Teseo-Lonnector . The mesWith regard to the software architecture, firmware for SensorTiles, GNSS module and concentrator has been implemented through Mbed RTOS ; in partTo make the prototype compatible with aeronautical applications and constraints, the inertial sensor of each tile must be sampled at rate not lower than 100 Hz. On the other side, iNemo can acquire acceleration and angular rate with a lowest sampling period equal to 150 μs . A proper tradeoff must be found between navigation and computational burden associated with the execution of the algorithm implementing the proposed method; a sampling period equal to 8 ms has thus been chosen.As regards the measurement operations, the concentrator exploits the channel selection lines of the SPI protocol to simultaneously provide SensorTile with a trigger event each for the measurement of triaxial acceleration and triaxial angular rate. It is worth noting that an ad hoc SPI firmware has been implemented in the Tiles to reduce as low as possible the communication time usually taken by the available drivers. Moreover, configuration registers of the iNemo are set in such a way as to update inertial measures with a sample rate of 416 Hz, thus assuring new values of accelerations and angular rates for each measurement request. Finally, full-scale values of ±2 g and ±125 dps have been chosen to gain the best sensitivity.TM individually to obtain the measured values, already rotated to be aligned with a reference frame. To reduce the transmission interval, the output code, expressed through two-bytes signed integer representation and provided by the 16-bit analog-to-digital converter integrated into the iNemo is transmitted for each quantity of interest [TM. Received data are then forwarded to the Micro SD-card for storage and to the personal computer for navigation processing; the whole needed time is equal to about 5 ms; the remaining 3 ms are exploited by a MATLABTM application running to carry out a prediction/correction cycle of the Kalman-based navigation algorithm. As stated above, the inputs of the navigation algorithm are the averaged inertial quantities, for each sensing axes. Finally, GNSS measures are also sent to the algorithm for the correction step.The concentrator then polls each SensorTileinterest ; this waPerformance of proposed method along with the realized prototype has been assessed by means of a number of experimental tests with the aim of highlighting improvement brought by the redundant configuration with respect to a single couple accelerometer/gyro of sensors. In particular, the results obtained for the preliminary characterization of the prototype bias instability and drift, evaluated as described in 2 and 0.07 m/s/To better appreciate achieved performance, a tactical-grade inertial sensor has been adopted as benchmark. In particular, a MEMS sensor was used, STIM300 by SensoNor™, which includes a high-performance triaxial gyroscope and triaxial accelerometer. According to what is described in the datasheet , the senThe proposed method has been assessed by means of the measurement setup shown in 7.4 V and 2000 mAh battery for general power supply;DC-DC (Direct Current) step down converter circuit, to provide the adequate supply voltage for the exploited electronics;STIM300, used as reference IMU;Prototype of redundant IMU;GNSS module and its antenna;Status indicator LED;Two SDCard interfaces.The measurement setup comprised:z as more parallel as possible with the gravity acceleration. However, this is not a relevant constraint.As for the realized prototype, a further microcontroller receives and saves on a dedicated SD-Card the reference measures provided by the STIM300. As for the initial attitude, both prototype and reference IMU have been oriented in such a way as to have the sensing axis TM that evaluates the components of measured acceleration and angular rate in the reference frame.According to what was reported in ij is defined as:The residual misalignment after the realignment procedure has been assessed by evaluating the angle between the mean gravity vectors measured by reference and realigned frames. In particular, the angle αj-th face of the cube, aligned with face 1 after the i-th rotation;i-th rotation;The alignment performance is finally assessed as the average and experimental standard deviation of the 6 residual angles for each face of the redundant IMU; the corresponding results are shown in To properly estimate bias instabilities and random walks of the prototype, raw outputs of the six inertial sensors have been acquired for 48 h in a conditioned room; the measured temperature has always been within 25 ± 1 °C in order to operate as close as possible to the conditions required by the IEEE 647-2006 Standard . ResultsTo better appreciate the advantages brought by the redundant configuration, Allan variances of each individual sensor and prototype have been estimated. For the sake of clarity and simplicity, results associated with only one sensing axis for both accelerometer and gyroscope have been reported and shown Once the best entries for the process noise covariance matrix are determined, the performance of the prototype has been assessed by a real navigation condition carried out on the terrestrial vehicle. In particular, both prototype and reference IMU have experienced an urban path whose GNSS positions, acquired with a sampling period equal to 1s, are shown in TM have been compared with the attitude estimates granted by the STIM300; in particular, results shown in TM have proven unreliable and very different from the reference values.The first test aimed at assessing the improvement in attitude and position estimation granted by the redundant configuration; for this set of tests, all the available position and speed values of the GNSS have been considered. Heading, pitch and roll provided by both prototype and single SensorTileMoreover, with the aim of observing the benefits introduced by the redundancy, the results of the initial leveling procedure described in  are showTM. The discontinuities corresponded to the effect of the correction stage associated with the availability of a new GNSS output.Similar results have also been experienced in tests conducted for position and velocity; for the sake of brevity, the position is only presented in the following. Comparison between the positions estimated through the redundant configuration and those granted by the STIM300 is shown in x and y are the longitude and latitude estimates expressed in meter, z stands for the altitude, the subscripts P and R refer, respectively, to prototype and reference IMU, and N is the number of acquired samples.Further tests have been conducted to assess the robustness of the redundant configuration estimates in the presence of GNSS outages. Besides the best condition characterized by a new GNSS sample acquired each second, three other sampling periods have been taken into account ; moreover, to simulate typical phenomena  experienced in the urban contest and degrading the quality and availability of GNSS outputs, the set of available GNSS samples has been randomly decimated to a nominal ratio of 50%. For each sample of the traveled path, the Error Vector Magnitude (EVM) of the positions estimated by both the proposed prototype and reference IMU is calculated according toAs an example, the evolution of the EVM versus time is given in In a similar way, the robustness of attitude estimates to GNSS outages have also been carried out. In particular, the root mean square value of the differences of heading, pitch, and roll angles along the whole traveled path has been evaluated; corresponding results are given in TM boards by STMicroelectronics on the faces of a cube. Each SensorTileTM is equipped with an inertial sensor (referred to as iNemo) consisting of 16-bit triaxial gyroscope and triaxial accelerometer exchanging raw measures with a concentrator.A method based on redundant configuration for the performance improvement in terms of bias instability and bias drift of low-cost of consumer-grade MEMS inertial measurement units has been presented hereinafter; attention has been mainly focused on bias with respect to scale factor, since the former is more relevant for this category of sensors . The metAccording to the proposed method, the first contribution to performance enhancement is brought by (i) aligning raw measures coming from each sensor with respect to a reference frame, (ii) averaging for each sensing axis, and (iii) exploiting a GNSS-aided Kalman filter to estimate position, velocity and attitude. To further improve the performance of the redundant configuration, values of entries of the process noise covariance matrix of the Kalman filter are obtained through an Allan variance approach. According to the authors’ best knowledge, this is the first application of multiple Allan variance estimation for redundant configurations of inertial sensors. The corresponding improvement can easily be appreciated, since errors reduction with respect to the best single sensor ranged within 25% up to 80%. Moreover, initial estimates of bias for both accelerations and angular rates are achieved through the application of a ZUPT filter in a stationary condition.Method performance has been assessed by comparing its position, velocity, and attitude estimates, obtained during an urban car test, with those granted by a commercial tactical-grade IMU, STIM300 by SensoNor. As far as heading is concerned, differences as low as 0.025 rad have been evaluated for vehicles navigation on a straight lane; corresponding values for a single-sensor navigation are much greater than 1 rad. Similar results have been achieved for pitch and roll. As for position, the performance has been expressed in terms of RMSE of the EVM of the differences of the position estimated by means of the proposed prototype and that granted by the reference. RMSE values equal to 0.89 m have been experienced for the whole car test when the update rate of the GNSS measures was equal to 1 Hz; the performance got worse in the presence of GNSS outages, reaching values of 5.25 m for an update period of the GNSS equal to 10 s.Similar solutions have already been presented in the literature. As an example, a cubic sensor configuration has been proposed in  to make The proposed method, leveraging the main features of MEMS sensors, is tailored for the implementation of an integrated navigation system for small and light unmanned vehicles, both terrestrial and aerial. However, it can be easily applied also to most performing IMU, even though the performance improvement would not be sustainable from an economic point of view. Finally, the method can be extended by considering regular polyhedrons characterized by a higher number of faces (dodecahedron and icosahedron); further improvement would be attained thanks to the face skewness and a greater number of involved sensors, to the detriment of (i) higher complexity in terms of alignment procedure and (ii) a possible reduction of the sample rate of acceleration and angular rate.


The characterization of nanostructured surfaces with sensitivity in the sub-nm range is of high importance for the development of current and next-generation integrated electronic circuits. Modern transistor architectures for, e.g., FinFETs are realized by lithographic fabrication of complex, well-ordered nanostructures. Recently, a novel characterization technique based on X-ray fluorescence measurements in grazing incidence geometry was proposed for such applications. This technique uses the X-ray standing wave field, arising from an interference between incident and the reflected radiation, as a nanoscale sensor for the dimensional and compositional parameters of the nanostructure. The element sensitivity of the X-ray fluorescence technique allows for a reconstruction of the spatial element distribution using a finite element method. Due to a high computational time, intelligent optimization methods employing machine learning algorithms are essential for timely provision of results. Here, a sampling of the probability distributions by Bayesian optimization is not only fast, but it also provides an initial estimate of the parameter uncertainties and sensitivities. The high sensitivity of the method requires a precise knowledge of the material parameters in the modeling of the dimensional shape provided that some physical properties of the material are known or determined beforehand. The unknown optical constants were extracted from an unstructured but otherwise identical layer system by means of soft X-ray reflectometry. The spatial distribution profiles of the different elements contained in the grating structure were compared to scanning electron and atomic force microscopy and the influence of carbon surface contamination on the modeling results were discussed. This novel approach enables the element sensitive and destruction-free characterization of nanostructures made of silicon nitride and silicon oxide with sub-nm resolution. Since nanotechnology and thus nanostructures of different kind are relevant in many areas of science and technology, metrology techniques that can support design, research, and fabrication of such nanostructures are of high importance. Especially in the semiconductor industry, which is probably the most popular field of application for nanotechnology as well as a strong driver for research in this field, complex 2D and 3D nanostructures with feature sizes in the single-digit nanometer regime ,2 are emTypical analytical or dimensional techniques used in this context are scanning and transmission electron microscopy  ,6, atomiIn this paper, we employ the grazing incidence X-ray fluorescence analysis (GIXRF)  method aW) field ,19, whicW) field  and 3D [W) field ,22 nanosIn this work, we further develop this approach toward being a reliable metrology technique by employing a combined element sensitive reconstruction for the fluorescence signals of oxygen, nitrogen, and, in parts, also carbon from within a silicon nitride grating structure. Artificial intelligence and machine learning (ML) techniques are studied intensively for a wide range of applications ,24,25. TAs an example of two-dimensional nanostructures, a lithographically patterned silicon nitride grating on a silicon substrate was investigated. It was manufactured by means of electron beam lithography (EBL) at the Helmholtz-Zentrum Berlin. The nominal pitch of the grating is We performed GIXRF and X-ray reflectometry (XRR) measurements in PTB’s laboratory  at the BAs we have employed radiometrically calibrated X-ray fluorescence (XRF) instrumentation, we can perform reference-free GIXRF  and gainor (SDD)  and the In addition, we have performed XRR experiments on the nonstructured Sita as in .For an independent validation of the dimensional GIXRF reconstruction results, additional AFM measurements were performed with an Nanosurf Nanite 25 × 25. The sample was measured under tapping mode condition and a standard pyramidal shaped silicon probe with a tip radius <10 was used, as it is commonly applied for the inspection of diffraction gratings . The AFMThe GIXRF signals are directly related to the XSW field intensity distribution, which, besides the incident photon energy and the incidence and azimuthal angles, depends on the shape and material composition of the illuminated nanostructured surface. To reconstruct these sample features from the experimental data, we applied a finite-element-method (FEM)-based forward calculation of the XSW and optimized the structural parameters to reproduce the experimental data.In atabases  or dedicatabases ). These Thus, the measured emitted fluorescence intensity equation ,22,39:(1Equation  is appliion (BO) ,27. BO uion (BO) ,40. The ion (BO) . The expThe ous work ,41, it wous work  and locaous work . This isous work ,41. For ous work .The error function By inverting the Hessian matrix Hkj  of the eN and the number of free model parameters M, and thus the degrees of freedom.The standard deviation or noise level at the global minimum parameter set is defined as The model parameter confidence interval can then be calculated asBased on the Gaussian process model of h of the From the angle-dependent measurement of reflection intensities on a layered system, information about layer thicknesses, densities, or even their optical constants can be obtained . This iscleaning , we applcleaning  to detercleaning . In FiguFrom this modeling, we derived optical constants for the top nke data , one canussed in . The redBefore we apply the reconstruction model to real experimental data, we apply it to an artificial data set in order to test the reconstruction method and to study whether an increased incident photon energy that is capable of also exciting an oxygen fluorescence signal is beneficial. In our previous study , measuref 3% see . By recoIn From a comparison of the determined confidence intervals for the two different configurations . As AFM is an established method to map the surface topology of nanostructures with sensitivities down to the nm regime, we can use an AFM to verify the GIXRF reconstructed total line heights (difference between top surface and groove surface). From the AFM data, we determined a total line height of d manner .In Here, we have demonstrated how the GIXRF-based methodology for a dimensional and compositional characterization of regular nanostructures can be enhanced with respect to the achieveable sensitivities by incorporating fluorescence signals of different elements from within the nanostructure. In addition, the incorporation of supporting experiments such as, e.g., XRR for optical constant verification and machine learning techniques such as Bayesian optimization decrease the necessary computational effort of the FEM-based reconstruction. The BO allows for intelligent and fast scanning of the parameter space as compared to other optimizer approaches.For the reconstruction, we need to make the following assumptions. For the calculation of the confidence intervals, we need to assume that the posterior distribution of the model parameters are Gaussian distributed. For the used model, we assumed that the Si substrate is oxidized and that any contamination is negligible. For the comparison of the shape of the nanostructure, we assumed that the bright areas in the SEM image represent the oxide.Initial steps toward determining a reliable uncertainty budget for the reconstructed parameter set were taken by deriving confidence intervals for the parameters from the Gaussian process model. We have shown how the incorporation of the oxygen signal shifts the achievable sensitivities well into the sub-nm regime. This method can also be applied to various systems as described in this paper . The obtIn addition, we have shown that the methodology is also somewhat sensitive toward unexpected effects on the nanostructure using the example of the carbon contamination. Notably, the element sensitivity of X-ray fluorescence and the behavior of the reconstruction results indicate if unexpected effects are present on the nanostructure.By developing more sophisticated techniques to quantify the corresponding model error influences on the final parameter uncertainties, this can be a promising technique for nanostructure characterization. In fact, by combining it with techniques such as soft X-ray scattering, one may even enhance the obtainable sensitivities and learn about important quality parameters, e.g., line roughnesses .