14984794
A Local Search Heuristic for Biobjective Intersecting Geometric Graphs
In this work, we consider the problem of constructing spanning trees from two geometric graphs corresponding to two nets, each with multiple terminals, with a goal to minimize the total edge cost and the number of intersections among the edges of the two trees. Such an optimization problem is computationally hard for which no efficient algorithm or good heuristic is known to exist. Additionally, in a biobjective setting, the major challenge to solve a problem is to obtain many representative diverse solutions across the (near-) optimal Pareto-front. We present a local search based heuristic to find near-optimal Pareto-front in the feasible solution space. Each element of this solution set is a tuple of two spanning trees corresponding to the given geometric graphs. The heuristic is shown to give superior results over the existing stochastic technique
6342150
Frame based fair multiprocessor scheduler: a fast fair algorithm for real-time embedded systems
This paper presents frame based fair multiprocessor scheduler (FBFMS) which provides accurate real-time proportional fair scheduling for a set of dynamic tasks on a symmetric multiprocessor environment with O(1) scheduling overhead. FBFMS meets these seemingly contradictory goals by applying the benefits of virtual time round-robin scheduling mechanism along with a frame based scheduling approach. Simulation results show that the algorithm provides 2.5 to 26 times speedup (over O(lg n) complexity schedulers) with distortion in fairness less than 1% in most cases, and less than 15% in the worst case.
5790802
Object-oriented symbol management in syntax-directed compiler systems
Each symbol in a source program has a series of attributes that govern the operations performed on it. In this paper, we explore object-oriented techniques for representing the attributes of symbols and translating the operations performed on them. This approach is shown superior in memory and run-time speed to the procedural style traditionally used for writing compilers. We demonstrate object-oriented symbol management in a compiler for an arithmetic subset of C. We have used C++ --- a single-dispatching language --- to implement the same, but we emphasize the need for multiple dispatching to develop programs in a heavily-object-oriented style.
16795084
Analysis of a Multiobjective Evolutionary Algorithm on the 0-1 knapsack problem
Multiobjective Evolutionary Algorithms (MOEAs) are increasingly being used for effectively solving many real-world problems, and many empirical results are available. However, theoretical analysis is limited to a few simple toy functions. In this work, we select the well-known knapsack problem for the analysis. The multiobjective knapsack problem in its general form is NP-complete. Moreover, the size of the set of Pareto-optimal solutions can grow exponentially with the number of items in the knapsack. Thus, we formalize a (1 + e)-approximate set of the knapsack problem and attempt to present a rigorous running time analysis of a MOEA to obtain the formalized set. The algorithm used in the paper is based on a restricted mating pool with a separate archive to store the remaining population; we call the algorithm a Restricted Evolutionary Multiobjective Optimizer (REMO). We also analyze the running time of REMO on a special bi-objective linear function, known as LOTZ (Leading Ones : Trailing Zeros), whose Pareto set is shown to be a subset of the knapsack. An extension of the analysis to the Simple Evolutionary Multiobjective Optimizer (SEMO) is also presented. A strategy based on partitioning of the decision space into fitness layers is used for the analysis.
537233
Evolutionary Multimodal Optimization Revisited
We revisit a class of multimodal function optimizations using evolutionary algorithms reformulated into a multiobjective framework where previous implementations have needed niching/sharing to ensure diversity. In this paper, we use a steady-state multiobjective algorithm which preserves diversity without niching to produce diverse sampling of the Pareto-front with significantly lower computational effort.
39741624
An Efficient Technique for Dynamic Slicing of Concurrent Java Programs
Program slice has many applications such as program debugging, testing, maintenance and complexity measurement. We propose a new dynamic program slicing technique for concurrent Java programs that is more efficient than the related algorithms. We introduce the notion of Concurrent Program Dependence Graph (CPDG). Our algorithm uses CPDG as the intermediate representation and is based on marking and unmarking the edges in the CPDG as and when the dependencies arise and cease during run-time. Our approach eliminates the use of trace files and is more efficient than the existing algorithms.
13974246
Decentralized failure diagnosis of discrete event systems
By decentralized diagnosis we mean diagnosis using multiple diagnosers, each possessing its own set of sensors, without involving any communication among diagnosers or to any coordinators. The notion of decentralized diagnosis is formalized by introducing the notion of codiagnosability that requires that a failure be detected by one of the diagnosers within a bounded delay. Algorithms of complexity polynomial in the size of the system and the nonfault specification are provided for: 1) testing codiagnosability, 2) computing the bound in delay of diagnosis, 3) offline synthesis of individual diagnosers, and 4) online diagnosis using them. The notion of codiagnosability and the above algorithms are initially presented in a setting of a specification language (violation of which represents a fault) and are later specialized to the case where faults are modeled as the occurrences of certain events. The notion of strong codiagnosability is also introduced to capture the ability of being certain about both the failure as well as the nonfailure conditions in a system within a bounded delay.
14410544
Fluid modeling of pollution proliferation in P2P networks
P2P systems are highly vulnerable to pollution attacks in which attackers inject multiple versions of corrupted content into the system, which is then further proliferated by unsuspecting users. However, to our knowledge, there are no closed-form solutions that describe this phenomenon, nor are there models that describe how the injection of multiple versions of corrupted content impacts a clients' ability to receive a valid copy. In this paper we develop a suite of fluid models that model pollution proliferation in P2P systems. These fluid models lead to systems of non-linear differential equations. We obtain closed-form solutions for the differential equations; for the remaining models, we efficiently solve the differential equations numerically. The models capture a variety of user behaviors, including propensity for popular versions, abandonment after repeated failure to obtain a good version, freeloading, and local version blacklisting. Our analysis reveals intelligent strategies for attackers as well as strategies for clients seeking to recover non-polluted content within large-scale P2P networks.
1908016
Optimal peer selection for P2P downloading and streaming
In a P2P system, a client peer may select one or more server peers to download a specific file. In a P2P resource economy, the server peers charge the client for the downloading. A server peer's price would naturally depend on the specific object being downloaded, the duration of the download, and the rate at which the download is to occur. The optimal peer selection problem is to select, from the set of peers that have the desired object, the subset of peers and download rates that minimizes cost. In this paper we examine a number of natural peer selection problems for both P2P downloading and P2P streaming. For downloading, we obtain the optimal solution for minimizing the download delay subject to a budget constraint, as well as the corresponding Nash equilibrium. For the streaming problem, we obtain a solution that minimizes cost subject to continuous playback while allowing for one or more server peers to fail during the streaming process. The methodologies developed in this paper are applicable to a variety of P2P resource economy problems.
9294393
Decentralized control of discrete event systems with specializations to local control and concurrent systems
The decentralized supervisory control problem of discrete event systems under partial observation is studied in this paper. The main result of the paper is a necessary and sufficient condition for the existence of decentralized supervisors for ensuring. That the controlled behavior of the system lies in a given range. The contribution of the paper is (1) our setting of decentralized control generalizes the prior ones; (2) we present an alternative approach for solving the decentralized control problem, which leads to computational saving for concurrent systems and certain other systems; and (3) our generalized formulation and its solution lets us extend several of the existing results reported previously. The results of our paper are illustrated by an example of a simple manufacturing system.
2162080
Harbor: software-based memory protection for sensor nodes
Many sensor nodes contain resource constrained microcontrollers where user level applications, operating system components, and device drivers share a single address space with no form of hardware memory protection. Programming errors in one application can easily corrupt the state of the operating system or other applications. In this paper, we propose Harbor, a memory protection system that prevents many forms of memory corruption. We use software based fault isolation ("sandboxing") to restrict application memory accesses and control flow to protection domains within the address space. A flexible and efficient memory map data structure records ownership and layout information for memory regions; writes are validated using the memory map. Control flow integrity is preserved by maintaining a safe stack that stores return addresses in a protected memory region. Run-time checks validate computed control flow instructions. Cross domain calls perform low-overhead control transfers between domains. Checks are introduced by rewriting an application's compiled binary. The sand-boxed result is verified on the sensor node before it is admitted for execution. Harbor's fault isolation properties depend only on the correctness of this verifier and the Harbor runtime. We have implemented and tested Harbor on the SOS operating system. Harbor detected and prevented memory corruption caused by programming errors in application modules that had been in use for several months. Harbor's overhead, though high, is less than that of application-specific virtual machines, and reasonable for typical sensor workloads.