Reconstructing Relief Surfaces AbstractThis paper generalizes Markov Random Field (MRF) stereo methods to the generation Inferring the dense 3D geometry of a scene from a set of photographic images is a computer vision problem that has been extensively studied. Work in this area can be roughly divided into two classes: (1) techniques for computing depth maps (image-based parameterization), and (2) volumetric methods for computing more complete object models.. In the first class, image based parameterization of shape, a reference image is selected and a disparity or depth value is assigned to each of its pixels using a combination of image correlation and regularization. Scharstein and Szeliski provide an excellent review for image based methods [18] . These problems are often formulated as minimizations of Markov Random Field (MRF) energy functions providing a clean and computationallytractable formulation, for which good approximate solutions exist [11, 12, 17, 20] . However, a key limitation of these solutions is that they can only represent depth maps with a unique disparity per pixel, i.e. depth is a funtion of image point. Capturing complete objects in this manner requires further processing to merge multiple depth maps [15] , a complicated and error-prone procedure. A second limitation is that the smoothness term imposed by the MRF is viewpoint dependent, in that if a different view was chosen as the reference image the results could be quite different.. The second class of techniques uses a volumetric parameterization of shape. In this class are well-known techniques like Space Carving [13] and level-set stereo [5] . There are also hybrid approaches that optimize a continuous functional via a discrete quantisation [16] . While these methods are known to produce high quality reconstructions, running on high resolution 3D grids is very computationally and memory intensive. Furthermore their convergence properties in the presence of noise are not well understood, in comparison with MRF techniques, for which strong convergence results are known. For Space Carving in particular, there is also no simple way to impose surface smoothness constraints.. In principle MRF stereo methods could be extended to multiple views. The problem is that reasoning about occlusions within the MRF framework is not straightforward because of global interactions between points in space (see [12] for an insightful but costly solution for the case of multi-view depth-map reconstruction). In this paper, we propose extending MRF techniques to the multi-view stereo domain by recovering a general relief surface, instead of a depth map. We assume that a coarse base surface is given as input. In practice this can be obtained by hand, by shape-from-silhouette techniques or triangulating sparse image correspondences. On this base surface sample points are uniformly and densely defined, and a belief propagation algorithm is used to obtain the optimal height above each sample point through which the relief surface passes. The benefits of our approach are as follows:. 1. General surfaces and objects can be fully represented and computed as a single relief surface.. 2. Optimisation is computationally tractable, using existing MRF solvers.. 3. Occlusions are approximately modelled.. 4. The representation and smoothness constraint is image and viewpoint independent. In this paper we have shown how MRF techniques for image based stereo can be extended in the volumetric stereo domain. This is done by defining a set of sample points on a coarse base surface, establishing an MRF on unknown displacements of these points normal to the base surface. By casting the problem in the MRF framework we can use computationally tractable algorithms like belief propagation to recover the unknown displacements. Additionally, this parameterization of the scene is more general than a depth map and leads to image and viewpoint independent reconstructions. The MRF's compatibility cost favours solutions with minimal surface area. Furthermore, the base surface can be used as the occluding volume through which the visibility of individual sample points is inferred. The memory requirements of belief propagation are reduced through the employment of a novel coarse-to-fine scheme. Promising results are demonstrated on a variety of real world scenes. In this section, a quantitative analysis using an artificial scene with ground truth is provided. Results on a challenging low-relief scene of a roman sarcophagus, a building facade and a stone carving are also illustrated. The weight parameters w 1 and w 2 of equations 3 and 4 are empirically set. However, in cases where the distributions of ρ and d kl are known (e.g., we are given ground truth data for a similar scene), the weights can be set by using the approximation of [7] where the clique potentials are fitted to the distributions of ρ and d kl . Our work is inspired by displaced surface modelling methods in the computer graphics community, in particular the recent work of Lee et al. [14] , who define a displacement map over subdivision surfaces, and describe a technique for computing such a representation from an input mesh. An advantage of this and similar techniques is that they enable the representation of finely detailed geometry using a simple base mesh. We also build on work in the vision community on plane-plus-parallax [2] , modelbased stereo [4] , and sprites with depth [19] . All of these techniques provide means for representing planes in the scene with associated height fields. Our work can be interpreted as a generalization of plane-plus-parallax to a surface-plus-height formulation.. Previous mesh-based multi-view stereo techniques operate by iteratively evolving an initial mesh until it best fits a set of images [10, 23] , or depth maps [8] . Representing finely detailed geometry is difficult for such methods due to the need to manage large and complex meshes. In contrast we assume a fixed base surface and solve only for a height field providing a much simpler way of representing surface detail. We also use a more stable estimation problem with good convergence properties. Ultimately, a hybrid approach that combines surface evolution and height field estimation could offer the best of both worlds and is an interesting topic of future work.. The theory of Markov random fields yields an efficient and powerful framework for specifying complex spatial interactions between a number of discrete random variables h 1 , . . . , h M , usually called sites. Each site can take one of a number of values or labels H 1 , . . . , H L . The first ingredient of the model is a labelling cost function C k (h k ) that measures how much a site is in agreement with being assigned a particular label. The second ingredient is the interaction between sites, which, in a pairwise MRF such as the one considered in this paper, is modelled through a symmetric neighbourhood relation N as well as a compatibility cost term C kl (h k , h l ) defined over neighbouring sites. This cost term measures how compatible the assignment of any two neighbouring labels is. The cost of cliques (fully connected subgraphs) with more than two nodes is set to zero. With these energy functions defined, the joint probability of the MRF is:. where Z is a constant.. To bring multi-view stereo into this framework a set of 3D sample points X 1 , X 2 , . . . X M is defined on a base surface. The neighbourhood relation N was obtained by thresholding the Euclidean distance between sample points. At each sample point X k , the unit normal to the base surface at that point, n k is computed. The sites of the MRF correspond to height values h 1 , . . . , h M measured from the sample points X 1 , X 2 , . . . X M along the normals n 1 , n 2 , . . . , n M (see fig. 1 left) . The labels H 1 , . . . , H L are a set of possible height values that variables h k can take. If the kth site is assigned label h k then the relief surface passes through 3D point X k + h k n k . To deal with the problem of occlusion, the base surface has to contain the relief surface for reasons that will be explained in the next section. Hence if the positive normal direction is defined to be towards the interior of the volume, only positive (inward) heights need be considered. The labelling cost is related to the photo-consistency [13] of the 3D point X k + h k n k while the compatibility cost forces neighboring sites to be labelled with 'compatible' heights. The following sections examine these two cost functions in more detail.

O O O O O O O O O B B 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 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 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 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 B 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 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 B B 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 B O B O O O O O O B O O O B 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 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 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 B O O O O B O O O O O B B 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 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 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 B 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The Impact of Employee Participation on the Use of an Electronic Process Guide: A Longitudinal Case Study Abstract-Many software companies disseminate process knowledge through electronic process guides. A common problem with such guides is that they are not used. Through a case study, we investigated how participation in creating an electronic process guide, through process workshops, influenced the use of the guide. We studied developer and project manager usage with respect to three factors: frequency of use, used functionality, and reported advantages and disadvantages. We collected data from three rounds of interviews and 19 months of usage logs in a longitudinal study in a medium-size software company. Employees who participated in process workshops showed a higher degree of usage, used a larger number of functions, and expressed more advantages and disadvantages than those not involved. Our study suggests that employee participation has a long-term positive effect on electronic process guide usage.Index Terms-Software engineering process, process implementation and change, process infrastructure, software process models, organizational management and coordination, software quality/SQA, human factors in software design. Electronic process guides have been seen as an important instrument for making software development more efficient and for delivering software of higher quality by facilitating human understanding, supporting the betterment of software processes, improving process management, automating guidance, and automating support for executing processes [12] . To achieve these benefits, it is important that the electronic process guides are used. We have seen many examples of electronic process guides being little used and thus having little impact on software development practice.. In a single-case holistic study in a medium-size software company, we investigated how participation in creating an electronic process guide through process workshops influenced the use of the guide. We studied three factors regarding developer and project manager usage: frequency of use, used functionality, and reported advantages and disadvantages. We collected data from three rounds of interviews and 19 months of usage logs in a longitudinal study in a medium-size software company. Workshop participants showed a higher degree of usage, used a larger number of functions, and expressed more advantages and disadvantages than nonparticipants. On average, workshop participants accessed the electronic process guide 65 percent more often than nonparticipants. Our study suggests that employee participation has a long-term positive effect on electronic process guide usage.. The implication of these findings is that users of an electronic process guide should be involved in developing it. In the case presented in this study, the participation was manifested in organizing process workshops. This form of participation can be difficult to organize in larger companies. Here, other forms of participation should be sought that help employees to generate alternative solutions and planning implementation because these processes have been shown to relate to performance.. In the future, we would like to see more longitudinal studies of employee participation in software process improvement in order to gain more knowledge on contextual factors, as well as the long-term effects of participation. Also, the questions of how, when, and why electronic process guides are used are important issues which should be addressed in future research. We examined the use of an electronic process guide in a medium-sized company by conducting three series of qualitative interviews and examining usage logs over 19 months.. The electronic process guide was actively used at Spacetec; for the whole period for which we have logs, each user looked up the guide eight (process workshop participants) and five (nonparticipants) times a day on average. In all, it seems that the company has introduced the electronic process guide successfully. In "Company X," Moe and Dybå [31] found one person, out of 19 interviewed, who used the electronic process guide daily. The Alette study [26] reports two daily accesses per potential user. The Andersen Consulting study [23] gives the impression of a low usage rate.. An interesting difference between the electronic process guide at Spacetec and the one at Alette is that the former is what Meso and Jain [28] refer to as a "strong" problemsolving approach because it is developed for a specific purpose, whereas the latter is more of a "weak" problemsolving approach because it is based on the ISO 12207 standard. Another difference between the two electronic process guides is that the Alette guide was developed by process engineers, whereas the Spacetec guide was defined mainly through process workshops.. We now discuss our research question: How does the participation in process workshops influence the use of electronic process guides over time? We organize the discussion according to the three topic areas presented in the results section: usage frequency, functionality in use, and advantages and disadvantages of the electronic process guide as viewed by the interviewees.. First, concerning electronic process guide usage, the level of use differs between the groups who participated in the workshops and those who did not. The self-reported usage frequency was higher for the workshop participants in January 2004, August 2004, and January 2005. This is confirmed by the usage logs, which show a higher degree of usage among the participants in the workshop in 14 of the 19 months where data was collected. The nonworkshop group had a slightly higher usage in four months (months 4, 5, 13, and 19), and the usage level was approximately equal in one month (month 14). Over the whole period, the workshop group had an average of 2,815 look-ups per person versus 1,704 look-ups for nonparticipants. On average, workshop participants accessed the electronic process guide approximately 65 percent more times than the nonparticipants over the total period for which we gathered usage logs. This suggests that participation in process workshops leads to a higher level of usage.. Second, the workshop participants used more functions and they used functions more often at all three times that we conducted interviews. In total, the workshop participants reported using 58 functions, whereas nonparticipants reported using 36 (Table 4 ). This suggests that workshop participants used a broader range of functionality than did nonparticipants.. Third, the interviewees who participated in the process workshops state more advantages (49 in all) than the ones who did not participate (26 in all). The workshop participants noted more advantages than did the nonparticipants at all three interview times. For disadvantages reported, the picture is the same overall. Workshop participants reported 36 disadvantages in total, whereas nonparticipants reported 26. The number of disadvantages reported was the same in the first interview round, higher for the workshop participants in the second, and approximately the same in the third. It is interesting that the number of disadvantages noted by the workshop participants increased over time (nine to 14), whereas the nonparticipants noted the most disadvantages in the first interview (nine in January 2004) and the last (12 in January 2005). By examining reported advantages and disadvantages, we may conclude that employees who participated in process workshops noted more advantages but also more disadvantages. This is probably because workshop participants also reported a greater usage of the electronic process guide and, therefore, reported disadvantages found through use. For example, they are the only ones who reported "technical problems" and are in a clear majority in reporting the disadvantage "does not show genuine progress." The only person to report about "unknown terms" in the process descriptions did not participate in the workshops.. In summary, we found three indications of increased usage and awareness of the electronic process guide in the group that participated in process workshops. What can explain this higher degree of usage?. Riordan et al. [36] list four types of involvement: participative decision making, information sharing, training, and performance-based rewards. What separates the workshop group from the nonworkshop group is that they participated in the decision making as to what the actual work processes should be in the company and they received information on how the processes and project management system would work at an earlier stage. Training was modest for the electronic process guide and given at the same level to both groups. There were no explicit performance-based rewards related to the usage of the electronic process guide.. The main difference between the two groups was the participative decision making. We believe that the information that was shared early in the workshop participant group could be compensated for quickly by training and usage for the nonworkshop group. The reason for this belief is that workshop participants only participated in developing parts of the processes that were described in the final electronic process guide and, therefore, only had limited detailed insight.. In the process workshops, employees were involved in several decision making processes [7] . They identified problems related to the existing development process, generated alternative solutions, participated in selecting a solution, and planned how the solution should be implemented. Some were also able to evaluate the electronic process guide by providing feedback during the interviews. Studies have shown that participation in planning is related to performance and participation in generating alternatives, planning, and evaluating results is related to work satisfaction [7] . Other studies have found that employee participation leads to organizational effectiveness, measured through financial performance, turnover rate, and workforce morale [36] , [43] .. Could it be that participative decision making had such a large impact on the usage of the resultant electronic process guide that it was sustained for 19 months? We have not been able to identify studies on the impact over time, but it seems clear from the literature on involvement and participation that this can have an impact and, in this case, an impact on the usage level. In a quantitative study of electronic process guide usage at "Company X," Dybå et al. [18] found that higher levels of organizational support were associated with higher perceptions of usefulness. Perceived usefulness was, in turn, strong and highly determinant of both current usage of the electronic process guide and intention to use it in the future. In a qualitative study in the same company, Moe and Dybå [31] found that only a few people reported such participation and this explains some of the low level of use in this company.. One reason for the continuous higher level of usage among the workshop participants might be that low usage makes the employees see fewer advantages of the electronic process guide, which acts as a barrier to use. By contrast, high usage seems to make the employees see more advantages, which motivates increased use.. We have not found other studies that measure the effect of participation over time. In our case, the participation in process workshops can be seen as the most important type of organizational support, where employees engaged in discussion with the quality department. However, we would expect the workshop effect to fall off over time.. Could there be other explanations of the difference between the two groups than the participation in designing the electronic process guide? Could it be that the increased usage is due only to a natural variation because of the phases of the projects the employees participate in? The electronic process guide gives the most support in the first and last phases of a software project and less during implementation, so the current project phase will affect the level of usage of the project participants. Because of the length of our study (19 months), we do not think this can explain such a difference because most projects will have gone through several phases during this time interval.. A further alternative explanation could be that the employees who were selected for the process workshops were more motivated to use the guide in the first place so that participation was not the real cause of the increased usage. However, the company selected participants in order to represent a variety of roles and opinions, so there was no intentional selection bias that could favor the workshop group with respect to motivation to participate and use the guide.. Project managers were more likely to use the electronic process guide, but, in Table 1 , we see that there was the same percentage of project managers in the two groups. Another rival explanation could be that the people who were more experienced in the company or with software development would use the electronic process guide less as they already would have established practices for how things are done. However, we see in Table 1 that the contrary is the case; the workshop group has more experience with software development and has, on average, about four years more of experience from the company. We investigate the three factors discussed earlier on electronic process guide usage: 1) use frequency, 2) used functionality, and 3) described advantages and disadvantages of use.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I I B I B I I B I I I O O B I I I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Learning dynamic algorithm portfolios Abstract Algorithm selection can be performed using a model of runtime distribution, learned during a preliminary training phase. There is a trade-off between the performance of model-based algorithm selection, and the cost of learning the model. In this paper, we treat this trade-off in the context of bandit problems. We propose a fully dynamic and online algorithm selection technique, with no separate training phase: all candidate algorithms are run in parallel, while a model incrementally learns their runtime distributions. A redundant set of time allocators uses the partially trained model to propose machine time shares for the algorithms. A bandit problem solver mixes the model-based shares with a uniform share, gradually increasing the impact of the best time allocators as the model improves. We present experiments with a set of SAT solvers on a mixed SAT-UNSAT benchmark; and with a set of solvers for the Auction Winner Determination problem.Keywords algorithm selection · algorithm portfolios · online learning · life-long learning · bandit problem · expert advice · survival analysis · satisfiability · constraint programming Mathematics Subject Classifications (2000) 68T05 · 68T20 · 62N99 · 62G99 The experiments gave quite impressive results. In the first case, the dynamic time allocator GambleTA managed to solve an algorithm selection problem that cannot be solved in a similar way by any static technique. In the second case, performance was competitive with the one of a static offline selection technique, built based on advanced knowledge of the problem domain, including dozens of problem-specific features, and which required quite a long training time. On this latter point we have to remark that in [45] no attempt was made at reducing the training cost, the interest of the authors being more focused on the precision of the estimated models.. The idea of performing algorithm selection based on runtime interaction with the algorithms is not at all new (see Section 2). Most fully dynamic methods are oblivious, i. e., with no knowledge transfer from one problem to the next; in most non-oblivious methods, the model is trained off-line, at a prohibitively high computational cost, as there is no principled method to decide when to stop the training phase. GambleTA takes the best of both worlds: the model allows to retain knowledge from past experiments, but is trained online, with a negligible overhead. The bandit problem solver Exp4 guarantees the optimal amount of exploration: the model is exploited as soon as it allows to improve on the uniform share. At this stage, the model is visibly rough, but can already serve the purpose of algorithm selection. Time allocation is fully dynamic, and shares can be updated an arbitrary number of times. To our knowledge, the most closely related approaches are [44, 59] . In the former, reinforcement learning, which can be seen as a generalization of bandit problems, is used, but at the algorithm level. The resulting method shares many of the positive features of GambleTA, as it is also online, and dynamic. In the dynamic method described in [58, 59] , the algorithm priorities are updated repeatedly, but the dynamic sharing schedule is decided per set, and offline. In [40] , the dynamic selection is only based on the initial evolution of the state, and the probability distributions are assumed to belong to a finite set, known a priori: also in this case the model is learned offline. In [10] , an oblivious technique is presented, based on a contract on execution time, but with no knowledge transfer across problem instances. In [11, 12, 73] , a bandit problem solver is used, but at a lower level, to perform oblivious per-instance algorithm selection. Compared to our previous work [17, 18] , this article replaced the heuristic aspects, both in mapping model predictions to time allocation shares (Section 4), and in controlling the exploration-exploitation balance (Section 6).. At its upper level, the method is practically parameter-less. The bandit problem solver can set its only parameter optimally, based on the length of the task sequence. If the latter is not known, an initial estimate can be used, and periodically updated [1, 2] . In this case the optimal regret (20) is guaranteed with respect to the actual cumulative reward of the best expert. This modification was already tested, with analogous results. Different values of t 0 can only affect the performance with a logarithmic factor. The use of a logarithm for rewarding the algorithms allows to set t min and t max , respectively, to a very small and a very large value, such that only the knowledge of a very loose bound on execution time is required. Design decisions, including the choice of the time allocators, and model(s) to use, as well as the relative parameters, can be taken with a redundant approach, and their refinement can be left to Exp4. In the presented experiments we used a non-parametric model, which is slower to converge than a parametric one, but can converge to an arbitrary distribution, so it does not require any a priori hypothesis about the runtime distributions of the algorithms. If such hypothesis are available, but unsure, an additional copy of each time allocator, based on the parametric model, can be added, and Exp4 will decide which model to use, with a √ ln 2 impact on its regret. At the lowest level, the choice of the algorithms composing A, as well as the relative parameters, is still left to the user.. The amount of prior knowledge required by the experiments was quite low: the only inputs used for the model where one or two features, representing the size of the problems, and time. GambleTA has a black-box view of the algorithms, and can be applied to any decision problem solver. Optimisation problems can be treated, if a target on performance can be set in advance.. With respect to the previous parametric model [17, 18] , the nonparametric method used here also allows to greatly reduce the modeling overhead, which is now negligible. According to [77] , WW suffers from the curse of dimensionality, so it should be replaced in order to profit from a larger set of features. Including timevarying covariates, to condition the prediction also on the dynamic state of the algorithms, will also require more advanced models [43, 49, 55] : the approximation used in [17, 18] K , constrained to a space of size K − 1, as s has to sum to one. As there are no guarantees of unimodality, they will all suffer from the curse of dimensionality, so, for much larger algorithm sets, some approximations should be introduced.. GambleTA is highly modular. On the higher level, different bandit problem solvers could be compared, possibly starting from the variations described in [2] . On a level below, the model based time allocators could be replaced, or combined, with any other algorithm selection technique. It would be enough to express its decision as a share vector s. In the simplest case, one could add an additional fixed allocator for each algorithm in the set, to quickly detect situations in which a single algorithm dominates the others. Also oblivious techniques, as the ones in [10, 21] , could be easily integrated. Section 4 is based on a single machine. In future research we plan to address a more realistic scenario, in which a cluster of machines has to be allocated, one algorithm per machine. Another alternative implementation could be based on setting the priorities of the algorithms through the operating system.. If we go back to the initial section, and look at the list of issues of a typical modelbased algorithm selection technique, we realize that at least two of them do not hold for GambleTA. It never solves the same problem twice. And the simple fact of looking at the runtime of the algorithms allows it to improve its initial time allocation decisions. The first problem remains open: one feature that is still lacking is that the method cannot react to a misprediction of the model during a single task, which could be caused by an "outlier" problem instance, on which the behavior of the algorithms is radically different from what seen so far in the problem sequence. We will focus on this issue in our future research. Most problems in AI can be solved by more than one algorithm. Most algorithms feature a number of parameters that have to be set. Both choices can dramatically affect the quality of the solution, and the time spent obtaining it. Algorithm Selection [63] , or Meta-learning [75] techniques, address these questions in a machine learning setting. Based on a training set of performance data for a large number of problem instances, a model is learned that maps (problem, algorithm) pairs to expected performance. The model is later used to select and run, for each new problem, only the algorithm that is expected to give the best results.. A generalization of algorithm selection, inspired by the Algorithm Portfolio paradigm [33] , is to use the model to select a subset of the available algorithms, and run them in parallel until the fastest one solves the problem. For some classes of algorithms, with a "heavy-tailed" runtime distribution, the execution of multiple parallel runs differing only for the random seed, can actually have an advantage over a single run [25] . In any case, only a fraction of the computation time will be spent on the fastest solver.. These approaches, though preferable to the far more popular "trial and error", pose a number of problems:. 1. Training set representativeness. Problem instances encountered during the training phase are assumed to be statistically representative of successive ones. This hypothesis is practically unavoidable for any model-based selection technique, if referred to a single instance. 2. Static selection. The actual algorithm performance on a given problem is assumed to be predictable with sufficient precision before even starting the algorithm. This assumption is often violated by stochastic algorithms, whose performance can exhibit large fluctuations across different runs (see, e. g., Section 7.1, or [25] ). 3. Training cost. Generating the training data obviously requires solving each training problem repeatedly, at least once for each of the algorithms. The computational cost of this initial training phase is neglected, even though it can be high enough to make algorithm selection impractical.. One common trait of the problems listed above, is that they can be related to the lack of feedback information from the actual execution of the chosen algorithms. Such a dynamic feedback can be used to update the model's predictions, and adapt the computational resource allocation accordingly, allowing for a finer distinction among problem instances (problem 2). It can also be used to guide the training phase itself, avoiding exceedingly long runs of inefficient algorithm/problem combinations (problem 3).. A step in this direction can be taken using a Dynamic Algorithm Portfolio (DAP) [17, 18, 21, 59] . Instead of first choosing a portfolio and then running it, a DAP iteratively allocates a time slice that is shared among all the available algorithms, and updates the relative algorithm priorities, based on their current state, in order to favor the most promising ones. To this aim, a model is needed to map (problem, algorithm, current algorithm state) triples to the expected time to solve the problem.. To reduce training cost, the artificial boundary between training and usage should be dropped, adopting an online learning technique: after the first problem is solved, the model is updated, and used to guide the solution of the next problem.. In previous work, we termed this approach Adaptive Online Time Allocation (AOTA). In [21] , we presented an oblivious time allocator, with no knowledge transfer across problem instances. Runtime predictions, evaluated by extrapolating recent performance improvements, were mapped to time allocation for the next time slice, based on a simple "ranking" heuristic. In [17] we proposed a method for learning a probabilistic model online, while solving a problem sequence. The model was conditioned on features of both the problems and the algorithms (parameter values, current state). The downside of introducing knowledge transfer across problem instances was that the model would obviously be unreliable during the initial portion of the problem sequence. Time was then allocated according to a modification of the ranking heuristic: the first problem was solved with a uniform share, and the impact of the model on the time allocation was gradually increased through the sequence of tasks, according to a fixed schedule, independent of model performance.. In this work we keep the same dynamic online philosophy, but we separate the two problems of allocating time based on runtime predictions, and grading the impact of model-based allocation, giving a sound solution for both. In the following we briefly present some related work (Section 2), distinguishing between static techniques, in which the selection is performed before runtime, and dynamic ones, where the selection process is somehow adapted during the actual execution of the algorithms. We then introduce some simple concepts from survival analysis, which are relevant to our method, and to algorithm performance modeling in general. Section 4 describes an ideal implementation of a static portfolio, based on exact knowledge of the runtime distributions of the algorithms, illustrating different optimality criteria to share machine time among the algorithms. Section 5 introduces the dynamic extension, and the online learning scheme, discussing the exploration-exploitation trade-off determined by the online setting. In Section 6, we address this trade-off in the context of bandit problems [1] , and present our new time allocator (TA) GambleTA. Section 7 analyzes experimental results on two challenging algorithm selection problems. In the first set of experiments, a local search and a complete SAT solver are controlled during the solution of a sequence of random satisfiable and unsatisfiable problems. In the second, we compare with results of a static algorithm selection approach [45] , on a set of combinatorial Auction Winner Determination problems. Section 8 discusses originality, limitations, and viable improvements of GambleTA. Many algorithm selection, or parameter tuning, techniques, are tailored to a specific algorithm, and often present similar interesting solutions across different fields of research. We will give some examples of these, but we will keep our focus on "black box" techniques, that can be applied in more general settings.. We will first introduce some naming conventions. A first distinction needs to be made among decision problems, in which a binary criterion for recognizing a solution is available; and optimisation problems, in which different levels of solution quality can be attained, measured by an objective function [29] . A decision problem can be viewed as an optimisation problem with a binary objective function; an optimisation problem can be turned into a decision problem, if a reachable target value of performance can be set in advance. Literature on algorithm selection is often focused on one of these two classes of problems. The selection is normally aimed at maximizing performance quality for optimisation problems; and at minimizing solution time for decision problems.. The selection among different algorithms can be performed once for an entire set of problem instances (per set selection, following the terminology of [34] ); or repeated for each instance (per instance selection). A further independent distinction [59] can be made among static algorithm selection, in which any decision on the allocation of resources precedes algorithm execution; and dynamic, or reactive, algorithm selection, in which the allocation can be adapted during algorithm execution.. Another orthogonal feature is related to learning. Here we borrow from the machine learning terminology, distinguishing between offline or batch learning techniques, in which there is a separate training phase, after which the selection criteria are kept fixed; and online 1 or life-long learning [62] techniques, in which the criteria are updated at every instance solution. Oblivious algorithm selection techniques do not transfer any knowledge across different problem instances. We present two experiments, both with very small algorithm sets (K = 2), but long, and challenging, problem sequences. The first experiment features a complete and a local search SAT solver, dealing with a mixed set of CNF3 SAT instances at the sat-unsat threshold. The second experiment features solvers for a published Auction Winner Determination Problem (WDP) benchmark [45] .. Before proceeding, we will describe the remaining details of our time allocation algorithm. As said, we use Exp4 [1] at the top level, to mix the share decisions s Each experiment was repeated using each one of the allocators, always accompanied by the uniform, but none of them could improve on the performance of the ensemble. Exp4 preferred different time allocators on the two benchmarks, but always discarded the quantile allocators with α ≥ 0.5.. The sequence of time intervals t employed by the dynamic portfolio was exponential, with base two. ( t 0 ,2 t 0 ,4 t 0 ,...). We set the initial t 0 to two different values for the two experiments. Also t min was different for the two benchmarks, while t max was kept fixed at 10 10 . As a model, we used the conditional non-parametric hazard estimator (ĥ(t|x)) by Wichert and Wilke (WW in the following) [77] . This model is conceptually simple, and computationally efficient. As most non-parametric methods, it stores all the training data (x i , t i ): the time values t i of censored and uncensored events, and the covariates x i , evaluating an empirical CDF (7) F x (x) of the covariate value x. In order to predict the hazard function for an unseen value x of the covariate, it first estimates its CDF value F x (x), by simply evaluating its rank in the sorted list of covariates. The probability F x (x) is then compared to the F x (x i ) of each sample (again obtained from the rank), through a kernel function K, with bandwidth parameter b n , and the value of K((F x (x) − F x (x i ))/b n ) is used to weight the event t i . The weight values are used in place of "1" in (8) , to evaluate a Kaplan-Meier estimate of the hazard for the covariate x:ĥ. If the covariates are multidimensional, the process is repeated for each dimension, and the products of the resulting kernel distances are used as weights. In short, (22) performs a nearest neighbor estimate of the hazard: the kernel distance is measured on the distribution of covariate values, and is not sensitive to scaling. The kernel function K is required to be symmetric around 0, and integrate to 1. We used a uniform kernel (0.5 on [−1, 1], and 0 elsewhere), which is a common choice in non-parametric statistics. The convergence proof for the estimator requires the bandwidth parameter b n to be set based on the size n of the stored sample, as b n ∈ [n −1/2 , n −1/4 ]. We present results for b n = n −1/4 , which provides the widest allowed kernel.. A separate model was learned for each algorithm, using a small set of problem specific features as covariates. 8 The only dynamic feature taken into account was the time spent y k , as in (9, 10), which, in the non-parametric setting, simply consists in discarding hazard values h j with t j ≤ y k . The RTD of the portfolio was evaluated based on the cumulative hazard 9 form (14). The time allocators described in Section 4 8 As the two algorithms are in both cases not related. For different parametrizations of the same algorithm, a single model can be used, conditioned also on parameter values. 9 The model (WW) outputs, for a given covariate x, two vectors, one of event times {t i }, one of the corresponding hazard estimates {h i }. (3) and survival probability at the next contract (2), based on the survival function obtained from (5) . These last two functions are passed as arguments to the Matlab function fminbnd, to be minimized.. were evaluated numerically, using a line search routine (see note 9), careless of multimodality: on runs that were monitored, we observed multimodality only for high levels of the parameters α or t u , for which the performance of the time allocators was poor anyway. We repeated both experiments 50 times, each time with a different random reordering of the problem instances, and a different random seed for the algorithms, if randomized. Unless otherwise stated, all results reported are 95% confidence bounds, evaluated on 50 runs. For both experiments, the parallel execution of the algorithms was simulated, using stored runtime data; 10 the time values reported only include the algorithm runtimes. 11 We assess the performance of GambleTA by comparing it with the uniform time allocator s U = (1/K, . .., 1/K) alone; and the one of an oracle, with foresight of the runtime values, which only executes, for each problem instance, the algorithm that will be fastest. If t G ( j ) is the runtime of our time allocator on problem instance j, t k ( j ) is the runtime of algorithm a k , then t O ( j ) = min k {t k ( j )} is the runtime of the oracle, and t U = Kt O is the runtime of the uniform share. We will describe the performance of the allocator until task m reporting the cumulative time m j=1 t G ( j ), and the cumulative overhead. relative to the performance of the oracle. These are fair performance indicators, also for a per instance selection technique, but do not capture the performance on a single instance. Plotting this information averaged on multiple runs is problematic, as the order of the instances is different for every run, and in both benchmarks the runtimes may differ of several orders of magnitude. We will then plot the performance on each instance, and for each run, against the runtime of the oracle, and the uniform share. 10 Unfortunately, doing research on an online method does not have the benefits of just using one, as comparing with the performance of an oracle requires the knowledge of all runtimes, which means that, for the first experiments, we also had to solve all satisfiable problems with Satz-Rand. 11 Including the overhead of the quantile evaluations, the model update, etc., would not be fair, as all these operations are implemented in unoptimized, and rather bloated, Matlab code, while the a k are written in C. WW, as other nonparametric methods, has a very cheap learning phase, which consists in sorting independently the event times and the d dimensions of the covariates x ∈ R d . The cost of prediction is d searches on the sorted covariate data, and the cost of (22) . Quantiles can also be evaluated just by searching a value on a sorted list. To give a rough idea, we report the profile of a single run on the SAT-UNSAT benchmark: on 1, 899 problems, two WW models were updated once per problem, for a total of 4.6 s. The hazard generating function (22) was called about 280, 000 times in total, as each of the allocators uses it in the optimisation process (see note 9) : the cost was 88 s. An additional 3 min was spent in merging and re-sorting hazard vectors, to evaluate the hazard of the portfolio. The total runtime of the portfolio alone on the problem sequence would have been about 24 min. These figures would obviously change passing to a C implementation. Simple optimizations, like preserving order when merging two hazard vectors, would further improve the situation. The fact that the data is sorted would allow for more advanced optimizations, based for example on balanced trees, with a cost O(log n), n being the number of samples, both for search and insertion. Regarding memory requirements, the model would collect K samples for each solved task. On a modern machine, this amount of data would not cause any problem, even with long task sequences, but once there is enough data one can start to reduce the number of stored samples, for example merging neighboring hazards.. To underline the improvement during the problem sequence, we will also report separate statistics for the first and second halves of the two problem sequences.

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 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 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 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 B I O B I O B I O B I O B I O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 B I 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 B I 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


A fictitious domain approach for the simulation of dense suspensions Low Reynolds number concentrated suspensions do exhibit an intricate physics which can be partly unraveled by the use of numerical simulation. To this end, a Lagrange multiplier-free fictitious domain approach is described in this work. Unlike some methods recently proposed, the present approach is fully Eulerian and therefore does not need any transfer between the Eulerian background grid and some Lagrangian nodes attached to particles. Lubrication forces between particles play an important role in the suspension rheology and have been properly accounted for in the model. A robust and effective lubrication scheme is outlined which consists in transposing the classical approach used in Stokesian Dynamics to our present direct numerical simulation. This lubrication model has also been adapted to account for solid boundaries such as walls. Contact forces between particles are modeled using a classical Discrete Element Method (DEM), a widely used method in granular matter physics. Comprehensive validations are presented on various one-particle, two-particle or three-particle configurations in a linear shear flow as well as some O(10 3 ) and O(10 4 ) particle simulations. Suspensions of solid particles embedded in a liquid are a class of two-phase flows that are ubiquitous in industry as well as in biological or natural flows. Fresh concrete or uncured solid rocket fuel are two examples of industrial concentrated suspensions for which the highest particle volume fraction is desired while keeping correct rheological properties and flowing behavior. Such dense suspensions do exhibit an intricate physics which is hitherto far beyond complete understanding. This complexity mainly stems from the wide variety of fluid-particle or particle-particle interactions [1] so that even the idealized case of hydrodynamically-interacting smooth monodisperse spherical particles in a Newtonian fluid can involve strong non-Newtonian effects such as yield stress, shear-thickening, particle migration or anisotropic microstructures (see [2, 3] for a review). similarities and only slightly differ. Surprisingly, despite the availability of these DNS methods, quantitative simulations of dense suspensions are heretofore a privilege of SD or FCM methods. Only scarce studies address the DNS of suspension rheology [25, 28, 29, 37] but they remain mostly qualitative and far from actual configurations as they consider 2D particles (cylinders) with low volume fractions. As far as the authors know, there have been no attempts at simulating the rheological behavior of dense suspensions using DNS in the way it is done by SD or FCM. With an eye to demonstrating that DNS is well-adapted for detailed simulations of concentrated suspensions, this study intends to develop a non-Lagrange multiplier version [24, 25] of the fictitious domain approach since it alleviates the computational burden of the original version. However, those methods define body-force values at some Lagrangian nodes attached to the particles moving in the Eulerian background grid. This consequently involves several interpolation steps between Eulerian and Lagrangian nodes, which are known to induce numerical instabilities [25] and impose a careful choice of the interpolation kernel [14, 38] . It is also attested that the arrangement itself of the Lagrangian particle nodes may alter results. For spheres, the best results are obtained with nodes adequately arranged in concentric shells and with the nodes closest to the particle surface slightly retracted from it [25, 39] . A generalization to arbitrary-shaped particles is believed to be tedious. Therefore, our approach intends to keep the simplicity of a fully Eulerian method. Bodyforce quantities are defined at the Eulerian grid points, like the other fluid variables, and an Eulerian advection step is inserted in the method, so that the body-force remains attached to the particle as it moves along.. A peculiar feature of concentrated suspensions is that the average separation distance a⇠ between particles, where a denotes the particle radius, becomes extremely small. The so-called lubrication forces arise between particles in near-contact because of the draining of interstitial fluid in the gap. The magnitude of these forces rises dramatically as particles approach each other and is singular in the limit of touching particles as the normal and tangential forces diverge as ⇠ −1 and ln ⇠, respectively. Consequently, the rheology of suspensions is markedly modified by lubrication forces and qualitatively important effects occur at small separations, typically down to ⇠ ⇠ 10 −2 . For accurate simulations of low Reynolds suspensions, a numerical method should be able to capture those short-range lubrication forces. The required grid spacing should however be smaller than at least 10 −3 a-10 −4 a to resolve lubrication, making long-term simulations of many-particle systems unfeasible. Typical grid spacings are about 10 −1 a which means that -albeit implicitly accounted for by DNS -lubrication forces are less and less accurately described as particles come to near contact. A first simple approach consists in adding the theoretical lubrication force F th lub (⇠), known for two spheres in near-contact [40] , to the computed hydrodynamic force. To put it more precisely, this rather takes the form F th lub (⇠) − F th lub (⇠ cut ) where ⇠ cut is a cut-off separation below which this lubrication correction is activated. This approach is widely employed whatever the numerical technique chosen : fictitious domain [32] , dissipative particle dynamics [41] , lattice Boltzmann method [42] or boundary element method [43] . Yet, such simple approach is not rigorous because -as previously stressed -a part of the lubrication is already partially included in the numerical solution. Just adding the theoretical force consequently results in double-counting the resolved part of the lubrication force. A more rigorous method is proposed in SD [6, 44] . The analytical two-sphere resistance interactions are added to the long-range hydrodynamic resistance matrix. However, in order not to count twice the far-field part of the exact two-sphere resistance interactions, the authors subtract off this contribution, which is found by inverting a two-sphere mobility matrix to the same level of approximation as in the long-range hydrodynamic problem. This method is however not well suited for DNS because long-range hydrodynamic resistance or mobility matrices are not explicitly computed. In the frame of FCM, Maxey et al. [10, 45] developed an approach inspired by the method used in SD.. The main idea is to compute, without any lubrication correction, the interactions between two spheres for different configurations and separation distances ⇠, in order to estimate the numerically resolved part of lubrication. The basic ideas of this method can be retained and readily transposed to a DNS approach, which will be done in the frame of this study. Note that there exist other alternatives such as using X-FEM (Extended Finite Element Method) to enrich the solution with lubrication theory in order to capture the subgrid-scale lubrication layer flow [46] . This is an earlier example of a combination of DNS and lubrication (while avoiding double-counting) but was only demonstrated in 2D. and for small numbers of particles (⇠10).. A last essential ingredient for accurate simulations of suspension physics is the modeling of collisions, or contacts, between particles. Contacts inevitably occur in inertial flows but also in non-inertial flows despite lubrication because of many-body interactions or particle roughness. Additionally, from a numerical standpoint, contact may also take place in dense suspensions due to finite time steps. In order to prevent from unphysical particle overlaps, most authors include an additional ad hoc short-range repulsion force. The functional form of this force is usually dictated by numerical convenience rather than physics. Nonetheless, the important role of contact forces in dense suspensions has been highlighted in recent experimental works that unequivocally show that moderately-sheared highly-concentrated suspensions behave like dry granular materials (e.g., see [47] ). As dry granular materials have long been known to be well modeled by a Discrete Element Method (DEM) (see [48, 49] for a review), couplings between DEM and DNS solvers have recently emerged [33, 50] . Yet, those works do not consider lubrication and a peculiar feature of our present model is that both lubrication and contact using DEM are considered.. The goal of this paper is to present an efficient method suited for the simulation of concentrated suspensions, thereby including a detailed modeling of lubrication and contact. Section 2 describes the fictitious domain method employed. It is close to the works of Yu and Shao [25] and Apte et al. [24] although a significant difference is that our method is fully Eulerian and does not require Lagrangian collocation nodes. In Section 3, a robust and effective lubrication method is presented. It retains the basic ideas of the recent method proposed in FCM [10] and is adapted to the present DNS approach. In Section 4, the DEM method is delineated. Section 5 presents different comprehensive validations especially focusing on spheres in linear shear flows. Finally, conclusions are given in Section 6. In this paper, we have proposed a Lagrange multiplier-free fictitious domain approach adapted for the simulation of dense suspensions. The particle-fluid solver is close to some recent works [24, 25] . The main difference however is that our approach is fully Eulerian and does not need any Lagrangian nodes attached to particles.. Lubrication forces as well as contact forces play a major role in low-Reynolds suspensions and have here been addressed in much detail. Because they are very short-range, lubrication forces can not be fully resolved with the typical grids used and consequently require an additional model. The method proposed is inspired from Stokesian Dynamics but modified here so as to comply with our fictitious domain solver. The non-resolved (subgrid) part of lubrication is first identified by subtracting tabulated numerically-resolved lubrication interactions from their theoretical counterparts. This subgrid part is subsequently considered in a resistance problem to correct particle velocities.. This leads to an ill-conditioned resistance linear system solved successfully using an IC(0)-preconditioned conjugate Table 3 : CPU performance for the sedimentation of 10,648 particles gradient method. This lubrication method is quite general and can be used in any flow solver. It has also been adapted to account for solid walls in order to address bounded flows. Note that although the numerical method can handle non-spherical particles or non-Newtonian fluids, the lubrication method is strongly linked with available lubrication theory and is therefore restricted to spheres in a Newtonian fluid.. Unlike most reported suspension simulations, contact forces are here computed using a physical model based on the discrete element method (DEM) which is widely used in granular matter physics. The DEM is implemented so that it remains strongly coupled with lubrication forces. To this end, contact forces are simply added as a background force in the lubrication problem. Roughness is also included in the DEM by altering the definition of the distance between particles.. Some detailed validations are provided for one-particle, two-particle and three-particle configurations in a linear shear flow. The good correlations obtained indicate that the method is well adapted for the simulation of particulate flows ; it particularly gives good results even for flows governed by lubrication. Notably, simulations of a single particle on an inclined wall as well as rough particles interacting in a shear flow suggest that lubrication and contact are both accurately described. Simulation of many-particle systems up to O(10 4 ) particles can be conducted in a reasonable CPU time, even though the code is sequential so far . It is expected that parallelization may open ways to simulations of O(10 6 ) particles that will allow for a better knowledge of suspension physics.. This study shows that actual concentrated simulations can be handled by the present method and that quantitative predictions of rheological behavior, such as viscosity, are possible. This suggests that direct numerical simulation is a valuable alternative to address the rheology of dense suspensions.

O B I O O O O O O B 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 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 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 B 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 B I 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 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 B 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 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 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 B 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 B 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 B 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 B 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 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 B 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 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 O B 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 B 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 B O O O O O O O B 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 B 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 B 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 B I 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 B 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 B O O O O O O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 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 I O O O O O O B 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 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 B 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 B I I 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 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 B 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 B


Distributed simulation platform to design advanced RFID based freight transportation systems ABSTRACT: RFID systems known to improve supply chains performances are not well-implemented in industry Supply Chain Management (SCM) is an approach to coordinate materials and information flows between business entities in fulfilling customer's demand. The SCM dilemma is that Supply Chain (SC) processes are ever more interdependent while SC members try to keep their economic independency and decision-making autonomy. The coordination challenge lies in connecting the appropriate part of business partners' information systems involved in a SC. A global issue in SCM is then to develop data exchange mechanisms to align the objectives of independent supply chains members and coordinate their decisions and activities to optimize the whole system performance.. Coordination becomes more efficient when SC partners transmit accurate, complete, and consistent information about products through the supply chain (Regattieri et al., 2007) . Thus, RFID (Radio Frequency IDentification) becomes a powerful solution to propose a real-time access to information in order to align the SC workflow with the physical flows. However, this technology is not yet well-implemented in industry, particularly in the field of transport, due to the high economic investment it requests in comparison to others solutions, such as the bar-codes. Others barriers relate to the lack of standardized RFID protocols, to scanning problems due to interferences (relative to electromagnetic perturbations, metallic environment and nature of items) and to difficulties to implement technical solutions in real study cases in order to prove the benefits of the technology.. These technical limitations for RFID adoption should be removed by developing a distributed simulation platform to support the design and test of Decisions Support Systems (DSS) devoted to optimize RFID-based logistics systems.. The platform proposed in this paper is more concerned by the control of a vehicles fleet of logistics service providers in order to demonstrate the benefits of RFID in organizing transport operations; it provides a good way to perform tests p r e -p r i n t v e r s i o n limits which prevent a widespread adoption of the RFID.. The existing gap between the ideal vision of RFID implementation, depicting its organizational potentialities, and its real usage in terms of defining its value-added in product-flows management has led to the emergence of two categories of scientific works; some academic researches intends to prove theoretically the benefits of RFID technology application on logistics management, as mentioned in (Sarac et al., 2010) (Dolgui et al., 2008) while technological issues of RFID deployment are discussed for small-scale systems (Ilie-Zudor et al., 2010) (Ngai et al., 2008) . This paper is concerned by these two dimensions. The proposed research deals with the technical and organisational development of RFID-based logistics systems. The implementation of RFID solutions in a real transportation case without knowing advantages and limits of these can be considered as economically risked. For this reason, we propose to develop a distributed simulation platform to define the architecture of the future system and to assess these risks. The PRODIGE project is born on the lack of technical solutions to support collaborative logistics using RFID; it intends to improve the performance of the delivery chain by using real time information on 'smart' products and road live context. The paper has presented one of the first project stages, consisting in the design of a distributed platform for simulation of complex logistics systems, in order to validate theoretical principles, functional and technical requirements before implementation in realistic situations. The logistics data flows model proposed in this paper is representing an RFID based system supporting a frequent communication between smart products and the information systems used by the stakeholders for monitoring the products transportation. The synergy between G-DEVS formalism and HLA distributed simulation standard has bridged gaps from discrete event modeling to the real system implementation by proposing a set of interconnected models progressively replaceable by real components without interrupting the HLA based information flow. The embedded workflow engine aggregates, within a system of system approach, the products transportation orders, the vehicle status and describes the data exchange flow to conciliate the vehicle routes.. This work is completed by some simulation lessons learned for dimensioning the data length and the data exchange periodicity regarding the network traffic it occurs and the bitrates it consumes in order to define the information exchange policy to be developed in the upcoming hardware and software platform. For instance, the research of the weakest link in the communication chain has identified the GPRS/GSM transmission as a bottleneck regarding the amount of data to be transmitted. The behavior of components has been, as well, tested, e.g. the balance of responsibilities between the trailer box and the Smartphone components has been evaluated. The simulation concluded to let the "clever" activities in charge of the Smartphone to reduce communications. Finally, the product component behavior has been modeled to define when it can report on drift regarding its objectives in order to act on the vehicles routing.. The discrete event simulation conclusions are currently employed to test the integration of physical components confronted to simulation elements. The development of PRODIGE platform for distributed logistics partners is promising regarding first mixed integrations of simulation and execution components both based on the "product driven" emerging concept. These works have been envisaged to be transposed to urban mobility problems that face similar problems. The PRODIGE approach to build the physical platform consists in modeling, simulating and validating all the components behavior first. Each G-DEVS model is implemented using LSIS_DME, tested separately and then connected to the poRTIco HLA platform (Tu et al., 2009) . In a second step, when simulation confirms a correct (regarding specifications) operating mode, the simulated component is replaced by its real counterpart. This physical component will be coupled with an HLA input output translator (i.e. a C++ or Java FederateAmbassador class) to communicate with the rest of the system via the platform interconnection network. Verification of the interoperability of the system real components is consequently done progressively.. The distributed simulation has permitted to validate strategic choice concerning the behavior of the components to be developed as software or hardware components of the final solution of PRODIGE. We detail, in the following, one strategic choice modeled and validated by means of the exploitation of the simulation results.

B I O O O O B 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 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 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 B 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 B 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 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 B 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 B O O O B 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 B 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 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 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 B 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 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 B O O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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 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 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


Consistency Issues in Distributed Checkpoints Abstract: A global checkpoint is a set of local checkpoints, one per process. The traditional consistency criterion for global checkpoints states that a global checkpoint is consistent i it does not include messages received and not sent. This paper investigates other consistency criteria, transitlessness and strong consistency. A global checkpoint is transitless i it does not exhibit messages sent and not received. Transitlessness can be seen as a dual of traditional consistency. Strong consistency is the addition of transitlessness to traditional consistency. The main result of this paper is a statement of the necessary and su cient condition answering the following question: \Given an arbitrary set of local checkpoints, can this set be extended to a global checkpoint that satis es P ?" (where P is traditional consistency, transitlessness or strong consistency). From a practical point of view, this condition, when applied to transitlessness, is particularly interesting as it exactly characterizes which messages do not need to be logged by checkpointing protocols. Coh erence des points de contrôles r epartis R esum e : Un point de contrôle global est un ensemble de points de contrôle locaux, un par processus. Classiquement, un point de contrôle global est coh erent s'il n'inclue pas de message re cu et non emis. Cet article etudie d'autres crit eres de coh erence, a savoir l'absence de messages en transit et la coh erence forte. Le premier crit ere stipule qu'un point de contrôle global ne doit pas contenir de messages emis et non re cus. Il s'agit d'une condition duale de la condition classique. La coh erence forte est la conjonction des deux pr ec edentes. Le r esultat principal de l'article est une condition n ecessaire et su sante qui r esoud le probl eme suivant: \Etant donn e un ensemble de points de contrôle locaux, cet ensemble peut-ilêtre inclus dans un point de contrôle global coh erent?". Du point de vue pratique, cette condition est particuli erement int eressante avec le crit ere absence de messages en transit puisqu'il caract erise exactement les messages qui n'ont pas besoin d'être enregistr es lors de l'ex ecution de protocoles de recouvrement arri ere a partir de points de contrôle.Mots-cl e : Points de contrôles, coh erence, coh erence forte, syst emes r epartis, tol erance aux fautes, recouvrement arri ere In a distributed system, a local checkpoint is a local state of a process and a global checkpoint is a set of local checkpoints, one from each process. The usual notion of consistency for global checkpoints stipulates that a message sent by a process after its local checkpoint A must not be received by its destination process before its local checkpoint B, for the global checkpoint including A and B to be consistent. A consistent global checkpoint is thus a snapshot of a state of the system that the actual execution passed through or could have passed through. The determination of consistent global checkpoints has many applications such as the detection of (stable or unstable) distributed properties 1, 3, 6, 10] , the determination of distributed breakpoints 5, 12] , and rollback-recovery 4] to name a few. Consequently, the determination of consistent global checkpoints has received wide attention.. Recently, the following problem has been addressed 14, 18] : \Given a set of local checkpoints, can this set be extended to form a consistent global checkpoint?". This simple question is actually at the heart of many checkpointing problems. It has been shown that two local checkpoints being causally unrelated is a necessary but not su cient condition for them to belong to the same consistent global checkpoint. Two local checkpoints can have a type of \hidden" dependence that prevents them from ever belonging to the same consistent global checkpoint. This problem was rst addressed by Netzer and Xu 14] who introduced the notion of a Z-path between local checkpoints to capture both their causal and hidden dependencies. Building on their work, Wang 18 ] studies two canonical consistent global checkpoints to which a set of local checkpoints can belong (the minimum and maximum) and introduces the Rollback-Dependency Trackability (RDT) property which states when all dependencies among local checkpoints are trackable on-line. 2] presents a protocol ensuring that local checkpoints taken during a computation satisfy the RDT property. The interested reader will nd in 18] a set of problems whose solutions greatly bene t from the RDT theory (namely, software error recovery, guaranteed deadlock recovery, global checkpoints with mobile hosts, causal distributed breakpoints and output commit).. A thorough investigation of consistency issues of global checkpoints shows that the usual consistency criterion described above represents only one side of the problem. This paper is devoted to such an investigation and studies two other consistency criteria for global checkpoints. The rst one, called transitlessness, focuses on global checkpoints in which no messages are sent and not received. The second one, called strong consistency, is the addition of usual consistency and transitlessness. De nitions for these consistency criteria are provided and the following question is answered: \Given a set of local checkpoints, can this set be extended to a global checkpoint that satis es the consistency criterion P ?" (where P is traditional consistency, transitlessness, or strong consistency). From a practical point of view, the necessary and su cient condition characterizing transitlessness is particularly interesting as it shows exactly when message logging can be avoided during checkpointing. Some checkpointing protocols are required to save messages that could be in transit with respect to some global checkpoint 13, 17] , and this condition can be used to design protocols that avoid message logging.. In this paper we reason about consistency in terms of a directed graph that represents the execution. Lamport has shown that a computation can be modeled as a graph representing the happen-before relation of potential causality among the computation's states and events 9]. We show how this graph can be transformed to produce what we call the Z -graph, whose paths correspond exactly to Z-paths. It also appears that traditional consistency and transitlessness are duals of each other. Another transformation of the graph exposes this duality and leads to what we call the T -graph, and the paths in the T -graph are called T-paths. T-paths are duals of Z-paths. The T -graph is obtained from Z -graph by exchanging the send and receive events associated with each message. Finally, we de ne the S -graph of an execution to be the union of the corresponding Z -graph and T -graph. A global checkpoint is a set of local checkpoints, one from each process. The traditional consistency criterion for global checkpoints states that a global checkpoint is consistent i it does not include messages received but not sent. This paper has investigated other consistency criteria, namely transitlessness and strong consistency. A global checkpoint is transitless i it does not exhibit messages sent but not received. While

B 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 B O B O O B O O O O O O O O O O O O O O O B O O O O O O O O B O B 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 B B O O B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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 B O O O O O O O O O O O O O O O O O O B O O O O O B O B 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 B O O O O O O O B B O O B 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 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 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 B 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 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 B O O B O O B O O O O O O O O O O O O O O O O