15857630
Eliminating Redundant Communication of Code Generation for Distributed Memory Machines
How to eliminate redundant communications is a key issue in developing parallelizing compilers for distributed memory machines. An important way to improve the performance of the code generated by parallelizing compiler in distributed memory systems is to eliminate as much communications as possible. This paper investigates algorithms for generating communications code from previously published work and modifies them to eliminate redundant communications. Based on the mathematical model of symbolic coefficient linear inequalities the revisited formal specification of communications sets are presented and the corresponding improved algorithms are given. Experimental results indicate that the new algorithms can reduce communication messages and improve the performance of parallelized code significantly.
14387828
Escape analysis for synchronization removal
In this paper we introduce our escape analysis framework for Java, which is a kind of flow-insensitive, inter-procedural, and context-sensitive data flow analysis. And we present an efficient static intra-procedural algorithm for inferring the set of types that can occur at runtime for each object. With intra-procedural type information, virtual method resolution, callee-stub inline, exception analysis, and thread allocation site analysis are implemented. Virtual method resolution and callee-stub inline effectively reduce the call graph and SCC (strongly connected components). In exception analysis, we present a more precise analysis algorithm, especially in the inter-procedural exception in SCC.Our escape analysis can be applied to the whole Java program and Java libraries to identify unnecessary synchronization in Java and remove them. We have developed an implementation on Intel's Open Runtime Platform. For our benchmarks, 7.3% to 99% (with an average of 54%) of synchronization operations are eliminated.
45075264
Multi-path GEM for Routing in Wireless Sensor Networks
Wireless sensor networks are expected to be used in many different applications such as disaster relief and environmental control. Efficient routing protocols need to be thoroughly studied before wireless sensor networks are widely deployed. GEM is an ingenious routing algorithm that is based on the idea of graph embedding. Using a well designed virtual coordinate system, GEM provides a remarkably simple route selection mechanism. However, GEM does not survive edge failures well. In this paper, we propose R-GEM and S-GEM that use the idea of GEM and improve its reliability performance significantly. Both of them outperform GEM in all of the experimental scenarios. Specifically, in the case that 2% of all edges in the network fail to transfer packets, when only disjoint pairs are taken into consideration, GEM leads to a path error rate of 10% while R-GEM and S-GEM only result in a path error rate of 2%.
8970759
Linux kernels as complex networks: A novel method to study evolution
In recent years, many graphs have turned out to be complex networks. This paper presents a novel method to study Linux kernel evolution — using complex networks to understand how Linux kernel modules evolve over time. After studying the node degree distribution and average path length of the call graphs corresponding to the kernel modules of 223 different versions (V1.1.0 to V2.4.35), we found that the call graphs of the file system and drivers module are scale-free small-world complex networks. In addition, both of the file system and drivers module exhibit very strong preferential attachment tendency. Finally, we proposed a generic method that could be used to find major structural changes that occur during the evolution of software systems.
8968963
Offense based temporal segmentation for event detection in soccer video
Sports video is regarded as a good testing bed for techniques on content based video analysis and processing. Although partially successful systems have been designed for specific sports domains with limited data, most previous works do not adequately address the problem of temporal segmentation for event detection, nor the event representation problem. In this paper, we present an analysis of soccer video for detecting the semantic notion of <i>offense</i>. It is not only useful as a new semantic concept of sports video analysis, but also provides temporal segmentation for video event detection and representation. We propose a system to detect the offensive unit in soccer video automatically. The offensive unit is then used to calculate new semantics like <i>possession</i>, as well as to detect goal events in video. Experimental results on various sources of soccer video have verified that our approach extracts the new semantic notions successfully and facilitates video event detection and representation
15434765
A Dynamic Sub-vector Weighting Scheme for Image Retrieval with Relevance Feedback
In image retrieval with relevance feedback, feature components obtained from low-level descriptors are often weighted to reflect the high-level concepts and a user’s subjective perception embodied in the images labelled by the user in the feedback. However, the number of the labelled images is often small and an optimal weighting cannot be achieved in practice because of the singularity of the covariance matrix needed for weighting. To solve this problem, a dynamic sub-vector weighting scheme is proposed in this paper. In this scheme, a multi-dimensional feature vector is partitioned into multiple sub-vectors whose dimensions are dynamically adjusted to match the small number of available labelled images. Because of the lower dimensionality of the sub-vectors, the optimal weighting can be performed based on these sub-vectors, respectively. The multiple similarity scores obtained from sub-vector comparisons are then combined, as the final score, to rank the database images and determine the retrieval result. Experimental results demonstrated better performance of the proposed weighting scheme than some existing weighting schemes.
7324862
A New Description Language for Data-Driven Asynchronous Circuits and its Design Flow
A lot of up-to-date asynchronous circuit design tools are based on the control-driven asynchronous circuit style, such as Balsa and Haste/Tangram. The control-driven approach will limit the performance of the result circuits. To improve the performance of the asynchronous circuits, a new description language - Biscotti, which is suitable for the data-driven asynchronous circuit design, has been introduced in this paper. And a data-driven asynchronous circuit design flow is also be presented here. The experimental results show that this design flow is a fast and efficient way to design the data-driven asynchronous circuit, which can achieve higher performance compared with the control-driven design approach.
16738561
Defect-tolerant digital filtering with unreliable molecular electronics
Molecular electronics such as silicon nanowires (NW) and carbon nanotubes (CNT) are considered to be the future computational substrates due to their ultra-high density and superior energy efficiency. However, excessive defects from bottom-up self-assembly fabrication pose a major technological barrier to achieving reliable computing at the molecular scale. Existing solutions targeting absolute correctness introduce high cost and complexity in post-fabrication testing and defect diagnosis. In this paper, we propose a new approach exploiting algorithm level enhancements for defect-insensitive signal processing. By deliberately allowing molecular-scale integrated systems to bear defects, the proposed design framework achieves reliable signal processing while significantly reduces the cost of defect tolerance.
16013630
Runtime Performance of Parallel Array Assignment: An Empirical Study
Generating code for the array assignment statement of High Performance Fortran (HPF) in the presence of block-cyclic distributions of data arrays is considered difficult, and several algorithms have been published to solve this problem. We present a comprehensive study of the run-time performance of the code these algorithms generate. We classify these algorithms into several families, identify several issues of interest in the generated code, and present experimental performance data for the various algorithms. We demonstrate that the code generated for block-cyclic distributions runs almost as efficiently as that generated for block or cyclic distributions.