5963621
Concurrent Exception Handling and Resolution in Distributed Object Systems
We address the problem of how to handle exceptions in distributed object systems. In a distributed computing environment, exceptions may be raised simultaneously in different processing nodes and thus need to be treated in a coordinated manner. Mishandling concurrent exceptions can lead to catastrophic consequences. We take two kinds of concurrency into account: 1) Several objects are designed collectively and invoked concurrently to achieve a global goal and 2) multiple objects (or object groups) that are designed independently compete for the same system resources. We propose a new distributed algorithm for resolving concurrent exceptions and show that the algorithm works correctly even in complex nested situations, and is an improvement over previous proposals in that it requires only O(n/sub max/N/sup 2/) messages, thereby permitting quicker response to exceptions.
2775894
Rigorous development of a safety-critical system based on coordinated atomic actions
This paper describes our experience using coordinated atomic (CA) actions as a system structuring tool to design and validate a sophisticated control system for a complex industrial application that has high reliability and safety requirements. Our study is based on the "Fault-Tolerant Production Cell", which represents a manufacturing process involving redundant mechanical devices (provided in order to enable continued production in the presence of machine faults). The challenge posed by the model specification is to design a control system that maintains specified safety and liveness properties even in the presence of a large number and variety of device and sensor failures. We discuss in this paper: i) a design for a control program that uses CA actions to deal with both safety-related and fault tolerance concerns, and ii) the formal verification of this design based on the use of model-checking. We found that CA action structuring facilitated both the design and verification tasks by enabling the various safety problems (e.g. clashes of moving machinery) to be treated independently. The formal verification activity was performed in parallel with the design activity the interaction between them resulted in a combined exercise in "design for validation".
11432676
Building Embedded Fault-Tolerant Systems for Critical Applications: An Experimental Study
An increasing range of industries have a growing dependence on embedded software systems, many of which are safety-critical, real-time applications that require extremely high dependability. Two fundamental approaches — fault avoidance and fault tolerance — have been proposed to increase the overall dependability of such systems. However, the increased cost of using the fault tolerance approach may mean that this increase in dependability is not worth the extra expense involved. We describe an experiment undertaken in order to establish whether or not software redundancy (or the multi-version design method) can offer increased dependability over the traditional single-version development approach when given the same level of resources. The results of this and a subsequent follow-up study are then given. The analytic results from these experiments show that despite the poor quality of individual versions, the multi-version method results in a safer system than the single-version solution. It is evident that regarding the single-version method as a “seem-to-be” safer design decision for critical applications is not generally justifiable.
10184291
Efficient and scalable query routing for unstructured peer-to-peer networks
Searching for content in peer-to-peer networks is an interesting and challenging problem. Queries in Gnutella-like unstructured systems that use flooding or random walk to search must visit O(n) nodes in a network of size n, thus consuming significant amounts of bandwidth. In this paper, we propose a query routing protocol that allows low bandwidth consumption during query forwarding using a low cost mechanism to create and maintain information about nearby objects. To achieve this, our protocol maintains a lightweight probabilistic routing table at each node that suggests the location of each object in the network. Following the corresponding routing table entries, a query can reach the destination in a small number of hops with high probability. However, maintaining routing tables in a large and highly dynamic network requires non-traditional mechanisms. We design a novel data structure called an exponentially decaying bloom filter (EDBF) that encodes such probabilistic routing tables in a highly compressed manner, and allows for efficient aggregation and propagation. The search primitives provided by our system can be used to search for single keys or multiple keywords with equal ease. Analytical modeling of our design predicts significant improvements in search efficiency, verified through extensive simulations in which we observed an order of magnitude reduction in query path length over previous proposals.
16116716
Evaluating and Balancing Reliability and Performance Properties of Software Architecture Using Formal Modeling Techniques
The run-time quality properties of software architecture, such as reliability and performance, are fundamental to telecom systems, but they are very hard to be precisely specified and evaluated with conventional methods. In our contribution we focus on modeling and analysis of architectural level run-time quality properties using formal methods. Colored Petri nets (CPN) is used to create specific system behavior models of reliability and performance properties of software architecture, these properties are then evaluated with analysis and simulation techniques supported by CPN and its tools. In this paper we report our approach and experience on using CPN to model and evaluate the reliability and performance properties of different architecture designs of a critical software subsystem in a telephone switch system. The reliability and performance properties of two alternative solutions were modeled and compared through model analysis and extensive model simulation. The results helped us to find an ideal solution with high performance, low cost and acceptable reliability that met the industry standards
9706723
Efficient Job Scheduling Algorithms with Multi-Type Contentions
In this paper, we consider an interesting generalization of the classic job scheduling problem in which each job needs to compete not only for machines but also for other types of resources. The contentions among jobs for machines and for resources could interfere with each other, which complicates the problem dramatically. We present a family of approximation algorithms for solving several variants of the problem by using a generic algorithmic framework. Our algorithms achieve a constant approximation ratio (i.e., 3) when there is only one type of resources or certain dependency relation exists among multiple types of resources. When the r resources are unrelated, the approximation ratio of our algorithm becomes k+2, where k≤ r is a constant depending on the problem instance. As an application, we also show that our techniques can be easily applied to optical burst switching (OBS) networks to design more efficient wavelength scheduling algorithms.
12535990
Fast integer-pel and fractional-pel motion estimation for H.264/AVC
Abstract This paper gives out a fast motion estimation algorithm for H.264/AVC, which has almost the same quality performance as that of the Full Search scheme and also provides a strategy to balance the quality performance and the search speed. Integer-pel search is the most time consuming module for motion estimation. In this paper a hybrid Unsymmetrical-cross Multi-hexagon-grid Search (UMHexagonS) algorithm is introduced, which well solves the false motion vector estimation problem because of the local-minimum. As results, it saves more than 90% on search time whereas the averaging PSNR loss is less than 0.056 dB for all tested sequences with different motion extent compared with the Fast Full Search scheme. Fractional-pel fast search is not negligible when the integer motion estimation has been extensively speeded up. By utilizing the property of uni-modal error surface inside the fractional-pel search window, a novel Center Biased Fractional-pel Search (CBFPS) algorithm is proposed in this paper, which can save 30–50% computation compared with the Full Fractional-pel Search scheme. Early termination is another problem discussed in this paper, to construct a complete motion estimation method, giving a uniform method which can cover a wide range of applications, terminating the program at early and right stage is certainly required. A model based on the Normative SAD Difference (NSD) is given to assist the termination decision-making, and a tradeoff between the search speed and the reconstructed quality can be achieved by changing a modulation factor.
14580037
An architectural framework for providing reliability and security support
This paper explores hardware-implemented error-detection and security mechanisms embedded as modules in a hardware-level framework called the reliability and security engine (RSE), which is implemented as an integral part of a modern microprocessor. The RSE interacts with the processor through an input/output interface. The CHECK instruction, a special extension of the instruction set architecture of the processor, is the interface of the application with the RSE. The detection mechanisms described here in detail are: (I) the memory layout randomization (MLR) module, which randomizes the memory layout of a process in order to foil attackers who assume a fixed system layout, (2) the data dependency tracking (DDT) module, which tracks the dependencies among threads of a process and maintains checkpoints of shared memory pages in order to rollback the threads when an offending (potentially malicious) thread is terminated, and (3) the instruction checker module (ICM), which checks an instruction for its validity or the control-flow of the program just as the instruction enters the pipeline for execution. Performance simulations for the studied modules indicate low overhead of the proposed solutions.