6360330
An empirical study of reliable multicast protocols over Ethernet-connected networks
Recent advances in multicasting over the Internet present new opportunities for improving communication performance in clusters of workstations. The standard IP multicast, however only supports unreliable multicast, which is difficult to use for building high level message passing routines. Thus, reliable multicast primitives must be implemented over the standard IP multicast to facilitate the use of multicast for high performance communication on clusters of workstations. Although many reliable multicast protocols have been proposed for the wide area Internet environment, the impact of architectural features of local area networks (LANs) on the reliable multicast protocols has not been thoroughly studied. Efficient reliable multicast protocols for LANs must exploit these features to achieve the best performance. In this paper we study four types of reliable multicast protocols: the ACK-based protocols, the NAK-based protocols with polling, the ring-based protocols, and the tree-based protocols. We evaluate the performance of the protocols over Ethernet-connected networks, study the impact of architectural features of the Ethernet on the performance of the protocols, and investigate the methods to exploit these features to achieve the best performance.
7026270
Branch elimination by condition merging
Conditional branches are expensive. Branches require a significant percentage of execution cycles since they occur frequently and cause pipeline flushes when mispredicted. In addition, branches result in forks in the control flow, which can prevent other code-improving transformations from being applied. In this paper we describe profile-based techniques for replacing the execution of a set of two or more branches with a single branch on a conventional scalar processor. These sets of branches can include tests of multiple variables. For instance, the test if (p1 ! = 0 && p2 ! = 0), which is testing for NULL pointers, can be replaced with if (p1 & p2 ! = 0). Program profiling is performed to target condition merging along frequently executed paths. The results show that eliminating branches by merging conditions can significantly reduce the number of conditional branches executed in non-numerical applications.
18020602
Automatic validation of code-improving transformations on low-level program representations
This paper presents a general approach for automatically validating code-improving transformations on low-level program representations. The approach ensures the correctness of compiler and hand-specified optimizations at the machine instruction level. The method verifies the semantic equivalence of the program representation before and after a transformation to determine the validity of the transformation. To verify that the transformation is semantics preserving, the method derives semantic effects from the instructions that span the execution paths affected by the transformation. The semantics are preserved if the normalized semantic effects are unchanged. A validating compilation system was implemented that is able to validate traditional compiler transformations and more powerful transformations that modify the branch structure of a program.
14857157
An MPI prototype for compiled communication on Ethernet switched clusters
Compiled communication has recently been proposed to improve communication performance for clusters of workstations. The idea of compiled communication is to apply more aggressive optimizations to communications whose information is known at compile time. Existing MPI libraries do not support compiled communication. In this paper, we present an MPI prototype, CC-MPI, that supports compiled communication on Ethernet switched clusters. The unique feature of CC-MPI is that it allows the user to manage network resources such as multicast groups directly and to optimize communications based on the availability of the communication information. CC-MPI optimizes one-to-all, one-to-many, all-to-all, and many-to-many collective communication routines using the compiled communication technique. We describe the techniques used in CC-MPI and report its performance.The results show that communication performance of Ethernet switched clusters can be significantly improved through compiled communication.
8426908
Branch Elimination via Multi-variable Condition Merging
Conditional branches are expensive. Branches require a significant percentage of execution cycles since they occur frequently and cause pipeline flushes when mispredicted. In addition, branches result in forks in the control flow, which can prevent other code-improving transformations from being applied. In this paper we describe profile-based techniques for replacing the execution of a set of two or more branches with a single branch on a conventional scalar processor. First, we gather profile information to detect the frequently executed paths in a program. Second, we detect sets of conditions in frequently executed paths that can be merged into a single condition. Third, we estimate the benefit of merging each set of conditions. Finally, we restructure the control flow to merge the sets that are deemed beneficial. The results show that eliminating branches by merging conditions can significantly reduce the number of conditional branches performed in non-numerical applications.
33385860
An empirical study of reliable multicast protocols over Ethernet-connected networks
Recent advances in multicasting over the Internet present new opportunities for improving communication performance for clusters of workstations. Realizing collective communication over reliable multicast can achieve higher performance than over reliable unicast primitives. The standard IP multicast, however, only supports unreliable multicast, which is difficult to use for building high level message passing routines. Thus, reliable multicast primitives must be implemented over the standard IP multicast to facilitate the use of multicast for high-performance communication on clusters of workstations. Although many reliable multicast protocols have been proposed for the wide area Internet environment, the impact of special features of local area networks (LANs) on the performance of the reliable multicast protocols has not been thoroughly studied. Efficient reliable multicast protocols for LANs must exploit these features to achieve the best performance. In this paper, we present our implementation of four types of reliable multicast protocols: the ACK-based protocols, the NAK-based protocols with polling, the ring-based protocols and the tree-based protocols. The protocols are implemented over IP multicast using the standard UDP interface. We evaluate the performance of the protocols over Ethernet-connected networks, study the impact of some special features of the Ethernet on the performance of the protocols and investigate the methods to exploit these features to improve communication performance.
7786721
Geometry completion and detail generation by texture synthesis
We present a novel method for patching holes in polygonal meshes and synthesizing surfaces with details based on existing geometry. The most novel feature of our proposed method is that we transform the 3D geometry synthesis problem into a 2D domain by parameterizing surfaces and solve this problem in that domain. We then derive local geometry gradient images that encode intrinsic local geometry properties, which are invariant to object translation and rotation. The 3D geometry of holes is then reconstructed from synthesized local gradient images. This method can be extended to execute other mesh editing operations such as geometry detail transfer or synthesis. The resulting major benefits of performing geometry synthesis in 2D are more flexible and robust control, better leveraging of the wealth of current 2D image completion methods, and greater efficiency.
2000177
A distributed visual surveillance system
We present a distributed vision-based surveillance system. The system acquires and processes grey level images through one or multiple camera units monitoring certain area(s) via a local area network (LAN) and is capable of combining information from multiple camera units to obtain a consensus decision. It can be trained to detect certain type of intrusions, for example pedestrians, a group of pedestrians, vehicles, pets, etc., and minimizes false alerts due to other non-interested intrusions. As a case study, we aim to detect pedestrian/vehicle in an observation area. Our vision-based intrusion detection approach consists of two main steps: background subtraction based hypothesis generation (HG) and appearance-based hypothesis verification (HV). HG hypothesizes possible threats (intrusions), and HV verifies those hypotheses using a Gabor filter for feature extraction and support vector machines (SVMs) for classification. The system has been tested in an unconstrained outdoor environment, illustrating good performance.
88596
Using GUI Run-Time State as Feedback to Generate Test Cases
This paper presents a new automated model-driven technique to generate test cases by using feedback from the execution of a "seed test suite" on an application under test (AUT). The test cases in the seed suite are designed to be generated automatically and executed very quickly. During their execution, feedback obtained from the AUT's run-time state is used to generate new, "improved" test cases. The new test cases subsequently become part of the seed suite. This "anytime technique" continues iteratively, generating and executing additional test cases until resources are exhausted or testing goals have been met. The feedback-based technique is demonstrated for automated testing of graphical user interfaces (GUIs). An existing abstract model of the GUI is used to automatically generate the seed test suite. It is executed; during its execution, state changes in the GUI pinpoint important relationships between GUI events, which evolve the model and help to generate new test cases. Together with a reverse- engineering algorithm used to obtain the initial model and seed suite, the feedback-based technique yields a fully automatic, end-to-end GUI testing process. A feasibility study on four large fielded open-source software (OSS) applications demonstrates that this process is able to significantly improve existing techniques and help identify/report serious problems in the OSS. In response, these problems have been fixed by the developers of the OSS in subsequent versions.
1221771
Multi-scale feature identification using evolution strategies
An image usually contains a number of different features and regions. Many image-related applications, such as content-based image retrieval and MRI-based diagnosis, often require the ability to identify and mark features within the image. For images containing a specific sort of feature (e.g. convective storm) or region (e.g. earthquake debris), that feature or region is always located adjacent to other features and regions on the image. A generic framework for automatically identifying features in images based on evolutionary computation is proposed here. The significant characteristic of the method is that it does not require segmentation. We use evolution strategies as the optimization algorithm to identify features. The system is based on a conjecture that certain filters will give prominent responses to certain features. The identified features are represented as regions enclosed within the chosen search structure-the ellipse. By defining filter response criteria as the fitness function, evolution strategies succeeds in finding the feature in a much more efficient way than, say, segmentation.
40043182
Vertices of degree k in a minimally k-edge-connected digraph
Abstract Let k be a positive integer and D=(V,E) be a minimally k -edge-connected simple digraph. For a vertex x∈V(D) , its outdegree δ + (x) (indegree δ − (x) ) is the number of edges leaving (entering) x . Let u + (D) (resp. u ± (D) and u − (D) ) denote the number of vertices x in D such that δ + (x)=k − (x) (resp. δ + (x)=δ − (x)=k and δ + (x)>k=δ − (x) ). In this paper we prove that u + (D)+2u ± (D)+u − (D)⩾2k+2, which was conjectured by Mader (Combinatorics 2 (1996) 423–449). We also present a lower bound on u + (D)+u ± (D)+u − (D) when |D|⩾4k−1 .