On the identification of relevant degradation indicators in super wideband listening quality assessment models Abstract-Recently, new objective speech quality evaluation methods, designed and adapted to new high voice quality contexts, have been developed. One interest of these methods is that they integrate voice quality perceptual dimensions reflecting the effects of frequency-response distortions, discontinuities, noise and/or speech level deviations respectively. This makes it possible to use these methods also to provide diagnostic information about specific aspects of the transmission systems' quality, as perceived by end-users.In this paper, we present and analyze in depth two of these approaches namely POLQA (Perceived Objective Listening Quality Assessment) and DIAL (Diagnostic Instrumental Assessment of Listening quality), in terms of quality degradation indicators related to the perceptual dimensions these models could embed. The main goal of our work is to find and propose the most robust quality degradation indicators to reliably characterize the impact of degradations relative to the perceptual dimensions described above and to identify the underlying technical causes in super wideband telephone communications [50, 14 000] Hz. To do so, the first step of our study was to identify in both models the correspondence between perceptual dimensions and quality degradation indicators. Such indicators could be either present in the model itself or derived from our own investigation of the model. In a second step, we analyzed the performance and robustness of the identified quality degradation indicators on speech samples only impaired by one degradation (representative of one perceptual dimension) at a time. This study highlighted the reliability of some of the quality degradation indicators embedded in the two models under study and stood for a first step in the evaluation of performance of these indicators to quantify the degradation for which they were designed.Index Terms-Perceptual dimensions, super wideband, voice quality assessment, objective models, diagnosticWith the introduction of transport of information on packet networks, the old bandwidth limitations of TDM (Time Division Multiplexing) networks have vanished. In particular, the coding of audio signals is no longer restricted to PCM (Pulse Code Modulation) frames coded at 8 kHz. Thus, new audio contents, without theoretical constraint on their temporal and spectral characteristics, can be carried onto telecommunication networks, opening the door to new services and new customer experience.Amongst these services, high quality telephony is promised to a fruitful future. Nowadays, Wideband (WB) (i.e. [50-7000] Hz) telephony, also known as HD (High Definition) Voice [1] , is more and more common, and there are even some soft-telephony solutions allowing a so-called super wideband (SWB) telephony, corresponding to frequencies up to 14 kHz (i.e. [50-14000] Hz) and a sampling rate at 32 kHz or beyond.The user experience of such services completely differs from what we have been facing until now. For instance, rich musical contents, or unfiltered environmental noise, can be carried together with or without voice. Some audible defects in the audio signal, particularly present in the higher frequencies, become annoying in SWB context whereas they are attenuated and hardly On the identification of relevant degradation indicators in super wideband listening quality assessment models Author manuscript, published in "Speech Communication 2013;55(10):104755(10): -106355(10): " DOI : 10.101655(10): /j.specom.2013.010 2 perceptible in Narrowband (NB) context (i.e. [300-3400] Hz). This explains why the current knowledge on quality expectations and perception has to be revisited.Besides, the complexity of transmission and signal processing scenarios makes it harder and harder to troubleshoot end-toend quality problems. New diagnosis tools are therefore needed by operational teams to help them in targeting the sources of degradations.To achieve these two goals, the development of new tests and measurement methods (or the update of existing ones) is required. As far as voice quality measurement is concerned, the well-known PESQ (Perceptual Evaluation of Speech Quality, hereafter "perceptual dimensions" (because of their similar impact on speech quality as perceived by human ear).With regard to voice quality perception, a distinction between three types of perceptual dimension, associated with corresponding degradations (proven to be orthogonal) has been already proposed in [7] . The first dimension, called "Directness/Frequency Content" [8] , or "Coloration" [9] , is related to frequency-response degradations. Results obtained by Leman et al. [10] in Narrowband telephony context revealed that the "Coloration" dimension is mostly linked to coding.Consequently, with a view to diagnosis and to deal with all possible degradations, coding was included in this dimension.The "Continuity" dimension corresponds to degradations in the time domain, such as loss of signal, clipping, and sudden level variations. Finally, "Noisiness" is linked to perceived noise degradations. The existence of a fourth perceptual dimension reflecting the impact of the speech level, (called "Loudness") has been recognized in [11] . These four perceptual dimensions are assumed to cover the whole speech quality space including modern telecommunication networks and services.To estimate quality degradation on these dimensions in the new telephony context and troubleshoot problems, Quality Degradation Indicators (QDIs) must be developed. These indicators are designed to quantify the underlying technical causes for a specific degradation perceived on speech quality. Instead of building them from scratch, we found it wiser to look first at those already developed, and then built new ones only if the study of existing ones concluded that they could not be used as reliable and robust diagnostic tools. When looking at the state-of-the-art, it became quickly obvious that the best place to dig out such indicators was inside signal-based voice quality models. When we started our study, ITU-T was just ending the POLQA The goal of our study was to find and propose QDIs in order to quantify the impact of the degradations on the four dimensions exposed above as well as to identify the underlying technical causes in super wideband context. Such indicators are potentially, but not necessarily, extracted from the two models introduced above. However, in this paper, we only present and analyze indicators found in the codes of DIAL and POLQA. It is important to underline that we considered these two objective models in our study for two reasons: (1) they stand for the first objective models to characterize the voice quality impairments in super wideband context whose codes were available and (2) they explicitly or implicitly integrate the four perceptual dimensions described above. Other objective models explicitly based on the 3 perceptual dimensions ("Directness/Frequency Content", "Continuity" and "Noisiness") were proposed in [9, 10] but these models were limited to Narrowband context. Note that our work did not intend to compare these two models from the point of view of their performance to predict the speech quality, but was rather to select the most relevant QDIs that are robust enough to quantify specific degradations for advanced diagnosis of modern telecommunication systems in super wideband context. We proposed to assess these QDIs under conditions where only one degradation is present, what naturally limits their use for a certain type of quality diagnostic applications, e.g., for intrusive network interface to network interface test where only the "Continuity" dimension is impacted. This study stood for a first step in the evaluation of performance of these QDIs in terms of reliability to quantify the degradation for which they are designed.Investigating these standalone degradations before studying more deeply conditions characterized by the presence of multiple degradations seemed essential. As a matter of fact, if a QDI fails in diagnosing the degradation for which it has been designed, testing it in multiple degradations conditions becomes useless.This paper is organized as follows: Section 2 presents briefly the two models we selected to derive our QDIs. Section 3 is devoted to the comparison of these models from the point of view of the perceptual dimensions, including a description of the QDIs we found or built from the models. After a presentation in Section 4 of the methods and materials used to assess the performance of these QDIs, we analyze in Section 5 their relevance to quantify and diagnose degradations for which they were designed, with a particular focus on indicators referring to the "Continuity" dimension.Both POLQA and DIAL models compare a reference signal ( ) for each perceptual dimension respectively. Furthermore, both models exist in two operational modes, one dedicated to NB communications only, and one applicable on all scenarios up to SWB. In this work, we focused on this SWB mode of models, since our main goal was to identify the main causes of degradations due to VoIP transmission, wherein NB, WB, but also more and more SWB codecs are in use. In this section, we briefly describe the structure of these models.POLQA has been jointly developed by three companies OPTICOM, SwissQual and TNO and was the winner of a technical competition carried out by the ITU-T to overcome drawbacks of PESQ. It was approved in January 2011 as ITU-T P.863Recommendation [13] . It was specially developed for HD Voice, 3G and 4G/LTE, VoIP. As described in [13] , POLQA is based on a further development of the underline concepts of PSQM [14] , PESQ [15, 16] and the approach proposed in [17] . Figure 1 inserm-00871593, version 1 -9 Oct 2013 4 describes the mechanism of POLQA. Note that the presentation of its original structure (see [13] ) has been modified in order to identify and highlight the perceptual dimensions. This model performs through the following stages: Accordingly, we derived two indicators from these modelling that we named "TimeClip" and "FrameRepeat" indicators respectively (see block 2 in Figure 1 ). These quality degradations indicators are described in Section 3. As explained above, the originality and singularity of DIAL is that it integrates 4 perceptual degradation dimensions and provides a global predicted MOS value together with 4 additional MOS values for each perceptual dimension respectively. These 4 dimensions are detailed in Section 3.In DIAL, the building blocks corresponding to these perceptual dimensions (see blocks 1 to 4 in Figure 2 ) quantify linear degradations corresponding to each dimension, expressed and quantified in terms of a dedicated MOS.inserm-00871593, version 1 -9 Oct 2013 Although the POLQA model is not explicitly based on perceptual dimensions, the presence of several intermediate indicators shown that "Directness/Frequency Content", "Continuity" and "Noisiness" dimensions can be subdivided into sub-dimensions, which are presented and described in what follows. We think that this division in sub-dimensions is more suited to technical causes diagnosis than the one proposed in [21] which is more based on sound perception and less linked to underlying technical elements.This dimension quantifies the characteristics of the frequency response of the overall transmission system (mouth-to-ear).The studies reported in [18] showed that this dimension can be subdivided into two sub-dimensions described hereafter:(a) Directness: This sub-dimension describes specific impairments such as the influence of talking-room reflections or bandwidth limitation. It is quantified in DIAL by the "ERB" (Equivalent Rectangular Bandwidth) indicator, defined in Bark. This QDI characterizes the bandwidth limitation of the frequency response. In POLQA, the "Reverb" indicator is used to estimate the reverberation effect and is thus rather linked to this sub-dimension.(b) Frequency Content: Also called Brightness [9] , this sub-dimension addresses the frequency response deviation of the overall transmission, and is characterized in DIAL by the "f c " indicator, which is the central frequency of the gain of the overall transmission system and is expressed in Hertz.inserm-00871593, version 1 -9 Oct 2013 6 In POLQA, the "Freq" indicator quantifies the impact of the overall global frequency response distortion, similarly to the "FRQ" indicator detailed in [17] . It addresses both Directness and Frequency Content sub-dimensions. In addition, the "Flatness" indicator, which quantifies the impact of timbre distortions (also referred as "Coloration"), falls in the scope of this dimension.This dimension is representative of the effect of time-varying aspect perceived on speech. This kind of degradation is generally introduced into speech signal either by loss of packets during VoIP (Voice over IP) transmission, by erroneous bits during radio transmission, or by other signal processing techniques such as echo cancellation or noise reduction which may introduce an abrupt level variation in the signal. Techniques such as Packet Loss Concealment (PLC), used to reduce the effect of some of these interruptions, can also impact the "Continuity" dimension. The study achieved in [19] proved that this dimension can be sub-divided into three sub-dimensions: the perceived speech quality. Thus, we derived from this difference an indicator we called "TimeClip" (see block 2 in Figure 1 ).This indicator could be compared with the indicators found in DIAL (and mostly with the "r L " indicator).(b) Additive Artifacts: This sub-dimension is representative of the audible artifacts due to signal processing techniques (e.g. PLC techniques using interpolation). In DIAL, this sub-dimension is quantified by the "r A " indicator which estimates the rate of perceived artifacts. In POLQA, in the same manner as for "TimeClip", during the computation of the final disturbance densities, we identified an indicator used to estimate severe distortions introduced by frame repetitions. We considered that this indicator is certainly similar to the "r A " indicator used in DIAL. We named it "FrameRepeat" (see block 2 in Figure 1 ).This sub-dimension covers the time varying residual noise components due to imperfect noise reduction algorithms. We found no indicator in the models under study to quantify the effect of this musical noise.Note that, in DIAL, the " lin P " indicator (see Figure 2) , representing the linearized similarity value, is used to quantify the nonlinear degradations due to the effect of strong discontinuity or abrupt level variation of additive noise and thus it addresses both "Continuity" and "Noisiness" (see Section 3.3) dimensions.inserm-00871593, version 1 -9 Oct 2013 indicator, which represents the total perceived loudness of noise, computed during silent periods (taking into account abrupt noise level variations). This indicator is defined in Sone. In POLQA, the "Noise" indicator quantifies the impact of noise on the whole signal (i.e. during both silent and active speech periods). We suspected therefore that this indicator covered also the Speech contamination sub-dimension. Besides, we investigated another inner indicator, we named "NoiseContrast". This indicator is derived from the silent parts of the reference signal and quantified severe noise level variations.(c) Noise Coloration: This sub-dimension reflects the effect of spectral shape and spectral content of noise. We found no indicator to characterize this sub-dimension in the models under study.The "Loudness" dimension reflects degradations on speech due to a non-optimum listening level. No sub-dimension has been identified for "Loudness". In DIAL, the "LTL" (Long-Term Loudness) indicator estimates the perceived loudness of the whole degraded speech signal whereas the "Leq" (Equivalent Continuous Sound Level) indicator corresponds to the mean energy of the degraded signal over all active speech frames. The "LTL" and "Leq" indicators are respectively expressed in the Sone and dB SPL scale. In POLQA, the "Level" indicator is used to quantify severe deviations of the optimal listening level. It is applied on the whole signal, thus corresponding more or less to the "LTL" indicator in DIAL.Table I synthesizes all the perceptual dimensions and the different indicators relating to these dimensions. This table allows identifying common features as well as differences between the POLQA and DIAL models and highlights the sub-dimensions for which new indicators must be developed.In order to qualitatively assess the performance of the QDIs identified in the models presented before, we chose as a first step to apply them on speech samples corrupted by a single degradation condition pertaining to the four perceptual dimensions. This allows testing the reliability of the QDIs to correctly quantify the degradation for which it was designed. These stimuli were selected from existing speech databases that had been specifically designed for SWB material and developed by ITU-T StudyGroup 12 Question 9 for POLQA competition. It makes sense to point out that during the selection phase of the POLQA project, two groups of database were built: the first one represented a large set of conditions on which candidate models have been developed and optimized (training phase) and the second one stood for the "unknown" databases used to validate the reliability of these models. The first dataset (named dataset 1) we considered in our study was taken from this second group. This dataset inserm-00871593, version 1 -9 Oct 2013 8 contained stimuli covering 4 different languages (French, Dutch, British English and Swiss German) and the 10 common anchor conditions of the POLQA SWB databases, as shown in Table II (merged per perceptual R1: A mapped (or predicted) MOS derived from a QDI should have a high correlation with auditory test results, preferably above 0.9, for degradations for which the indicator was designed.A QDI should also have good discrimination properties, i.e. the corresponding predicted MOS value should be as high as possible, preferably above 3.0, for degradations for which this indicator was not designed.For instance, since the "ERB" indicator was designed to quantify the effect of bandwidth limitation, it should only predict speech quality degradation under bandwidth limitation conditions (requirement (R1)). This can be checked through the computation of correlation between the predicted MOS value derived from "ERB" and auditory test results obtained in the corresponding conditions. In addition, it should display a stable behavior (i.e. reflect good speech quality) for degradations that are not related to this specific degradation, for example for time clipping or noise effect (requirement R2). Answering both requirements insures the reliability and robustness of the indicator. Furthermore, it is generally rare to get a QDI which is robust to all degradations.Thus, the second requirement (R2) allows defining a minimum threshold of quality (i.e. MOS ! 3.0) beyond which the impact of other degradations is considered as acceptable. It is important to note that the first requirement (R1) could be applied only on databases (or parts of databases) where the degradation under study was not mixed with other degradations, so that the auditory test results would reflect the impact of this single degradation. That is why we built our dataset from stimuli degraded by a single degradation condition so that the subjective MOS reflects the impact of this degradation.In a second step, we focused on the relevance of the "Continuity" dimension indicators. In this case, 48 speech samples (all in French, 8 per condition, 24 uttered by a male speaker, and 24 by a female speaker) were processed by the G.722 WB codec at 64kbits/s, using a zero insertion PLC, combined with packet/frame losses of 0, 2, 4, 6, 8, and 10 percents (conditions C11, C12, C13, C14, C15 and C16 respectively), representing the Interruptedness sub-dimension. In addition, 56 stimuli (same proportion of male and female speakers as above) were also degraded by the G.718B SWB codec (the selected bit rate was 48 kbits/s) with a frame repetition PLC together with packet/frame losses of 0, 2, 4, 6, 8, 10 and 15 percents corresponding respectively to conditions C17, C18, C19, C20, C21, C22 and C23. The 56 stimuli (8 stimuli per condition) were used to compare the performance of the indicators addressing the Additive Artifacts sub-dimension. Thus, a total of 104 stimuli, containing the same number of male and female speech samples were used to construct our second dataset (dataset 2). The conditions considered for this dataset are summarized in Table III . As detailed and justified later in Section 5.3, we performed a graphical analysis of the QDIs for Additive Artifacts sub-dimension whereas the performance of Interruptedness indicators was tested objectively using the same requirements as previously (see Section 5.2).inserm-00871593, version 1 -9 Oct 2013 9 Moreover, as our first (dataset 1) was made up of stimuli extracted from 4 different databases with specific language, the auditory values may be biased by the corpus effect (e.g. the effect of language, sentence, etc.). Zielinski et al. [23] studied the corpus effect on quality judgments. They showed that the semantic difference between the terms "Fair" and "Poor" is not equal to their translated equivalent in other languages, e.g. respectively "Assez bon" and "Médiocre" in French. They concluded that quality judgments are different depending on the language. Consequently, our first dataset needed to compensate for the corpus effect. To do so, we applied on each database a specific normalization procedure suggested in [12] . Let us remind that all databases contain the same 10 anchor conditions. First of all, for each database, the auditory To obtain reliable results, all speech stimuli of the first dataset were gathered by condition (36 stimuli per condition) and plotted on graphs (see Figures 3 to 6 ) to show the variations of the 18 studied indicators mentioned in Section 3, depending on the levels of degradations present in these conditions. For the 10 conditions, we used the same number of male speech samples, female speech samples and languages. In this section, we present an analysis of the graphical variations where the number of stimuli per condition was the x-axis and the QDI values the y-axis. Note that during the identification of QDIs, the unit of measurement of some of them was unknown. Therefore these QDIs values were represented on the y-axis without any unit of measurement.The conditions used for the DFC dimension were representative of a simple bandwidth limitation (conditions C2 and C4),with an exception corresponding to condition C3 where the signal was also IRS-filtered (two Intermediate Reference Systems (IRS) have been used, the modified IRS at send side and the IRS at received side [24] ), but with a bandwidth comprised between those of conditions C2 and C4. In Figure 3 .a, we observed that the POLQA "Freq" indicator increased following the degree of bandwidth restriction. In the same manner, the DIAL "ERB" indicator (see Figure 3 .b) was depending on the bandwidth of the frequency response of the overall system and decreased according to the degradation level. So, these two indicators showed comparable monotonic behaviors. If the values of the "fc" indicator extracted from DIAL decreased when passing from condition C1 to condition C2, and then from condition C2 to condition C4 (see Figure 3 .c), according to the progressive restriction of the bandwidth (when passing from C1 to C4), we can note that the lowest values for this indicator were obtained on condition C3.This result reveals that this indicator depended also on the nature of the frequency spectrum (remember that the third condition corresponded to an intermediate bandwidth between the bandwidths of C2 and C4). In Figure 3 .d, the POLQA "Flatness"indicator displayed constant values for all conditions, what can be explained by the fact that these conditions did not contain any timbre distortion. Consequently, it can not be reliably assessed in this work. For similar reasons, i.e. no reverberation in the present conditions, the POLQA "Reverb" indicator remained relatively constant in the three conditions related to DFC (Figure 3 .e). From all these observations, we concluded that the QDIs "Freq" and "ERB", derived respectively from POLQA and DIAL, were relevant for assessing the degradation linked to the bandwidth limitation, whereas the "fc" indicator from DIAL reflected other types of spectral distortion (needed to be confirmed on further test samples). As far as the "Reverb" and "Flatness"indicators of POLQA were concerned, they were not relevant for the distortion present in the dataset under study.To test the "Continuity" dimension indicators, we used conditions C5 and C6 representing two levels of packet/frame loss (2 % and 20 % respectively, randomly distributed). 11 along with the level of packet/frame loss appeared coherent (see Figure 4 .e), concluding to a comparable behavior of the three indicators "r L ", "TimeClip" and " lin P ". Testing the "Noisiness" dimension indicators was more complex, since the only available conditions relative to this phenomenon, namely C7 and C8, not only differed by the noise level (20 dB and 12 dB of Signal to Noise Ratio respectively) but also by the type of noise (a time-varying noise (C7) and a stationary one (C8)). Moreover, in our dataset, the noise was present not only on silence periods but also on voice segments. Figure 5 .a shows that the "Noise" indicator from POLQA and the "L n " and "NoS" indicators from DIAL increased with the level of noise, the "Noise" and "L n " indicators being the most stable for a given condition. Concerning the " lin P " indicator, it appeared quite comparable to the "NoS" indicator (see Figure 5 .b). Even if abrupt variations were detected on the "NoiseContrast" indicator in condition C1 (see Figure 5 .c) that could not be explained at that time, this indicator was clearly influenced by the noise level variations (conditions C7 and C8). Let us remind that the timevarying disturbing noise present in condition C7 varied within a short dynamic range and then could introduce more severe noise level variations than steady noise. Table I synthesizes all the perceptual dimensions and the different indicators relating to these dimensions. This table allows identifying common features as well as differences between the POLQA and DIAL models and highlights the sub-dimensions for which new indicators must be developed.

O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O B I O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Models and Mechanisms for Artificial Morphogenesis Abstract. Embryological development provides an inspiring example of the creation of complex hierarchical structures by self-organization. Likewise, biological metamorphosis shows how these complex systems can radically restructure themselves. Our research investigates these principles and their application to artificial systems in order to create intricately structured systems that are ordered from the nanoscale up to the macroscale. However these processes depend on mutually interdependent unfoldings of an information process and of the "body" in which it is occurring. Such embodied computation provides challenges as well as opportunities, and in order to fulfill its promise, we need both formal and informal models for conceptualizing, designing, and reasoning about embodied computation. This paper presents a preliminary design for one such model especially oriented toward artificial morphogenesis.Keywords: Algorithmic assembly, embodied computation, embodiment, embryological development, metamorphosis, morphogenesis, nanotechnology, post-Moore's Law computing, reconfigurable systems, self-assembly, self-organization.BackgroundPfeifer, Lungarella, and Iida [29, p. 1088] provide a concise definition of embodiment: "the interplay of information and physical processes." Hence, embodied computation may be defined as computation whose physical realization is directly involved in the computational process or its goals. It includes computational processes that directly exploit physical processes for computational ends and those processes in which information representation and computation are implicit in the physics of the system and its environment, which effectively represent themselves. It also includes computational processes in which the intended effects of the computation include the growth, assembly, development, transformation, reconfiguration, or disassembly of the physical system embodying the computation. Embodied computation is based on some of the insights from embodied cognition and embodied artificial intelligence [6, 7, 13, 28] , but extends them to all computation [21, 25] .

O O O O O B O B I O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I B I B B I B B B B I I B I B O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Comparison of database replication techniques based on total order broadcast Abstract-In this paper, we present a performance comparison of database replication techniques based on total order broadcast. While the performance of total order broadcast-based replication techniques has been studied in previous papers, this paper presents many new contributions. First, it compares with each other techniques that were presented and evaluated separately, usually by comparing them to a classical replication scheme like distributed locking. Second, the evaluation is done using a finer network model than previous studies. Third, the paper compares techniques that offer the same consistency criterion (one-copy serializability) in the same environment using the same settings. The paper shows that, while networking performance has little influence in a LAN setting, the cost of synchronizing replicas is quite high. Because of this, total order broadcast-based techniques are very promising as they minimize synchronization between replicas. In this paper, we measured the performance of different replication techniques. We focused on techniques based on total order broadcast and compared their performance to each other and to classical replication techniques like primary copy, distributed locking, and lazy update-everywhere replication.. Performance evaluations show that replication techniques based on total order broadcast significantly outperform traditional database replication protocols like distributed locking. In good conditions, performance is very close to lazy replication. The performance difference is large if the network is slow and subject to contention. This is due to the fact that distributed locking uses a lot of messages. Replication techniques based on total order broadcast use less networking resources, typically by restricting interactions to a single broadcast. These techniques are, therefore, very efficient with a slow network. When the network is fast and contention is rare, group communication-based replication still outperforms distributed locking, albeit by a smaller amount. Note that the situation will not change significantly when moving from a 100Mb/s to a 1Gb/s network since distributed locking could not saturate a 100Mb/s network.. The stability of performance measured with different settings, and the lack of significant difference between the experiment with the slow and the fast network, together with the resource usage given by the simulator, confirm a general observation that in a LAN situation, network contention is not a real problem and will become less and less important with the advent of faster networks like gigabit ethernet.. Resources like CPU and disks are much more likely candidates for being bottlenecks in a LAN. This does not mean that communication is not an issue in database replication: Multiple copies still induce several problems like synchronization costs and high abort rates. Techniques that rely more on the network are systematically slower, albeit by a small factor. Those issues are not related to the performance of the network, but to the design of the replication technique. The performance difference between certification-based replication and weak voting replication is not due to the cost of the additional reliable broadcast of weak voting, but to the cost of the additional synchronization between the replicas. The performance measurements show that replication techniques can be split into four categories:. 1. network bound replication techniques (distributed locking), 2. limited load techniques (active and primary copy), 3. efficient group communication-based techniques (weak voting and certification) and 4. the lazy technique. While distributed locking is affected by network performance, most other techniques are not: Their performance is similar with both the slow and the fast network. This is due to the fact that they rely on a single broadcast operation, either a simple broadcast (primary copy and lazy) or a total order broadcast (group communication-based techniques).. The performance of group communication-based techniques depends mostly on their architecture: Techniques that were specifically designed for database replication (certification and weak voting) outperform the basic technique (active replication) significantly. The culprits for the bad performance of active replication are the serial locking phase and the absence of load balancing.. Even in a fast network configuration, distributed locking is outperformed by efficient group communication-based techniques. The reason for this is that the execution of transactions with distributed locking is tightly coupled between the replicas. These synchronization phases cause a serious slow-down. Synchronization is also the cause of the performance difference between weak voting and certification-based replication. The weak voting technique has one synchronization phase (weak voting phase) that "costs" around 50 ms when compared to the certification technique.. The behavior of certification-based replication in highload situations could be alleviated with flow control techniques. Flow control would help to avoid situations where the conflict rate causes too many aborts, leading to poor performance.. In general, group communication-based replication techniques scale well, assuming a moderate load and a large proportion of queries. The response time does not increase with the number of servers, but diminishes, as one would expect. We showed that the certification technique has a problem that leads to many aborts when the number of servers is high. The weak voting technique has no such problems. Note that the abort problem of the certification technique can be addressed using a version-based database. In this case, the certification test would then rely on the version number of items instead of a conflict list. While this approach solves the problem, its drawback is that it imposes some requirements on the database system (access to version numbers).. The interesting aspect of group communication-based replication is that issues like scalability are resolved outside the replication scheme: If the total order broadcast primitive scales well, then the replication technique will scale well.. The experiments show that the load balancing features of the different replication techniques have an important impact on performance, especially when the load contains a large proportion of queries. We see that total order broadcast-based replication techniques offer good loadbalancing. As those techniques are built on optimistic hypotheses (execute first, check for conflicts after), they work best when the proportion of queries is high. In good conditions (moderate load and high query proportion), those techniques have a performance close to the performance of lazy replication. Medium Load, Slow Network. Fig. 11a illustrates the result of the experiment with two clients per server and the slow network. The experiment shows the performance of the different replication schemes under the same operating conditions. The X axis represents the load of the system expressed in transactions per second. The Y axis represents the average response time of committed transactions. Each replication technique is represented by one performance curve.. The observed conflict rate in the local database managers changed depending on the replication technique: In a medium load situation, it was below 5 percent, at highload it would reach 20 percent. 4 The abort rate for all techniques was below 5 percent, and is not shown.. The lazy replication scheme does not enforce consistency. It is presented to give a reference in the form of the best performance that can be achieved in this setting. Because this technique does little extra processing and does no synchronization at all, its performance is very good and is not affected by changes in the load. Basically, the performance of lazy replication with n servers is equivalent to n nonreplicated servers getting 1=n of the load.. In the left part of the X-axis, most techniques have very similar performance: Certification, weak voting, active, and primary copy have basically the same response time. Lazy replication does outperform those techniques by a rather small margin. The main advantage of lazy replication is very good load balancing, but as the load is limited, this results in a small difference. This explains why there is no noticeable difference between techniques that do load balancing (certification-based replication), and others that do not (primary copy and active replication).. Distributed locking has a response time that is 60 percent higher. This is caused by contention on the network, as distributed locking sends one broadcast per operation. This leads to a situation where the network becomes the bottleneck-in the simulator, the usage rate of the network resource quickly reached 100 percent.. As the number of transactions per second increases, we can see that the response time of all techniques increases, yet the relative performance of the different techniques changes. The response time of distributed locking increases and shows that there is an asymptotic limit to throughput around 13 transactions per second. This is caused by high network contention. A similar phenomenon is observable with active replication, which has a maximum throughput of around 16.5 transactions per second. The reason, this time, is not the network (at the highest load, the network usage rate was around 6 percent), but the cost of getting the locks in total order. With active replication, transactions need to get their locks in the order defined by the total order broadcast primitive. So, if transaction t 1 is delivered before transaction t 2 , transaction t 1 must obtain all its locks before t 2 can ask for its locks. If t 1 is blocked due to a lock already held, then t 2 is also blocked. Moreover, active replication does no load balancing: All transactions are executing on all replicas. Those two factors (serialization of locking phase and absence of load balancing) are the bottleneck of active replication: High load causes lock contention, and lock contention slows down the locking phase. Primary copy replication also has a load problem, as most of the work is done on the same server, so performance tends to degrade as the load increases.. The performance of the weak voting technique and the certification-based technique remains very close to lazy replication. It is interesting to note that the response time of the weak voting replication is around 15 ms higher than the response time of the certification-based technique. This is explained by the differences between both techniques. In the weak voting techniques, before a transaction can commit, all replicas must wait for the delegate to decide of the outcome of the transaction. This does not happen in the certification based technique, where all replicas decide deterministically on the outcome of the transaction due to the use of total order broadcast. Still, the difference between certification and weak voting techniques cannot be explained only by the cost of a broadcast which "costs" around 1.5 ms; the 15 ms difference is mostly explained by the cost of coordination: All servers need to wait for the delegate to finish processing t in order to be able to terminate t locally. In other words, the time needed to broadcast the data is negligible, but the time lost waiting is not.. Medium Load, Fast Network. Fig. 11b shows the results of the same experiment but with a fast network (100 Mbit/s). While most techniques behave in a very similar fashion, one technique has a very different performance curve: the distributed locking technique. This makes sense: As the network was the bottleneck of this technique in the previous experiment, a faster network leads to better performance. While performance of distributed locking is much better with a fast network, the response time is still higher than the response time of group communication-based techniques (% 50 ms). This difference can only be partly explained by network usage (it takes around 0.2 ms to send a message): With an average of 15 operations per transaction and two messages per operations (request lock and confirm), this gives a network cost of around 6 ms. This means that the major part of the performance penalty is related to the way transactions are processed. This processing overhead is probably also partially responsible for the overhead of the distributed locking technique with the slow network (previous experiment), but the majority of the overhead with the slow network was due to network contention.. Another interesting thing to note when comparing Figs. 11a and 11b is that the difference between the certification-based technique and the weak voting technique stays roughly the same. This shows that the difference between those two techniques is not related to the use of the network.. Network Cost and Distributed Locking. To understand the relationship between the performance of the network and the response time of the distributed locking technique, we measured the response time of the technique while changing the performance of the network. The result of this experiment is illustrated in Fig. 12 . In this experiment, we changed the "cost" of sending a message on the network and plotted the response time of the distributed locking technique with an interval between transactions of 1,500 ms, resulting in a load of 12 transactions per second. The X axis represents the cost of sending one message, i.e., a value x means that the CPU needs x milliseconds to send (and to receive) a message and the network needs x milliseconds to transmit the message. The value X ¼ 0:07 ms corresponds to the settings of the fast network and X ¼ 0:5 ms corresponds to the slow network. The Y axis represents the response time in milliseconds. The graph shows that the response time of the distributed locking technique increases with the cost of networking operations. We also see that this curve is not linear: When the network becomes the bottleneck, the response time increases much more (this can be seen when X ¼ 0:35 ms). For this value, the network facility is used at 67 percent and, on average, processes had to wait more than 2 ms to access the network resource.. High Load, Fast and Slow Network. Fig. 13a shows the result of the experiment with four clients and the slow network. Only the curves of the weak voting, certification, and lazy techniques were plotted, the others being unable to sustain more than 20 transactions per second. Fig. 13b shows the results of the experiment with four clients and the fast network.. Figs. 13a and 13b are very similar, except for the fact that the distributed locking technique is not present in the slow network case (in this setting distributed locking cannot sustain such high loads). As the main difference between both experiments is the behavior of the distributed locking technique, we will concentrate the discussion on the experiment with the fast network so as to include distributed locking. Except for distributed locking, the influence of network performance on overall performance is weak.. With both the fast and the slow networks, we see that performance degrades steadily when the load is around 30 transactions per second. At first glance, the behavior of the certification technique is much better that distributed locking and weak voting: the response time stays significantly lower even when the system starts to become overloaded. In fact, in the fast network setting, when the load reaches 32 transactions per second, the response time decreases. When the load is above 34 transactions per second, the response time of the certification technique is within the confidence interval of lazy replication.. The difference lies in the abort rate of the different techniques. While in moderate load situations, the abort rate of the different techniques was marginal, in high-load situations, it became significant. Fig. 14 shows the abort rate of certification, weak voting, and distributed locking techniques in high-load situations (fast network)-the parameters are the same as in Fig. 13b . We see that, while the response time of certification-based replication is low, its abort rate is significantly higher. The overload of the system yields a high conflict rate in the certification phase; therefore, a lot of update transactions abort. In fact, most of the aborts are update transactions. We can also see that distributed locking has a sharp increase of aborts once the load reaches 28 transactions per second: At this point, deadlocks start to become significant. It is interesting to note that while the response time of weak voting replication increases, the abort rate stays stable, below 2 percent.. Mixed Load. Fig. 15a shows the results of the experiment with a query load of 50 percent. Each set of bars represents the performance with a given number of servers, starting with two servers for the leftmost bar. Each technique is represented with a different bar and the height of each bar (Y axis) represents the response time in milliseconds.. The general performance is similar to the experiment presented in Section 6.1: Lazy replication outperforms all other techniques. Group communication-based techniques outperform distributed locking. In general, we see that the response time decreases as the number of replica increases. This shows that, as the number of servers grows, some part of the load (queries) can be distributed on more replicas, thus giving better performance. The most interesting part appears in the extreme case, when the number of replicas is maximal (36 servers): The response time of distributed locking increases significantly. This is not due to network usage (which stays below 5 percent) nor to distributed deadlocks (the abort rate was below 1 percent), but to the cost of coordination inherent to this technique.. While aborts had no significant impact on distributed locking, this was not the case for the certification technique. Fig. 16a shows the abort rates for both the certification technique and the weak voting technique. The X axis represents the number of servers, the left Y axis represents the abort rate in percent. We see that, while the abort rate of the weak voting technique is stable below 2 percent, the abort rate of the certification technique increases with the number of servers. When the number of servers is maximal, the abort rate reaches 20 percent! A first possible explanation of this behavior is related to the way conflicts are handled. If two transactions originate from the same server (they have the same delegate server), the conflict will be handled by the local locking mechanism. The local locking system will serialize the execution of the conflicting transactions: If no deadlock occurs, there will be no abort. If the two transactions originate from different servers, the conflict will only be detected at certification time and will result in the abort of one transaction. So, increasing the number of replicas increases the chances of abort. If two transactions t a and t b conflict, the chances that the conflict results in an abort is proportional to the probability that t a and t b are on different servers, which is 1 À ð1=nÞ, where n is the number of servers.. Still, the observed abort rate cannot be explained by this phenomenon (the abort rate would be the same for the weak voting technique and the certification technique). As shown in Fig. 16a , the observed conflict rate is roughly proportional to the number of servers (the black curve represents the function fðxÞ ¼ x on the right linear Y axis, with 36 servers corresponding to the abort rate with 36 servers). There is a clear correlation between the number of servers and the abort rate with the certification technique, but no correlation with the weak voting technique.. The phenomenon is related to the way the certification algorithm was implemented. At the beginning of the certification phase, when the read and write sets of a transaction are delivered, the transaction is put in a conflict list. This list is used to check for potential conflicts. When a transaction has been committed on some replica, it becomes stable on this replica. The information that a transaction is stable is piggybacked on subsequent total order broadcast messages. Once a transaction is known to be stable on all replicas, it is removed from the conflict list. So, a transaction is removed from the conflict list once it has committed on all replicas, and all those replicas have issued a total order broadcast.. This means that, even if transactions are executed sequentially (so there should be no conflict), conflicts appear because transactions may stay too long in the conflict list. Fig. 17 illustrates this problem in the case of two servers s 1 and s 2 . Initially, the write set of t 0 is processed on s 1 and s 2 , and t 0 is committed, i.e., t 0 is stable on s 1 and on s 2 . Once committed, transaction t 0 is put in the conflict list of s 1 and s 2 . Then, s 1 broadcasts (total order broadcast) the read set and write set of t 1 (message m 1 ) and s 2 broadcasts the read set and write set of t 2 (message m 2 ). Messages m 1 and m 2 piggyback the stability of t 0 . Let us assume that m 1 is delivered before m 2 . When m 1 is delivered, all replicas know that t 0 is stable on s 1 , but the status of t 0 on s 2 is unknown, so t 0 stays in the conflict list. All replicas then start to process the write set of t 1 (message m 1 ). As t 0 is still in the conflict list, t 0 can cause the abort of t 1 . When m 2 is delivered, the system knows that t 0 is now stable on s 2 . As t 0 is stable on all replicas (s 1 and s 2 ), it can be removed from the conflict list. Therefore, t 0 can cause the abort of t 1 , but not t 2 . Now, if we have n servers instead of two, and transactions t 1 to t n instead of just t 1 and t 2 , transaction t 0 will be removed from the conflict list once messages m 1 . . . m n have been delivered. This means that t 0 can potentially conflict with transactions t 1 . . . t nÀ1 , i.e., the number of potential conflicts is proportional to the number of servers n, regardless of the load of the system.. To verify this hypothesis, we measured the abort rate of the certification technique with varying loads (between 1 and 30 transactions per second) and a large number of servers (36) . Fig. 16b shows the results of this experiment. The X axis represents the load of the system and the Y axis the abort rate. We see that, while the load varies by a factor of 30, the abort rate stays the same, slightly below 20 percent.. "Mostly Queries" Load. Fig. 15b shows the experiment with a query load of 80 percent. The overall graph is similar to the one in Fig. 15a , with better response time-this is expected as there are more queries. We also see that, while the increase in response time is not as significant as with 50 percent of queries, the performance of distributed locking still starts to degrade when the number of servers is high (36).. Low Load. Fig. 18a shows the results of the experiment at 10 transactions per second. When the query rate is 100 percent, the load consists of only read operations and transactions can be distributed on all servers. In this situation, certification and weak voting replication have the same performance than lazy replication: The load is perfectly balanced between all servers and no communication occurs. Distributed locking suffers from a slight overhead because of the protocol complexity, but has roughly the same performance. The two remaining techniques, active replication and primary copy, have worse performances because they do no load balancing. In the primary copy case, all the work is done on one server, the primary. In active replication, the situation is slightly different: all the work is done on all replicas, i.e., all replicas do the work of the primary. In both cases, there is no load-balancing. As both techniques handle the load in the same way, one would expect that they have the same performance. In fact, primary copy should outperform active replication by the cost of a total order broadcast. Yet the results show that active replication outperforms primary copy replication by approximately 30 percent. The reason for this lies in the way active replication works. In active replication, the delegate server merely acts as a proxy for all servers: When a transaction is delivered, it is sent to all servers (including itself) using a total order broadcast. Each server processes the transactions and sends the results back to the delegate, the delegate forwards the first response to the client. So, in practice, this means that the perceived response time of the client is the response time of the fastest server: The observed response time is the minimum response time of all replicas.. Why are there differences between the response times of servers? The response time of a transaction on one replica depends on multiple factors: actual load of the system, number of items in cache, and time needed for a seek. These factors are, to some extent, random. 5 So, as the number of replicas increases, the observed response time will improve, as we are more likely to get a fast first response. Here, we benefit from the fact that all replicas do all the work. This improvement is similar to the read operation improvement in RAID level 1 systems [38] .. As the proportion of queries diminishes, the performance of all techniques degrades. This performance degradation is more noticeable for distributed locking: As the number of writes increases, the overhead of this technique becomes more obvious. It is interesting to note that the performance of the certification-based technique cannot be distinguished from the performance of lazy replication if the query proportion is larger than 40 percent. This shows that, for high query rates and low load, certification-based replication is close to optimum.. Moderate Load. Fig. 18b shows the results for the same experiment with a higher load (20 transactions per second). The first thing we see is that some techniques have very bad performances: active replication (whose curve is outside the graph) and primary copy replication (upper right corner). Most other techniques have nonlinear response curves: If the query proportion is too low, performance drops suddenly.. If we compare this graph with the one in Fig. 18a , it is interesting to see that the relative performance between active replication and primary copy replication is inverted: While both techniques perform poorly, primary copy has better performance. In high-load situations, the advantages of selecting the fastest response is offset by the fact that much more processing is needed. Additionally, the serial locking phase of active replication becomes a bottleneck in high-load situations (see Section 6.1).. Changing load and query rate. To understand how the linear curves in Fig. 18a transform into those of Fig. 18b , we plotted three dimensional graphs for the following techniques: certification (Fig. 19a), weak voting (Fig. 19b) , distributed locking (Fig. 19c) , and primary copy (Fig. 19d) .. We did not plot the remaining two techniques, as their performances in moderate load setting are very bad. For each technique, the X axis represents the query proportion, the Y axis (depth) represents the load of the system in transactions per second, and the Z axis (height) represents the resulting response time. Each technique is represented by a separate surface. On each surface, we marked the curve corresponding to Z ¼ 200 ms and to Z ¼ 300 ms.. First, we see that all four surfaces are continuous: This shows that all four techniques are stable in the parameter space considered. The most noticeable aspect of those four figures is that distributed locking, certification, and weak voting replication have the same general shape: Performance is good if the load is low or the query proportion high. Response time reaches a "peak" in high-load, low query proportion situations. Primary copy (Fig. 19d) on the other hand, has a very different general shape. While the technique is also sensitive to some extent to the query proportion, the load has a far greater influence on performance. As the load increases, the response time forms a "wall," even if the load is composed only of queries. The reason for this is that primary copy does no load-balancing.. Let us consider the parameter values where the response time reaches 200 ms and 300 ms, respectively. We can see 5. Caching algorithms that are usually used are not random, but deterministic. Classic deterministic caching algorithms would not benefit active replication because all the replicas would cache the same items. In the simulation, caching was simulated as a statistical process. This benefited active replication. Special algorithms could be tailored to active replication and give even better results, for instance by having each replica keep in cache only a subset of the data. the performance difference between the distributed locking technique on one hand (Fig. 19c) , and the total order-based replication techniques (weak voting and certification, Figs. 19b and 19a) on the other hand. Total order-based replication techniques outperform distributed locking systematically. In general, the difference is roughly equivalent to a difference of 10 percent of the query proportion, e.g., distributed locking behaves with a 50 percent query proportion like total order-based replication with a 40 percent query proportion. This is consistent with the performance difference observed in overall load performance (Section 6.1). We performed several experiments to compare the different database replication strategies. This section presents the different experiments and their results. Each experiment explores a different aspect of a replicated database.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A Comparison of Gradient Estimation Methods for Volume Rendering on Unstructured Meshes Abstract-This paper presents a study of gradient estimation methods for rendering unstructured-mesh volume data. Gradient estimation is necessary for rendering shaded isosurfaces and specular highlights, which provide important cues for shape and depth. Gradient estimation has been widely studied and deployed for regular-grid volume data to achieve local illumination effects, but has been, otherwise, for unstructured-mesh data. As a result, most of the unstructured-mesh volume visualizations made so far were unlit. In this paper, we present a comprehensive study of gradient estimation methods for unstructured meshes with respect to their cost and performance. Through a number of benchmarks, we discuss the effects of mesh quality and scalar function complexity in the accuracy of the reconstruction, and their impact in lighting-enabled volume rendering. Based on our study, we also propose two heuristic improvements to the gradient reconstruction process. The first heuristic improves the rendering quality with a hybrid algorithm that combines the results of the multiple reconstruction methods, based on the properties of a given mesh. The second heuristic improves the efficiency of its GPU implementation, by restricting the computation of the gradient on a fixed-size local neighborhood. L IGHTING plays an important role in volume rendering. On the one hand, shading and specular reflections provide important cues of shape and depth. On the other hand, diffuse shading along the contours of an isosurface helps disambiguate the overlapping structures that are common in semitransparent rendering. For example, Fig. 1 shows the result of applying local illumination to two volumes sampled in unstructured meshes. On the left, lighting helps discover turbulent patterns that are lost in the unlit image. On the right, lighting helps elucidate the spatial relationships between the occluding isosurfaces. Without it, isosurfaces appear flat with no apparent depth disambiguation.. To properly apply local illumination to a 3D volume, we must estimate the gradient of the volume accurately at every single point, while hiding the effects of mesh resolution, which introduce undesired artifacts. Gradient estimation is well known and understood for regular grids, and its application is now part of commodity visualization systems. Due to the structured nature of regular grids, estimating the gradient is a rather simple task. The partial derivatives of a function with respect to the X, Y, and Z dimensions are easily approximated using finite differences given the alignment of a voxel neighborhood with each of the axes. Unstructured meshes do not provide the same advantage. Usually, based on finite-element methods, these grids are used to discretize a scalar or vector field within a closed volume using a variety of cell types, such as tetrahedra, hexahedra, and prisms. The use of cells of varying shape and size enables a better fit of the grid with complex geometries and adaptive refinement in regions of interest. Unstructured meshes, with the exception of an unstructured cloud of points, contain connectivity information that may be used to compute the gradient. However, it is not as straightforward as in regular grids. First, connected vertices do not align with the main axes, suggesting a variable contribution to each component of the gradient. Second, unstructured meshes usually contain elements of varying shape, where one dimension is better sampled than the others. The traversal of this connectivity is somewhat costly when compared to the convolution step usually required for structured grids. Even with no connectivity, computing a stencil around a given point demands a spatial search that may vary in size. For this reason, local illumination of unstructured-mesh volume data has been largely ignored. A simple mechanism would be to impose a regular grid and resample the volume accordingly, but it results in sampling problems. Resampling an unstructured mesh into a 3D regular grid at the Nyquist rate might result in very large volumes that exceed the available system or graphics memory.. In this paper, we present a comparison and quantitative analysis of the most prominent methods for linear gradient reconstruction for the purpose of lighting. Although higher order elements are becoming increasingly available, linear elements are still the most common representation for unstructured meshes, particularly for hardware-accelerated rendering systems. The cost of storing and rendering higher order elements has not made it possible to render them at interactive rates in current graphics processing units. Understanding the factors that affect the quality of volume-rendered images in linear unstructured meshes not only improves current visualization systems, but also paves the way for similar studies of higher order meshes.. We make the following contributions: 1) We present a comprehensive comparison of linear gradient reconstruction methods on unstructured meshes. Our systematic approach decomposes the accuracy of the gradient as the product of different factors, such as mesh resolution, element shape, and complexity of the scalar field. Our experiments suggest simple guidelines for applying the appropriate method for a given unstructured mesh to produce high-quality volumerendered images. To the best knowledge of the authors, this is the first attempt to obtain a comparison of the different gradient estimation methods from the visualization standpoint. 2) Based on our results, we present two heuristic improvements. Hybrid gradient reconstruction improves the visual quality by applying different methods in a single mesh according to a given quality metric. In our experiments, regression-based methods behave better for irregular elements in comparison to methods based on averaging, and vice versa for regular elements. This suggests that the choice of method should follow the local mesh quality instead of being applied globally. Fixed-size neighborhood gradient reconstruction is another heuristic that ranks the neighbor vertices of a given point so that the gradient can be reconstructed as accurately as possible without incurring in much overhead. We have conducted a systematic evaluation of linear gradient reconstruction methods for unstructured-mesh volume rendering. Mesh resolution and scalar field complexities are two important factors in the accuracy of gradient reconstruction methods and their bounds can be found analytically. Our experiments confirm the quadratic trend for the linear methods. However, the shape of elements is also a factor and can lead to noticeable differences when the mesh becomes highly irregular. We notice that despite being a good weighting scheme, in general, solid angle weighting of neighboring cell gradients leads to errors when the mesh elements become almost planar. Inverse distance weighted regression, on the other hand, produces the highest accuracy as the mesh becomes highly irregular. The implementation of these methods implies additional costs. As numerous meshes have a larger ratio of cells to vertices, storing the vertex-to-vertex connectivity may be more efficient than the vertex-to-cell connectivity, suggesting a preference for regression-based methods. Alternatives such as the Green-Gauss theorem are computationally more efficient but require the vertex-to-cell connectivity. Aftosmis et al. suggested an alternative implementation that uses only vertex-vertex connectivity [3] . Nevertheless, Green-Gauss methods may fail to adapt to regions of badly shaped elements. Due to the lack of ground truth, volume rendering of real meshes cannot be accurately compared except for smoothness and continuity in the reconstructed shapes. Two isosurfaces may still look smooth and yet provide different cues for shape, as exhibited in our visual comparison. In other cases, the effects of meshing are evident. As higher order meshes become more widely used and the GPU implementations begin to support mixed meshes, the need for higher order gradients will more become important. Our evaluation can be followed for further comparative studies. Furthermore, higher order meshes may be used to obtain gradients of higher accuracy to measure the error of linear methods. With our study on gradient computation, we attempt making lighting and gradient-based rendering of arbitrary meshes a commodity, and enable high-quality rendering of unstructured-mesh volume data. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib. Volume rendering of unstructured meshes has become an important tool for understanding computational fluid dynamics and mesh discretizations of PDEs. The most predominant rendering approaches are cell projection [27] , point-based approaches [32] , [34] and raycasting [11] , [30] . For its simplicity, some practitioners resample the unstructured mesh into a regular grid and render this grid directly [29] , [31] . GPU-based implementations of these methods exist [9] , [18] , [30] . Cell projection and point-based approaches, often classified as object-order approaches, do not require an explicit connectivity of the cells. However, they require visibility sorting. Image-order approaches, such as raycasting, do not require visibility sorting, but they require the connectivity information to traverse the cells along the view rays. In this paper, we use raycasting to test our results and provide a visual comparison. Our implementation is based on the ones by Garrity [11] and Weiler et al. [30] . The methods described in this paper and the results of our evaluation, however, are applicable to both object-and image-order approaches.. The study of gradients in unstructured meshes can be understood from both the simulation and the visualization standpoints. In simulation, the study of gradient reconstruction methods leads to more accurate reconstructions of an underlying scalar function and better error bounds for the discretization of PDEs. Most of these studies rely on methods based on linear regression and the Green-Gauss theorem [7] , [19] , [17] . Aftosmis et al. discuss the behavior of linear reconstruction methods on unstructured meshes [3] . In their studies, Barth and Jerspesen [7] , Mavriplis [17] , and Anderson and Bonhaus [5] found that inverse distance weighting has a significant impact on linear regression models for gradient estimation, while methods such as Green-Gauss degrade. In an attempt to improve the error bounds of gradient reconstruction, Shewchuk studies the impact of cell shape in linear reconstruction and provides a series of quality metrics for tetrahedral cells [26] . Petrovskaya [25] and Apel et al. [6] also study the impact of cell shape in reconstruction algorithms. While there is no consensus on what is a good mesh element, these studies suggest that these methods produce noticeable differences in the gradient reconstruction as the mesh becomes more irregular. In this paper, we aim at validating some of these findings from the rendering standpoint.. In visualization, gradient estimation becomes important as shading is an essential cue for shape. For geometric objects, such as triangle meshes, normals to the surface can be computed directly from the geometric representation. Volume representations, however, do not encode explicit geometry but are sampled in a grid or an unstructured mesh. The gradient is not computed directly from the geometric information, but requires the consideration of the volume data. Yagel et al. survey these methods for structured grids and classify them into image-space and object-space methods [33] . With the advent of fast graphics processors, object-space methods became the norm. Mö ller et al. compare normal estimation schemes from the point of view of the quality of the reconstruction filter [20] . A similar study is carried out by Bentum et al. in the frequency domain [8] . In the spirit of generalization, Thü rmer and Wü thrich consider the normal computation in 3D space as an approximation resulting from sampling a spatial neighborhood of each point, and describe the importance of variable weighting of each sample [28] . Neumann et al. also consider the problem around a neighborhood and pose the problem as 4D regression [22] . Although these two methods were described for structured grids, their derivations also apply to unstructured meshes. While not designed for volume rendering, the need for reconstructing smooth functions from unorganized points has emerged in the point-based rendering community. Estimating the gradient to a surface has been posed as a total least-squares problem [12] or a moving least-squares problem [24] . Similar techniques can be applied when we consider an unstructured mesh as a collection of points. Cell-based gradient estimation was proved useful in visualization to speed up the sampling of the scalar fields at arbitrary points within a cell. This was first proposed by Garrity [11] , who estimated the constant cell gradient via a linear approximation. This was later used by Weiler et al. in GPU-based raycasting [30] . A constant cell gradient, however, is not adequate for lighting, and node-centered gradients are needed. Cignoni et al. use the average of the gradient of the incident cells to compute the gradient at a node [10] , and use it to render shaded isosurfaces. Ma et al. compute the gradient based on an approximation of the Green-Gauss theorem [15] , which was later modified by Meredith and Ma, who use the directional derivatives of the scalar field to obtain a fast approximation [18] . Lévy et al. use unweighted linear regression to estimate the normals [14] . We show that weighted regression provides a better estimate of the gradient than unweighted schemes. In recent approaches, the lack of lighting is compensated with opacity transformations, which result in an appearance similar to shaded isosurfaces [21] .. This heterogeneity of methods in both the simulation and the visualization communities demonstrates that there is no consensus on what are the most adequate methods for adding lighting to volume data in unstructured meshes. In this paper, we provide a quantitative and qualitative evaluation of the most prominent linear gradient reconstruction methods. We seek to guide future generations of unstructured-mesh visualization systems toward highquality volume rendering.

O O O B I O O B I O B I O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I